bitwig / dawproject

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

Documentation for the files in the plugins subfolder #68

Closed perweij closed 11 months ago

perweij commented 11 months ago

While the metadata.xml and project.xml files are documented, I can't find any documentation about how to parse and/or generate the files in the plugins subfolder (typically plugins/.vstpreset and plugins/.fxb etc). They seem to be in some binary format.

I see in the design goals that "The exporting DAW is free to choose the directory structure it wants for media and plug-in files.".

I don't really understand that design choice. Does that include the files in those directories, or is it just the directory structure? Shouldn't the plugin files also be in open standard, simple to implement (preferably XML at least)?

If a DAW exports a Dawproject, and another DAW tries to import it, how should it parse the binary plugin files? I'm trying to write a DawProject parser on my own, but things grinded to a halt when I came to the plugin files.

git-moss commented 11 months ago

I was struggeling with that as well and agree that it should be documented. As you assumed, the comment only relates to the folder structure. The files on the other hand are plugin presets either in VST2, VST3 or CLAP format. The specs can be found in the respective projects. Alternatively, you can have a look at my code: https://github.com/git-moss/ProjectConverter/blob/main/src/main/java/de/mossgrabers/projectconverter/format/reaper/model/VstChunkHandler.java https://github.com/git-moss/ProjectConverter/blob/main/src/main/java/de/mossgrabers/projectconverter/format/reaper/model/ClapChunkHandler.java Not sure about AU since Bitwig does not support it and if it is already implemented in Studio One.

perweij commented 11 months ago

Cool! Thanks a million!!