On 05.09.2024 17:11, ichthyo wrote:

On 05.09.2024 09:41, Will Godfrey wrote:
I'll try to dig into the issue with Carla, although I don't know how many
people actually use it with Yoshimi.

On 05.09.24 15:41, Kristian Amlie wrote:
For the record, I do. In fact, with Yoshimi I use nothing but Carla. 🙂

I didn't quite get it from the context, what is the issue with Carla?

- Will and myself engaged into work towards a better separation of GUI and Core

- as a prototypic solution, I developed a new connection system which allows the   GUI to enrol with the core and receive push updates. The prototype uses this
   to send effect parameters and especially the EQ response curve.

  As you know, the existing GUI code has the unfortunate habit of grabbing right
   into the SynthEngine internals, at any time, and without proper thread
  synchronisation. The push updates of larger chunks of data aim at resolving
   these long standing problems.

Indeed, it's been bugging me many times while inside the code, but I always considered it too big for me to attack. It's great that this receiving attention!

  For small updates, like single float variable, there is already the toGUI
   ringbuffer, and the "returns-update" in the GUI

- this prototype was landed somewhere this spring. But later it turned out
  that this made the feature with multiple Yoshimi instances much more fragile,   and sometimes broke it. Especially the mode where several SyntEngine instances
   are automatically re-created on start-up.

- this turned out very dificult to solve. In the end, I decided to more or less   rewrite main.cpp and introduce a dedicated InstanceManager and a well defined
   lifecycle for SyntEngine instances

- this necessitated rework of the LV2 plugin. I just finished this some days ago

Fantastic that this is close to completion!

- after welding out some bugs, Will reported that almost all hosts work now.   Just Clara starts, but does not produce any sound. Clara is difficult to build   and is known to produce lots of headaches on the programming side, since it
   tends to push the LV2 standard to its limits, or rather actually do what
   the standard permits.

Indeed! It is also one of the best hosts though, I would say. In fact it's the only host I have where all LV2 plugins work. It's my goto host whenever my native host doesn't load the LV2 plugin correctly, or something inside it doesn't work. Then I load Carla as a VST, and then Yoshimi under that as LV2. Don't ask me why VST works better, but it tends to. I think it may be related to JUCE, and their VST/LV2 support, since many hosts rely on it, also closed source ones.

For the record, I tested your branch, and I'm seeing exactly the same as you, so at least the setup appears to be correct. I briefly looked at your changes, but the differences from master are far too extensive for me to try to spot what it could be.

--
Kristian


_______________________________________________
Yoshimi-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/yoshimi-devel

Reply via email to