Re: [Qtractor-devel] DSSI Plugin on audio track mono, and some other (more DSSI specific) questions
An Audio/MIDI multi-track sequencer
Brought to you by:
rncbc
|
From: Mathias K. <mat...@we...> - 2010-01-12 18:20:05
|
Hi Rui... Rui Nuno Capela wrote: > On 01/07/2010 05:41 PM, Mathias Krause wrote: > >> Hey Rui, >> >> at the moment, i am writing a small DSSI plugin ... and as soon as i >> started, i ran into some problems, where i need your help: >> >> 1. I can start my plugin with "jack-dssi-host" without problems. It has >> 1 MIDI and 1 Audio input. When i load the dssi plugin into qtractor on a >> MIDI track, everything seems to work fine. But when i try to load it on >> an audio track, qtractor exits with a segmentation fault. >> >> Do you have any idea, that could help me? Du I need to write the plugin >> in a stereo-version? >> >> > > gosh. hard to tell. a stacktrace would be welcome. take note that if the > audio track is stereo, qtractor will create 2 instances of a mono plugin > behind the scenes, one for each channel. dunno if that makes any > difference, but a stereo version would be nice to consider, just in case ;) > you ... you can forget that question. I found my bug. Was very simple in the end. The ladspa-run-function in my dssi plugin did not what it should, this seemed to create the segmentation fault... >> 2. The plugin also needs a GUI i've written in QT. This works fine, and >> qtractor does start the GUI. But the DSSI ports which are set by >> qtractor are not send to the GUI? Is there a special mechanism to load >> all the data for the GUI on startup? I think, the host (qtractor) calls >> something like an update-method? >> >> > > as a dssi host, qtractor will send a "control" message (via osc) to > notify the gui that it needs to update its state. > > on its turn, the gui should send a similar but not in reply "control" > method that the host (ie. qtractor) will listen and effectively set the > plugin instance port value. > > do not try to write/read from any port directly. that's not the way it's > supposed to work from the dssi plugin specification. afaict > That also works fine. Thanks. >> 3. My plugin has some control ports, and they all seem to work fine. But >> i do need a control port output at the plugin, so that a response can be >> sent to the plugin gui (which is also started fine by qtractor). So i >> created a control port as output of the plugin. Now, when i change the >> data of this port from within the plugin, the GUI and qtractor do not >> recognize that the value has changed. Do you know if there's such a >> mechanism? >> >> > > hmmm... now that you speak, there may be an issue regarding dssi output > ports--unlike the newer lv2--dssi output control ports are not being > marshalled to the gui. in fact, they are being just ignored. i guess, no > one (ie. me:) has ever found the need to date, so i never implemented it :o) > hm ... only this problem is remaining. How can i send some information from the plugin code to the gui. Unfortunately the plugin is not really useable without the GUI feedback. How is that solved for the Calf Monosynth Dssi? I can see the filter changing, when i play a note. Maybe, the GUI only does receive the MIDI information and then calculate it's own GUI events? I think, i am not able to use a input port, and set it directly from my plugin code!? Is there any other method, to send some data from the plugin to it's GUI ? For better understanding. My plugin does a FFT for the incoming audio data, and the result of that FFT (only one (some) integer number (s)) has to be used in the GUI for making some visualization of what is happening after the FFT as this is a kind of pitch correction (or pitch changing). regards, mathias |