oxesoft / oxefmsynth

Oxe FM Synth official repository
https://oxesoft.wordpress.com/
GNU General Public License v3.0
178 stars 27 forks source link

Preset saving\loading bugs in Ardour #6

Closed Fak3 closed 8 years ago

Fak3 commented 8 years ago

Hi. I am using Ardour 4.4 on Linux with oxe-fm-synth v1.3.4. There are two issues: 1) When previously saved Ardour session is loaded - oxe does not restore previously loaded preset - it always loads first avaliable preset - Glassy Piano. (ardour preset selector says prevoius preset is loaded, but really it is not - you can hear that it sounds like Glassy Piano, and see all the knobs are wrong) Expected result: oxe should load prevoiusly saved preset. 2) When i choose some preset, move some knobs and save the session - this preset gets overwritten by current state of knobs (for this instance of oxe-synth plugin). If i will ever want to return to the original preset - i will have to delete this plugin instance, create another one and select wanted preset. This is not how other plugins handle presets. Preset should never be implicitly overwritten (even for single plugin instance) - there is "save" button for this. Also current knobs state can be saved by user explicitly as new preset. Also current sate should be saved when session is saved, but should not overwrite any named preset.

oxesoft commented 8 years ago

Hi. After a quick debug I saw that Ardour 4.4 doesn't send effSetProgram when the project is opened. It looks an Ardour bug.

Fak3 commented 8 years ago

Hmmm... I have not yet found other pure-vst plugin to test. But I tested this one: https://github.com/DISTRHO/MVerb - it works with presets properly (as i described above). It uses dpf, which uses vestige(reverse enigeered vst implementation). To my quick observation vestige does not even use effSetProgram:

#define effSetProgram 2 // currently unused
oxesoft commented 8 years ago

It looks to be a single program plugin. Because of this, the current behaviour of Ardour will work (it only sends the program/bank chunk, but doesn't selects the current program).

oxesoft commented 8 years ago

I suggest to open an issue here

Fak3 commented 8 years ago

I tested preset loading in the qtractor. The behavior is a bit different: Q1) When session saved in Qtractor, oxe-synth overwrites its first preset "Glassy Piano" with currently selected preset. And when session is loaded oxe-synth always loads "Glassy Piano" preset, instead of previously selcted. So it sounds right, when session is loaded (same sound as was saved) Q2) Point 2 of my original report still aplies here with a bit more weird behavior: If i change knobs of some preset and save session, not only this preset gets overwritten, but also it duplicates itself in the "Glassy Piano" preset, as i mention in Q1

Also i found multi-preset vst plugin that works right in both Ardour and Qtractor: Podolski sythesizier, available here: http://www.kvraudio.com/forum/viewtopic.php?f=31&t=424953 Unfortunately its source code is closed, so i have no idea how they managed to get it work.

oxesoft commented 8 years ago

I didn't understand "also it duplicates itself". Qtractor is my main DAW on Linux.

Fak3 commented 8 years ago

I mean that after session loads, i will have two identical presets - one with original name (name of preset that was selected when session was saved), and "Glassy Piano", both will have the same knobs config and sound the same, and they will both differ from original preset, that was before i touched any knobs.

oxesoft commented 8 years ago

It keeps happening in the current Qtractor version?

Fak3 commented 8 years ago

Yes. I checked 0.7.2 and git version 0.7.2.3git.8d7acb-1.1

On Thu, Dec 17, 2015 at 4:41 PM, Daniel Moura notifications@github.com wrote:

It keeps happening in the current Qtractor version?

— Reply to this email directly or view it on GitHub https://github.com/oxesoft/oxefmsynth/issues/6#issuecomment-165455595.