jtackaberry / reaticulate

An articulation management system for REAPER
Other
100 stars 45 forks source link

Hidden flag visibility toggle with %filter_program #206

Open Kabraxist opened 1 year ago

Kabraxist commented 1 year ago

Many big name libraries out there are offering various controls on same CC among different articulations. An example would be in Sine Woodwind libraries, CC3 controls Vibrato on Sustain patches and Note Interval (HT/WT/min/maj etc) on Trill patches.

It's already possible to have different groups assigned to send CC messages, but I think it would be more handsome to have an option to hide controls that's not intended for activated articulation.

What came to my mind is having %filter_program flag to be used for "hidden" flag, too. Activating a specified a program number would 'unhide' the articulation.

//! g="SomeBank" n="SomeLib"
Bank * * SOMLI Some Lib

//! o=note:20 g=1
20 Sustain
//! o=note:21 f=toggle g=1
70 Trill

//! o=cc:3,0%70 f=hidden%70 g=2
120 Trill Minor
//! o=cc:3,127%70 f=hidden%70 g=2
121 Trill Major
//! o=cc:3,0%20 f=hidden%20 g=3
122 No Vib
//! o=cc:3,127%20 f=hidden%20 g=3
123 Crazy Vib

There would be other cool solutions like having a new flag like 'visible', that would check Output messages to derive a program number to listen for toggling visibility on.

//! o=cc:3,127 f=visible%20 g=3
123 Crazy Vib

Or maybe having the visibility toggle triggered by source articulation on groups like

//! o=note:20 g=1 f=toggle_group:3
20 Sustain
jtackaberry commented 1 year ago

Interesting ideas here @Kabraxist and I can see the use for it.

jtackaberry commented 1 year ago

Just to make sure I understand properly, this is purely a UI treatment, yeah? No actual VI control changes, and no behavioral changes apart from contextually hiding or showing articulations in the UI?

Kabraxist commented 1 year ago

Yes, you got it totally right. Purely happens in UI.