This commit is contained in:
SatyrDiamond 2023-10-04 05:18:41 -04:00
parent d122a4be2a
commit b1e4747943
5 changed files with 19 additions and 65 deletions

View file

@ -44,9 +44,9 @@
| DataType | Short Name | Name | Ext | Autodetect | Info |
| --- | --- | :--- | :--- | :--- | :--- |
| R-M | ```midi``` | MIDI | ```.mid``` | ✔️ |
| M | ```mnbs``` | Minecraft Note Block Studio | ```.nbs``` | ❌ |
| R-M | ```mnbs``` | Minecraft Note Block Studio | ```.nbs``` | ❌ |
| R-M | ```mmf``` | Mobile Music File | ```.mmf``` | ✔️ |
| M | ```adlib_rol``` | AdLib Visual Composer | ```.rol``` | ✔️ |
| R-M | ```adlib_rol``` | AdLib Visual Composer | ```.rol``` | ✔️ |
| R-I | ```caustic``` | Caustic 3 | ```.caustic``` | ❌ |
| R | ```flipper``` | Flipper Music Format | ```.fmf``` | ❌ |
@ -62,7 +62,7 @@
## Old
| DataType | Short Name | Name | Ext | Autodetect | Info |
| --- | --- | :--- | :--- | :--- | :--- |
| M | ```ptcop``` | PxTone | ```.ptcop``` | ✔️ | |
| R-M | ```ptcop``` | PxTone | ```.ptcop``` | ✔️ | |
| R | ```orgyana``` | Orgyana/OrgMaker | ```.org``` | ✔️ | |
| R | ```piyopiyo``` | PiyoPiyo | ```.pmd``` | ✔️ | |
| R | ```fruitytracks``` | FruityTracks v1.5.0 | ```.ftr``` | ✔️ | |

View file

@ -24,11 +24,13 @@ def convert(song):
cvpj_instruments_data = cvpj_proj['instruments_data']
cvpj_track_order = cvpj_proj['track_order']
cvpj_track_data = cvpj_proj['track_data']
cvpj_plugins = cvpj_proj['plugins']
cvpj_plugins = {}
if 'plugins' in cvpj_proj:
cvpj_plugins = cvpj_proj['plugins']
del cvpj_proj['plugins']
del cvpj_proj['instruments_data']
del cvpj_proj['track_order']
del cvpj_proj['track_data']
del cvpj_proj['plugins']
if 'track_placements' in cvpj_proj:
cvpj_track_placements = cvpj_proj['track_placements']

View file

@ -13,8 +13,6 @@ from functions import plugins
from functions import tracks
from functions import song
t_retg_alg = [['mul', 1], ['minus', 1], ['minus', 2], ['minus', 4], ['minus', 8], ['minus', 16], ['mul', 2/3], ['mul', 1/2], ['mul', 1], ['plus', 1], ['plus', 2], ['plus', 4], ['plus', 8], ['plus', 16], ['mul', 3/2], ['mul', 2]]
class input_s3m(plugin_input.base):
def __init__(self): pass
def is_dawvert_plugin(self): return 'input'
@ -243,35 +241,6 @@ class input_s3m(plugin_input.base):
current_speed = song_tracker_fx_s3m.do_fx(current_speed, pattern_row[0], j_note_cmdval, packed_command, packed_info)
if packed_command == 17:
retrigger_params = {}
retrigger_alg, retrigger_params['speed'] = data_bytes.splitbyte(packed_info)
retrigger_params['alg'], retrigger_params['val'] = t_retg_alg[retrigger_alg]
j_note_cmdval['retrigger'] = retrigger_params
if packed_command == 18:
tremolo_params = {}
tremolo_params['speed'], tremolo_params['depth'] = data_bytes.splitbyte(packed_info)
j_note_cmdval['tremolo'] = tremolo_params
if packed_command == 19:
ext_type, ext_value = data_bytes.splitbyte(packed_info)
if ext_type == 1: j_note_cmdval['glissando_control'] = ext_value
if ext_type == 2: j_note_cmdval['set_finetune'] = ext_value
if ext_type == 3: j_note_cmdval['vibrato_waveform'] = ext_value
if ext_type == 4: j_note_cmdval['tremolo_waveform'] = ext_value
if ext_type == 5: j_note_cmdval['panbrello_waveform'] = ext_value
if ext_type == 6: j_note_cmdval['fine_pattern_delay'] = ext_value
if ext_type == 7: j_note_cmdval['it_inst_control'] = ext_value
if ext_type == 8: j_note_cmdval['set_pan'] = ext_value/16
if ext_type == 9: j_note_cmdval['it_sound_control'] = ext_value
if ext_type == 10: j_note_cmdval['sample_offset_high'] = ext_value*65536
if ext_type == 11: j_note_cmdval['loop_start'] = ext_value
if ext_type == 12: j_note_cmdval['note_cut'] = ext_value
if ext_type == 13: j_note_cmdval['note_delay'] = ext_value
if ext_type == 14: j_note_cmdval['pattern_delay'] = ext_value
if ext_type == 15: j_note_cmdval['it_active_macro'] = ext_value
if packed_command == 20:
tempoval = packed_info
if packed_info == 0:
@ -283,27 +252,6 @@ class input_s3m(plugin_input.base):
current_tempo = packed_info
pattern_row[0]['tempo'] = current_tempo
if packed_command == 21:
fine_vib_sp, fine_vib_de = data_bytes.splitbyte(packed_info)
vibrato_params = {}
vibrato_params['speed'] = fine_vib_sp/15
vibrato_params['depth'] = fine_vib_sp/15
j_note_cmdval['vibrato'] = vibrato_params
if packed_command == 22:
pattern_row[0]['global_volume'] = packed_info/64
if packed_command == 23:
pattern_row[0]['global_volume_slide'] = song_tracker.getfineval(packed_info)
if packed_command == 24:
j_note_cmdval['set_pan'] = packed_info/255
if packed_command == 25:
panbrello_params = {}
panbrello_params['speed'], panbrello_params['depth'] = data_bytes.splitbyte(packed_info)
j_note_cmdval['panbrello'] = panbrello_params
if packed_command == 26:
j_note_cmdval['pan'] = ((packed_info/128)-0.5)*2

View file

@ -165,7 +165,7 @@ class input_pxtone(plugin_input.base):
def is_dawvert_plugin(self): return 'input'
def getshortname(self): return 'ptcop'
def getname(self): return 'PxTone'
def gettype(self): return 'm'
def gettype(self): return 'rm'
def getdawcapabilities(self):
return {
'samples_inside': True,
@ -432,7 +432,10 @@ class input_pxtone(plugin_input.base):
for cvpj_note in cvpj_notelist: note_mod.notemod_conv(cvpj_note)
if unitnum in ptcop_name_unit: plt_name = ptcop_name_unit[unitnum]
else: plt_name = None
tracks.m_playlist_pl(cvpj_l, unitnum+1, plt_name, [0.14, 0.00, 0.29], placement_data.nl2pl(cvpj_notelist))
cvpj_instcolor = getcolor()
cvpj_trackid = str(unitnum+1)
tracks.c_create_track(cvpj_l, 'instruments', cvpj_trackid, name=plt_name, color=cvpj_instcolor)
tracks.c_pl_notes(cvpj_l, cvpj_trackid, placement_data.nl2pl(cvpj_notelist))
for voicenum in range(ptcop_voice_num):
if voicenum in ptcop_name_voice: cvpj_instname = ptcop_name_voice[voicenum]
@ -441,19 +444,20 @@ class input_pxtone(plugin_input.base):
else: cvpj_instvol = 1.0
pluginid = plugins.get_id()
cvpj_instid = 'ptcop_'+str(voicenum)
tracks.c_inst_create(cvpj_l, cvpj_instid, name=cvpj_instname, color=[0.14, 0.00, 0.29])
plugindata = t_voice_data[voicenum][1]
if t_voice_data[voicenum][0] == 'sampler':
plugins.add_plug_sampler_singlefile(cvpj_l, pluginid, plugindata['file'])
tracks.c_inst_pluginid(cvpj_l, cvpj_instid, pluginid)
plugins.add_plug_data(cvpj_l, pluginid, 'trigger', plugindata['trigger'])
plugins.add_plug_data(cvpj_l, pluginid, 'interpolation', plugindata['interpolation'])
plugins.add_asdr_env(cvpj_l, pluginid, 'vol', 0, 0, 0, 0, 1, 0, 1)
cvpj_instid = 'ptcop_'+str(voicenum)
tracks.m_inst_create(cvpj_l, cvpj_instid, name=cvpj_instname, color=getcolor())
tracks.m_inst_pluginid(cvpj_l, cvpj_instid, pluginid)
tracks.m_inst_add_param(cvpj_l, cvpj_instid, 'vol', cvpj_instvol, 'float')
tracks.m_inst_add_dataval(cvpj_l, cvpj_instid, None, 'middlenote', t_voice_data[voicenum][2])
tracks.c_inst_add_param(cvpj_l, cvpj_instid, 'vol', cvpj_instvol, 'float')
tracks.c_inst_add_dataval(cvpj_l, cvpj_instid, None, 'middlenote', t_voice_data[voicenum][2])
cvpj_l['do_addloop'] = True
cvpj_l['do_singlenotelistcut'] = True