bitwig / dawproject

Open exchange format for DAWs
MIT License
765 stars 19 forks source link

The file format for the audio plugin states are undocumented #25

Closed atsushieno closed 3 years ago

atsushieno commented 3 years ago

I have a Kotlin project that lets me compose or edit music in my own Music Macro Language to compile into SMF as well as MIDI 2.0 UMPs (stored in my own format), and it then exports to Tracktion Waveform DAW (that uses tracktion_engine). Since I don't want to make it only for Tracktion, I was exploring other possible targets, and Bitwig could be an alternative choice.

However, since the audio plugin states in a *.dawproject file are stored in other formats e.g. *.vstpreset, I have no idea how to generate them from the plugin state binaries (for Tracktion I'm reusing JUCE's whatever AudioPluginHost generates as base64 blob directly). To make it an open format, those files should be documented, and would be nicer if this library itself provides the way to generate those files.

git-moss commented 3 years ago

These are simply VST 2 or VST 3 presets as specified by Steinberg. I have no experience with JUCE but I guess it contains some helper functions for writing these formats?!

atsushieno commented 3 years ago

Oh, I had no idea that the .vstpreset file is common beyond Bitwig...! Then it should not be a problem. Thanks.