├── icon.png
├── _external_data
└── info.readme
├── data_ext
├── remap
│ ├── imageline
│ │ ├── wave candy.csv
│ │ ├── notebook.csv
│ │ ├── flangus.csv
│ │ ├── fruity delay 2.csv
│ │ ├── gross beat.csv
│ │ └── hardcore.csv
│ ├── socalabs
│ │ ├── addinvert.csv
│ │ ├── spectrumanalyzer.csv
│ │ ├── abtester.csv
│ │ ├── compensateddelay.csv
│ │ ├── stereoenhancer.csv
│ │ ├── hugegain.csv
│ │ ├── channelmute.csv
│ │ ├── maths.csv
│ │ ├── limiter.csv
│ │ ├── delay.csv
│ │ ├── gate.csv
│ │ ├── expander.csv
│ │ ├── compressor.csv
│ │ ├── simpleverb.csv
│ │ ├── stereoprocessor.csv
│ │ ├── sampledelay.csv
│ │ ├── sn76489.csv
│ │ ├── tonegenerator.csv
│ │ ├── mverb2020.csv
│ │ ├── voc.csv
│ │ ├── oscilloscope.csv
│ │ ├── rp2a03.csv
│ │ └── papu.csv
│ ├── castello_reverb.csv
│ ├── wolfshaper.csv
│ ├── dragonfly_hall.csv
│ ├── kickmess.csv
│ └── magical8bitplug2.csv
├── datadef
│ └── vst2
│ │ ├── 1936747315.ddef
│ │ ├── cfa-sound.ddef
│ │ ├── vopm.ddef
│ │ ├── tal.ddef
│ │ ├── creatorum_genius_lab.ddef
│ │ ├── solcito-musica_unfinished.ddef
│ │ └── exakt_lite.ddef
├── plugts
│ ├── soundation_ext.pltr
│ ├── onlineseq_vst2.pltr
│ ├── amped_vst2.pltr
│ └── ableton_vst2.pltr
├── dataset
│ └── castello_reverb.dset
└── json
│ └── socalabs.json
├── requirements.txt
├── functions
├── data_xml.py
├── data_bytes.py
├── extpluglog.py
└── plug_conv.py
├── data_main
├── dataset
│ ├── piyopiyo.dset
│ ├── pxtone.dset
│ ├── lovelycomposer.dset
│ ├── trackerboy.dset
│ ├── chip_nes.dset
│ ├── furnace.dset
│ ├── petaporon.dset
│ └── pixitracker.dset
├── plugts
│ ├── amped_lmms.pltr
│ ├── onlineseq_univ.pltr
│ ├── flstudio_lmms.pltr
│ ├── univ_lmms.pltr
│ ├── ableton_flstudio.pltr
│ ├── caustic_univ.pltr
│ ├── soundation_univ.pltr
│ ├── lmms_flstudio.pltr
│ ├── amped_ableton.pltr
│ ├── univ_waveform.pltr
│ ├── waveform_univ.pltr
│ ├── directx.pltr
│ ├── flstudio_univ.pltr
│ └── flstudio_amped.pltr
├── idvals
│ └── multichip_inst.csv
├── datadef
│ └── openmpt.ddef
└── json
│ └── dawinst_paths.json
├── __config
└── config.ini
├── functions_plugin_ext
├── data_vstw.py
├── data_vc2xml.py
├── data_nullbytegroup.py
├── params_os_tal_chorus.py
├── params_os_juicysfplugin.py
└── params_os_kickmess.py
├── functions_compat
├── autopl_addrem.py
├── removecut.py
├── sep_nest_audio.py
├── loops_remove.py
├── loops_add.py
├── time_seconds.py
├── fxrack_moveparams.py
├── changestretch.py
├── nopl_track.py
└── timesigblocks.py
├── objects
├── exceptions.py
├── datastore.py
├── counter.py
├── convproj
│ ├── managers.py
│ ├── sends.py
│ ├── timemarker.py
│ ├── midi_inst.py
│ ├── harmonics.py
│ ├── chord.py
│ ├── placements_autoticks.py
│ └── devicenodes.py
├── extlib
│ ├── helperfunc.py
│ └── c700_brr.py
├── songinput
│ └── _midi_multi
│ │ └── mainauto.py
├── colors.py
├── auto_id.py
├── file_proj
│ ├── _ableton
│ │ └── visual.py
│ ├── _rpp
│ │ └── source.py
│ ├── proj_flipperzero.py
│ ├── proj_piyopiyo.py
│ └── _flp
│ │ ├── fx.py
│ │ └── plugin.py
├── file
│ ├── preset_vst3.py
│ ├── preset_clap.py
│ ├── adlib_wopl.py
│ └── adlib_bnk.py
└── regions.py
├── _config_plugins.py
├── functions_song
├── convert_ri2r.py
├── convert_rs2r.py
├── convert_m2mi.py
├── convert_ms2rm.py
└── convert_mi2m.py
├── dawvert_adpcm_dec.py
├── .github
└── FUNDING.yml
├── docs
├── output_plugins.md
└── vsts.md
├── dawvert_adpcm_enc.py
├── plugins
├── audiocodecs
│ ├── brr.py
│ ├── oki.py
│ ├── qsound.py
│ ├── oki6258.py
│ ├── yamaha_a.py
│ ├── yamaha_b.py
│ ├── yanaha_aica.py
│ ├── yanaha_ymz280b.py
│ ├── dpcm.py
│ └── sony_vag.py
├── plugconv
│ ├── lmms__n_amped.py
│ ├── universal__n_onlineseq.py
│ ├── midi__n_flstudio.py
│ ├── universal__n_symmod.py
│ ├── flstudio__n_amped.py
│ ├── sf2__gmmidi.py
│ ├── universal__n_digibooster.py
│ ├── flstudio__n_lmms.py
│ ├── universal__n_serato.py
│ ├── lmms__n_beepbox.py
│ └── ableton__n_amped.py
├── plugconv_ext
│ ├── n_ableton_shareware.py
│ ├── i_soundfont2_foss.py
│ ├── n_flstudio_old.py
│ ├── n_onlineseq_foss.py
│ ├── n_namco163_famistudio_foss.py
│ ├── v_directx_foss.py
│ └── n_waveform_foss.py
├── audiofile
│ ├── soundfile.py
│ ├── ffmpeg.py
│ └── vorbisacm.py
├── audioconv
│ ├── soundfile.py
│ └── vorbisacm.py
├── input_old
│ └── r_flipper0.py
├── input_ai
│ └── r_basicpitch.py
├── input_exper
│ └── r_color_art.py
├── externalsearch
│ └── wavtool.py
└── input
│ └── m_tracker_umx.py
├── objects_midi
└── vendors
│ ├── sony.py
│ └── universal.py
├── functions_plugin_ext_nonfree
└── params_nf_spaceship_delay.py
├── devtools
└── remap_to_dset.py
└── functions_plugin
├── juce_memoryblock.py
└── format_flp_tlv.py
/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SatyrDiamond/DawVert/HEAD/icon.png
--------------------------------------------------------------------------------
/_external_data/info.readme:
--------------------------------------------------------------------------------
1 | put files from
2 | https://github.com/SatyrDiamond/DawVert-Samples
3 | here.
--------------------------------------------------------------------------------
/data_ext/remap/imageline/wave candy.csv:
--------------------------------------------------------------------------------
1 | cvpj,cvpj,cvpj,cvpj,cvpj,vst2,vst2
2 | paramid,def,min,max,visname,paramnum,visname
3 | hold,0,0,1,Hold,0,Hold
--------------------------------------------------------------------------------
/data_ext/remap/socalabs/addinvert.csv:
--------------------------------------------------------------------------------
1 | cvpj,cvpj,cvpj,cvpj,cvpj,cvpj,vst2,vst2,vst3,vst3
2 | paramid,extid,def,min,max,visname,paramnum,visname,paramnum,visname
3 |
--------------------------------------------------------------------------------
/data_ext/remap/imageline/notebook.csv:
--------------------------------------------------------------------------------
1 | cvpj,cvpj,cvpj,cvpj,cvpj,vst2,vst2
2 | paramid,def,min,max,visname,paramnum,visname
3 | currentpage,1,1,100,Page index,0,Page index
4 |
--------------------------------------------------------------------------------
/requirements.txt:
--------------------------------------------------------------------------------
1 | varint
2 | numpy
3 | mido
4 | lxml
5 | chardet
6 | av
7 | beautifulsoup4
8 | blackboxprotobuf
9 | pypng
10 | git+https://github.com/Perlence/rpp
--------------------------------------------------------------------------------
/functions/data_xml.py:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: 2024 SatyrDiamond
2 | # SPDX-License-Identifier: GPL-3.0-or-later
3 |
4 | def find_first(xml_data, name):
5 | t = xml_data.findall(name)
6 | if t: return t[0]
7 | else: return None
--------------------------------------------------------------------------------
/data_main/dataset/piyopiyo.dset:
--------------------------------------------------------------------------------
1 | {
2 | "inst": {
3 | "colorset": {
4 | "main": [[0.25, 0.38, 0.49], [0.36, 0.43, 0.46], [0.51, 0.57, 0.47], [0.58, 0.64, 0.40]]
5 | },
6 | "objects": {}
7 | }
8 | }
--------------------------------------------------------------------------------
/data_ext/remap/socalabs/spectrumanalyzer.csv:
--------------------------------------------------------------------------------
1 | cvpj,cvpj,cvpj,cvpj,cvpj,cvpj,vst2,vst2,vst3,vst3
2 | paramid,extid,def,min,max,visname,paramnum,visname,paramnum,visname
3 | mode,mode,0.0,0.0,1.0,Mode,0,Mode,0,Mode
4 | log,log,0.0,0.0,1.0,Log,1,Log,1,Log
5 |
--------------------------------------------------------------------------------
/data_ext/remap/socalabs/abtester.csv:
--------------------------------------------------------------------------------
1 | cvpj,cvpj,cvpj,cvpj,cvpj,cvpj,vst2,vst2,vst3,vst3
2 | paramid,extid,def,min,max,visname,paramnum,visname,paramnum,visname
3 | ab,ab,0.0,0.0,1.0,A / B,0,A / B,0,A / B
4 | level,level,0.0,-100.0,6.0,Level,1,Level,1,Level
5 |
--------------------------------------------------------------------------------
/data_ext/remap/castello_reverb.csv:
--------------------------------------------------------------------------------
1 | cvpj,cvpj,cvpj,cvpj,vst2,vst2,vst3,vst3
2 | paramid,extid,def,visname,paramnum,visname,paramnum,visname
3 | mix,mix,0.5,Mix,0,Mix,2,Mix
4 | size,size,0.330000042915344,Size,1,Size,3,Size
5 | brightness,brightness,0.660000085830689,Brightness,2,Brightness,4,Brightness
6 |
--------------------------------------------------------------------------------
/data_main/plugts/amped_lmms.pltr:
--------------------------------------------------------------------------------
1 |
2 | [reverb]
3 | >input
4 | type|native:amped:Reverb
5 | param|fb
6 | param|lpf
7 | param|mix
8 | proc
11 | calc|fb|pow|2
12 | output
15 | type|native:lmms:reverbsc
16 | param|sizeinput
4 | type|native:onlineseq:eq
5 | param|eq_low
6 | param|eq_mid
7 | param|eq_high
8 | output
11 | type|universal:eq:3band
12 | param|low_gain176:
6 | chunkdata = chunkdata[172:]
7 | chunkdata = chunkdata[4:int.from_bytes(chunkdata[0:4])+8]
8 | return chunkdata
9 | else:
10 | return chunkdata
11 |
--------------------------------------------------------------------------------
/data_ext/remap/socalabs/channelmute.csv:
--------------------------------------------------------------------------------
1 | cvpj,cvpj,cvpj,cvpj,cvpj,cvpj,vst2,vst2,vst3,vst3
2 | paramid,extid,def,min,max,visname,paramnum,visname,paramnum,visname
3 | mutel,muteL,0.0,0.0,1.0,Mute L,0,Mute L,0,Mute L
4 | levell,levelL,0.0,-100.0,6.0,Level L,1,Level L,1,Level L
5 | muter,muteR,0.0,0.0,1.0,Mute R,2,Mute R,2,Mute R
6 | levelr,levelR,0.0,-100.0,6.0,Level R,3,Level R,3,Level R
7 |
--------------------------------------------------------------------------------
/data_ext/remap/imageline/flangus.csv:
--------------------------------------------------------------------------------
1 | cvpj,cvpj,cvpj,cvpj,cvpj,vst2,vst2
2 | paramid,def,min,max,visname,paramnum,visname
3 | ord,0,0,9,Order,0,Order
4 | depth,0,0,1024,Depth,1,Depth
5 | speed,0,0,1024,Speed,2,Speed
6 | delay,0,0,128,Delay,3,Delay
7 | spread,0,0,128,Spread,4,Spread
8 | cross,0,-128,128,Cross,5,Cross
9 | dry,0,-128,128,Dry level,6,Dry level
10 | wet,0,-128,128,Wet level,7,Wet level
11 |
--------------------------------------------------------------------------------
/data_ext/plugts/soundation_ext.pltr:
--------------------------------------------------------------------------------
1 |
2 | [tremolo_airwindows]
3 | >input
4 | type|native:soundation:com.soundation.tremolo
5 | param|depth
6 | param|phase
7 | param|speed
8 | proc
11 | calc|speed|pow|0.8
12 | calc|phase|div|2
13 | output
16 | type|user:airwindows:AutoPan
17 | param|rateinput
4 | type|native:flstudio:fruity stereo shaper
5 | param|r2l
6 | param|l2l
7 | param|r2r
8 | param|l2r
9 | proc
12 | calc|r2l|div|12800
13 | calc|l2l|div|12800
14 | calc|r2r|div|12800
15 | calc|l2r|div|12800
16 | output
19 | type|native:lmms:stereomatrix
20 | param|l-rinput
4 | type|universal:bitcrush
5 | param|bits
6 | param|freq
7 | output
10 | type|native:lmms:bitcrush
11 | param|rateinput
17 | type|universal:volpan
18 | param|pan
19 | param|vol
20 | proc
23 | calc|pan|mul|100
24 | calc|vol|mul|100
25 | output
28 | type|native:lmms:amplifier
29 | param|pan> 4
8 | second = value & 0x0F
9 | return (first, second)
10 |
11 | def get_bitnums_int(x):
12 | return [i for i in range(x.bit_length()) if ((1 << i) & x)]
13 |
14 | def get_bitnums(x):
15 | return get_bitnums_int(int.from_bytes(x, 'little'))
16 |
17 | def set_bitnums(x, n):
18 | outvals = 0
19 | for v in x: outvals += (1 << v)
20 | return outvals.to_bytes(n, 'little')
--------------------------------------------------------------------------------
/data_ext/remap/socalabs/stereoprocessor.csv:
--------------------------------------------------------------------------------
1 | cvpj,cvpj,cvpj,cvpj,cvpj,cvpj,vst2,vst2,vst3,vst3
2 | paramid,extid,def,min,max,visname,paramnum,visname,paramnum,visname
3 | width1,width1,0.5,0.0,1.0,Width,0,Width,0,Width
4 | center1,center1,0.5,0.0,1.0,Center,1,Center,1,Center
5 | pan1,pan1,0.0,-1.0,1.0,Pan,2,Pan,2,Pan
6 | rotation,rotation,0.5,0.0,1.0,Rotation,3,Rotation,3,Rotation
7 | pan2,pan2,0.0,-1.0,1.0,Pan,4,Pan,4,Pan
8 | center2,center2,0.5,0.0,1.0,Center,5,Center,5,Center
9 | width2,width2,0.5,0.0,1.0,Width,6,Width,6,Width
10 | output,output,0.5,0.0,1.0,Output,7,Output,7,Output
11 |
--------------------------------------------------------------------------------
/functions_plugin_ext/data_vc2xml.py:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: 2024 SatyrDiamond
2 | # SPDX-License-Identifier: GPL-3.0-or-later
3 |
4 | import xml.etree.ElementTree as ET
5 |
6 | def get(vstdata):
7 | vc2magic = vstdata[0:4]
8 | if vc2magic == b'VC2!':
9 | vc2size = int.from_bytes(vstdata[4:8], "little")
10 | vc2data = vstdata[8:8+vc2size]
11 | return ET.fromstring(vc2data)
12 | else:
13 | return None
14 |
15 | def make(xmldata):
16 | xmlout = ET.tostring(xmldata, encoding='utf-8')
17 | vst2data = b'VC2!' + len(xmlout).to_bytes(4, "little") + xmlout
18 | return vst2data
19 |
--------------------------------------------------------------------------------
/data_ext/remap/socalabs/sampledelay.csv:
--------------------------------------------------------------------------------
1 | cvpj,cvpj,cvpj,cvpj,cvpj,cvpj,vst2,vst2,vst3,vst3
2 | paramid,extid,def,min,max,visname,paramnum,visname,paramnum,visname
3 | mode,mode,0.0,0.0,1.0,Mode,0,Mode,0,Mode
4 | link,link,1.0,0.0,1.0,Link,1,Link,1,Link
5 | time,time,1.0,0.0,1000.0,Time,2,Time,2,Time
6 | samples,samples,50.0,0.0,44100.0,Samples,3,Samples,3,Samples
7 | timel,timel,1.0,0.0,1000.0,Time L,4,Time L,4,Time L
8 | samplesl,samplesl,50.0,0.0,44100.0,Samples L,5,Samples L,5,Samples L
9 | timer,timer,1.0,0.0,1000.0,Time R,6,Time R,6,Time R
10 | samplesr,samplesr,50.0,0.0,44100.0,Samples R,7,Samples R,7,Samples R
11 |
--------------------------------------------------------------------------------
/data_ext/remap/socalabs/sn76489.csv:
--------------------------------------------------------------------------------
1 | cvpj,cvpj,cvpj,cvpj,cvpj,cvpj,vst2,vst2,vst3,vst3
2 | paramid,extid,def,min,max,visname,paramnum,visname,paramnum,visname
3 | pulse1level,pulse1Level,1.0,0.0,1.0,Pulse 1 Level,0,Pulse 1 Level,0,Pulse 1 Level
4 | pulse2level,pulse2Level,0.0,0.0,1.0,Pulse 2 Level,1,Pulse 2 Level,1,Pulse 2 Level
5 | pulse3level,pulse3Level,0.0,0.0,1.0,Pulse 3 Level,2,Pulse 3 Level,2,Pulse 3 Level
6 | noiselevel,noiseLevel,0.0,0.0,1.0,Noise Level,3,Noise Level,3,Noise Level
7 | noisewhite,noiseWhite,0.0,0.0,1.0,Noise Type,4,Noise Type,4,Noise Type
8 | noiseshift,noiseShift,0.0,0.0,3.0,Noise Speed,5,Noise Speed,5,Noise Speed
9 |
--------------------------------------------------------------------------------
/data_ext/datadef/vst2/vopm.ddef:
--------------------------------------------------------------------------------
1 |
2 | area_struct|opdata
3 | part|byte|tl
4 | part|byte|ar
5 | part|byte|d1r
6 | part|byte|d1l
7 | part|byte|d2r
8 | part|byte|rr
9 | part|byte|ks
10 | part|byte|ml
11 | part|byte|dt1
12 | part|byte|dt2
13 | part|byte|ams-en
14 |
15 | area_struct|patch
16 | part|byte|alg
17 | part|byte|fb
18 | part|byte|ams
19 | part|byte|pms
20 | part|byte|nfrq
21 | part|byte|noise
22 | part|byte|lfo_frq
23 | part|byte|lfo_amd
24 | part|byte|lfo_pmd
25 | part|byte|_7
26 | part|byte|opmsk
27 | part|struct.opdata|op1
28 | part|struct.opdata|op2
29 | part|struct.opdata|op3
30 | part|struct.opdata|op4
31 | part|string.16|name
32 |
--------------------------------------------------------------------------------
/data_ext/remap/imageline/gross beat.csv:
--------------------------------------------------------------------------------
1 | cvpj,cvpj,cvpj,cvpj,cvpj,vst2,vst2
2 | paramid,def,min,max,visname,paramnum,visname
3 | param_0,0,0,35,Time slot,0,Time slot
4 | param_1,0,0,35,Volume slot,1,Volume slot
5 | param_2,0,0,256,Time mix,2,Time mix
6 | param_3,0,0,256,Volume mix,3,Volume mix
7 | param_4,0,0,10000,Vol. smoothing attack,4,Vol. smoothing attack
8 | param_5,0,0,10000,Vol. smoothing release,5,Vol. smoothing release
9 | param_6,0,-256,256,Volume envelope tension,6,Volume envelope tension
10 | param_7,0,0,1,Hold delay (bar repeat),7,Hold delay (bar repeat)
11 | param_8,0,0,65536,Time offset (scratching,8,Time offset (scratching
12 |
--------------------------------------------------------------------------------
/objects/convproj/managers.py:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: 2024 SatyrDiamond
2 | # SPDX-License-Identifier: GPL-3.0-or-later
3 |
4 | class manager_plugts:
5 | def __init__(self):
6 | self.storedts = {}
7 |
8 | def transform(self, filepath, ts_name, convproj_obj, plugin_obj, pluginid, extra_json):
9 | if filepath not in self.storedts:
10 | self.storedts[filepath] = plugtransform()
11 | self.storedts[filepath].load_file(filepath)
12 | self.current_ts = self.storedts[filepath]
13 | self.current_ts.transform(ts_name, convproj_obj, plugin_obj, pluginid, extra_json)
14 |
15 | def get_storedval(self, name):
16 | return self.current_ts.get_storedval(name)
--------------------------------------------------------------------------------
/data_main/plugts/ableton_flstudio.pltr:
--------------------------------------------------------------------------------
1 | [fruity_balance]
2 |
3 | >input
4 | type|native:flstudio:fruity balance
5 | param|pan
6 | param|vol
7 | proc
10 | calc|pan|div|128
11 | calc|vol|div|256
12 | calc|vol|addmul|-1|35
13 | output
16 | type|native:ableton:StereoGain
17 | param|Balanceinput
4 | type|native:onlineseq:eq
5 | param|eq_low
6 | param|eq_mid
7 | param|eq_high
8 | proc
11 | calc|eq_low|div|96
12 | calc|eq_mid|div|96
13 | calc|eq_high|div|96
14 | calc|eq_low|add|0.5
15 | calc|eq_mid|add|0.5
16 | calc|eq_high|add|0.5
17 | output
20 | type|external:vst2
21 | param|ext_param_0input
4 | type|native:amped:Reverb
5 | param|fb
6 | param|lpf
7 | param|mix
8 | proc
11 | calc|lpf|div|20000
12 | calc|fb|pow|2
13 | output
16 | type|user:lucianoiam:castello
17 | param|mixinput
24 | type|native:amped:CompressorMini
25 | param|squash
26 | proc
29 | calc|squash|div|2
30 | out_store|squash|squash
31 | output
34 | type|user:airwindows:PurestSquish
35 | param|squish Regular')
11 |
12 | for trackid, track_obj in convproj_obj.track__iter():
13 | if not track_obj.is_laned:
14 | track_obj.placements.unindex_notes(track_obj.notelist_index)
15 | else:
16 | for lane_id, lane_obj in track_obj.lanes.items():
17 | lane_obj.placements.unindex_notes(track_obj.notelist_index)
18 |
19 | convproj_obj.type = 'r'
--------------------------------------------------------------------------------
/functions_compat/removecut.py:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: 2024 SatyrDiamond
2 | # SPDX-License-Identifier: GPL-3.0-or-later
3 |
4 | def process(convproj_obj, in__placement_cut, out__placement_cut, out_type):
5 |
6 | if in__placement_cut == True and out__placement_cut == False:
7 | if convproj_obj.type == 'm':
8 | for pl_id, playlist_obj in convproj_obj.playlist.items():
9 | playlist_obj.placements.remove_cut()
10 | return True
11 | elif convproj_obj.type == 'r':
12 | for trackid, track_obj in convproj_obj.track__iter():
13 | track_obj.placements.remove_cut()
14 | for trackid, lane_obj in track_obj.lanes.items(): lane_obj.placements.remove_cut()
15 | return True
16 | else: return False
17 |
18 | else: return False
--------------------------------------------------------------------------------
/objects/songinput/_midi_multi/mainauto.py:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: 2024 SatyrDiamond
2 | # SPDX-License-Identifier: GPL-3.0-or-later
3 |
4 | import numpy as np
5 | from objects.data_bytes import structalloc
6 |
7 | timesig_premake = structalloc.dynarray_premake([
8 | ('pos', np.uint32),
9 | ('numerator', np.uint8),
10 | ('denominator', np.uint8)])
11 |
12 | bpm_premake = structalloc.dynarray_premake([
13 | ('pos', np.uint32),
14 | ('tempo', np.float32)])
15 |
16 | pitchauto_premake = structalloc.dynarray_premake([
17 | ('pos', np.uint32),
18 | ('channel', np.uint8),
19 | ('value', np.int16),
20 | ('mode', np.int16)]
21 | )
22 |
23 | otherauto_premake = structalloc.dynarray_premake([
24 | ('pos', np.uint32),
25 | ('value', np.uint8)])
26 |
27 |
--------------------------------------------------------------------------------
/dawvert_adpcm_dec.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env python3
2 |
3 | # SPDX-FileCopyrightText: 2024 SatyrDiamond
4 | # SPDX-License-Identifier: GPL-3.0-or-later
5 |
6 | import argparse
7 | from plugins import base as dv_plugins
8 | from objects import audio_data
9 |
10 | dv_plugins.load_plugindir('audiocodecs', '')
11 |
12 | parser = argparse.ArgumentParser()
13 | parser.add_argument("-i", default=None)
14 | parser.add_argument("-it", default=None)
15 | parser.add_argument("-o", default=None)
16 | args = parser.parse_args()
17 |
18 | in_file = args.i
19 | out_file = args.o
20 | in_format = args.it
21 |
22 | file_obj = open(in_file, 'rb')
23 |
24 | audio_obj = audio_data.audio_obj()
25 | audio_obj.decode_from_codec(in_format, file_obj.read())
26 | audio_obj.to_file_wav(out_file)
27 |
28 |
--------------------------------------------------------------------------------
/data_ext/remap/socalabs/mverb2020.csv:
--------------------------------------------------------------------------------
1 | cvpj,cvpj,cvpj,cvpj,cvpj,cvpj,vst2,vst2,vst3,vst3
2 | paramid,extid,def,min,max,visname,paramnum,visname,paramnum,visname
3 | mix,MIX,100.0,0.0,100.0,Mix,0,Mix,0,Mix
4 | predelay,PREDELAY,50.0,0.0,100.0,Pre delay,1,Pre delay,1,Pre delay
5 | earlymix,EARLYMIX,100.0,0.0,100.0,Early late mix,2,Early late mix,2,Early late mix
6 | size,SIZE,100.0,0.0,100.0,Size,3,Size,3,Size
7 | density,DENSITY,50.0,0.0,100.0,Density,4,Density,4,Density
8 | bandwidthfreq,BANDWIDTHFREQ,90.0,0.0,100.0,Bandwidth Frequency,5,Bandwidth Frequency,5,Bandwidth Frequency
9 | decay,DECAY,50.0,0.0,100.0,Decay,6,Decay,6,Decay
10 | dampingfreq,DAMPINGFREQ,90.0,0.0,100.0,Damping Frequency,7,Damping Frequency,7,Damping Frequency
11 | gain,GAIN,100.0,0.0,100.0,Gain,8,Gain,8,Gain
12 |
--------------------------------------------------------------------------------
/functions_compat/sep_nest_audio.py:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: 2024 SatyrDiamond
2 | # SPDX-License-Identifier: GPL-3.0-or-later
3 |
4 | from functions import xtramath
5 |
6 | def process(convproj_obj, in__placement_audio_nested, out__placement_audio_nested, out_type):
7 | if in__placement_audio_nested == True and out__placement_audio_nested == False:
8 | if convproj_obj.type == 'm':
9 | for pl_id, playlist_obj in convproj_obj.playlist.items(): playlist_obj.placements.remove_nested()
10 | return True
11 | elif convproj_obj.type == 'r':
12 | for trackid, track_obj in convproj_obj.track__iter():
13 | track_obj.placements.remove_nested()
14 | for trackid, lane_obj in track_obj.lanes.items(): lane_obj.placements.remove_nested()
15 | return True
16 | else:
17 | return False
--------------------------------------------------------------------------------
/.github/FUNDING.yml:
--------------------------------------------------------------------------------
1 | # These are supported funding model platforms
2 |
3 | github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
4 | patreon: # Replace with a single Patreon username
5 | open_collective: # Replace with a single Open Collective username
6 | ko_fi: satyrdiamond
7 | tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
8 | community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
9 | liberapay: SatyrDiamond
10 | issuehunt: # Replace with a single IssueHunt username
11 | otechie: # Replace with a single Otechie username
12 | lfx_crowdfunding: # Replace with a single LFX Crowdfunding project-name e.g., cloud-foundry
13 | custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']
14 |
--------------------------------------------------------------------------------
/data_ext/remap/wolfshaper.csv:
--------------------------------------------------------------------------------
1 | cvpj,cvpj,cvpj,cvpj,cvpj,cvpj,vst2,vst2,vst3,vst3
2 | paramid,extid,def_one,min,max,visname,paramnum,visname,paramnum,visname
3 | pregain,pregain,0.5,0,2,Pre Gain,0,Pre Gain,2,Pre Gain
4 | wet,wet,1,0,1,Wet,1,Wet,3,Wet
5 | postgain,postgain,1,0,1,Post Gain,2,Post Gain,4,Post Gain
6 | removedc,removedc,1,0,1,Remove DC Offset,3,Remove DC Offse,5,Remove DC Offset
7 | oversample,oversample,0,0,4,Oversample,4,Oversample,6,Oversample
8 | bipolarmode,bipolarmode,0,0,1,Bipolar Mode,5,Bipolar Mode,7,Bipolar Mode
9 | warptype,warptype,0,0,6,H Warp Type,6,H Warp Type,8,H Warp Type
10 | warpamount,warpamount,0,0,1,H Warp Amount,7,H Warp Amount,9,H Warp Amount
11 | vwarptype,vwarptype,0,0,6,V Warp Type,8,V Warp Type,10,V Warp Type
12 | vwarpamount,vwarpamount,0,0,1,V Warp Amount,9,V Warp Amount,11,V Warp Amount
13 |
--------------------------------------------------------------------------------
/functions_plugin_ext/data_nullbytegroup.py:
--------------------------------------------------------------------------------
1 | # SPDX-FileCopyrightText: 2024 SatyrDiamond
2 | # SPDX-License-Identifier: GPL-3.0-or-later
3 |
4 | def get(vstdata):
5 | nbpvstdata = vstdata.split(b'\x00')
6 | nbp = [{}]
7 | groupnum = 0
8 | isvalname = False
9 | for datavalue in nbpvstdata:
10 | #print(datavalue)
11 | if isvalname == True:
12 | nbp[groupnum][valname] = datavalue.decode()
13 | isvalname = False
14 | else:
15 | if datavalue == b'':
16 | groupnum += 1
17 | nbp.append({})
18 | else:
19 | isvalname = True
20 | valname = datavalue.decode()
21 | return nbp
22 |
23 | def make(larr):
24 | nbp = bytes()
25 | for grouplist in larr:
26 | for param in grouplist:
27 | nbp += str(param).encode('utf-8')+b'\x00'+str(grouplist[param]).encode('utf-8')+b'\x00'
28 | nbp += b'\x00'
29 | return nbp
30 |
--------------------------------------------------------------------------------
/docs/output_plugins.md:
--------------------------------------------------------------------------------
1 |
2 | # Supported Outputs
3 | ## DAWs
4 | | DataType | PluginSet | Short Name | Name |
5 | | --- | --- | --- | :--- |
6 | | R | ```main``` | ```ableton``` | Ableton Live 11 |
7 | | R | ```main``` | ```amped``` | Amped Studio |
8 | | R | ```main``` | ```dawproject``` | dawproject |
9 | | M-I | ```main``` | ```flp``` | FL Studio |
10 | | R | ```main``` | ```lmms``` | LMMS |
11 | | R | ```main``` | ```midi``` | MIDI |
12 | | R | ```main``` | ```muse``` | MusE Sequencer |
13 | | R | ```main``` | ```onlineseq``` | Online Sequencer |
14 | | R | ```main``` | ```reaper``` | Reaper |
15 | | R | ```main``` | ```soundation``` | Soundation |
16 | | R | ```main``` | ```waveform_edit``` | Waveform Edit |
17 |
18 | ## Old
19 | | DataType | PluginSet | Short Name | Name |
20 | | --- | --- | --- | :--- |
21 | | R | ```old``` | ```wavtool``` | Wavtool |
--------------------------------------------------------------------------------
/data_main/plugts/caustic_univ.pltr:
--------------------------------------------------------------------------------
1 |
2 | [limiter]
3 | >input
4 | type|native:caustic:master_limiter
5 | param|35
6 | param|36
7 | param|37
8 | param|38
9 | output
12 | type|universal:limiter
13 | param|gain<35
14 | param|attack<36
15 | param|release<37
16 | param|postgain<38
17 |