You are here

Restoring parameters and handling presets

Hi, I have two, hopefully small feature requests and a bug report. ( I run Qtractor 0.5.11 )

1) It would be great to have a preset selector / handler just above the original plugin's GUI (in the same window). Many plugins don't have any built-in means to handle presets so it's the host's job to handle this task. However switching all the time between two windows (original GUI and "properties" window) to handle presets is quite annoying.
Here is my mockup: http://imagizer.imageshack.us/v2/xq90/835/2whh.png (also as the attachement)

2) Also Qtractor could remember the last loaded preset name and keep it between restarts, and when any parameter was changed it would still remember the preset name, but it would also signal the change somehow (maybe with "*" like Ardour or "MOD" like Vee One). Currently when I start Qtractor and load my project again, the plugin's current preset box is empty and it's confusing. Actually, the Vee One plugins have similar problem - last loaded preset name is always forgotten when I close the plugin's window.

3) There is a nice synth called Obxd - https://obxd.wordpress.com/. It is avalable in the KXStudio repos and on the Launchpad:
https://launchpad.net/~kxstudio-debian/+archive/plugins/+packages
(I've got the lv2 version)
The problem is Qtractor doesn't restore Obxd's parameters' state when the session is loaded again (everything was saved before exit). I checked in Ardour and everything was fine so maybe the problem is somewhere in Qtractor.

Thanks for Qtractor,
Best regards

AttachmentSize
Image icon nekobi.png145.83 KB
Forums: 
rncbc's picture

hi, thanks for trying qtractor.

re. 1) and 2) feature requests i am sorry to tell that won't be possible, at least so soon; even though that embedding suggestion is featured in Ardour3 it only works for LV2 plugins with a GUI supported through libSUIL.

trouble is that it works nice for Ardour3 and its GTK2/X11 wrappers, but when dealing under a QT4 host like qtractor it's a big different story, not to tell that it is completely impossible for and when QT5 gets mainstream: libSUIL relies on old X11/XEmbed protocol to provide the embedding magic and the future is getting rid of X11 somewhere ahead on the road, possibly moving onto XCB which is a completely different but exhaustive GUI protocol, that covers all parts of UI interaction, not only embedding alien windows into each other ;)

so no, i'd be tempted to answer that i really won't waste my time on this, though i am sorry for that.

re. 3) Obxd looks like is a newcomer to LV2; i really don't know why it doesn't get its state restored in qtractor; it could just happen that you're running an old qtractor version (v0.5.11 dates from october 2013 !) and/or Obxd has some newer lv2_state interface/feature plugin implementation?... which in fact is not supported by the original authors nor i seem to get evidence whether it's open-sourced either o.O -- Obxd LV2 implementation seems to be a one third party addition, i guess tireless falktx's ? :) it doesn't seem to be provided upstream, but my eyes are getting tired anyway-- can't really say much more without any further investigation.

maybe you can provide an example session file (.qtr) on which you're sure you saved the state of a obxd-lv2 instance; by reading the plugin xml section in there maybe one can figure out what's wrong (or not:)).

hth.
cheers

Thanks for the answers;)

1) Ok, I understand the problem and I will accept the current state:)

2) But is it possible (and easy to implement) to remember current preset name in Qtractor's generic plugin's interface (called "properties") and inside Vee One plugins? It's like in graphic application: you open or create some file called "image1.png" and even after some changes it is still the same file, unless you save it as "image2.png". The only difference is Qtractor would keep the change across sessions with name "preset1" and signal that it was changed. Same for Vee One. Big hopes here:)

3) Yes, 0.5.11 is still in Debian Testing but I see 0.6.1 has recently entered Unstable. So I will try both the new Qtractor and LV2 + VST versions of Obxd and report the results here.

Cheers

Hi again, the problem's been solved:)
The source of the problem was that in the MIDI/Instrument section of the track properties window (screenshot) I changed the values of bank and program variables and I forgot about it (I was just experimenting with the presets). So even when I saved the session, after reloading the parameters were restored to the values of this MIDI program. I see some plugins store the MIDI banks/programs (like Whysynth) but most probably not (e.g. Obxd). So what is the purpose of these MIDI programs, are they for hardware devices?

In the meantime I also found some "small inconveniences":
1) When you double-click on the plugin inside the mixer window you either open the "properties" or "edit" window (depending on the config). Opening the alternative window requires you to open pop-up menu and then select it. Allowing "shift-click" or "ctrl-click" on the plugin for the alternative window ("properties" or "edit") would be helpful, convenient and welcome enhancement:)
2) During a session, a saved parameters preset is not visible to other instances of the same plugin, even for the new opened ones. It seems that the only solution is to reload the session. Probably Qtractor loads all presets when it restores the session, is there a way to trigger the reloading of the presets manually without reloading the whole session?
3) (Slightly offtopic) Is there a way to disable this red rectangle in Qjackctl systray icon? I know I have xruns, no need to blink:)

Sorry for the false alarm with Obxd.

Cheers

rncbc's picture

re. what is the purpose of these MIDI programs, are they for hardware devices?
yes, but not only for hardware devices--some instrument plugins may have a "programs" menu where you can switch or select one of its programs (or presets) either directly on the GUI or via a MIDI bank-select + program-change channel message; most few DSSI plugins have this ootb. it's also common to find this on many VSTi; you can also find this programs interface on LV2 plugins, especially the distrho supplied ones.

re. 1)... "shift-click" or "ctrl-click" on the plugin for the alternative window ("properties" or "edit")
might think about it, yeah :) [UPDATE: done on svn trunk rev.3842+ (aka. qtractor 0.6.1.8+)]

re. 2)... is there a way to trigger the reloading of the presets manually without reloading the whole session?
LV2 presets are stored in its own external namespace (files-system) and get re-enumerated only on special occasions during qtractor run-time: the whole LV2 inventory is only refreshed on session (re)start/open, so any new LV2 presets that are created during one current qtractor session are only "seen" after a next (re-)start or session opening--just an "inconvenience" indeed, but hardly a showstopper ;)

re. 3)... Is there a way to disable this red rectangle in Qjackctl systray icon? I know I have xruns, no need to blink:)
nope. there isn't any but you can clear it up on demand: middle-click on the main window or system tray icon to reset xrun stats ;)

hth.
cheers

might think about it, yeah :) [UPDATE: done on svn trunk rev.3842+ (aka. qtractor 0.6.1.8+)]
Great, thanks!

...just an "inconvenience" indeed, but hardly a showstopper ;)
Indeed;)

Cheers

Add new comment