expertanalytics / lv2-plugins

Plugins for signal processing, using LV2
1 stars 1 forks source link

Building- and initialization tools #12

Closed ghost closed 4 years ago

ghost commented 5 years ago

E.g. Make a simple command-line-tool for initializing a new plugin. For instance, it could work like:

touch-plugin <awesome-sauce-plugin>

Which should then create a directory called /, whose contents may look a little something like this:

/ |-manifest.ttl.in |-\.ttl |-\.c |-[Additional stuff needed for building (e.g. wscript, or whatever we end up using)] Where each file of course should be filled with as much of the stuff that most LV2 plugins require. For instance: **manifest.ttl** - should contain the basic prefixes, as well as give define a URI for the plugin. **\.ttl** should be filled with the most common prefixes and fill in as much of the stuff in defining the plugin-dependencies as it can (since we don't know what the plugin should do yet, it might not be a whole lot. But at least input- and output port, name, project URI and license) **\.c** should contain a header comment, some basic includes (especially to lv2), define the portIndex enum according to ports given in the .ttl file. But maybe more importantly: Set up instantiate-, connect-ports-, activate-, run-, deactivate-, cleanup- functions. Also fill in as much of the function bodies as reasonable so the user can start to implement the juicy stuff as quickly as possible.