OwlPlug icon indicating copy to clipboard operation
OwlPlug copied to clipboard

DAW Project Support: Studio One

Open DropSnorz opened this issue 2 years ago • 1 comments

This issue track activity and needs for a Studio One project support in OwPlug. The decision to support a DAW depends on various factor: technical constraints and format documentation, maintenance cost regarding updates, and DAW popularity across the community.

If you are intersted in this feature, react using a 👍 emoji. You can also contribute by posting content, documentation and resources that might help the development.

‌List of supported DAW project format: https://github.com/DropSnorz/OwlPlug/wiki/Projects-and-DAW-Support

Scope

  • Supported OS : Windows, macOS, Linux (Beta)
  • Supported Plugins: VST2, VST3
  • Out of Scope : AU (Not supported), LV2 (Not Supported)

Format overview

Studio One .song files are zip files with a nested file directory structures.

  • Project metadata can be extracted from metainfo.xml
<?xml version="1.0" encoding="UTF-8"?>
<MetaInformation>
	<Attribute id="Media:Artwork" value="artwork.png"/>
	<Attribute id="Document:Notes" value="notes.txt"/>
	<Attribute id="Media:Artist" value="Arthur"/>
	<Attribute id="Media:ArtistPage" value=""/>
	<Attribute id="Media:Genre" value=""/>
	<Attribute id="Media:Year" value="2025"/>
	<Attribute id="Document:MimeType" value="application/x.presonus-song"/>
	<Attribute id="Document:FormatVersion" value="8"/>
	<Attribute id="Document:Title" value="OwlPlug"/>
	<Attribute id="Document:Creator" value="Arthur"/>
	<Attribute id="Document:Generator" value="Studio One/7.2.3.108761"/>
	<Attribute id="Media:SampleRate" value="44100"/>
	<Attribute id="Media:FrameType" value="1"/>
	<Attribute id="Media:Tempo" value="120"/>
	<Attribute id="Media:TimeSignatureNumerator" value="4"/>
	<Attribute id="Media:TimeSignatureDenominator" value="4"/>
	<Attribute id="Media:KeySignature" value="-"/>
	<Attribute id="Media:TrackCount" value="2"/>
	<Attribute id="Media:Length" value="300"/>
	<Attribute id="Media:BitDepth" value="24"/>
	<Attribute id="Media:TimeFormat" value="2"/>
</MetaInformation>

External plugins added to project tracks can be retrieved from Devices/audiomixer.xml and Devices/audiosynthfolder.xml

The format seems not publicly documented.

Implementation details

TODO

DropSnorz avatar Nov 19 '23 10:11 DropSnorz

Undocumented format. Anyway, i'll stop working on it until i can find more info.

Maybe scanning will be available using dawproject exchange format : https://github.com/bitwig/dawproject

DropSnorz avatar Dec 10 '23 15:12 DropSnorz