bitfocus / companion-module-behringer-xair

MIT License
16 stars 8 forks source link

[Feature Request] Allow variables to select channel in actions and feedbacks #120

Open SECtim opened 1 week ago

SECtim commented 1 week ago

Most actions and feedbacks require the selection of a channel (or bus, ...), e.g., the "Mute Channel" action via selecting the "type" of channel/bus/..., e.g., "Channel 1-16", or "Bus master 1-6", and providing a number, e.g., "12". Now, it would be neat if at least that number could be provided via a variable.

My use-case is a more complex page setup on the StreamDeck+; basically I want the top two rows of buttons to always show the (to me) 8 relevant inputs, and the touchscreen + encoders to control volume/mute/solo/... for 4 of them. Now, the idea is to use the top 8 buttons to "select" which 4 channels I want to control with the touchscreen and encoders. To illustrate, consider the following "one-column" example:

+------+  \
| Ch01 |   \
| 55 % |   |
+------+   | top 2 rows
+------+   | (buttons)
| Ch02 |   |
| 24 % |   /
+------+  /
+------+
|  Ch1 |     touch-
|  ON  |     screen
+------+
   /\        rotary
   \/        encoder

Now, when I press on the "Ch02" button, I want to change the touchscreen an rotary encoder to control (and show info about) channel 2. With one column, this is of course easy to achieve using pages, but with 4 columns, the necessary page setup gets rather messy... If I could instead just set a custom variable column_1_channel_nr to 2 when pressing the "Ch02" button and use this variable for all actions and feedbacks on the touchscreen and rotary encoder, it'd be much simpler.

istnv commented 1 week ago

The way the channels are grouped (channel, bus send, bus return, main) prevents an easy change to 'use variables here' . I have thought about using the index from the meter array that maps a meter 'Number' to channel/bus/etc. This won't happen real soon as I just got swamped with new projects.