The new Guitarix LADSPA plugins wrap the Guitarix sound engine. Guitarix consists of a chain of mono effects, an insert point for connecting external effects and a chain of stereo effects. Plugins with one input and two outputs are not handled well by most LADSPA hosts, so we supply a "Guitarix Amp" plugin with one input and output and a "Guitarix Stereo Fx" plugin with two inputs and outputs.
The LADSPA interface is primarily designed for plugins wrapping one dsp algorithm. The Guitarix plugins are stretching this concept quite a bit.
First you need to start the Guitarix program and make some settings which will be stored in the state file (~/.gx_head/gx_head_rc) when you select Presets -> save main setting. This will be preset 0 in the LADSPA plugin. Optionally you can define presets in the standard preset file (~/.gx_head/gx_headpre_rc). Those are presets 1 .. N in the LADSPA plugin.
Now you can start a LADSPA host and insert a Guitarix plugin. The preset defined in the statefile will be loaded by default, and you can select different presets by changing that LADSPA parameter (selecting a preset number which is too high won't give an error message but just don't load anything). The level adjustment parameter modifies the output sound level.
Next there are five parameters. To associate them with Guitarix variables, click a control in Guitarix with the mouse button 2 (middle button) and enter a number in the field "midi controller number" (see also [Guitarix_MIDI_Control]). For the LADSPA parameters its easiest to just use the number 1 to 5 (if you use other numbers, the first 5 in ascending order will be used; you can view a list of defined controllers under the menu Engine -> Midi Controller). To refresh the settings in the plugin, switch back and forth to another preset.
Parameters which are not used in the type of plugin you selected will be skipped. It might be less confusing to define presets with midi parameters either for "Guitarix Amp" (use parameters of all mono plugins, pre-gain, drive and distortion), or for "Guitarix Stereo Fx" (use parameters of all stereo plugins, master level and the level control at the meter). If you want to define Parameters for "Guitarix Amp", hide the stereo rack and show the mono rack.
Variables which are assigned to LADSPA parameters will not be set from a preset (like all midi assigned parameters). So it will sound different from your preset, because the LADSPA parameters are initialized with 0 at the beginning. The LADSPA parameter range 0..100 can be interpreted as percentage values of the lower..upper range of the Guitarix variable. If you connected a Level control, LADSPA output will probably silent at first. Change the parameters to percent values corresponding to the values in your preset.
Any midi controllable parameter with continuous range except cabinet and presence tone control can be used.
Important: To define parameter assignments for presets in the standard preset file, you need to set "store midi in presets" under options.
You can use output level and the 5 assignable parameter for DAW automation. Changing the preset triggers a background load of the new preset with undefined timing. You might be able to use it for automation (like in live playing), but you should allow for a sufficiently large gap while switching for reproducible results.
LADSPA is designed for algorithms that do not depend on block size; This works fine with Guitarix as long as you don't use one of the units that work with "convolving" (cabinet, presence or convolver). These units need a fixed block size, and they create additional threads that need special priorities for RT (realtime) processing. To work around this we use buffering, which introduces additional latency (this additional latency is announced through the "latency" output parameter, which is used at least by the Ardour DAW).
If you switch off buffering, you don't have additional latency but the convolvers cannot be used (i.e., they will be bypassed). The buffer size is always the power of two which is greater or equal the "buffersize" parameter value. If "buffersize" is 0, the plugin selects a default value, which is the current jack frame size if the jack daemon can be contacted by the plugin when its activated, or 64.
When using jackd you must not set a buffer size bigger than the jackd frame size. If jack can be contacted by the plugin the buffer size will be limited by that value. You can use smaller buffer sizes, which will reduce the additional latency (of buffersize-1 samples) but increase processing overhead. For DAW automation, the block size is often divided into the sections between automation points; if you want the plugin to follow the automation parameters more accurately, use a smaller buffer size (each buffer is calculated with one fixed set of parameters).
The "Non-RT Mode" switch can be used if the convolver threads should not work in RT mode, e.g. if jackd works in non-rt mode. If "RT Priority" is 0 the thread priority will be set to the right value for jackd when jackd can be contacted.
Buffering strategy and thread priorities will only change when the plugin gets activated, which always happens at the start. If it happens at other points depends on the host. jack-rack seems to activate when bypass is switched off, Ardour only after transport is stopped and the option "performance -> stop plugin with transport" is set.