free-audio / clap

Audio Plugin API
https://cleveraudio.org/
MIT License
1.76k stars 97 forks source link

Triggers extension #229

Closed Trinitou closed 1 year ago

Trinitou commented 1 year ago

Already discussed the idea for an trigger action extension in #222.

I came to the conclusion that a modified version of the params extension might be the best way to go about it so here it is a first proposal.

Trinitou commented 1 year ago

Some things I'm not totally sure about yet so input/discussion is very welcome:

abique commented 1 year ago

I quickly went through and this is confusing. It seems that you are mixing together two different goals:

To me it seems that you are mixing GUI and DSP.

Trinitou commented 1 year ago

I quickly went through and this is confusing. It seems that you are mixing together two different goals:

  • engine trigger event, like you may want a trigger for an envelope; this is engine side, audio-thread
  • user interface actions, which may have an icon in a toolbar, be bound to shortcut, have a localized display name, a tooltip etc... and basically trigger code on the GUI (main thread)

To me it seems that you are mixing GUI and DSP.

I hope I could clear things up a bit. Now I went for the trigger event aspect first. For the other thing, I'll probably create a separate extension pull request.

Trinitou commented 1 year ago

Also I took out the "enabled" flag for triggers as it should be added to parameters as well then. But this is a completely different topic. Started a new discussion (#234).

abique commented 1 year ago

Thank you for your changes, we're almost there. 👍

abique commented 1 year ago

I think it is good as it is, I will merge the PR into the next branch and there might be more discussions about it later.

Thank you very much @Trinitou !