diff --git a/functions_compat/fxchange.py b/functions_compat/fxchange.py index 41dae539..83b2f5a8 100644 --- a/functions_compat/fxchange.py +++ b/functions_compat/fxchange.py @@ -15,10 +15,10 @@ def move_fx0_to_mastertrack(convproj_obj): convproj_obj.automation.move(['fxmixer','0','pan'], ['master', 'pan']) fxchannel_obj.params.move(convproj_obj.track_master.params, 'vol') fxchannel_obj.params.move(convproj_obj.track_master.params, 'pan') - convproj_obj.track_master.fxslots_audio = fxchannel_obj.fxslots_audio.copy() - convproj_obj.track_master.fxslots_mixer = fxchannel_obj.fxslots_mixer.copy() - fxchannel_obj.fxslots_audio = [] - fxchannel_obj.fxslots_mixer = [] + convproj_obj.track_master.plugslots.slots_audio = fxchannel_obj.plugslots.slots_audio.copy() + convproj_obj.track_master.plugslots.slots_mixer = fxchannel_obj.plugslots.slots_mixer.copy() + fxchannel_obj.plugslots.slots_audio = [] + fxchannel_obj.plugslots.slots_mixer = [] del convproj_obj.fxrack[0] def track2fxrack(convproj_obj, data_obj, fxnum, defualtname, starttext, doboth, autoloc): @@ -27,10 +27,10 @@ def track2fxrack(convproj_obj, data_obj, fxnum, defualtname, starttext, doboth, fxchannel_obj = convproj_obj.fx__chan__add(fxnum) fxchannel_obj.visual.name = fx_name if data_obj.visual.color: fxchannel_obj.visual.color = data_obj.visual.color.copy() - fxchannel_obj.fxslots_audio = data_obj.fxslots_audio.copy() - fxchannel_obj.fxslots_mixer = data_obj.fxslots_mixer.copy() - data_obj.fxslots_audio = [] - data_obj.fxslots_mixer = [] + fxchannel_obj.plugslots.slots_audio = data_obj.plugslots.slots_audio.copy() + fxchannel_obj.plugslots.slots_mixer = data_obj.plugslots.slots_mixer.copy() + data_obj.plugslots.slots_audio = [] + data_obj.plugslots.slots_mixer = [] vol = data_obj.params.get('vol', 1).value data_obj.params.remove('vol') @@ -82,10 +82,10 @@ def process(convproj_obj, in_dawinfo, out_dawinfo, out_type): fxchannel_obj = convproj_obj.fx__chan__add(0) fxchannel_obj.visual = copy.deepcopy(convproj_obj.track_master.visual) fxchannel_obj.params = copy.deepcopy(convproj_obj.track_master.params) - fxchannel_obj.fxslots_audio = convproj_obj.track_master.fxslots_audio.copy() - fxchannel_obj.fxslots_mixer = convproj_obj.track_master.fxslots_mixer.copy() - convproj_obj.track_master.fxslots_audio = [] - convproj_obj.track_master.fxslots_mixer = [] + fxchannel_obj.plugslots.slots_audio = convproj_obj.track_master.plugslots.slots_audio.copy() + fxchannel_obj.plugslots.slots_mixer = convproj_obj.track_master.plugslots.slots_mixer.copy() + convproj_obj.track_master.plugslots.slots_audio = [] + convproj_obj.track_master.plugslots.slots_mixer = [] convproj_obj.automation.move(['master','vol'], ['fxmixer','0','vol']) convproj_obj.automation.move(['master','pan'], ['fxmixer','0','pan']) for count, iterval in enumerate(convproj_obj.instrument__iter()): @@ -94,10 +94,10 @@ def process(convproj_obj, in_dawinfo, out_dawinfo, out_type): fxchannel_obj = convproj_obj.fx__chan__add(fxnum) fxchannel_obj.visual = copy.deepcopy(inst_obj.visual) fxchannel_obj.params = copy.deepcopy(inst_obj.params) - fxchannel_obj.fxslots_audio = inst_obj.fxslots_audio.copy() - fxchannel_obj.fxslots_mixer = inst_obj.fxslots_mixer.copy() - inst_obj.fxslots_audio = [] - inst_obj.fxslots_mixer = [] + fxchannel_obj.plugslots.slots_audio = inst_obj.plugslots.slots_audio.copy() + fxchannel_obj.plugslots.slots_mixer = inst_obj.plugslots.slots_mixer.copy() + inst_obj.plugslots.slots_audio = [] + inst_obj.plugslots.slots_mixer = [] inst_obj.fxrack_channel = fxnum fxchannel_obj.visual = inst_obj.visual.copy() convproj_obj.automation.move(['track',inst_id,'vol'], ['fxmixer',str(fxnum),'vol']) @@ -203,9 +203,9 @@ def process(convproj_obj, in_dawinfo, out_dawinfo, out_type): convproj_obj.automation.move(['fxmixer',str(fx_num),'vol'], ['group',groupid,'vol']) fxchannel_obj.params.move(group_obj.params, 'vol') fxchannel_obj.params.move(group_obj.params, 'pan') - group_obj.fxslots_audio = fxchannel_obj.fxslots_audio.copy() - group_obj.fxslots_mixer = fxchannel_obj.fxslots_mixer.copy() - fxchannel_obj.fxslots_audio = [] + group_obj.plugslots.slots_audio = fxchannel_obj.plugslots.slots_audio.copy() + group_obj.plugslots.slots_mixer = fxchannel_obj.plugslots.slots_mixer.copy() + fxchannel_obj.plugslots.slots_audio = [] fxtracks = fx_trackids[fx_num] if fxchannel_obj.visual.name: group_obj.visual.name = fxchannel_obj.visual.name elif len(fxtracks) == 1: @@ -257,7 +257,7 @@ def process(convproj_obj, in_dawinfo, out_dawinfo, out_type): is_fx_used = False if fxdata.visual.name != None: is_fx_used = True if fxdata.visual.color != None: is_fx_used = True - if fxdata.fxslots_audio != []: is_fx_used = True + if fxdata.plugslots.slots_audio != []: is_fx_used = True if is_fx_used and (fxnum not in used_fxchans): used_fxchans.append(fxnum) for target in fxdata.sends.data: @@ -279,8 +279,8 @@ def process(convproj_obj, in_dawinfo, out_dawinfo, out_type): fx_obj.params.move(track_obj.params, 'pan') track_obj.visual = fx_obj.visual track_obj.visual.name = '[FX '+str(fxnum)+'] '+(track_obj.visual.name if track_obj.visual.name else '') - track_obj.fxslots_audio = fx_obj.fxslots_audio.copy() - fx_obj.fxslots_audio = [] + track_obj.plugslots.slots_audio = fx_obj.plugslots.slots_audio.copy() + fx_obj.plugslots.slots_audio = [] convproj_obj.trackroute['fxrack_'+str(fxnum)].to_master_active = fx_obj.sends.to_master_active diff --git a/functions_compat/removelanes.py b/functions_compat/removelanes.py index 143d5656..0e198c95 100644 --- a/functions_compat/removelanes.py +++ b/functions_compat/removelanes.py @@ -41,10 +41,10 @@ def process_r(convproj_obj, out_dawinfo): track_obj.params.move(group_obj.params, paramid) convproj_obj.automation.move(['track',trackid,paramid], ['group',trackid,paramid]) track_obj.params.move(group_obj.params, paramid) - group_obj.fxslots_notes = track_obj.fxslots_notes - group_obj.fxslots_audio = track_obj.fxslots_audio - track_obj.fxslots_notes = [] - track_obj.fxslots_audio = [] + group_obj.plugslots.slots_notes = track_obj.plugslots.slots_notes + group_obj.plugslots.slots_audio = track_obj.plugslots.slots_audio + track_obj.plugslots.slots_notes = [] + track_obj.plugslots.slots_audio = [] for laneid, lane_obj in track_obj.lanes.items(): cvpj_trackid = trackid+'_lane_'+laneid diff --git a/functions_compat/trackfx2fxrack.py b/functions_compat/trackfx2fxrack.py index 7a5ac3e8..099c05ab 100644 --- a/functions_compat/trackfx2fxrack.py +++ b/functions_compat/trackfx2fxrack.py @@ -14,10 +14,10 @@ def list2fxrack(convproj_obj, data_obj, fxnum, defualtname, starttext, removebot fxchannel_obj = convproj_obj.fx__chan__add(fxnum) fxchannel_obj.visual.name = fx_name if data_obj.visual.color: fxchannel_obj.visual.color = data_obj.visual.color.copy() - fxchannel_obj.fxslots_audio = data_obj.fxslots_audio.copy() - fxchannel_obj.fxslots_mixer = data_obj.fxslots_mixer.copy() - data_obj.fxslots_audio = [] - data_obj.fxslots_mixer = [] + fxchannel_obj.plugslots.slots_audio = data_obj.plugslots.slots_audio.copy() + fxchannel_obj.plugslots.slots_mixer = data_obj.plugslots.slots_mixer.copy() + data_obj.plugslots.slots_audio = [] + data_obj.plugslots.slots_mixer = [] vol = data_obj.params.get('vol', 1).value data_obj.params.remove('vol') @@ -75,10 +75,10 @@ def process_m(convproj_obj): fxchannel_obj = convproj_obj.fx__chan__add(0) fxchannel_obj.visual = copy.deepcopy(convproj_obj.track_master.visual) fxchannel_obj.params = copy.deepcopy(convproj_obj.track_master.params) - fxchannel_obj.fxslots_audio = convproj_obj.track_master.fxslots_audio.copy() - fxchannel_obj.fxslots_mixer = convproj_obj.track_master.fxslots_mixer.copy() - convproj_obj.track_master.fxslots_audio = [] - convproj_obj.track_master.fxslots_mixer = [] + fxchannel_obj.plugslots.slots_audio = convproj_obj.track_master.plugslots.slots_audio.copy() + fxchannel_obj.plugslots.slots_mixer = convproj_obj.track_master.plugslots.slots_mixer.copy() + convproj_obj.track_master.plugslots.slots_audio = [] + convproj_obj.track_master.plugslots.slots_mixer = [] convproj_obj.automation.move(['master','vol'], ['fxmixer','0','vol']) convproj_obj.automation.move(['master','pan'], ['fxmixer','0','pan']) @@ -88,8 +88,8 @@ def process_m(convproj_obj): fxchannel_obj = convproj_obj.fx__chan__add(fxnum) fxchannel_obj.visual = copy.deepcopy(inst_obj.visual) fxchannel_obj.params = copy.deepcopy(inst_obj.params) - fxchannel_obj.fxslots_audio = inst_obj.fxslots_audio.copy() - inst_obj.fxslots_audio = [] + fxchannel_obj.plugslots.slots_audio = inst_obj.plugslots.slots_audio.copy() + inst_obj.plugslots.slots_audio = [] inst_obj.fxrack_channel = fxnum fxchannel_obj.visual.name = inst_obj.visual.name fxchannel_obj.visual.color = inst_obj.visual.color diff --git a/functions_song/convert_m2r.py b/functions_song/convert_m2r.py index 8b1da4f0..8fec47d4 100644 --- a/functions_song/convert_m2r.py +++ b/functions_song/convert_m2r.py @@ -25,11 +25,9 @@ def convert(convproj_obj): track_obj.visual = copy.deepcopy(inst_obj.visual) track_obj.params = copy.deepcopy(inst_obj.params) track_obj.datavals = copy.deepcopy(inst_obj.datavals) - track_obj.inst_pluginid = inst_obj.pluginid track_obj.fxrack_channel = inst_obj.fxrack_channel track_obj.midi = copy.deepcopy(inst_obj.midi) - track_obj.fxslots_notes = inst_obj.fxslots_notes - track_obj.fxslots_audio = inst_obj.fxslots_audio + track_obj.plugslots = copy.deepcopy(inst_obj.plugslots) track_obj.is_drum = inst_obj.is_drum track_stor[inst_id] = track_obj if track_obj.fxrack_channel not in fxrack_order: diff --git a/functions_song/convert_r2m.py b/functions_song/convert_r2m.py index 813e8761..d5699a1a 100644 --- a/functions_song/convert_r2m.py +++ b/functions_song/convert_r2m.py @@ -45,11 +45,9 @@ def convert(convproj_obj): inst_obj.visual = copy.deepcopy(track_obj.visual) inst_obj.params = copy.deepcopy(track_obj.params) inst_obj.datavals = copy.deepcopy(track_obj.datavals) - inst_obj.pluginid = track_obj.inst_pluginid inst_obj.fxrack_channel = track_obj.fxrack_channel inst_obj.midi = copy.deepcopy(track_obj.midi) - inst_obj.fxslots_notes = track_obj.fxslots_notes - inst_obj.fxslots_audio = track_obj.fxslots_audio + inst_obj.plugslots = copy.deepcopy(track_obj.plugslots) inst_obj.is_drum = track_obj.is_drum convproj_obj.automation.move_everything(['track'], ['inst']) diff --git a/functions_song/convert_ri2mi.py b/functions_song/convert_ri2mi.py index ad464844..73550b50 100644 --- a/functions_song/convert_ri2mi.py +++ b/functions_song/convert_ri2mi.py @@ -22,12 +22,10 @@ def convert(convproj_obj): inst_obj.visual = copy.deepcopy(track_obj.visual) inst_obj.params = copy.deepcopy(track_obj.params) inst_obj.datavals = copy.deepcopy(track_obj.datavals) - inst_obj.pluginid = track_obj.inst_pluginid inst_obj.fxrack_channel = track_obj.fxrack_channel inst_obj.midi = copy.deepcopy(track_obj.midi) - inst_obj.fxslots_notes = track_obj.fxslots_notes - inst_obj.fxslots_audio = track_obj.fxslots_audio + inst_obj.plugslots = copy.deepcopy(track_obj.plugslots) inst_obj.is_drum = track_obj.is_drum starttxt = trackid+'_' diff --git a/functions_song/convert_rm2m.py b/functions_song/convert_rm2m.py index cb0cd32d..24bf4764 100644 --- a/functions_song/convert_rm2m.py +++ b/functions_song/convert_rm2m.py @@ -27,8 +27,8 @@ def convert(convproj_obj, change_instnames): newinstid = 'rm2m__'+trackid+'__'+instid if instid in old_instruments: new_inst = copy.deepcopy(old_instruments[instid]) - if new_inst.pluginid not in used_plugins: - used_plugins.append(new_inst.pluginid) + if new_inst.plugslots.synth not in used_plugins: + used_plugins.append(new_inst.plugslots.synth) convproj_obj.instruments[newinstid] = new_inst convproj_obj.instruments_order.append(newinstid) else: @@ -71,7 +71,7 @@ def convert(convproj_obj, change_instnames): nlp.notelist.appendtxt_inst('rm2m__'+trackid+'__', '') for fxnum, fxchan_obj in convproj_obj.fxrack.items(): - for x in fxchan_obj.fxslots_audio: used_plugins.append(x) + for x in fxchan_obj.plugslots.slots_audio: used_plugins.append(x) for plugid in used_plugins: if plugid: diff --git a/functions_song/convert_rm2r.py b/functions_song/convert_rm2r.py index 258c0c8d..043c9248 100644 --- a/functions_song/convert_rm2r.py +++ b/functions_song/convert_rm2r.py @@ -46,7 +46,7 @@ def convert(convproj_obj): new_track_obj = track_obj.make_base_inst(inst_obj) new_track_obj.is_drum = inst_obj.is_drum - used_plugins.append(new_track_obj.inst_pluginid) + used_plugins.append(new_track_obj.plugslots.synth) if new_track_obj.fxrack_channel == -1: new_track_obj.fxrack_channel = track_obj.fxrack_channel @@ -84,11 +84,11 @@ def convert(convproj_obj): convproj_obj.track_data[trackid] = track_obj convproj_obj.track_order.append(trackid) - for fxid in track_obj.fxslots_audio: + for fxid in track_obj.plugslots.slots_audio: used_plugins.append(fxid) for num, fxchannel_obj in convproj_obj.fxrack.items(): - used_plugins += fxchannel_obj.fxslots_audio + used_plugins += fxchannel_obj.plugslots.slots_audio used_plugins = set(used_plugins) if '' in used_plugins: used_plugins.remove('') diff --git a/objects/convproj/project.py b/objects/convproj/project.py index 156e4c69..8ff3f7e5 100644 --- a/objects/convproj/project.py +++ b/objects/convproj/project.py @@ -108,8 +108,7 @@ def __init__(self): self.visual = visual.cvpj_visual() self.visual_ui = visual.cvpj_visual_ui() self.params = params.cvpj_paramset() - self.fxslots_audio = [] - self.fxslots_mixer = [] + self.plugslots = tracks.cvpj_plugslots() self.sends = sends.cvpj_sends() class cvpj_scene: @@ -380,7 +379,7 @@ def track__addspec__midi(self, track_id, plug_id, m_bank, m_inst, m_drum, uses_p track_obj.midi.out_inst.patch = m_inst track_obj.midi.out_inst.bank = m_bank track_obj.midi.out_inst.drum = m_drum - track_obj.inst_pluginid = plug_id + track_obj.plugslots.set_synth(plug_id) track_obj.params.add('usemasterpitch', not m_drum, 'bool') return track_obj, plugin_obj @@ -420,7 +419,7 @@ def track__add__dset(self, track_id, plug_id, dset_name, ds_id, def_name, def_co plugin_obj = self.plugin__add(plug_id, None, None, None) plugin_obj.role = 'synth' track_obj = self.track__add(track_id, 'instrument', uses_pl, indexed) - track_obj.inst_pluginid = plug_id + track_obj.plugslots.set_synth(plug_id) track_obj.visual.name = def_name track_obj.visual.color = def_color track_obj.visual.from_dset_opt(dset_name, 'inst', ds_id) @@ -508,7 +507,7 @@ def fx__chan__remove_unused(self): if track_obj.fxrack_channel in unused_fx: unused_fx.remove(track_obj.fxrack_channel) for n, d in self.fxrack.items(): - if d.visual or d.visual_ui or d.fxslots_audio or d.fxslots_mixer: + if d.visual or d.visual_ui or d.plugslots.slots_audio or d.plugslots.slots_mixer: if n in unused_fx: unused_fx.remove(n) if d.sends.to_master_active: if 0 in unused_fx: unused_fx.remove(0) diff --git a/objects/convproj/tracks.py b/objects/convproj/tracks.py index 7eea6233..3616a5d2 100644 --- a/objects/convproj/tracks.py +++ b/objects/convproj/tracks.py @@ -71,8 +71,33 @@ def __init__(self): self.basevelocity = 63 +class cvpj_plugslots: + __slots__ = ['slots_notes','slots_audio','slots_mixer','slots_synths','synth'] + def __init__(self): + self.slots_synths = [] + self.slots_notes = [] + self.slots_audio = [] + self.slots_mixer = [] + self.synth = '' + + def set_synth(self, pluginid): + self.slots_synths = [pluginid] + self.synth = pluginid + + def plugin_autoplace(self, plugin_obj, pluginid): + if plugin_obj.role == 'fx': self.slots_audio.append(pluginid) + elif plugin_obj.role == 'notefx': self.slots_notes.append(pluginid) + elif plugin_obj.role == 'synth': + if not self.synth: self.synth = pluginid + self.slots_synths.append(pluginid) + + def __iter__(self): + for x in self.slots_notes: yield 'notes', x + for x in self.slots_synths: yield 'synth', x + for x in self.slots_audio: yield 'audio', x + class cvpj_instrument: - __slots__ = ['visual','params','datavals','midi','fxrack_channel','fxslots_notes','fxslots_audio','fxslots_mixer','pluginid','is_drum'] + __slots__ = ['visual','params','datavals','midi','fxrack_channel','pluginid','is_drum','plugslots'] def __init__(self): self.visual = visual.cvpj_visual() self.params = params.cvpj_paramset() @@ -80,10 +105,7 @@ def __init__(self): self.midi = cvpj_midiport() self.is_drum = False self.fxrack_channel = -1 - self.fxslots_notes = [] - self.fxslots_audio = [] - self.fxslots_mixer = [] - self.pluginid = '' + self.plugslots = cvpj_plugslots() def from_dataset(self, ds_id, ds_cat, ds_obj, ow_vis): self.visual.from_dset(ds_id, ds_cat, ds_obj, ow_vis) @@ -121,27 +143,23 @@ def to_midi(self, convproj_obj, plug_id, use_visual): m_dev = midi_obj.device plugin_obj = convproj_obj.plugin__addspec__midi(plug_id, m_bank_hi, m_bank, m_inst, m_drum, m_dev) plugin_obj.role = 'synth' - self.pluginid = plug_id + self.plugslots.synth = plug_id self.params.add('usemasterpitch', not m_drum, 'bool') if use_visual: self.visual.from_dset_midi(m_bank_hi, m_bank, m_inst, m_drum, m_dev, False) return plugin_obj - class cvpj_return_track: - __slots__ = ['visual','visual_ui','params','datavals','fxslots_notes','fxslots_audio','fxslots_mixer','sends'] + __slots__ = ['visual','visual_ui','params','datavals','sends','plugslots'] def __init__(self): self.visual = visual.cvpj_visual() self.visual_ui = visual.cvpj_visual_ui() self.params = params.cvpj_paramset() self.datavals = params.cvpj_datavals() - self.fxslots_notes = [] - self.fxslots_audio = [] - self.fxslots_mixer = [] + self.plugslots = cvpj_plugslots() self.sends = sends.cvpj_sends() def plugin_autoplace(self, plugin_obj, pluginid): - if plugin_obj.role == 'fx': self.fxslots_audio.append(pluginid) - elif plugin_obj.role == 'notefx': self.fxslots_notes.append(pluginid) + self.plugslots.plugin_autoplace(plugin_obj, pluginid) class cvpj_lane: def __init__(self, track_type, time_ppq, time_float, uses_placements, is_indexed): @@ -158,7 +176,7 @@ def __init__(self): self.in_audio = False class cvpj_track: - __slots__ = ['time_ppq','time_float','uses_placements','lanes','is_indexed','type','is_laned','inst_pluginid','datavals','visual','visual_ui','params','midi','fxrack_channel','fxslots_notes','fxslots_audio','fxslots_mixer','placements','sends','group','returns','notelist_index','scenes','audio_channels','is_drum','timemarkers','armed'] + __slots__ = ['time_ppq','time_float','uses_placements','lanes','is_indexed','type','is_laned','datavals','visual','visual_ui','params','midi','fxrack_channel','placements','sends','group','returns','notelist_index','scenes','audio_channels','is_drum','timemarkers','armed','plugslots'] def __init__(self, track_type, time_ppq, time_float, uses_placements, is_indexed): self.time_ppq = time_ppq self.time_float = time_float @@ -167,16 +185,13 @@ def __init__(self, track_type, time_ppq, time_float, uses_placements, is_indexed self.type = track_type self.is_laned = False self.lanes = {} - self.inst_pluginid = '' self.visual = visual.cvpj_visual() self.visual_ui = visual.cvpj_visual_ui() self.params = params.cvpj_paramset() self.datavals = params.cvpj_datavals() self.midi = cvpj_midiport() + self.plugslots = cvpj_plugslots() self.fxrack_channel = -1 - self.fxslots_notes = [] - self.fxslots_audio = [] - self.fxslots_mixer = [] self.sends = sends.cvpj_sends() self.placements = placements.cvpj_placements(self.time_ppq, self.time_float, self.uses_placements, self.is_indexed) self.group = None @@ -213,7 +228,7 @@ def to_midi(self, convproj_obj, plug_id, use_visual): m_dev = midi_obj.device plugin_obj = convproj_obj.plugin__addspec__midi(plug_id, m_bank_hi, m_bank, m_inst, m_drum, m_dev) plugin_obj.role = 'synth' - self.inst_pluginid = plug_id + self.plugslots.synth = plug_id self.params.add('usemasterpitch', not m_drum, 'bool') if use_visual: self.visual.from_dset_midi(m_bank_hi, m_bank, m_inst, m_drum, m_dev, False) return plugin_obj @@ -229,7 +244,7 @@ def scene__add(self, i_id, i_lane): return self.scenes[i_id][i_lane] def get_midi(self, convproj_obj): - plugin_found, plugin_obj = convproj_obj.plugin__get(self.inst_pluginid) + plugin_found, plugin_obj = convproj_obj.plugin__get(self.plugslots.synth) return plugin_found, plugin_obj.midi if plugin_found else midi_inst.cvpj_midi_inst() def fx__return__add(self, returnid): @@ -245,16 +260,13 @@ def make_base(self): c_obj.type = self.type c_obj.is_laned = False c_obj.lanes = {} - c_obj.inst_pluginid = self.inst_pluginid c_obj.visual = copy.deepcopy(self.visual) c_obj.visual_ui = copy.deepcopy(self.visual_ui) c_obj.params = copy.deepcopy(self.params) c_obj.datavals = copy.deepcopy(self.datavals) c_obj.midi = copy.deepcopy(self.midi) c_obj.fxrack_channel = self.fxrack_channel - c_obj.fxslots_notes = self.fxslots_notes - c_obj.fxslots_audio = self.fxslots_audio - c_obj.fxslots_mixer = self.fxslots_mixer + c_obj.plugslots = copy.deepcopy(self.plugslots) c_obj.sends = copy.deepcopy(self.sends) c_obj.placements = placements.cvpj_placements(self.time_ppq, self.time_float, self.uses_placements, self.is_indexed) c_obj.group = self.group @@ -265,14 +277,12 @@ def make_base(self): def make_base_inst(self, inst_obj): track_obj = self.make_base() - track_obj.inst_pluginid = inst_obj.pluginid #track_obj.visual = copy.deepcopy(inst_obj.visual) track_obj.params = copy.deepcopy(inst_obj.params) track_obj.datavals = copy.deepcopy(inst_obj.datavals) track_obj.midi = copy.deepcopy(inst_obj.midi) track_obj.fxrack_channel = inst_obj.fxrack_channel - track_obj.fxslots_notes = inst_obj.fxslots_notes - track_obj.fxslots_audio = inst_obj.fxslots_audio + track_obj.plugslots = copy.deepcopy(inst_obj.plugslots) return track_obj def notelistindex__add(self, i_id): @@ -330,6 +340,4 @@ def timemarker__add(self): return self.timemarkers.add() def plugin_autoplace(self, plugin_obj, pluginid): - if plugin_obj.role == 'fx': self.fxslots_audio.append(pluginid) - elif plugin_obj.role == 'notefx': self.fxslots_notes.append(pluginid) - elif plugin_obj.role == 'synth': self.inst_pluginid = pluginid + self.plugslots.plugin_autoplace(plugin_obj, pluginid) diff --git a/objects/songinput/_midi_multi/instruments.py b/objects/songinput/_midi_multi/instruments.py index 34a74330..f0c2c26c 100644 --- a/objects/songinput/_midi_multi/instruments.py +++ b/objects/songinput/_midi_multi/instruments.py @@ -51,7 +51,8 @@ def to_cvpj(self, convproj_obj, device, fx_offset): plugin_obj = convproj_obj.plugin__addspec__midi(instid, int(inst['bank_hi']), int(inst['bank']), int(midiinst), int(inst['drum']), device) plugin_obj.role = 'synth' - inst_obj.pluginid = instid + inst_obj.plugslots.set_synth(instid) + inst_obj.fxrack_channel = int(inst['chan'])+1+fx_offset if inst['drum']: inst_obj.visual.color.set_float([0.81, 0.80, 0.82]) diff --git a/objects/songinput/midi_in.py b/objects/songinput/midi_in.py index a4aab48c..d1f1f9a7 100644 --- a/objects/songinput/midi_in.py +++ b/objects/songinput/midi_in.py @@ -207,7 +207,7 @@ def to_cvpj(self, convproj_obj): plugin_obj, reverb_pluginid = convproj_obj.plugin__add__genid('simple', 'reverb', None) plugin_obj.visual.name = 'Reverb' plugin_obj.fxdata_add(1, 0.5) - reverb_fxchannel_obj.fxslots_audio.append(reverb_pluginid) + reverb_fxchannel_obj.plugslots.slots_audio.append(reverb_pluginid) for fx_num in range(self.fx_offset): fxchannel_obj = convproj_obj.fx__chan__add(fx_num+1) @@ -235,7 +235,7 @@ def to_cvpj(self, convproj_obj): chorus_plugin_obj = convproj_obj.plugin__add(chorus_pluginid, 'simple', 'chorus', None) chorus_plugin_obj.visual.name = 'Chorus' chorus_plugin_obj.params.add('amount', chorus_size, 'float') - fxchannel_obj.fxslots_audio.append(chorus_pluginid) + fxchannel_obj.plugslots.slots_audio.append(chorus_pluginid) inst_chan = self.instruments.find_idx_chan(ch_num) if len(inst_chan): diff --git a/plugins/input/m_tracker_it.py b/plugins/input/m_tracker_it.py index 3ad07b75..5eb9dc53 100644 --- a/plugins/input/m_tracker_it.py +++ b/plugins/input/m_tracker_it.py @@ -228,17 +228,17 @@ def parse_internal(self, convproj_obj, project_obj, dv_config, input_file): plugin_obj, pluginid = convproj_obj.plugin__add__genid('universal', 'pitch_pan_separation', None) plugin_obj.params.add('range', 1/(it_inst.pitch_pan_separation/32), 'float') plugin_obj.datavals.add('center_note', it_inst.pitch_pan_center) - inst_obj.fxslots_notes.append(pluginid) + inst_obj.plugslots.slots_notes.append(pluginid) if it_inst.randomvariation_volume: plugin_obj, pluginid = convproj_obj.plugin__add__genid('universal', 'random_variation', 'vol') plugin_obj.params.add('amount', it_inst.randomvariation_volume, 'float') - inst_obj.fxslots_notes.append(pluginid) + inst_obj.plugslots.slots_notes.append(pluginid) if it_inst.randomvariation_pan: plugin_obj, pluginid = convproj_obj.plugin__add__genid('universal', 'random_variation', 'pan') plugin_obj.params.add('amount', it_inst.randomvariation_pan, 'float') - inst_obj.fxslots_notes.append(pluginid) + inst_obj.plugslots.slots_notes.append(pluginid) inst_used = False if bn_s_t_ifsame == True: @@ -247,14 +247,16 @@ def parse_internal(self, convproj_obj, project_obj, dv_config, input_file): it_samp = project_obj.samples[bn_s_t_f[1]-1] global_vol = it_inst.global_vol/128 track_volume = 0.3*global_vol*calc_samp_vol(it_samp) - plugin_obj, inst_obj.pluginid, sampleref_obj = add_single_sampler(convproj_obj, it_samp, bn_s_t_f[1]) + plugin_obj, synthid, sampleref_obj = add_single_sampler(convproj_obj, it_samp, bn_s_t_f[1]) + inst_obj.plugslots.set_synth(synthid) inst_used = True else: inst_used = True sampleregions = data_values.list__to_reigons(bn_s_t, 60) - plugin_obj, inst_obj.pluginid = convproj_obj.plugin__add__genid('universal', 'sampler', 'multi') + plugin_obj, synthid = convproj_obj.plugin__add__genid('universal', 'sampler', 'multi') plugin_obj.datavals.add('point_value_type', "samples") + inst_obj.plugslots.set_synth(synthid) global_vol = it_inst.global_vol/128 track_volume = 0.3*global_vol @@ -300,7 +302,7 @@ def parse_internal(self, convproj_obj, project_obj, dv_config, input_file): if it_inst.filtermode == 1: plugin_obj.filter.type = 'high_pass' - if it_inst.pluginnum: inst_obj.fxslots_audio.append('FX'+str(it_inst.pluginnum)) + if it_inst.pluginnum: inst_obj.plugslots.slots_audio.append('FX'+str(it_inst.pluginnum)) inst_obj.params.add('vol', track_volume, 'float') if it_inst.default_pan < 128: inst_obj.params.add('pan', (it_inst.default_pan/32)-1, 'float') @@ -314,7 +316,8 @@ def parse_internal(self, convproj_obj, project_obj, dv_config, input_file): inst_obj = convproj_obj.instrument__add(it_instname) inst_obj.visual.name = cvpj_instname inst_obj.visual.color.set_float(MAINCOLOR) - plugin_obj, inst_obj.pluginid, sampleref_obj = add_single_sampler(convproj_obj, it_samp, samplecount+1) + plugin_obj, synthid, sampleref_obj = add_single_sampler(convproj_obj, it_samp, samplecount+1) + inst_obj.plugslots.set_synth(synthid) inst_obj.params.add('vol', track_volume, 'float') convproj_obj.track_master.params.add('vol', project_obj.globalvol/128, 'float') diff --git a/plugins/input/m_tracker_mod.py b/plugins/input/m_tracker_mod.py index 56bf5227..ba9d7c16 100644 --- a/plugins/input/m_tracker_mod.py +++ b/plugins/input/m_tracker_mod.py @@ -78,7 +78,7 @@ def parse_internal(self, convproj_obj, project_obj, dv_config): audio_obj.to_file_wav(wave_path) - plugin_obj, inst_obj.pluginid, sampleref_obj, sp_obj = convproj_obj.plugin__addspec__sampler__genid(wave_path, None) + plugin_obj, inst_obj.plugslots.synth, sampleref_obj, sp_obj = convproj_obj.plugin__addspec__sampler__genid(wave_path, None) sp_obj.point_value_type = "samples" sp_obj.loop_active = loopstart != 0 and loopend != 2 sp_obj.loop_start = loopstart diff --git a/plugins/input/m_tracker_s3m.py b/plugins/input/m_tracker_s3m.py index 57da8b4b..8a428bd1 100644 --- a/plugins/input/m_tracker_s3m.py +++ b/plugins/input/m_tracker_s3m.py @@ -86,7 +86,7 @@ def parse_internal(self, convproj_obj, project_obj, dv_config): sp_obj.loop_start = s3m_inst.loopStart sp_obj.loop_end = s3m_inst.loopEnd - inst_obj.pluginid = pluginid + inst_obj.plugslots.set_synth(pluginid) patterndata_obj = pat_single.single_patsong(32, TEXTSTART, MAINCOLOR) patterndata_obj.orders = t_orderlist diff --git a/plugins/input/m_tracker_xm.py b/plugins/input/m_tracker_xm.py index 1deee6d2..86ac0149 100644 --- a/plugins/input/m_tracker_xm.py +++ b/plugins/input/m_tracker_xm.py @@ -149,7 +149,8 @@ def parse_internal(self, convproj_obj, project_obj, dv_config, input_file): inst_obj.params.add('vol', 0.3*(trsamp.vol), 'float') filename = samplefolder+str(xm_cursamplenum)+'.wav' - plugin_obj, inst_obj.pluginid, sampleref_obj, sp_obj = convproj_obj.plugin__addspec__sampler__genid(filename, None) + plugin_obj, synthid, sampleref_obj, sp_obj = convproj_obj.plugin__addspec__sampler__genid(filename, None) + inst_obj.plugslots.set_synth(synthid) sp_obj.loop_active, sp_obj.loop_mode, sp_obj.loop_start, sp_obj.loop_end = trsamp.get_loop() if not sp_obj.loop_active: sp_obj.loop_end = trsamp.length sp_obj.end = trsamp.length @@ -157,7 +158,8 @@ def parse_internal(self, convproj_obj, project_obj, dv_config, input_file): else: inst_used = True inst_obj.params.add('vol', 0.3, 'float') - plugin_obj, inst_obj.pluginid = convproj_obj.plugin__add__genid('universal', 'sampler', 'multi') + plugin_obj, synthid = convproj_obj.plugin__add__genid('universal', 'sampler', 'multi') + inst_obj.plugslots.set_synth(synthid) for instnum, r_start, e_end in sampleregions: filename = samplefolder + str(xm_cursamplenum+instnum) + '.wav' sampleref_obj = convproj_obj.sampleref__add(filename, filename, None) diff --git a/plugins/input/m_uc_trkr_deflemask.py b/plugins/input/m_uc_trkr_deflemask.py index 8b113416..00a1aab5 100644 --- a/plugins/input/m_uc_trkr_deflemask.py +++ b/plugins/input/m_uc_trkr_deflemask.py @@ -114,11 +114,13 @@ def parse(self, convproj_obj, input_file, dv_config): #print(dmf_inst.mode, insttype, instnum, channum) if dmf_inst.mode == 1 and insttype == 'opn2': - plugin_obj, inst_obj.pluginid = dmf_inst.fm_data.to_cvpj_genid(convproj_obj) - + plugin_obj, synthid = dmf_inst.fm_data.to_cvpj_genid(convproj_obj) + inst_obj.plugslots.set_synth(synthid) + if dmf_inst.mode == 0: - plugin_obj, inst_obj.pluginid = convproj_obj.plugin__add__genid('universal', 'synth-osc', None) + plugin_obj, synthid = convproj_obj.plugin__add__genid('universal', 'synth-osc', None) plugin_obj.role = 'synth' + inst_obj.plugslots.set_synth(synthid) osc_data = plugin_obj.osc_add() if insttype == 'square': osc_data.prop.shape = 'square' if insttype == 'triangle': osc_data.prop.shape = 'triangle' @@ -142,7 +144,9 @@ def parse(self, convproj_obj, input_file, dv_config): inst_obj.visual.color.set_float([.9,.9,.9]) inst_obj.is_drum = True - plugin_obj, inst_obj.pluginid = convproj_obj.plugin__add__genid('universal', 'sampler', 'single') + plugin_obj, synthid = convproj_obj.plugin__add__genid('universal', 'sampler', 'single') + plugin_obj.role = 'synth' + inst_obj.plugslots.set_synth(synthid) samplepart_obj = plugin_obj.samplepart_add('sample') samplepart_obj.sampleref = sampleid plugin_obj.datavals.add('point_value_type', "samples") diff --git a/plugins/input/m_uc_trkr_famitracker.py b/plugins/input/m_uc_trkr_famitracker.py index 893da569..d953079a 100644 --- a/plugins/input/m_uc_trkr_famitracker.py +++ b/plugins/input/m_uc_trkr_famitracker.py @@ -123,8 +123,9 @@ def parse(self, convproj_obj, input_file, dv_config): if insttype == 'dpcm': inst_obj.is_drum = True - plugin_obj, inst_obj.pluginid = convproj_obj.plugin__add__genid('universal', 'sampler', 'multi') + plugin_obj, synthid = convproj_obj.plugin__add__genid('universal', 'sampler', 'multi') plugin_obj.role = 'synth' + inst_obj.plugslots.set_synth(synthid) for _, dpcm_key in ft_inst.dpcm_keys.items(): if dpcm_key.id in project_obj.dpcm: filename = samplefolder+'dpcmg_'+str(dpcm_key.id)+'_'+str(dpcm_key.pitch)+'.wav' @@ -140,8 +141,9 @@ def parse(self, convproj_obj, input_file, dv_config): sp_obj.sampleref = filename else: - plugin_obj, inst_obj.pluginid = convproj_obj.plugin__add__genid('universal', 'synth-osc', None) + plugin_obj, synthid = convproj_obj.plugin__add__genid('universal', 'synth-osc', None) plugin_obj.role = 'synth' + inst_obj.plugslots.set_synth(synthid) osc_data = plugin_obj.osc_add() if insttype in ['square1', 'square2']: osc_data.prop.shape = 'square' if insttype == 'triangle': osc_data.prop.shape = 'triangle' @@ -164,19 +166,23 @@ def parse(self, convproj_obj, input_file, dv_config): if ft_inst.chip == 'VRC6': if insttype == 'vrc6_square': - plugin_obj, inst_obj.pluginid = convproj_obj.plugin__add__genid('universal', 'synth-osc', None) + plugin_obj, synthid = convproj_obj.plugin__add__genid('universal', 'synth-osc', None) plugin_obj.role = 'synth' + inst_obj.plugslots.set_synth(synthid) osc_data = plugin_obj.osc_add() osc_data.prop.shape = 'square' if insttype == 'vrc6_saw': - plugin_obj, inst_obj.pluginid = convproj_obj.plugin__add__genid('universal', 'synth-osc', None) + plugin_obj, synthid = convproj_obj.plugin__add__genid('universal', 'synth-osc', None) plugin_obj.role = 'synth' + inst_obj.plugslots.set_synth(synthid) osc_data = plugin_obj.osc_add() osc_data.prop.shape = 'saw' if ft_inst.chip == 'FDS' and insttype == 'fds': - plugin_obj, inst_obj.pluginid = convproj_obj.plugin__add__genid('universal', 'synth-osc', None) + plugin_obj, synthid = convproj_obj.plugin__add__genid('universal', 'synth-osc', None) + plugin_obj.role = 'synth' + inst_obj.plugslots.set_synth(synthid) osc_data = plugin_obj.osc_add() osc_data.prop.type = 'wave' osc_data.prop.nameid = 'main' diff --git a/plugins/input/m_uc_trkr_trackerboy.py b/plugins/input/m_uc_trkr_trackerboy.py index fc9ed078..a43324c9 100644 --- a/plugins/input/m_uc_trkr_trackerboy.py +++ b/plugins/input/m_uc_trkr_trackerboy.py @@ -108,8 +108,10 @@ def parse(self, convproj_obj, input_file, dv_config): insttype = patterndata_obj.get_channel_insttype(channum) inst_obj.visual.from_dset('trackerboy', 'chip', insttype, False) - plugin_obj, inst_obj.pluginid = convproj_obj.plugin__add__genid('universal', 'synth-osc', None) + plugin_obj, synthid = convproj_obj.plugin__add__genid('universal', 'synth-osc', None) plugin_obj.role = 'synth' + inst_obj.plugslots.set_synth(synthid) + osc_data = plugin_obj.osc_add() if instname == 'pulse': osc_data.prop.shape = 'square' if instname == 'noise': diff --git a/plugins/input/mi_boscaceoil.py b/plugins/input/mi_boscaceoil.py index 20ff7f36..65636126 100644 --- a/plugins/input/mi_boscaceoil.py +++ b/plugins/input/mi_boscaceoil.py @@ -55,7 +55,7 @@ def add_master_fx(convproj_obj, fx_type, fx_value): plugin_obj.role = 'fx' plugin_obj.visual.from_dset('boscaceoil', 'fx', FX_NAMES[fx_type], True) - convproj_obj.track_master.fxslots_audio.append('master-effect') + convproj_obj.track_master.plugslots.slots_audio.append('master-effect') def add_filter(convproj_obj, instnum, cutoff, resonance): cvpj_instid = 'ceol_'+str(instnum).zfill(2) @@ -136,8 +136,10 @@ def parse(self, convproj_obj, input_file, dv_config): if idval_inst: valsoundid = idval_inst.get_idval(str(ceol_inst_obj.inst), 'valsoundid') opm_obj.from_valsound(valsoundid) - plugin_obj, inst_obj.pluginid = opm_obj.to_cvpj_genid(convproj_obj) - + plugin_obj, synthid = opm_obj.to_cvpj_genid(convproj_obj) + inst_obj.plugslots.set_synth(synthid) + + inst_objs[ceol_inst_obj.inst] = inst_obj if ceol_inst_obj.inst == 363: t_key_offset.append(60) elif ceol_inst_obj.inst == 364: t_key_offset.append(48) @@ -148,7 +150,7 @@ def parse(self, convproj_obj, input_file, dv_config): if ceol_inst_obj.cutoff < 110: inst_filters[instnum] = add_filter(convproj_obj, instnum, ceol_inst_obj.cutoff, ceol_inst_obj.resonance) - inst_obj.fxslots_audio.append(inst_filters[instnum]) + inst_obj.plugslots.slots_audio.append(inst_filters[instnum]) # ---------- Patterns ---------- for patnum, ceol_pat_obj in enumerate(project_obj.patterns): @@ -190,7 +192,7 @@ def parse(self, convproj_obj, input_file, dv_config): after_filter[plnum][1] = ceol_pat_obj.inst if ceol_pat_obj.inst not in inst_filters: inst_filters[ceol_pat_obj.inst] = add_filter(convproj_obj, ceol_pat_obj.inst, ceol_inst_obj.cutoff, ceol_inst_obj.resonance) - inst_objs[ceol_pat_obj.inst].fxslots_audio.append(inst_filters[ceol_pat_obj.inst]) + inst_objs[ceol_pat_obj.inst].plugslots.slots_audio.append(inst_filters[ceol_pat_obj.inst]) patinstid = 'ceol_'+str(ceol_pat_obj.inst).zfill(2) diff --git a/plugins/input/mi_famistudiotxt.py b/plugins/input/mi_famistudiotxt.py index c30f9728..a7b4ef81 100644 --- a/plugins/input/mi_famistudiotxt.py +++ b/plugins/input/mi_famistudiotxt.py @@ -57,11 +57,13 @@ def create_inst(convproj_obj, WaveType, fst_Instrument, fxchannel_obj, fx_num): inst_obj.fxrack_channel = fx_num inst_obj.params.add('vol', 0.2, 'float') + synthid = None + if WaveType == 'Square1' or WaveType == 'Square2' or WaveType == 'Triangle' or WaveType == 'Noise': if WaveType == 'Square1' or WaveType == 'Square2': wavetype = 'square' if WaveType == 'Triangle': wavetype = 'triangle' if WaveType == 'Noise': wavetype = 'noise' - plugin_obj, inst_obj.pluginid = convproj_obj.plugin__add__genid('universal', 'synth-osc', None) + plugin_obj, synthid = convproj_obj.plugin__add__genid('universal', 'synth-osc', None) osc_data = plugin_obj.osc_add() osc_data.prop.shape = wavetype add_envelopes(plugin_obj, fst_Instrument) @@ -69,25 +71,25 @@ def create_inst(convproj_obj, WaveType, fst_Instrument, fxchannel_obj, fx_num): if WaveType == 'VRC7FM': inst_obj.params.add('vol', 1, 'float') opl2_obj = fst_Instrument.FM.to_opl2() - plugin_obj, inst_obj.pluginid = opl2_obj.to_cvpj_genid(convproj_obj) + plugin_obj, synthid = opl2_obj.to_cvpj_genid(convproj_obj) add_envelopes(plugin_obj, fst_Instrument) if WaveType == 'VRC6Square' or WaveType == 'VRC6Saw': if WaveType == 'VRC6Saw': wavetype = 'saw' if WaveType == 'VRC6Square': wavetype = 'square' - plugin_obj, inst_obj.pluginid = convproj_obj.plugin__add__genid('universal', 'synth-osc', None) + plugin_obj, synthid = convproj_obj.plugin__add__genid('universal', 'synth-osc', None) osc_data = plugin_obj.osc_add() osc_data.prop.shape = wavetype add_envelopes(plugin_obj, fst_Instrument) if WaveType == 'FDS': - plugin_obj, inst_obj.pluginid = convproj_obj.plugin__add__genid('chip', 'fds', None) + plugin_obj, synthid = convproj_obj.plugin__add__genid('chip', 'fds', None) add_envelopes(plugin_obj, fst_Instrument) add_envelope(plugin_obj, fst_Instrument, 'wave', 'FDSWave') if WaveType == 'N163': inst_obj.params.add('vol', 1, 'float') - plugin_obj, inst_obj.pluginid = convproj_obj.plugin__add__genid('native', 'namco163_famistudio', None) + plugin_obj, synthid = convproj_obj.plugin__add__genid('native', 'namco163_famistudio', None) osc_obj = plugin_obj.osc_add() osc_obj.prop.type = 'wavetable' osc_obj.prop.nameid = 'main' @@ -95,18 +97,18 @@ def create_inst(convproj_obj, WaveType, fst_Instrument, fxchannel_obj, fx_num): add_envelope(plugin_obj, fst_Instrument, 'wave', 'N163Wave') if WaveType == 'S5B': - plugin_obj, inst_obj.pluginid = convproj_obj.plugin__add__genid('universal', 'synth-osc', None) + plugin_obj, synthid = convproj_obj.plugin__add__genid('universal', 'synth-osc', None) osc_data = plugin_obj.osc_add() osc_data.prop.shape = 'square' add_envelopes(plugin_obj, fst_Instrument) if WaveType == 'MMC5': - plugin_obj, inst_obj.pluginid = convproj_obj.plugin__add__genid('universal', 'synth-osc', None) + plugin_obj, synthid = convproj_obj.plugin__add__genid('universal', 'synth-osc', None) osc_data = plugin_obj.osc_add() osc_data.prop.shape = 'square' if WaveType == 'EPSMSquare': - plugin_obj, inst_obj.pluginid = convproj_obj.plugin__add__genid('universal', 'synth-osc', None) + plugin_obj, synthid = convproj_obj.plugin__add__genid('universal', 'synth-osc', None) osc_data = plugin_obj.osc_add() osc_data.prop.shape = 'square' add_envelopes(plugin_obj, fst_Instrument) @@ -115,21 +117,23 @@ def create_inst(convproj_obj, WaveType, fst_Instrument, fxchannel_obj, fx_num): inst_obj.params.add('vol', 0.6, 'float') instvolume = 0.7 opn2_obj = fst_Instrument.FM.to_opn2() - plugin_obj, inst_obj.pluginid = opn2_obj.to_cvpj_genid(convproj_obj) + plugin_obj, synthid = opn2_obj.to_cvpj_genid(convproj_obj) instpan = 0 instpan += int(bool(fst_Instrument.Regs[1] & 0x80))*-1 instpan += int(bool(fst_Instrument.Regs[1] & 0x40)) inst_obj.params.add('pan', instpan, 'float') - if WaveType == 'EPSM_Kick': plugin_obj, inst_obj.pluginid = convproj_obj.plugin__add__genid('chip', 'epsm_rhythm', 'kick') - if WaveType == 'EPSM_Snare': plugin_obj, inst_obj.pluginid = convproj_obj.plugin__add__genid('chip', 'epsm_rhythm', 'snare') - if WaveType == 'EPSM_Cymbal': plugin_obj, inst_obj.pluginid = convproj_obj.plugin__add__genid('chip', 'epsm_rhythm', 'cymbal') - if WaveType == 'EPSM_HiHat': plugin_obj, inst_obj.pluginid = convproj_obj.plugin__add__genid('chip', 'epsm_rhythm', 'hihat') - if WaveType == 'EPSM_Tom': plugin_obj, inst_obj.pluginid = convproj_obj.plugin__add__genid('chip', 'epsm_rhythm', 'tom') - if WaveType == 'EPSM_Rimshot': plugin_obj, inst_obj.pluginid = convproj_obj.plugin__add__genid('chip', 'epsm_rhythm', 'rimshot') + if WaveType == 'EPSM_Kick': plugin_obj, synthid = convproj_obj.plugin__add__genid('chip', 'epsm_rhythm', 'kick') + if WaveType == 'EPSM_Snare': plugin_obj, synthid = convproj_obj.plugin__add__genid('chip', 'epsm_rhythm', 'snare') + if WaveType == 'EPSM_Cymbal': plugin_obj, synthid = convproj_obj.plugin__add__genid('chip', 'epsm_rhythm', 'cymbal') + if WaveType == 'EPSM_HiHat': plugin_obj, synthid = convproj_obj.plugin__add__genid('chip', 'epsm_rhythm', 'hihat') + if WaveType == 'EPSM_Tom': plugin_obj, synthid = convproj_obj.plugin__add__genid('chip', 'epsm_rhythm', 'tom') + if WaveType == 'EPSM_Rimshot': plugin_obj, synthid = convproj_obj.plugin__add__genid('chip', 'epsm_rhythm', 'rimshot') plugin_obj.role = 'synth' + if synthid: inst_obj.plugslots.set_synth(synthid) + inst_obj.visual.name = instname inst_obj.visual.from_dset('famistudio', 'chip', WaveType, False) @@ -150,9 +154,11 @@ def create_dpcm_inst(DPCMMappings, DPCMSamples, fx_num, fst_instrument): inst_obj.visual.from_dset('famistudio', 'chip', 'DPCM', False) inst_obj.fxrack_channel = fx_num inst_obj.is_drum = True - plugin_obj, inst_obj.pluginid = convproj_obj.plugin__add__genid('universal', 'sampler', 'multi') + plugin_obj, synthid = convproj_obj.plugin__add__genid('universal', 'sampler', 'multi') plugin_obj.role = 'synth' + inst_obj.plugslots.set_synth(synthid) + for key, dpcmmap in DPCMMappings.data.items(): dpcm_pitch = int(dpcmmap['Pitch']) dpcm_sample = dpcmmap['Sample'] diff --git a/plugins/input/mi_flp.py b/plugins/input/mi_flp.py index 3cc879d1..e5822876 100644 --- a/plugins/input/mi_flp.py +++ b/plugins/input/mi_flp.py @@ -365,10 +365,12 @@ def parse(self, convproj_obj, input_file, dv_config): chan_range[channelnum] = [fl_channel_obj.params.keyrange_min, fl_channel_obj.params.keyrange_max] + instplugid = 'FLPlug_G_'+str(channelnum) + plugin_obj = None if fl_channel_obj.type == 0: - inst_obj.pluginid = 'FLPlug_G_'+str(channelnum) - plugin_obj, sampleref_obj, sp_obj = convproj_obj.plugin__addspec__sampler(inst_obj.pluginid, get_sample(fl_channel_obj.samplefilename), 'win') + inst_obj.plugslots.set_synth(instplugid) + plugin_obj, sampleref_obj, sp_obj = convproj_obj.plugin__addspec__sampler(instplugid, get_sample(fl_channel_obj.samplefilename), 'win') samplepart_obj, sampleref_obj = to_samplepart(fl_channel_obj, sp_obj, convproj_obj, False, flp_obj, dv_config) fl_asdr_obj_vol = fl_channel_obj.env_lfo[1] sampleloop = bool(fl_channel_obj.sampleflags & 8) @@ -383,10 +385,10 @@ def parse(self, convproj_obj, input_file, dv_config): if fl_channel_obj.type == 2: if fl_channel_obj.plugin.name != None: - inst_obj.pluginid = 'FLPlug_G_'+str(channelnum) - plugin_obj = flp_dec_plugins.getparams(convproj_obj, inst_obj.pluginid, fl_channel_obj.plugin, samplefolder, flp_obj.zipfile) + inst_obj.plugslots.set_synth(instplugid) + plugin_obj = flp_dec_plugins.getparams(convproj_obj, instplugid, fl_channel_obj.plugin, samplefolder, flp_obj.zipfile) if fl_channel_obj.plugin.name == 'fruity wrapper': - wrapper_plugids.append(inst_obj.pluginid) + wrapper_plugids.append(instplugid) if fl_channel_obj.samplefilename: sp_obj = plugin_obj.samplepart_add('audiofile') @@ -410,7 +412,7 @@ def parse(self, convproj_obj, input_file, dv_config): timing_obj = delay_obj.timing_add(0) timing_obj.set_steps(fl_delay.time, convproj_obj) chfxplugin_obj = delay_obj.to_cvpj(convproj_obj, chanfxpid) - inst_obj.fxslots_audio.append(chanfxpid) + inst_obj.plugslots.slots_audio.append(chanfxpid) vol_enabled = bool(fl_asdr_obj_vol.el_env_enabled) @@ -477,7 +479,7 @@ def parse(self, convproj_obj, input_file, dv_config): plugin_obj = convproj_obj.plugin__add(notefx_pluginid, 'universal', 'arpeggiator', None) plugin_obj.fxdata_add(fl_channel_obj.params.arpdirection, None) plugin_obj.role = 'notefx' - inst_obj.fxslots_notes.append(notefx_pluginid) + inst_obj.plugslots.slots_notes.append(notefx_pluginid) if fl_channel_obj.params.arpdirection: plugin_obj.datavals.add('gate', fl_channel_obj.params.arpgate/48) @@ -777,7 +779,7 @@ def parse(self, convproj_obj, input_file, dv_config): if slot_obj.plugin.name == 'fruity wrapper': wrapper_plugids.append(pluginid) - fxchannel_obj.fxslots_audio.append(pluginid) + fxchannel_obj.plugslots.slots_audio.append(pluginid) except: pass @@ -811,7 +813,7 @@ def parse(self, convproj_obj, input_file, dv_config): filter_obj.freq = eq_freq filter_obj.type.set(['low_shelf','peak','high_shelf'][n], None) filter_obj.gain = eq_level - fxchannel_obj.fxslots_mixer.append(eq_fxid) + fxchannel_obj.plugslots.slots_mixer.append(eq_fxid) #if len(flp_obj.arrangements) == 0 and len(FL_Patterns) == 1 and len(FL_Channels) == 0: # fst_chan_notelist = [[] for x in range(16)] diff --git a/plugins/input/mi_jummbox.py b/plugins/input/mi_jummbox.py index 93590edf..1084083f 100644 --- a/plugins/input/mi_jummbox.py +++ b/plugins/input/mi_jummbox.py @@ -102,7 +102,7 @@ def addfx(convproj_obj, inst_obj, fxgroupname, cvpj_instid, fxname, fxsubname): fx_pluginid = cvpj_instid+'_'+fxname plugin_obj = convproj_obj.plugin__add(fx_pluginid, fxgroupname, fxname, fxsubname) plugin_obj.role = 'fx' - inst_obj.fxslots_audio.append(fx_pluginid) + inst_obj.plugslots.slots_audio.append(fx_pluginid) return plugin_obj def add_eq_data(inst_obj, cvpj_instid, eqfiltbands): @@ -191,7 +191,7 @@ def add_inst_fx(convproj_obj, inst_obj, bb_fx, cvpj_instid): fxplugin_obj, _ = delay_obj.to_cvpj(convproj_obj, fx_pluginid) fxplugin_obj.visual.name = 'Echo' fxplugin_obj.fxdata_add(1, 0.5) - inst_obj.fxslots_audio.append(fx_pluginid) + inst_obj.plugslots.slots_audio.append(fx_pluginid) if 'distortion' in bb_fx.used: fxplugin_obj = addfx(convproj_obj, inst_obj, 'simple', cvpj_instid, 'distortion', None) @@ -292,7 +292,7 @@ def parse(self, convproj_obj, input_file, dv_config): if not midifound: inst_obj = convproj_obj.instrument__add(cvpj_instid) - inst_obj.pluginid = cvpj_instid + inst_obj.plugslots.set_synth(cvpj_instid) plugin_obj = convproj_obj.plugin__add(cvpj_instid, 'native', 'jummbox', bb_inst.type) if 'unison' in bb_inst.data: plugin_obj.datavals.add('unison', bb_inst.data['unison']) diff --git a/plugins/input/mi_notessimo_v3.py b/plugins/input/mi_notessimo_v3.py index 2f7a1a03..1bd8130d 100644 --- a/plugins/input/mi_notessimo_v3.py +++ b/plugins/input/mi_notessimo_v3.py @@ -150,7 +150,7 @@ def add_inst(convproj_obj, instid, project_obj, maindata_obj): if sampleids: plugin_obj = convproj_obj.plugin__add(instid, 'universal', 'sampler', 'multi') plugin_obj.role = 'synth' - inst_obj.pluginid = instid + inst_obj.plugslots.set_synth(instid) for setnum, set_data in notet_inst.sets.items(): inst_manager.proc_inst(convproj_obj, plugin_obj, instid, set_data, notet_data) @@ -158,7 +158,7 @@ def add_inst(convproj_obj, instid, project_obj, maindata_obj): elif notet_inst.sample: plugin_obj = convproj_obj.plugin__add(instid, 'universal', 'sampler', 'single') plugin_obj.role = 'synth' - inst_obj.pluginid = instid + inst_obj.plugslots.set_synth(instid) sampleid, notet_sample, samplekey, sampleref_obj = sample_manager.add_sample(notet_data, convproj_obj, notet_inst.sample) diff --git a/plugins/input/ms_1bd.py b/plugins/input/ms_1bd.py index 569dbcff..ca5ac0e1 100644 --- a/plugins/input/ms_1bd.py +++ b/plugins/input/ms_1bd.py @@ -151,7 +151,7 @@ def parse(self, convproj_obj, input_file, dv_config): #if instname not in instnames: # onebit_ext.save_audio(instname, audiofilepath) - # plugin_obj, inst_obj.pluginid, sampleref_obj, sp_obj = convproj_obj.plugin__addspec__sampler__genid(audiofilepath, None) + # plugin_obj, inst_obj.plugslots.synth, sampleref_obj, sp_obj = convproj_obj.plugin__addspec__sampler__genid(audiofilepath, None) # plugin_obj.env_asdr_add('vol', 0, 0, 0, 0, 1, 10, 1) # instnames.append(instname) @@ -169,7 +169,7 @@ def parse(self, convproj_obj, input_file, dv_config): #if instname not in instnames: # onebit_ext.save_audio(instname, audiofilepath) - # plugin_obj, inst_obj.pluginid, sampleref_obj, sp_obj = convproj_obj.plugin__addspec__sampler__genid(audiofilepath, None) + # plugin_obj, inst_obj.plugslots.synth, sampleref_obj, sp_obj = convproj_obj.plugin__addspec__sampler__genid(audiofilepath, None) # plugin_obj.env_asdr_add('vol', 0, 0, 0, 0, 1, 10, 1) # instnames.append(instname) @@ -182,4 +182,4 @@ def parse(self, convproj_obj, input_file, dv_config): plugin_obj.role = 'fx' plugin_obj.visual.name = 'Reverb' plugin_obj.fxdata_add(project_obj.reverb, 0.5) - convproj_obj.track_master.fxslots_audio.append('master-reverb') \ No newline at end of file + convproj_obj.track_master.plugslots.slots_audio.append('master-reverb') \ No newline at end of file diff --git a/plugins/input/ms_lovelycomposer.py b/plugins/input/ms_lovelycomposer.py index f3f5283a..37dd80dd 100644 --- a/plugins/input/ms_lovelycomposer.py +++ b/plugins/input/ms_lovelycomposer.py @@ -285,7 +285,7 @@ def parse(self, convproj_obj, input_file, dv_config): osc_data = plugin_obj.osc_add() inst_obj = convproj_obj.instrument__add(cvpj_ninstid) - inst_obj.pluginid = pluginid + inst_obj.plugslots.set_synth(pluginid) inst_obj.visual.name = instdata[1] inst_obj.visual.color.set_float(color) inst_obj.is_drum = instdata[1] in ['Noise', 'FreqNoise'] diff --git a/plugins/input/ms_serato.py b/plugins/input/ms_serato.py index 41c3c01d..81904c4b 100644 --- a/plugins/input/ms_serato.py +++ b/plugins/input/ms_serato.py @@ -102,7 +102,7 @@ def parse(self, convproj_obj, input_file, dv_config): plugin_obj, sampleref_obj, samplepart_obj = convproj_obj.plugin__addspec__sampler(cvpj_instid_p, samplepath, 'win') inst_obj = convproj_obj.instrument__add(cvpj_instid_p) inst_obj.is_drum = True - inst_obj.pluginid = cvpj_instid_p + inst_obj.plugslots.set_synth(cvpj_instid_p) inst_obj.visual.name = urllib.parse.unquote(samplefile).split('/')[-1] if drumsamp.color: @@ -125,7 +125,8 @@ def parse(self, convproj_obj, input_file, dv_config): inst_obj.visual.name = scene_deck.name inst_obj.visual.color.set_float([0.48, 0.35, 0.84]) inst_obj.params.add('vol', 0.7*scene_strip.gain*scene_strip.volume, 'float') - plugin_obj, inst_obj.pluginid = convproj_obj.plugin__add__genid('native', 'serato-inst', 'instrument') + plugin_obj, synthid = convproj_obj.plugin__add__genid('native', 'serato-inst', 'instrument') + inst_obj.plugslots.set_synth(synthid) instrument_file = parse_filepath(scene_deck.instrument_file) convproj_obj.fileref__add(scene_deck.instrument_file, instrument_file, 'win') plugin_obj.filerefs['instrument'] = scene_deck.instrument_file @@ -135,8 +136,9 @@ def parse(self, convproj_obj, input_file, dv_config): if scene_deck.type == 'sample': if useaudioclips == False: inst_obj = convproj_obj.instrument__add(cvpj_instid) - plugin_obj, inst_obj.pluginid = convproj_obj.plugin__add__genid('native', 'serato-inst', 'sampler') - + plugin_obj, synthid = convproj_obj.plugin__add__genid('native', 'serato-inst', 'sampler') + inst_obj.plugslots.set_synth(synthid) + if scene_deck.sample_file: inst_obj.visual.name = urllib.parse.unquote(scene_deck.sample_file).split('/')[-1] samplepath = parse_filepath(scene_deck.sample_file) @@ -187,7 +189,7 @@ def parse(self, convproj_obj, input_file, dv_config): track_obj.params.add('vol', 0.7*scene_strip.gain*scene_strip.volume, 'float') track_obj.params.add('pan', scene_strip.pan, 'float') - do_chan_strip(convproj_obj, cvpj_trackid, scene_strip, track_obj.fxslots_audio) + do_chan_strip(convproj_obj, cvpj_trackid, scene_strip, track_obj.plugslots.slots_audio) for num, scene in enumerate(project_obj.scenes): sceneid = 'scene_'+str(num+1) @@ -312,7 +314,7 @@ def parse(self, convproj_obj, input_file, dv_config): if 'label' in project_obj.metadata: convproj_obj.metadata.comment_text = project_obj.metadata['label'] #for trackid, track_obj in convproj_obj.track__iter(): - # print(track_obj.fxslots_audio) + # print(track_obj.plugslots.slots_audio) convproj_obj.do_actions.append('do_addloop') convproj_obj.params.add('bpm', project_obj.bpm, 'float') \ No newline at end of file diff --git a/plugins/input/r_ableton.py b/plugins/input/r_ableton.py index 75654852..5001a67d 100644 --- a/plugins/input/r_ableton.py +++ b/plugins/input/r_ableton.py @@ -120,7 +120,7 @@ def do_devices(x_trackdevices, track_id, track_obj, convproj_obj): if device.name in ['OriginalSimpler', 'MultiSampler'] and not DEBUG_DISABLE_SAMPLER: issampler = True - track_obj.inst_pluginid = pluginid + track_obj.plugslots.set_synth(pluginid) SampleParts = parampaths['Player/MultiSampleMap/SampleParts'] plugin_obj = None diff --git a/plugins/input/r_amped.py b/plugins/input/r_amped.py index 992d9919..0469dd99 100644 --- a/plugins/input/r_amped.py +++ b/plugins/input/r_amped.py @@ -153,16 +153,16 @@ def encode_devices(convproj_obj, amped_tr_devices, track_obj, amped_autodata): plugin_obj = convproj_obj.plugin__add(pluginid, 'native', 'amped', amped_tr_device.label) plugin_obj.datavals.add('data', amped_tr_device.data['wamPreset']) plugin_obj.role = 'fx' - track_obj.fxslots_audio.append(pluginid) + track_obj.plugslots.slots_audio.append(pluginid) if amped_tr_device.label in ['OBXD', 'Augur', 'Dexed', 'Europa']: - track_obj.inst_pluginid = pluginid + track_obj.plugslots.set_synth(pluginid) plugin_obj.role = 'synth' elif devicetype == ['Drumpler', 'Drumpler']: plugin_obj = convproj_obj.plugin__add(pluginid, 'universal', 'sampler', 'multi') plugin_obj.role = 'synth' - track_obj.inst_pluginid = pluginid + track_obj.plugslots.set_synth(pluginid) track_obj.is_drum = True drumplerdata = {} @@ -191,7 +191,7 @@ def encode_devices(convproj_obj, amped_tr_devices, track_obj, amped_autodata): if 'name' in padpart: sp_obj.visual.name = padpart['name'] elif devicetype == ['SF2', 'GM Player']: - track_obj.inst_pluginid = pluginid + track_obj.plugslots.set_synth(pluginid) value_patch = 0 value_bank = 0 @@ -207,7 +207,7 @@ def encode_devices(convproj_obj, amped_tr_devices, track_obj, amped_autodata): param_obj = plugin_obj.params.add_named('gain', value_gain, 'float', 'Gain') elif devicetype == ['Granny', 'Granny']: - track_obj.inst_pluginid = pluginid + track_obj.plugslots.set_synth(pluginid) plugin_obj = convproj_obj.plugin__add(pluginid, 'native', 'amped', 'Granny') plugin_obj.role = 'synth' @@ -219,14 +219,14 @@ def encode_devices(convproj_obj, amped_tr_devices, track_obj, amped_autodata): do_idauto(convproj_obj, amped_autodata, devid, amped_tr_device.params, pluginid) elif devicetype == ['Volt', 'VOLT']: - track_obj.inst_pluginid = pluginid + track_obj.plugslots.set_synth(pluginid) plugin_obj = convproj_obj.plugin__add(pluginid, 'native', 'amped', 'Volt') plugin_obj.role = 'synth' do_idparams(amped_tr_device.params, plugin_obj, amped_tr_device.className) do_idauto(convproj_obj, amped_autodata, devid, amped_tr_device.params, pluginid) elif devicetype == ['VoltMini', 'VOLT Mini']: - track_obj.inst_pluginid = pluginid + track_obj.plugslots.set_synth(pluginid) plugin_obj = convproj_obj.plugin__add(pluginid, 'native', 'amped', 'VoltMini') plugin_obj.role = 'synth' do_idparams(amped_tr_device.params, plugin_obj, amped_tr_device.className) @@ -253,7 +253,7 @@ def encode_devices(convproj_obj, amped_tr_devices, track_obj, amped_autodata): volt_lfo(plugin_obj, 'part/1/lfo/1/', 'modenv', 1) elif devicetype == ['Sampler', 'Sampler']: - track_obj.inst_pluginid = pluginid + track_obj.plugslots.set_synth(pluginid) samplerdata = {} for param in amped_tr_device.params: data_values.dict__nested_add_value(samplerdata, param.name.split('/'), param.value) @@ -276,7 +276,7 @@ def encode_devices(convproj_obj, amped_tr_devices, track_obj, amped_autodata): #sp_obj.sampleref = get_contentGuid(samplerdata_zonefile[samplerdata_zp]) elif devicetype == ['EqualizerPro', 'Equalizer']: - track_obj.fxslots_audio.append(pluginid) + track_obj.plugslots.slots_audio.append(pluginid) plugin_obj = convproj_obj.plugin__add(pluginid, 'native', 'amped', 'EqualizerPro') plugin_obj.role = 'fx' do_idparams(amped_tr_device.params, plugin_obj, amped_tr_device.className) @@ -286,7 +286,7 @@ def encode_devices(convproj_obj, amped_tr_devices, track_obj, amped_autodata): 'CompressorMini', 'Delay', 'Distortion', 'Equalizer', 'Flanger', 'Gate', 'Limiter', 'LimiterMini', 'Phaser', 'Reverb', 'Tremolo', 'BitCrusher', 'Tremolo', 'Vibrato', 'Compressor', 'Expander']: - track_obj.fxslots_audio.append(pluginid) + track_obj.plugslots.slots_audio.append(pluginid) plugin_obj = convproj_obj.plugin__add(pluginid, 'native', 'amped', amped_tr_device.className) plugin_obj.role = 'fx' do_idparams(amped_tr_device.params, plugin_obj, amped_tr_device.className) diff --git a/plugins/input/r_audiosauna.py b/plugins/input/r_audiosauna.py index b58de123..d10e6d2e 100644 --- a/plugins/input/r_audiosauna.py +++ b/plugins/input/r_audiosauna.py @@ -84,7 +84,7 @@ def parse(self, convproj_obj, input_file, dv_config): plugin_obj.params.add_named("damage", project_obj.dlyDamage/100, 'float', "Damage") plugin_obj.params.add_named("feedback", project_obj.dlyFeed/100, 'float', "Feedback") plugin_obj.params.add_named("sync", project_obj.dlySync, 'bool', "Sync") - return_obj.fxslots_audio.append(pluginid) + return_obj.plugslots.slots_audio.append(pluginid) # ------------------------------------------ Reverb ------------------------------------------ return_obj = convproj_obj.track_master.fx__return__add('audiosauna_send_reverb') @@ -97,7 +97,7 @@ def parse(self, convproj_obj, input_file, dv_config): plugin_obj.params.add_named("time", project_obj.rvbTime, 'float', 'Time') plugin_obj.params.add_named("feedback", project_obj.rvbFeed/100, 'float', 'Feedback') plugin_obj.params.add_named("width", project_obj.rvbWidth/100, 'float', 'Width') - return_obj.fxslots_audio.append(pluginid) + return_obj.plugslots.slots_audio.append(pluginid) # ------------------------------------------ Tracks ------------------------------------------ for as_channum, as_chan in project_obj.channels.items(): @@ -139,7 +139,7 @@ def parse(self, convproj_obj, input_file, dv_config): if as_device.deviceType == 1 or as_device.deviceType == 0: plugin_obj, pluginid = convproj_obj.plugin__add__genid('native', 'audiosauna', audiosanua_device_id[as_device.deviceType]) plugin_obj.role = 'synth' - track_obj.inst_pluginid = pluginid + track_obj.plugslots.set_synth(pluginid) fldso = globalstore.dataset.get_obj('audiosauna', 'plugin', str(as_device.deviceType)) if fldso: @@ -215,7 +215,7 @@ def parse(self, convproj_obj, input_file, dv_config): fx_plugin_obj.visual.name = 'Distortion' fx_plugin_obj.params.add_named("overdrive", overdrive, 'float', 'Overdrive') fx_plugin_obj.params.add_named("modulate", modulate, 'float', 'Modulate') - track_obj.fxslots_audio.append(fx_pluginid) + track_obj.plugslots.slots_audio.append(fx_pluginid) # bitcrush bitrateval = float(getvalue(as_device.params, 'bitrate')) @@ -225,7 +225,7 @@ def parse(self, convproj_obj, input_file, dv_config): fx_plugin_obj.visual.name = 'Bitcrush' fx_plugin_obj.params.add("bits", 16, 'float') fx_plugin_obj.params.add("freq", 22050/bitrateval, 'float') - track_obj.fxslots_audio.append(fx_pluginid) + track_obj.plugslots.slots_audio.append(fx_pluginid) # chorus chorus_wet = float(getvalue(as_device.params, 'chorusMix' if as_device in [0,1] else 'chorusDryWet'))/100 @@ -238,7 +238,7 @@ def parse(self, convproj_obj, input_file, dv_config): fx_plugin_obj.fxdata_add(True, chorus_wet) fx_plugin_obj.params.add_named("speed", chorus_speed, 'float', 'Speed') fx_plugin_obj.params.add_named("size", chorus_size, 'float', 'Size') - track_obj.fxslots_audio.append(fx_pluginid) + track_obj.plugslots.slots_audio.append(fx_pluginid) # amp ampval = float(getvalue(as_device.params, 'masterAmp'))/100 diff --git a/plugins/input/r_dawproject.py b/plugins/input/r_dawproject.py index 37ac17f8..ceb06841 100644 --- a/plugins/input/r_dawproject.py +++ b/plugins/input/r_dawproject.py @@ -100,10 +100,10 @@ def do_devices(convproj_obj, track_obj, ismaster, dp_devices): do_param(convproj_obj, plugin_obj.params_slot, device.enabled, 'enabled', None, 'bool', ['slot', device.id, 'enabled']) if device.deviceRole == 'instrument' and not ismaster: plugin_obj.role = 'inst' - track_obj.inst_pluginid = device.id + track_obj.plugslots.set_synth(device.id) elif device.deviceRole == 'audioFX': plugin_obj.role = 'effect' - track_obj.fxslots_audio.append(device.id) + track_obj.plugslots.slots_audio.append(device.id) def do_tracks(convproj_obj, dp_tracks, groupid): global samplefolder diff --git a/plugins/input/r_lmms.py b/plugins/input/r_lmms.py index 6966e705..f29bc2b2 100644 --- a/plugins/input/r_lmms.py +++ b/plugins/input/r_lmms.py @@ -485,7 +485,7 @@ def lmms_decode_tracks(convproj_obj, lmms_tracks, isbb, startstr): if lmms_track.color: track_obj.visual.color.set_hex(lmms_track.color) elif plug_color: track_obj.visual.color = plug_color - track_obj.inst_pluginid = instpluginid + track_obj.plugslots.set_synth(instpluginid) if plugin_obj: asdflfo_get(insttr_obj, plugin_obj) midiport_obj = insttr_obj.midiport @@ -499,7 +499,7 @@ def lmms_decode_tracks(convproj_obj, lmms_tracks, isbb, startstr): track_obj.midi.out_inst.key = int(midiport_obj.fixedoutputnote) track_obj.midi.basevelocity = int(midiport_obj.basevelocity) - track_obj.fxslots_audio += decodefxchain(convproj_obj, insttr_obj.fxchain) + track_obj.plugslots.slots_audio += decodefxchain(convproj_obj, insttr_obj.fxchain) if insttr_obj.fxch != -1: track_obj.fxrack_channel = int(insttr_obj.fxch) @@ -558,7 +558,7 @@ def lmms_decode_tracks(convproj_obj, lmms_tracks, isbb, startstr): nfx_plugin_obj.datavals.add('skip_rate', int(arpeggiator_obj.arpskip)) nfx_plugin_obj.datavals.add('cycle', int(arpeggiator_obj.arpcycle)) - track_obj.fxslots_notes.append(pluginid) + track_obj.plugslots.slots_notes.append(pluginid) # ------------------------------- chordcreator ------------------------------- chordcreator_obj = insttr_obj.chordcreator @@ -572,7 +572,7 @@ def lmms_decode_tracks(convproj_obj, lmms_tracks, isbb, startstr): chord_obj.find_by_id(0, chordids[int(chordcreator_obj.chord)]) nfx_plugin_obj.datavals.add('range', int(chordcreator_obj.chordrange)) - track_obj.fxslots_notes.append(pluginid) + track_obj.plugslots.slots_notes.append(pluginid) elif lmms_track.type == 1: bbtrack_obj = lmms_track.bbtrack @@ -622,7 +622,7 @@ def lmms_decode_tracks(convproj_obj, lmms_tracks, isbb, startstr): track_obj.params.add('vol', cvpj_vol, 'float') track_obj.params.add('pan', cvpj_pan, 'float') - track_obj.fxslots_audio += decodefxchain(convproj_obj, samptr_obj.fxchain) + track_obj.plugslots.slots_audio += decodefxchain(convproj_obj, samptr_obj.fxchain) if samptr_obj.fxch != -1: track_obj.fxrack_channel = int(samptr_obj.fxch) @@ -731,7 +731,7 @@ def parse(self, convproj_obj, input_file, dv_config): fxchannel_obj.params.add('vol', chan_vol, 'float') fxchannel_obj.params.add('enabled', lmms_fxchannel.muted.value, 'bool') - fxchannel_obj.fxslots_audio += decodefxchain(convproj_obj, lmms_fxchannel.fxchain) + fxchannel_obj.plugslots.slots_audio += decodefxchain(convproj_obj, lmms_fxchannel.fxchain) fxchannel_obj.sends.to_master_active = False diff --git a/plugins/input/r_onlineseq.py b/plugins/input/r_onlineseq.py index a39ae1ee..c6909340 100644 --- a/plugins/input/r_onlineseq.py +++ b/plugins/input/r_onlineseq.py @@ -92,7 +92,7 @@ def parse(self, convproj_obj, input_file, dv_config): if trueinstid in [13,14,15,16]: plugin_obj = convproj_obj.plugin__add(trackid, 'universal', 'synth-osc', None) plugin_obj.role = 'synth' - track_obj.inst_pluginid = trackid + track_obj.plugslots.set_synth(trackid) osc_data = plugin_obj.osc_add() if instid == 13: osc_data.prop.shape = 'sine' if instid == 14: osc_data.prop.shape = 'square' @@ -104,7 +104,7 @@ def parse(self, convproj_obj, input_file, dv_config): plugin_obj = convproj_obj.plugin__add(trackid, 'universal', 'synth-osc', None) plugin_obj.role = 'synth' filter_obj = plugin_obj.filter - track_obj.inst_pluginid = trackid + track_obj.plugslots.set_synth(trackid) osc_data = plugin_obj.osc_add() osc_data.prop.shape = ['sine', 'square', 'saw', 'triangle'][s_synthdata.shape] @@ -138,7 +138,7 @@ def parse(self, convproj_obj, input_file, dv_config): plugin_obj = convproj_obj.plugin__add(pluginid, 'universal', 'bitcrush', None) plugin_obj.role = 'fx' plugin_obj.params.add('bits', i_params.bitcrush_depth, 'float') - track_obj.fxslots_audio.append(pluginid) + track_obj.plugslots.slots_audio.append(pluginid) if 'delay' in s_used_fx: pluginid = trackid+'_delay' @@ -157,7 +157,7 @@ def parse(self, convproj_obj, input_file, dv_config): plugin_obj.fxdata_add(True, i_params.distort_wet) plugin_obj.params.add('distort_type', i_params.distort_type, 'int') plugin_obj.visual.name = 'Distortion' - track_obj.fxslots_audio.append(pluginid) + track_obj.plugslots.slots_audio.append(pluginid) if 'reverb' in s_used_fx: pluginid = trackid+'_reverb' @@ -166,7 +166,7 @@ def parse(self, convproj_obj, input_file, dv_config): plugin_obj.fxdata_add(bool(i_params.reverb_on), i_params.reverb_wet) plugin_obj.params.add('reverb_type', i_params.reverb_type, 'int') plugin_obj.visual.name = 'Reverb' - track_obj.fxslots_audio.append(pluginid) + track_obj.plugslots.slots_audio.append(pluginid) if 'eq' in s_used_fx: pluginid = trackid+'_eq' @@ -177,7 +177,7 @@ def parse(self, convproj_obj, input_file, dv_config): plugin_obj.params.add('eq_mid', i_params.eq_mid, 'float') plugin_obj.params.add('eq_low', i_params.eq_low, 'float') plugin_obj.visual.name = 'EQ' - track_obj.fxslots_audio.append(pluginid) + track_obj.plugslots.slots_audio.append(pluginid) track_obj.placements.notelist.clear_size(len(notes)) diff --git a/plugins/input/r_orgyana.py b/plugins/input/r_orgyana.py index 76992758..c8abfa4f 100644 --- a/plugins/input/r_orgyana.py +++ b/plugins/input/r_orgyana.py @@ -62,18 +62,18 @@ def parse(self, convproj_obj, input_file, dv_config): audio_obj.to_file_wav(drum_filename) plugin_obj, pluginid, sampleref_obj, sp_obj = convproj_obj.plugin__addspec__sampler__genid(drum_filename, None) sp_obj.trigger = 'oneshot' - track_obj.inst_pluginid = pluginid + track_obj.plugslots.set_synth(pluginid) else: track_obj.visual.name = "Melody "+str(tracknum+1) if orgsamp_obj.loaded: plugin_obj, pluginid = convproj_obj.plugin__add__genid('universal', 'synth-osc', None) - track_obj.inst_pluginid = pluginid + track_obj.plugslots.set_synth(pluginid) osc_data = plugin_obj.osc_add() osc_data.prop.type = 'wave' osc_data.prop.nameid = 'main' wave_obj = plugin_obj.wave_add('main') wave_obj.set_all_range(list(orgsamp_obj.sample_data[orgtrack_obj.instrument]), -128, 128) - track_obj.inst_pluginid = pluginid + track_obj.plugslots.set_synth(pluginid) track_obj.visual.color.set_float(colordata.getcolornum(tracknum)) track_obj.params.add('pitch', (orgtrack_obj.pitch-1000)/1800, 'float') diff --git a/plugins/input/r_petaporon.py b/plugins/input/r_petaporon.py index 7c9a02cd..42552741 100644 --- a/plugins/input/r_petaporon.py +++ b/plugins/input/r_petaporon.py @@ -74,7 +74,7 @@ def parse(self, convproj_obj, input_file, dv_config): track_obj.visual.color.set_float(colordata.getcolornum(instnum)) plugin_obj, pluginid = convproj_obj.plugin__add__genid('universal', 'synth-osc', None) plugin_obj.role = 'synth' - track_obj.inst_pluginid = pluginid + track_obj.plugslots.set_synth(pluginid) osc_data = plugin_obj.osc_add() diff --git a/plugins/input/r_piyopiyo.py b/plugins/input/r_piyopiyo.py index 6b1380e5..4d339cfe 100644 --- a/plugins/input/r_piyopiyo.py +++ b/plugins/input/r_piyopiyo.py @@ -68,7 +68,7 @@ def parse(self, convproj_obj, input_file, dv_config): wave_obj.set_all_range(pmdtrack_obj.waveform, -128, 128) plugin_obj.env_blocks_add('vol', pmdtrack_obj.envelope, 1/64, 128, None, None) plugin_obj.env_points_from_blocks('vol') - track_obj.inst_pluginid = pluginid + track_obj.plugslots.set_synth(pluginid) parse_notes(convproj_obj, idval, project_obj.notes_data[tracknum], track_obj, keyoffset) track_obj = convproj_obj.track__add("3", 'instrument', False, False) @@ -79,7 +79,7 @@ def parse(self, convproj_obj, input_file, dv_config): plugin_obj.role = 'synth' plugin_obj.env_asdr_add('vol', 0, 0, 0, 0, 1, 10, 1) track_obj.is_drum = True - track_obj.inst_pluginid = pluginid + track_obj.plugslots.set_synth(pluginid) sampleref_obj = convproj_obj.sampleref__add('PIYOPIYO_BASS1', os.path.join(extpath_path,'BASS1.wav'), None) sampleref_obj.find_relative('external_data') diff --git a/plugins/input/r_reaper.py b/plugins/input/r_reaper.py index a160447e..aea9d222 100644 --- a/plugins/input/r_reaper.py +++ b/plugins/input/r_reaper.py @@ -240,7 +240,7 @@ def parse(self, convproj_obj, input_file, dv_config): if parmenv.is_param: do_auto(convproj_obj, parmenv, ['plugin', fxid, 'ext_param_'+str(parmenv.param_id)], False, 'float', False) - if fourid == 1919118692: track_obj.fxslots_notes.append(fxid) + if fourid == 1919118692: track_obj.plugslots.slots_notes.append(fxid) else: track_obj.plugin_autoplace(plugin_obj, fxid) else: @@ -275,13 +275,13 @@ def parse(self, convproj_obj, input_file, dv_config): if rpp_plugin.type == 'JS': plugin_obj = convproj_obj.plugin__add(fxid, 'external', 'jesusonic', rpp_extplug.js_id) - plugin_obj.role = 'effect' + plugin_obj.role = 'fx' plugin_obj.fxdata_add(not rpp_plugin.bypass['bypass'], rpp_plugin.wet['wet']) for n, v in enumerate(rpp_extplug.data): if v != '-': plugin_obj.datavals.add(str(n), v) - track_obj.fxslots_audio.append(fxid) + track_obj.plugin_autoplace(plugin_obj, fxid) - if not track_obj.inst_pluginid and samplers: + if samplers: outsamplers = [] for f, x in samplers: for o in f: @@ -291,14 +291,15 @@ def parse(self, convproj_obj, input_file, dv_config): if len(outsamplers) == 1: filename, samplerj = outsamplers[0] - track_obj.inst_pluginid = sampler_id plugin_obj, sampleref_obj, sp_obj = convproj_obj.plugin__addspec__sampler(sampler_id, filename, 'win') do_samplepart_loop(samplerj, sp_obj, sampleref_obj) do_samplepart_adsr(samplerj, plugin_obj, sampleref_obj, 'vol') + track_obj.plugslots.plugin_autoplace(plugin_obj, sampler_id) if len(outsamplers) > 1: - plugin_obj, track_obj.inst_pluginid = convproj_obj.plugin__add__genid('universal', 'sampler', 'multi') + plugin_obj = convproj_obj.plugin__add(sampler_id, 'universal', 'sampler', 'multi') plugin_obj.role = 'synth' + track_obj.plugslots.plugin_autoplace(plugin_obj, sampler_id) key_start = 0 key_end = 127 diff --git a/plugins/input/r_soundation.py b/plugins/input/r_soundation.py index 6a9ddce4..04acc393 100644 --- a/plugins/input/r_soundation.py +++ b/plugins/input/r_soundation.py @@ -199,7 +199,7 @@ def parse(self, i_convproj_obj, input_file, dv_config): filename = samplefolder+filename plugin_obj, sampleref_obj, sp_obj = convproj_obj.plugin__addspec__sampler(pluginid, filename, None) - track_obj.inst_pluginid = pluginid + track_obj.plugslots.set_synth(pluginid) get_asdr(plugin_obj, soundation_inst) @@ -233,7 +233,7 @@ def parse(self, i_convproj_obj, input_file, dv_config): elif instpluginname == 'com.soundation.drummachine': plugin_obj, pluginid = convproj_obj.plugin__add__genid('native', 'soundation', instpluginname) plugin_obj.role = 'synth' - track_obj.inst_pluginid = pluginid + track_obj.plugslots.set_synth(pluginid) track_obj.is_drum = True kit_name = get_paramval(soundation_inst, 'kit_name') @@ -244,7 +244,7 @@ def parse(self, i_convproj_obj, input_file, dv_config): elif instpluginname == 'com.soundation.europa': plugin_obj, pluginid = convproj_obj.plugin__add__genid('user', 'reasonstudios', 'europa') plugin_obj.role = 'synth' - track_obj.inst_pluginid = pluginid + track_obj.plugslots.set_synth(pluginid) fldso = globalstore.dataset.get_obj('synth_nonfree', 'plugin', 'europa') if fldso: @@ -255,7 +255,7 @@ def parse(self, i_convproj_obj, input_file, dv_config): elif instpluginname == 'com.soundation.GM-2': plugin_obj, pluginid = convproj_obj.plugin__add__genid('native', 'soundation', instpluginname) plugin_obj.role = 'synth' - track_obj.inst_pluginid = pluginid + track_obj.plugslots.set_synth(pluginid) get_asdr(plugin_obj, soundation_inst) if 'sample_pack' in soundation_inst.params.data: sample_pack = get_paramval(soundation_inst, 'sample_pack') @@ -269,14 +269,14 @@ def parse(self, i_convproj_obj, input_file, dv_config): elif instpluginname == 'com.soundation.noiser': plugin_obj, pluginid = convproj_obj.plugin__add__genid('native', 'soundation', instpluginname) plugin_obj.role = 'synth' - track_obj.inst_pluginid = pluginid + track_obj.plugslots.set_synth(pluginid) track_obj.is_drum = True get_asdr(plugin_obj, soundation_inst) elif instpluginname == 'com.soundation.SAM-1': plugin_obj, pluginid = convproj_obj.plugin__add__genid('native', 'soundation', instpluginname) plugin_obj.role = 'synth' - track_obj.inst_pluginid = pluginid + track_obj.plugslots.set_synth(pluginid) get_asdr(plugin_obj, soundation_inst) if 'sample_pack' in soundation_inst.params.data: sample_pack = get_paramval(soundation_inst, 'sample_pack') @@ -285,7 +285,7 @@ def parse(self, i_convproj_obj, input_file, dv_config): elif instpluginname in ['com.soundation.fm_synth', 'com.soundation.mono', 'com.soundation.spc', 'com.soundation.supersaw', 'com.soundation.the_wub_machine', 'com.soundation.va_synth']: plugin_obj, pluginid = convproj_obj.plugin__add__genid('native', 'soundation', instpluginname) plugin_obj.role = 'synth' - track_obj.inst_pluginid = pluginid + track_obj.plugslots.set_synth(pluginid) fldso = globalstore.dataset.get_obj('soundation', 'plugin', instpluginname) if fldso: @@ -304,7 +304,7 @@ def parse(self, i_convproj_obj, input_file, dv_config): elif instpluginname == 'com.soundation.simple': plugin_obj, pluginid = convproj_obj.plugin__add__genid('native', 'soundation', instpluginname) plugin_obj.role = 'synth' - track_obj.inst_pluginid = pluginid + track_obj.plugslots.set_synth(pluginid) get_asdr(plugin_obj, soundation_inst) asdrf_a = get_paramval(soundation_inst, 'filter_attack') asdrf_s = get_paramval(soundation_inst, 'filter_decay') @@ -330,5 +330,5 @@ def parse(self, i_convproj_obj, input_file, dv_config): plugin_obj, pluginid = convproj_obj.plugin__add__genid('native', 'soundation', soundation_effect.identifier) plugin_obj.role = 'fx' plugin_obj.fxdata_add(not soundation_effect.bypass, 1) - track_obj.fxslots_audio.append(pluginid) + track_obj.plugslots.slots_audio.append(pluginid) autoall_sng_to_cvpj(convproj_obj, pluginid, soundation_effect, plugin_obj, soundation_effect.identifier) \ No newline at end of file diff --git a/plugins/input/r_soundbridge.py b/plugins/input/r_soundbridge.py index 1f00dc6a..2a17efbd 100644 --- a/plugins/input/r_soundbridge.py +++ b/plugins/input/r_soundbridge.py @@ -149,7 +149,7 @@ def do_fx(convproj_obj, sb_track, track_obj): for x in sb_track.audioUnits: pluginid = create_plugin(convproj_obj, x, False) if pluginid: - track_obj.fxslots_audio.append(pluginid) + track_obj.plugslots.slots_audio.append(pluginid) def make_track(convproj_obj, sb_track, groupname, num, pfreq): global global_returnids @@ -207,7 +207,7 @@ def make_track(convproj_obj, sb_track, groupname, num, pfreq): if sb_track.midiInstrument: midiinst = sb_track.midiInstrument - track_obj.inst_pluginid = create_plugin(convproj_obj, midiinst, True) + track_obj.plugslots.set_synth( create_plugin(convproj_obj, midiinst, True) ) if sb_track.midiInput: track_obj.midi.in_chan = sb_track.midiInput.channelIndex+1 diff --git a/plugins/input/r_waveform.py b/plugins/input/r_waveform.py index 6a0e88c6..2f9ad08c 100644 --- a/plugins/input/r_waveform.py +++ b/plugins/input/r_waveform.py @@ -78,7 +78,7 @@ def do_plugin(convproj_obj, wf_plugin, track_obj): if wf_smpl_part == 'SOUNDLAYER': soundlayers.append(wf_smpl_data) if len(soundlayers)>1: plugin_obj, pluginid = convproj_obj.plugin__add__genid('universal', 'sampler', 'multi') - track_obj.inst_pluginid = pluginid + track_obj.plugslots.set_synth(pluginid) for soundlayer in soundlayers: sl_rootNote = soundlayer['rootNote'] if 'rootNote' in soundlayer else 60 sl_lowNote = soundlayer['lowNote'] if 'lowNote' in soundlayer else 60 @@ -88,7 +88,7 @@ def do_plugin(convproj_obj, wf_plugin, track_obj): elif len(soundlayers)==1: soundlayer = soundlayers[0] plugin_obj, pluginid = convproj_obj.plugin__add__genid('universal', 'sampler', 'single') - track_obj.inst_pluginid = pluginid + track_obj.plugslots.set_synth(pluginid) sp_obj = plugin_obj.samplepart_add('sample') soundlayer_samplepart(sp_obj, soundlayer) except: @@ -142,8 +142,8 @@ def do_plugin(convproj_obj, wf_plugin, track_obj): convproj_obj.automation.add_autopoint_real(['plugin',pluginid,autocurves.paramid], 'float', time, val, 'normal') plugin_obj.fxdata_add(wf_plugin.enabled, 1) - if wf_plugin.plugtype not in ['4osc']: track_obj.fxslots_audio.append(pluginid) - else: track_obj.inst_pluginid = pluginid + if wf_plugin.plugtype not in ['4osc']: track_obj.plugslots.slots_audio.append(pluginid) + else: track_obj.plugslots.set_synth(pluginid) autonames = { 'PITCHBEND': 'pitch', diff --git a/plugins/input/r_wavtool.py b/plugins/input/r_wavtool.py index 9c8c7744..223a7182 100644 --- a/plugins/input/r_wavtool.py +++ b/plugins/input/r_wavtool.py @@ -371,16 +371,16 @@ def add_devices(convproj_obj, track_obj, trackid, devices_obj): used_con.append(d_in) d_in = connections[d_in] if d_in == instrument_dev: - track_obj.inst_pluginid = instrument_dev + track_obj.plugslots.set_synth(instrument_dev) logger_input.info('Instrument Device: '+instrument_dev) if d_in in effects: - track_obj.fxslots_audio.append(d_in) + track_obj.plugslots.slots_audio.append(d_in) logger_input.info('FX Device: '+d_in) else: break - if not track_obj.inst_pluginid: - track_obj.inst_pluginid = inst_fallback + if not track_obj.plugslots.synth: + track_obj.plugslots.set_synth(inst_fallback) class input_wavtool(plugins.base): def __init__(self): pass diff --git a/plugins/input/ri_caustic.py b/plugins/input/ri_caustic.py index 4d8e547f..e48db768 100644 --- a/plugins/input/ri_caustic.py +++ b/plugins/input/ri_caustic.py @@ -57,7 +57,7 @@ def add_caustic_fx(convproj_obj, track_obj, caustic_fx, start_plugid): outval = controls_data[int(param_id)] if int(param_id) in controls_data else None plugin_obj.dset_param__add(param_id, outval, dset_param) - track_obj.fxslots_audio.append(fx_pluginid) + track_obj.plugslots.slots_audio.append(fx_pluginid) def loopmode_cvpj(wavdata, sp_obj): lm = wavdata['mode'] @@ -150,7 +150,7 @@ def parse(self, convproj_obj, input_file, dv_config): track_obj = convproj_obj.track__add(cvpj_trackid, 'instrument', 1, True) track_obj.visual.from_dset('caustic', 'plugin_inst', machine.mach_id, True) if machine.name: track_obj.visual.name = machine.name - track_obj.inst_pluginid = pluginid + track_obj.plugslots.set_synth(pluginid) cvpj_tracks.append(track_obj) # -------------------------------- PCMSynth -------------------------------- @@ -312,14 +312,14 @@ def parse(self, convproj_obj, input_file, dv_config): plugin_obj.params.add('bass', mixer_tracks[machnum].eq_low, 'float') plugin_obj.params.add('mid', mixer_tracks[machnum].eq_mid, 'float') plugin_obj.params.add('high', mixer_tracks[machnum].eq_high, 'float') - track_obj.fxslots_mixer.append(mixereq_plugid) + track_obj.plugslots.slots_mixer.append(mixereq_plugid) width_plugid = 'machine'+str(machnum)+'_width' plugin_obj = convproj_obj.plugin__add(width_plugid, 'universal', 'width', None) plugin_obj.visual.name = 'Width' plugin_obj.visual.color.set_float([0.66, 0.61, 0.76]) plugin_obj.params.add('width', mixer_tracks[machnum].width, 'float') - track_obj.fxslots_mixer.append(width_plugid) + track_obj.plugslots.slots_mixer.append(width_plugid) for x in project_obj.seqn.parts: x['key'] = x['key']%100 + (x['key']//100)*16 @@ -405,9 +405,9 @@ def parse(self, convproj_obj, input_file, dv_config): return_obj = convproj_obj.track_master.fx__return__add(fxid) return_obj.visual.name = plugin_obj.visual.name return_obj.visual.color = plugin_obj.visual.color.copy() - return_obj.fxslots_audio.append(fxid) + return_obj.plugslots.slots_audio.append(fxid) else: - convproj_obj.track_master.fxslots_audio.append(fxid) + convproj_obj.track_master.plugslots.slots_audio.append(fxid) if fxid == 'master_delay': plugin_obj.fxdata_add(not bool(master_controls_data[40]), 1) if fxid == 'master_reverb': plugin_obj.fxdata_add(not bool(master_controls_data[41]), 1) diff --git a/plugins/input/rm_adlib_rol.py b/plugins/input/rm_adlib_rol.py index 76794089..e496cb64 100644 --- a/plugins/input/rm_adlib_rol.py +++ b/plugins/input/rm_adlib_rol.py @@ -46,9 +46,9 @@ def parse(self, convproj_obj, input_file, dv_config): inst_obj = convproj_obj.instrument__add(instname_upper) midifound = inst_obj.from_dataset('adlib_rol', 'inst', instname_upper, True) if midifound: inst_obj.to_midi_noplug() - inst_obj.pluginid = instname_upper + inst_obj.plugslots.set_synth(instname_upper) opli = adlibbnk_obj.get_inst_index(instnum) - opli.to_cvpj(convproj_obj, inst_obj.pluginid) + opli.to_cvpj(convproj_obj, inst_obj.plugslots.synth) else: instlist = globalstore.dataset.get_cat('adlib_rol', 'inst') if instlist: diff --git a/plugins/input/rm_adlib_sop.py b/plugins/input/rm_adlib_sop.py index 747be7a6..936f4e31 100644 --- a/plugins/input/rm_adlib_sop.py +++ b/plugins/input/rm_adlib_sop.py @@ -47,7 +47,7 @@ def parse(self, convproj_obj, input_file, dv_config): for instnum, opli in enumerate(project_obj.insts): cvpj_instname = str(instnum) inst_obj = convproj_obj.instrument__add(cvpj_instname) - inst_obj.pluginid = cvpj_instname + inst_obj.plugslots.set_synth(cvpj_instname) inst_obj.visual.name = opli.name_long if not opli.name_long else opli.name inst_obj.visual.color.set_float(maincolor) inst_obj.is_drum = opli.perc_type!=0 diff --git a/plugins/input/rm_mc_noteblock_studio.py b/plugins/input/rm_mc_noteblock_studio.py index 557338ce..4aaee028 100644 --- a/plugins/input/rm_mc_noteblock_studio.py +++ b/plugins/input/rm_mc_noteblock_studio.py @@ -65,7 +65,7 @@ def parse(self, convproj_obj, input_file, dv_config): plugin_obj, sampleref_obj, samplepart_obj = convproj_obj.plugin__addspec__sampler(instid, custom_obj.file, None) if sampleref_obj: sampleref_obj.find_relative('mnbs_sounds') plugin_obj.env_asdr_add('vol', 0, 0, 0, 0, 1, 10, 1) - inst_obj.pluginid = instid + inst_obj.plugslots.set_synth(instid) convproj_obj.do_actions.append('do_addloop') convproj_obj.do_actions.append('do_singlenotelistcut') \ No newline at end of file diff --git a/plugins/input/rm_pxtone.py b/plugins/input/rm_pxtone.py index 4581f1ee..1f783715 100644 --- a/plugins/input/rm_pxtone.py +++ b/plugins/input/rm_pxtone.py @@ -109,7 +109,7 @@ def parse(self, convproj_obj, input_file, dv_config): plugin_obj, pluginid, sampleref_obj, samplepart_obj = convproj_obj.plugin__addspec__sampler__genid(ogg_path, None) plugin_obj.env_asdr_add('vol', 0, 0, 0, 0, 1, 0, 1) samplepart_obj.interpolation = "linear" if 1 in voice_obj.sps2 else "none" - inst_obj.pluginid = pluginid + inst_obj.plugslots.set_synth(pluginid) if voice_obj.type == 'pcm': cvpj_instvol = 0.4 @@ -128,7 +128,7 @@ def parse(self, convproj_obj, input_file, dv_config): samplepart_obj.loop_start = 0 samplepart_obj.loop_end = len(voice_obj.data) samplepart_obj.loop_active = True - inst_obj.pluginid = pluginid + inst_obj.plugslots.set_synth(pluginid) inst_obj.params.add('vol', cvpj_instvol, 'float') inst_obj.datavals.add('middlenote', voice_obj.basic_key_field-60) diff --git a/plugins/input/rs_pixitracker.py b/plugins/input/rs_pixitracker.py index c963424c..31a69d30 100644 --- a/plugins/input/rs_pixitracker.py +++ b/plugins/input/rs_pixitracker.py @@ -63,7 +63,7 @@ def parse(self, convproj_obj, input_file, dv_config): audio_obj.pcm_from_bytes(pixi_sound.data) audio_obj.to_file_wav(wave_path) - plugin_obj, track_obj.inst_pluginid, sampleref_obj, samplepart_obj = convproj_obj.plugin__addspec__sampler__genid(wave_path, None) + plugin_obj, track_obj.plugslots.synth, sampleref_obj, samplepart_obj = convproj_obj.plugin__addspec__sampler__genid(wave_path, None) plugin_obj.env_asdr_add('vol', 0, 0, 0, 0, 1, 0, 1) samplepart_obj.point_value_type = "samples" if pixi_sound.end != 0: diff --git a/plugins/input/rs_soundclub2.py b/plugins/input/rs_soundclub2.py index ec433711..94dac3a6 100644 --- a/plugins/input/rs_soundclub2.py +++ b/plugins/input/rs_soundclub2.py @@ -73,7 +73,7 @@ def parse(self, convproj_obj, input_file, dv_config): if sn2_inst_obj.loopstart != -1: audio_obj.loop = [sn2_inst_obj.loopstart, sn2_inst_obj.samplesize] audio_obj.to_file_wav(wave_path) - plugin_obj, track_obj.inst_pluginid, sampleref_obj, sp_obj = convproj_obj.plugin__addspec__sampler__genid(wave_path, None) + plugin_obj, track_obj.plugslots.synth, sampleref_obj, sp_obj = convproj_obj.plugin__addspec__sampler__genid(wave_path, None) plugin_obj.env_asdr_add('vol', 0, 0, 0, 0, 1, 0, 1) sp_obj.point_value_type = "samples" diff --git a/plugins/input_gamespec/ps2_hd_bd_ape_xcape_3.py b/plugins/input_gamespec/ps2_hd_bd_ape_xcape_3.py index c2b119f8..8d069f9e 100644 --- a/plugins/input_gamespec/ps2_hd_bd_ape_xcape_3.py +++ b/plugins/input_gamespec/ps2_hd_bd_ape_xcape_3.py @@ -212,10 +212,12 @@ def parse(self, convproj_obj, input_file, dv_config): vaginst = apeinst_obj.insts[inst['inst']] inst_obj = convproj_obj.instruments[instid] - plugin_obj, inst_obj.pluginid = convproj_obj.plugin__add__genid('universal', 'sampler', 'multi') + plugin_obj, synthid = convproj_obj.plugin__add__genid('universal', 'sampler', 'multi') plugin_obj.role = 'synth' plugin_obj.env_asdr_add('vol', 0, 0, 0, 0, 1, 0, 1) + inst_obj.plugslots.set_synth(synthid) + for n, v in enumerate(vaginst): sample_offset = str(v['offset']) sample_id = '_'.join([str(inst['inst']), str(n), sample_offset]) diff --git a/plugins/output/ableton.py b/plugins/output/ableton.py index 22daa491..4b200714 100644 --- a/plugins/output/ableton.py +++ b/plugins/output/ableton.py @@ -464,7 +464,7 @@ def addgrp(convproj_obj, project_obj, groupid): group_obj = convproj_obj.fx__group__get(groupid) groupnumid = counter_track.get() als_gtrack = project_obj.add_group_track(groupnumid) - do_effects(convproj_obj, als_gtrack, group_obj.fxslots_audio) + do_effects(convproj_obj, als_gtrack, group_obj.plugslots.slots_audio) als_gtrack.Color = group_obj.visual.color.closest_color_index(colordata, NOCOLORNUM) if group_obj.visual.name: als_gtrack.Name.UserName = fixtxt(group_obj.visual.name) do_param(convproj_obj, group_obj.params, 'vol', 1, 'float', ['group', groupid, 'vol'], als_gtrack.DeviceChain.Mixer.Volume, als_gtrack.AutomationEnvelopes) @@ -712,7 +712,7 @@ def add_track(convproj_obj, project_obj, trackid, track_obj): if track_obj.type == 'instrument': tracknumid = counter_track.get() als_track = project_obj.add_midi_track(tracknumid) - #do_note_effects(convproj_obj, als_track, track_obj.fxslots_notes) + #do_note_effects(convproj_obj, als_track, track_obj.plugslots.slots_notes) als_track.Color = track_color if track_obj.visual.name: als_track.Name.UserName = fixtxt(track_obj.visual.name) do_param(convproj_obj, track_obj.params, 'vol', 1, 'float', ['track', trackid, 'vol'], als_track.DeviceChain.Mixer.Volume, als_track.AutomationEnvelopes) @@ -725,7 +725,7 @@ def add_track(convproj_obj, project_obj, trackid, track_obj): #print('NEW TRACK', tracknumid, trackid, groupnumid) - plugin_found, plugin_obj = convproj_obj.plugin__get(track_obj.inst_pluginid) + plugin_found, plugin_obj = convproj_obj.plugin__get(track_obj.plugslots.synth) if plugin_found: issampler = plugin_obj.check_wildmatch('universal', 'sampler', None) else: @@ -861,19 +861,19 @@ def add_track(convproj_obj, project_obj, trackid, track_obj): if middlenote != 0: als_device_pitch = als_track.DeviceChain.add_device('MidiPitcher') pitchparamkeys['Pitch'] = ableton_parampart.as_param('Pitch', 'int', -middlenote) - add_plugindevice_native(als_track, convproj_obj, plugin_obj, track_obj.inst_pluginid) + add_plugindevice_native(als_track, convproj_obj, plugin_obj, track_obj.plugslots.synth) if plugin_obj.check_match('external', 'vst2', 'win'): if middlenote != 0: als_device_pitch = als_track.DeviceChain.add_device('MidiPitcher') pitchparamkeys['Pitch'] = ableton_parampart.as_param('Pitch', 'int', -middlenote) - add_plugindevice_vst2(als_track, convproj_obj, plugin_obj, track_obj.inst_pluginid) + add_plugindevice_vst2(als_track, convproj_obj, plugin_obj, track_obj.plugslots.synth) if plugin_obj.check_match('external', 'vst3', 'win'): if middlenote != 0: als_device_pitch = als_track.DeviceChain.add_device('MidiPitcher') pitchparamkeys['Pitch'] = ableton_parampart.as_param('Pitch', 'int', -middlenote) - add_plugindevice_vst3(als_track, convproj_obj, plugin_obj, track_obj.inst_pluginid) + add_plugindevice_vst3(als_track, convproj_obj, plugin_obj, track_obj.plugslots.synth) if plugin_obj.check_match('universal', 'sampler', 'multi'): is_sampler = True @@ -1090,7 +1090,7 @@ def add_track(convproj_obj, project_obj, trackid, track_obj): do_audioclips(convproj_obj, track_obj.placements.pl_audio, track_color, als_track) if track_obj.type in ['instrument', 'audio']: - do_effects(convproj_obj, als_track, track_obj.fxslots_audio) + do_effects(convproj_obj, als_track, track_obj.plugslots.slots_audio) track_sendholders = als_track.DeviceChain.Mixer.Sends numsend = 0 for returnid, x in master_returns.items(): @@ -1205,7 +1205,7 @@ def parse(self, convproj_obj, output_file): master_returns = convproj_obj.track_master.returns - do_effects(convproj_obj, als_mastertrack, convproj_obj.track_master.fxslots_audio) + do_effects(convproj_obj, als_mastertrack, convproj_obj.track_master.plugslots.slots_audio) ids_group_cvpj_als = {} @@ -1232,7 +1232,7 @@ def parse(self, convproj_obj, output_file): for returnid, return_obj in convproj_obj.track_master.iter_return(): tracknumid = counter_track.get() als_track = project_obj.add_return_track(tracknumid) - do_effects(convproj_obj, als_track, return_obj.fxslots_audio) + do_effects(convproj_obj, als_track, return_obj.plugslots.slots_audio) do_param(convproj_obj, return_obj.params, 'vol', 1, 'float', ['return', returnid, 'vol'], als_track.DeviceChain.Mixer.Volume, als_track.AutomationEnvelopes) do_param(convproj_obj, return_obj.params, 'pan', 0, 'float', ['return', returnid, 'pan'], als_track.DeviceChain.Mixer.Pan, als_track.AutomationEnvelopes) als_track.Color = return_obj.visual.color.closest_color_index(colordata, NOCOLORNUM) diff --git a/plugins/output/amped_studio.py b/plugins/output/amped_studio.py index 5b0713cb..a1dd07f1 100644 --- a/plugins/output/amped_studio.py +++ b/plugins/output/amped_studio.py @@ -155,7 +155,7 @@ def parse(self, convproj_obj, output_file): amped_obj.createdWith = "DawVert" amped_obj.settings = {"deviceDelayCompensation": True} amped_obj.masterTrack.volume = convproj_obj.track_master.params.get('vol', 1).value - #amped_obj.masterTrack.devices = amped_parse_effects(None, convproj_obj, convproj_obj.track_master.fxslots_audio, None) + #amped_obj.masterTrack.devices = amped_parse_effects(None, convproj_obj, convproj_obj.track_master.plugslots.slots_audio, None) audio_id = {} amped_filenames = {} @@ -183,7 +183,7 @@ def parse(self, convproj_obj, output_file): } inst_supported = False - plugin_found, plugin_obj = convproj_obj.plugin__get(track_obj.inst_pluginid) + plugin_found, plugin_obj = convproj_obj.plugin__get(track_obj.plugslots.synth) if plugin_found: if plugin_obj.check_match('external', 'discodsp', 'obxd'): @@ -225,7 +225,7 @@ def parse(self, convproj_obj, output_file): if plugin_obj.type.subtype == "Volt": amped_device = amped_track.add_device('Volt', 'VOLT', counter_devid.get()) if plugin_obj.type.subtype == "VoltMini": amped_device = amped_track.add_device('VoltMini', 'VOLT Mini', counter_devid.get()) if plugin_obj.type.subtype == "Granny": amped_device = amped_track.add_device('Granny', 'Granny', counter_devid.get()) - do_idparams(amped_track, convproj_obj, plugin_obj, track_obj.inst_pluginid, amped_device, amped_track.automations) + do_idparams(amped_track, convproj_obj, plugin_obj, track_obj.plugslots.synth, amped_device, amped_track.automations) amped_track.devices.append(amped_device) amped_device.bypass = False @@ -323,7 +323,7 @@ def parse(self, convproj_obj, output_file): amped_audclip.offset = (insideaudiopl_obj.time.cut_start/4) amped_region.clips.append(amped_audclip) - amped_track.devices += amped_parse_effects(amped_track, convproj_obj, track_obj.fxslots_audio, amped_track.automations) + amped_track.devices += amped_parse_effects(amped_track, convproj_obj, track_obj.plugslots.slots_audio, amped_track.automations) amped_obj.tracks.append(amped_track) amped_obj.metronome = {"active": False, "level": 1} diff --git a/plugins/output/dawproject.py b/plugins/output/dawproject.py index 39e6b73b..7cd966d7 100644 --- a/plugins/output/dawproject.py +++ b/plugins/output/dawproject.py @@ -423,7 +423,7 @@ def maketrack_notes(convproj_obj, track_obj, trackid, lane_obj): do_visual(track_obj.visual, dp_track) do_params(convproj_obj, lane_obj, track_obj.params, dp_channel, dp_track.id+'__param__', ['track', trackid]) make_clips(dp_track.id, convproj_obj, track_obj, lane_obj, trackid) - do_devices(convproj_obj, dp_channel, lane_obj, track_obj.inst_pluginid, track_obj.fxslots_audio) + do_devices(convproj_obj, dp_channel, lane_obj, track_obj.plugslots.synth, track_obj.plugslots.slots_audio) return dp_track def maketrack_audio(convproj_obj, track_obj, trackid, lane_obj): @@ -432,7 +432,7 @@ def maketrack_audio(convproj_obj, track_obj, trackid, lane_obj): do_visual(track_obj.visual, dp_track) do_params(convproj_obj, lane_obj, track_obj.params, dp_channel, dp_track.id+'__param__', ['track', trackid]) make_clips(dp_track.id, convproj_obj, track_obj, lane_obj, trackid) - do_devices(convproj_obj, dp_channel, lane_obj, None, track_obj.fxslots_audio) + do_devices(convproj_obj, dp_channel, lane_obj, None, track_obj.plugslots.slots_audio) return dp_track def maketrack_hybrid(convproj_obj, track_obj, trackid, lane_obj): @@ -441,7 +441,7 @@ def maketrack_hybrid(convproj_obj, track_obj, trackid, lane_obj): do_visual(track_obj.visual, dp_track) do_params(convproj_obj, lane_obj, track_obj.params, dp_channel, dp_track.id+'__param__', ['track', trackid]) make_clips(dp_track.id, convproj_obj, track_obj, lane_obj, trackid) - do_devices(convproj_obj, dp_channel, lane_obj, track_obj.inst_pluginid, track_obj.fxslots_audio) + do_devices(convproj_obj, dp_channel, lane_obj, track_obj.plugslots.synth, track_obj.plugslots.slots_audio) return dp_track def maketrack_group(convproj_obj, group_obj, trackid, lane_obj): @@ -450,7 +450,7 @@ def maketrack_group(convproj_obj, group_obj, trackid, lane_obj): do_visual(group_obj.visual, dp_track) do_params(convproj_obj, lane_obj, group_obj.params, dp_channel, dp_track.id+'__param__', ['group', trackid]) make_clips(dp_track.id, convproj_obj, group_obj, lane_obj, trackid) - do_devices(convproj_obj, dp_channel, lane_obj, None, group_obj.fxslots_audio) + do_devices(convproj_obj, dp_channel, lane_obj, None, group_obj.plugslots.slots_audio) return dp_track def maketrack_return(convproj_obj, return_obj, returnid): @@ -458,7 +458,7 @@ def maketrack_return(convproj_obj, return_obj, returnid): do_visual(return_obj.visual, dp_track) lane_obj = make_lane('return__'+returnid) do_params(convproj_obj, lane_obj, return_obj.params, dp_channel, dp_track.id+'__param__', ['return', returnid]) - do_devices(convproj_obj, dp_channel, lane_obj, None, return_obj.fxslots_audio) + do_devices(convproj_obj, dp_channel, lane_obj, None, return_obj.plugslots.slots_audio) return dp_track def maketrack_master(convproj_obj, track_obj, arrangement): @@ -468,7 +468,7 @@ def maketrack_master(convproj_obj, track_obj, arrangement): lane_obj = make_lane('mastertrack') do_params(convproj_obj, lane_obj, track_obj.params, dp_channel, dp_track.id+'__param__', ['master']) autofound, autoseries = convproj_obj.automation.get(['main', 'bpm'], 'float') - do_devices(convproj_obj, dp_channel, lane_obj, None, track_obj.fxslots_audio) + do_devices(convproj_obj, dp_channel, lane_obj, None, track_obj.plugslots.slots_audio) if autofound: tempoauto = arrangement.tempoautomation = points.dawproject_points() tempoauto.unit = 'bpm' diff --git a/plugins/output/flp.py b/plugins/output/flp.py index 81a5af66..fe203330 100644 --- a/plugins/output/flp.py +++ b/plugins/output/flp.py @@ -167,7 +167,7 @@ def parse(self, convproj_obj, output_file): fl_channel_obj.type = 0 fl_channel_obj.plugin.name = '' - plugin_found, plugin_obj = convproj_obj.plugin__get(inst_obj.pluginid) + plugin_found, plugin_obj = convproj_obj.plugin__get(inst_obj.plugslots.synth) if plugin_found: if plugin_obj.check_match('universal', 'sampler', 'single'): fl_channel_obj.type = 0 @@ -186,7 +186,7 @@ def parse(self, convproj_obj, output_file): fl_channel_obj.plugin.params = fl_pluginparams fl_channel_obj.params.unkflag1 = 1 fl_channel_obj.plugin.generator = True - windowdata_obj = convproj_obj.viswindow__get(['plugin', inst_obj.pluginid]) + windowdata_obj = convproj_obj.viswindow__get(['plugin', inst_obj.plugslots.synth]) if windowdata_obj.pos_x != -1: fl_channel_obj.plugin.window_p_x = windowdata_obj.pos_x if windowdata_obj.pos_y != -1: fl_channel_obj.plugin.window_p_y = windowdata_obj.pos_y if windowdata_obj.size_x != -1: fl_channel_obj.plugin.window_s_x = windowdata_obj.size_x @@ -473,7 +473,7 @@ def parse(self, convproj_obj, output_file): if fx_num == 0: fxchannel_obj.outchannum = 1 slotnum = 0 - for pluginid in fxchannel_obj.fxslots_audio: + for pluginid in fxchannel_obj.plugslots.slots_audio: plugin_found, plugin_obj = convproj_obj.plugin__get(pluginid) if plugin_found: fl_plugin, fl_pluginparams = flp_enc_plugins.setparams(convproj_obj, plugin_obj) diff --git a/plugins/output/lmms.py b/plugins/output/lmms.py index a1705a95..5d64e2c8 100644 --- a/plugins/output/lmms.py +++ b/plugins/output/lmms.py @@ -274,7 +274,7 @@ def encode_fxchain(lmms_fxchain, track_obj, trackname, autoloc): from objects.file_proj import proj_lmms #paramauto(lmms_fxchain.enabled, track_obj.params, 'fx_enabled', False, None, autoloc, trackname, 'FX Enabled') - for pluginid in track_obj.fxslots_audio: + for pluginid in track_obj.plugslots.slots_audio: plugin_found, plugin_obj = cvpj_obj.plugin__get(pluginid) if plugin_found: effect_obj = proj_lmms.lmms_effect() @@ -399,7 +399,7 @@ def parse(self, i_cvpj_obj, output_file): paramauto(insttrack_obj.usemasterpitch, track_obj.params, 'usemasterpitch', not track_obj.is_drum, None, autoloc, trackname, 'Use Master Pitch') paramauto(insttrack_obj.pitch, track_obj.params, 'pitch', 0, [0, 100], autoloc, trackname, 'Pitch') - for pluginid in track_obj.fxslots_notes: + for pluginid in track_obj.plugslots.slots_notes: plugin_found, plugin_obj = cvpj_obj.plugin__get(pluginid) if plugin_found: if plugin_obj.check_match('universal', 'arpeggiator', None): @@ -432,7 +432,7 @@ def parse(self, i_cvpj_obj, output_file): middlenotefix = 0 - plugin_found, plugin_obj = cvpj_obj.plugin__get(track_obj.inst_pluginid) + plugin_found, plugin_obj = cvpj_obj.plugin__get(track_obj.plugslots.synth) if plugin_found: if plugin_obj.check_match('universal', 'sampler', 'single') or plugin_obj.check_match('universal', 'sampler', 'drumsynth'): lmms_inst_obj.name = 'audiofileprocessor' @@ -470,21 +470,21 @@ def parse(self, i_cvpj_obj, output_file): lmms_plug_obj.add_param('patch', patch) ref_found, fileref_obj = plugin_obj.fileref__get('file', cvpj_obj) if ref_found: lmms_plug_obj.add_param('src', fileref_obj.get_path(None, False)) - paramauto(lmms_plug_obj.add_param('gain', 1), plugin_obj.params, 'gain', 1, None, ['plugin', track_obj.inst_pluginid], 'Plugin', 'gain') + paramauto(lmms_plug_obj.add_param('gain', 1), plugin_obj.params, 'gain', 1, None, ['plugin', track_obj.plugslots.synth], 'Plugin', 'gain') middlenotefix += 12 elif plugin_obj.check_match('external', 'vst2', 'win'): if 'plugin' in plugin_obj.filerefs_global: lmms_inst_obj.name = 'vestige' lmms_plug_obj.name = 'vestige' - middlenotefix += setvstparams(lmms_plug_obj, plugin_obj, track_obj.inst_pluginid, None) + middlenotefix += setvstparams(lmms_plug_obj, plugin_obj, track_obj.plugslots.synth, None) else: logger_output.warning('VST2 plugin not placed: file path not found.') elif plugin_obj.check_wildmatch('native', 'lmms', None): lmms_inst_obj.name = plugin_obj.type.subtype lmms_plug_obj.name = plugin_obj.type.subtype - dset_plugparams(plugin_obj.type.subtype, track_obj.inst_pluginid, lmms_plug_obj, plugin_obj) + dset_plugparams(plugin_obj.type.subtype, track_obj.plugslots.synth, lmms_plug_obj, plugin_obj) if plugin_obj.type.subtype == 'zynaddsubfx': zdata = plugin_obj.rawdata_get('data') diff --git a/plugins/output/muse.py b/plugins/output/muse.py index 4d204301..218bcc71 100644 --- a/plugins/output/muse.py +++ b/plugins/output/muse.py @@ -47,7 +47,7 @@ def maketrack_synth(project_obj, convproj_obj, track_obj, portnum): pluginsupported = False - plugin_found, plugin_obj = convproj_obj.plugin__get(track_obj.inst_pluginid) + plugin_found, plugin_obj = convproj_obj.plugin__get(track_obj.plugslots.synth) if plugin_found: if plugin_obj.check_match('external', 'vst2', 'win'): pluginsupported = True diff --git a/plugins/output/onlineseq.py b/plugins/output/onlineseq.py index 0ebc3ba6..8d44b58c 100644 --- a/plugins/output/onlineseq.py +++ b/plugins/output/onlineseq.py @@ -52,7 +52,7 @@ def parse(self, convproj_obj, output_file): middlenote = track_obj.datavals.get('middlenote', 0) - plugin_found, plugin_obj = convproj_obj.plugin__get(track_obj.inst_pluginid) + plugin_found, plugin_obj = convproj_obj.plugin__get(track_obj.plugslots.synth) midi_found, midi_inst = track_obj.get_midi(convproj_obj) diff --git a/plugins/output/reaper.py b/plugins/output/reaper.py index e2fec388..2d610098 100644 --- a/plugins/output/reaper.py +++ b/plugins/output/reaper.py @@ -349,7 +349,7 @@ def parse(self, convproj_obj, output_file): middlenote = track_obj.datavals.get('middlenote', 0) - plugin_found, plugin_obj = convproj_obj.plugin__get(track_obj.inst_pluginid) + plugin_found, plugin_obj = convproj_obj.plugin__get(track_obj.plugslots.synth) if plugin_found: middlenote += plugin_obj.datavals_global.get('middlenotefix', 0) rpp_track_obj.fxchain = rpp_fxchain.rpp_fxchain() @@ -366,8 +366,6 @@ def parse(self, convproj_obj, output_file): rpp_vst_obj.vst_fourid = 1919118692 rpp_vst_obj.vst_uuid = '56535472636D64726561636F6E74726F' - add_plugin(rpp_track_obj.fxchain, track_obj.inst_pluginid, convproj_obj) - for notespl_obj in track_obj.placements.pl_notes: rpp_item_obj, clip_guid, clip_iguid = rpp_track_obj.add_item() @@ -420,8 +418,10 @@ def parse(self, convproj_obj, output_file): rpp_insource_obj = rpp_source_obj.source = rpp_source.rpp_source() file_source(rpp_insource_obj, fileref_obj, filename) + for fxid in track_obj.plugslots.slots_synths: + add_plugin(rpp_track_obj.fxchain, fxid, convproj_obj) - for fxid in track_obj.fxslots_audio: + for fxid in track_obj.plugslots.slots_audio: add_plugin(rpp_track_obj.fxchain, fxid, convproj_obj) trackdata.append(rpp_track_obj) diff --git a/plugins/output/soundation.py b/plugins/output/soundation.py index a292a01f..87c49a84 100644 --- a/plugins/output/soundation.py +++ b/plugins/output/soundation.py @@ -137,7 +137,7 @@ def parse(self, i_convproj_obj, output_file): soundation_channel.volumeAutomation = autopoints_get(['master','vol'], 0, 1) soundation_channel.panAutomation = autopoints_get(['master','pan'], -1, 2) - add_fx(convproj_obj, soundation_channel, convproj_obj.track_master.fxslots_audio) + add_fx(convproj_obj, soundation_channel, convproj_obj.track_master.plugslots.slots_audio) soundation_obj.channels.append(soundation_channel) #auto_volpan(convproj_obj, sng_master, ['master']) @@ -160,12 +160,12 @@ def parse(self, i_convproj_obj, output_file): soundation_channel.pan = 0.5 + track_obj.params.get('pan', 0).value/2 soundation_channel.mute = not track_obj.params.get('enabled', True).value - add_fx(convproj_obj, soundation_channel, track_obj.fxslots_audio) + add_fx(convproj_obj, soundation_channel, track_obj.plugslots.slots_audio) soundation_channel.volumeAutomation = autopoints_get(['track',trackid,'vol'], 0, 1) soundation_channel.panAutomation = autopoints_get(['track',trackid,'pan'], -1, 2) if track_obj.type == 'instrument': - pluginid = track_obj.inst_pluginid + pluginid = track_obj.plugslots.synth soundation_instrument = proj_soundation.soundation_device(None) soundation_instrument.rackName = '' soundation_instrument.identifier = '' diff --git a/plugins/output/soundbridge.py b/plugins/output/soundbridge.py index 672bab2f..1b05515c 100644 --- a/plugins/output/soundbridge.py +++ b/plugins/output/soundbridge.py @@ -56,7 +56,7 @@ def make_group(convproj_obj, groupid, groups_data, sb_maintrack): if group_obj: sb_grouptrack = proj_soundbridge.soundbridge_track(None) do_markers(group_obj.timemarkers, sb_grouptrack.markers) - make_plugins_fx(convproj_obj, sb_grouptrack, group_obj.fxslots_audio) + make_plugins_fx(convproj_obj, sb_grouptrack, group_obj.plugslots.slots_audio) sb_grouptrack.type = 1 #sb_grouptrack.state = set_params(group_obj.params) @@ -417,7 +417,7 @@ def parse(self, convproj_obj, output_file): master_track = convproj_obj.track_master - make_plugins_fx(convproj_obj, project_obj.masterTrack, convproj_obj.track_master.fxslots_audio) + make_plugins_fx(convproj_obj, project_obj.masterTrack, convproj_obj.track_master.plugslots.slots_audio) if master_track.visual.color: project_obj.masterTrack.metadata["TrackColor"] = '#'+master_track.visual.color.get_hex() @@ -483,18 +483,18 @@ def parse(self, convproj_obj, output_file): make_auto_trackcontains(convproj_obj, sb_track, track_obj.params, 0, ['track', trackid]) make_sends(convproj_obj, sb_track, track_obj.sends) - make_plugins_fx(convproj_obj, sb_track, track_obj.fxslots_audio) + make_plugins_fx(convproj_obj, sb_track, track_obj.plugslots.slots_audio) - if track_obj.inst_pluginid: - plugin_found, plugin_obj = convproj_obj.plugin__get(track_obj.inst_pluginid) + if track_obj.plugslots.synth: + plugin_found, plugin_obj = convproj_obj.plugin__get(track_obj.plugslots.synth) if plugin_found: if plugin_obj.check_wildmatch('external', 'vst2', None): - sb_track.midiInstrument = make_vst2(convproj_obj, plugin_obj, True, track_obj.inst_pluginid, sb_track) + sb_track.midiInstrument = make_vst2(convproj_obj, plugin_obj, True, track_obj.plugslots.synth, sb_track) middlenote = track_obj.datavals.get('middlenote', 0) - plugin_found, plugin_obj = convproj_obj.plugin__get(track_obj.inst_pluginid) + plugin_found, plugin_obj = convproj_obj.plugin__get(track_obj.plugslots.synth) if plugin_found: middlenote += plugin_obj.datavals_global.get('middlenotefix', 0) for notespl_obj in track_obj.placements.pl_notes: @@ -592,7 +592,7 @@ def parse(self, convproj_obj, output_file): make_auto_trackcontains(convproj_obj, sb_track, track_obj.params, 0, ['track', trackid]) make_sends(convproj_obj, sb_track, track_obj.sends) - make_plugins_fx(convproj_obj, sb_track, track_obj.fxslots_audio) + make_plugins_fx(convproj_obj, sb_track, track_obj.plugslots.slots_audio) blockContainer = proj_soundbridge.soundbridge_blockContainer(None) @@ -706,7 +706,7 @@ def parse(self, convproj_obj, output_file): sb_track.blockContainers = [] make_auto_trackcontains(convproj_obj, sb_track, return_obj.params, 1, ['return', returnid]) make_sends(convproj_obj, sb_track, return_obj.sends) - make_plugins_fx(convproj_obj, sb_track, return_obj.fxslots_audio) + make_plugins_fx(convproj_obj, sb_track, return_obj.plugslots.slots_audio) sb_tracks.append(sb_track) aid_found, aid_data = convproj_obj.automation.get(['main', 'bpm'], 'float') diff --git a/plugins/output/waveform.py b/plugins/output/waveform.py index 428a4d56..532a32fa 100644 --- a/plugins/output/waveform.py +++ b/plugins/output/waveform.py @@ -117,7 +117,7 @@ def make_group(convproj_obj, groupid, groups_data, counter_id, wf_maintrack): wf_maintrack.append(wf_foldertrack) if group_obj.visual.name: wf_foldertrack.name = group_obj.visual.name if group_obj.visual.color: wf_foldertrack.colour ='ff'+group_obj.visual.color.get_hex() - get_plugins(convproj_obj, wf_foldertrack.plugins, group_obj.fxslots_audio) + get_plugins(convproj_obj, wf_foldertrack.plugins, group_obj.plugslots.slots_audio) make_volpan_plugin(convproj_obj, group_obj, groupid, wf_foldertrack, 'group') make_level_plugin(wf_foldertrack) groups_data[groupid] = wf_foldertrack @@ -159,7 +159,7 @@ def parse(self, convproj_obj, output_file): counter_id = counter.counter(1000, '') - get_plugins(convproj_obj, project_obj.masterplugins, convproj_obj.track_master.fxslots_audio) + get_plugins(convproj_obj, project_obj.masterplugins, convproj_obj.track_master.plugslots.slots_audio) groups_data = {} @@ -181,10 +181,10 @@ def parse(self, convproj_obj, output_file): if track_obj.visual.name: wf_track.name = track_obj.visual.name if track_obj.visual.color: wf_track.colour ='ff'+track_obj.visual.color.get_hex() - wf_inst_plugin = get_plugin(convproj_obj, track_obj.inst_pluginid, True) + wf_inst_plugin = get_plugin(convproj_obj, track_obj.plugslots.synth, True) middlenote = track_obj.datavals.get('middlenote', 0) - plugin_found, plugin_obj = convproj_obj.plugin__get(track_obj.inst_pluginid) + plugin_found, plugin_obj = convproj_obj.plugin__get(track_obj.plugslots.synth) if plugin_found: middlenote += plugin_obj.datavals_global.get('middlenotefix', 0) if middlenote != 0: @@ -196,7 +196,7 @@ def parse(self, convproj_obj, output_file): if wf_inst_plugin: wf_track.plugins.append(wf_inst_plugin) - get_plugins(convproj_obj, wf_track.plugins, track_obj.fxslots_audio) + get_plugins(convproj_obj, wf_track.plugins, track_obj.plugslots.slots_audio) for notespl_obj in track_obj.placements.pl_notes: wf_midiclip = proj_waveform.waveform_midiclip() diff --git a/plugins/output_old/wavtool.py b/plugins/output_old/wavtool.py index 89e35829..83468f17 100644 --- a/plugins/output_old/wavtool.py +++ b/plugins/output_old/wavtool.py @@ -283,7 +283,7 @@ def parse(self, convproj_obj, output_file): device_obj.y = 35.75 if track_obj.type == 'instrument': - pluginid = track_obj.inst_pluginid + pluginid = track_obj.plugslots.synth middlenote = track_obj.datavals.get('middlenote', 0)+60 inst_supported = False plugin_found, plugin_obj = convproj_obj.plugin__get(pluginid)