Plugins to be linked statically into Faust:
- put "XXXX.dsp" into 'lib_sources' list in wscript
- if existing, dsp2cc will include a XXXX_ui.glade
or XXXX_ui.cc as user interface definition for the
rack box (so, if both exist, only the .glade file
will be used)
- add a
pl.add(&pluginlib::XXXX::plugin);
to the plugin-loader (currently in gx_faust_includes.cpp)
Dynamically linked plugins:
- put "XXXX.dsp" into 'sources' list in wscript. waf will
generate XXXX.so
- Start guitarix with this command line
$ guitarix -P <guitarix-build-dir>/default/src/plugins
How to create glade interface defintions:
- you need to configure with --glade-support
- glade3 must be installed
- start glade with the tools/gxglade script
- the Gx widgets should be displayed at the bottom of the toolbox
- create a toplevel window (its not used by the code)
- create a hbox or vbox or similar in the window
- set the id to rackbox (this subtree is loaded into the guitarix rack)
- in the GxRegler widget you can set the name of the parameter in the
field "variable"
- glade3 doesn't seem to support the name attribute yet. You can set
it with a workaround: append the name in the id field with a ":".
If the original id was label1, change it to something like
label1:rack_label. The guitarix loader will set rack_label as the
name of the widget (some widget names are referenced in the style
files and get a special look).
- you can add a Label and select it in the "Label ref" property of a
GxRegler. At runtime it will be filled with the name of the parameter
(connection for midi control, tooltips etc. will be also supplied at
runtime). Since the rc style will also be applied at runtime, the
best way is to use guitarix in parallel as a Viewer for the plugin UI.
The rc styles could also be used with glade, but some definitions
in the rc files would have to be added or corrected first.
/ad