Commit graph

41 commits

Author SHA1 Message Date
Paul Fd
bfdd1eb065 Add an output string parameter for the LV2 plugin
It contains the CC used for now
2022-01-05 11:06:42 +01:00
Paul Fd
52949ea2bc Default to plugin-side automation
Make each mode very separate (i.e. no PSA = midi ignored)
2021-12-19 21:57:02 +01:00
Paul Fd
aab807a7b5 Add new config options and bind them to the UI 2021-11-12 12:09:34 +01:00
Paul Ferrand
b1d7d6b039
Merge branch 'develop' into remember-midistate 2021-11-09 22:16:25 +01:00
Paul Fd
bdc9522662 Add multiple output capabilities to the library and plugins
Add a fast path to effect busses

Get the number of outputs in the Synth

Duplicate effect buses and process outputs separately

Update the API wrappers to handle multichannel processing

Accomodate multiple outputs in the VST plugin

Publish a 8 stereo version of the LV2 plugin

Publish a 8 stereo version of the VST3 plugin

WIP

Remove the duplication of effects

Cleanups

Debugs

Tweaks

Windows free error

Port numbers change between plugin versions

Fix warning

Proper meter backgrounds
2021-11-09 19:40:06 +01:00
Paul Ferrand
4d80c7bcf9 Differentiate between loading and reloading 2021-11-09 15:00:15 +01:00
Paul Fd
99d907e5c7 Remember the last keyswitch used in the states 2021-09-21 01:16:17 +02:00
Paul Ferrand
fbac436cc0
Merge pull request #963 from paulfd/sustain-sostenuto-psa
Add a check for sustain and sostenuto in the LV2
2021-09-10 13:56:25 +02:00
Paul Fd
57a41fd0a7 Add a check for sustain and sostenuto in the LV2
If the midi message is a sustain or sostenuto, pass it on regardless of the plugin-side automation compile time switch.
Also hide sustain/sostenuto CCs from the UI controls; most of the time they're for pedal noises and things like this.
2021-07-24 19:11:39 +02:00
Paul Fd
47f45c6f77 Port values don't need to be saved/restored
But lv2:Parameters do !
2021-07-24 10:44:19 +02:00
Jean Pierre Cimalando
23a1ab268d Deduplicate load-or-import code from plugins 2021-06-22 21:18:16 +02:00
Jean Pierre Cimalando
5ed281c6a4 lv2: A6 workaround, single output atom port
Previously, some `patch:Set` messages were directed to a distinct atom
port, when it was for notification purposes rather than automation.

Ardour does not support this, and the ports get assigned the same
buffer, producing corruption.

This commit returns to single-port behavior, and instead replaces
`patch:Set` notification messages with `sfizz:Notify` custom objects;
the UI processes these messages all the same, and they does not trigger
automation in the host.
2021-06-22 17:02:14 +02:00
Jean Pierre Cimalando
13dfddae64 Ensure plugin CC does not Reset all controllers 2021-04-30 09:56:07 +02:00
Jean Pierre Cimalando
9952d28b97 Volume meter for plugin editors 2021-04-26 15:52:29 +02:00
Jean Pierre Cimalando
c046c63014 Fix a typo 2021-04-26 10:53:04 +02:00
Jean Pierre Cimalando
bd68a4fbb0 Expose a function to free memory allocated by the library 2021-04-16 02:23:11 +02:00
Paul Fd
93f907f0ca Update channel aftertouch API
and version numbers in new APIs
2021-04-15 23:17:46 +02:00
Jean Pierre Cimalando
ce1894ccf4 Tempo API in BPM 2021-04-15 22:14:30 +02:00
Jean Pierre Cimalando
94be9902c1 Sample quality controls in UI 2021-04-10 20:52:16 +02:00
Jean Pierre Cimalando
45c36e93a8 Fix Atom port corruption in LV2 2021-04-07 15:09:37 +02:00
Jean Pierre Cimalando
30234fa8cf lv2: Add option to enable plugin-side CC automation 2021-04-06 13:16:05 +02:00
Jean Pierre Cimalando
68ee6775bb Let's not forget to send synth CC on restore 2021-04-06 00:39:46 +02:00
Jean Pierre Cimalando
cb85ca3970 Track current CC values after restore 2021-04-06 00:33:04 +02:00
Jean Pierre Cimalando
2cca5c31f3 Have distinct output port for notifying and automating 2021-04-06 00:22:25 +02:00
Jean Pierre Cimalando
a92c4fde3c Fix an error where controller is wrongly addressed 2021-04-06 00:18:25 +02:00
Jean Pierre Cimalando
1daffe1378 WIP CC save and load 2021-04-05 21:34:28 +02:00
Jean Pierre Cimalando
d2d01b73b3 Structure for storage of CC automation 2021-04-05 19:01:36 +02:00
Jean Pierre Cimalando
803c4f296e Have UI receive CC by parameter 2021-04-05 18:28:26 +02:00
Jean Pierre Cimalando
c7db9656a2 lv2: process CC by parameters in and out 2021-04-05 18:28:26 +02:00
Jean Pierre Cimalando
67b08f6663 Move ccmap in common LV2 2021-04-05 18:28:26 +02:00
Jean Pierre Cimalando
1c3104800a CC as parameters for LV2 2021-04-05 18:28:26 +02:00
Paul Fd
993620252b Support polyphonic aftertouch basics 2021-04-04 23:07:43 +02:00
Jean Pierre Cimalando
53a5e989e5 Pull model for current CC and switch 2021-04-03 23:26:14 +02:00
Jean Pierre Cimalando
9d3e365f2e Instrument description in VST and LV2 2021-04-03 23:25:19 +02:00
Jean Pierre Cimalando
7091e4d54f Make the importer a library of its own 2021-03-18 16:40:33 +01:00
Jean Pierre Cimalando
5803630c0d Eliminate a leftover comment 2021-03-07 17:58:06 +01:00
Jean Pierre Cimalando
37b5c3b1bc Add importer support in plugins 2021-03-07 17:40:05 +01:00
Jean Pierre Cimalando
097feedc95 Fix the memory corruption in LV2 2021-02-26 22:25:14 +01:00
Jean Pierre Cimalando
dc0f8692f2 Add button to reset scala file 2021-02-23 22:56:47 +01:00
Paul Fd
6deb3d37d7 Preliminary work for aftertouch handling
- Add the aftertouch modulation source
- Dispatch aftertouch events and track the aftertouch status in the midi state
- Parse cutoff_chanaft
- Convert aftertouch messages to an extended CC message
2021-02-11 06:08:36 +01:00
Jean Pierre Cimalando
af551ab96f Build LV2 with C++ 2021-02-08 16:57:54 +01:00
Renamed from plugins/lv2/sfizz.c (Browse further)