playbenny / benny

a live music environment
Other
65 stars 3 forks source link

external hardware matrix / soundcard matrix (eg totalmix) control #487

Open jamesholdenmusic opened 2 weeks ago

jamesholdenmusic commented 2 weeks ago

eg alysseum matrix, erica matrix and eg RME totalmix

this is part done but needs to be extended a lot

so: a poly that holds 'matrix drivers' - or perhaps they can just go in a note block? they don't need any particular connections so that's fine? no need for another poly.. but do need code to make sure that note block(s) stay loaded?

matrix driver handles the job of 'make this connection' or 'disable this connection' (or set connection gain) - so they're very simple

a hw config may contain multiple layers of matrix devices and an item in a hw config may contain multiple matrix connections? no let's just stick to one, the soundcard mixer is a separate layer (that happens automatically on hw-hw audio connections if available)

oh: totalmix output numbers presumably line up with hw output numbers always? so you could have 'use soundcard mixer' as a flag for hw io? (or even just assume they can all be routed by it?)

hw file: has a key 'soundcard mixer driver : totalmix.maxpat' etc and a 'external matrix driver : alysseum.maxpat'

jamesholdenmusic commented 2 weeks ago

poly added, it's called drivers_poly in the js the hardware editor has dropdowns for these drivers and stores them in config --todo, if matrix_ext present, show matrix channel select for hw items

jamesholdenmusic commented 2 weeks ago

rme totalmix driver: i think you can use the bankstart to select any channel?

-initialisation: -go through and set every input channel & output channel to mono -go through each submix and set all faders to zero

-setting/clearing a connection: -this is done?

jamesholdenmusic commented 1 week ago

AN ISSUE: both types of matrix connection don't show on the meters i'm not sure there's a way round this? to route to the meter you have to route to the input or output? aaand a connection could have a direct and software inputs.. painful! you could just put some kind of special indicator on?