Author Topic: Master & Slave  (Read 5289 times)

Offline sdupayage

  • Newbie
  • *
  • Posts: 31
Master & Slave
« on: October 30, 2015, 10:41:12 PM »
Hi,

I'm trying to play with master & slave and wanted to know if there is a way to handle the setup once so that you don't have to copy all the setup for the slave.

As an example if I create a preset where I have an Mackie extender I have to basically copy and reprogram for all slave faders, encoders & buttons all I have done for the master part. It also gets tricky with the LCD display as I have to manage the text in 2 very independant blocks even if in reality I'd like to have this in one big screen...

Also if I want to change the extendeer from left to right it means a lot of reprogramming. Similarily if I want to had a 2nd extender then it gets very messy.

So is there a way to use variables/functions to make this a little more flexible and potentially use configuration variable to instruct the controller that you have 1 extender on slave 1 on left and 1 extender on slave 2 on the right?

I hope I have been clear enough here :/

Best,
Stéphane

Offline azslow3

  • Administrator
  • Hero Member
  • *****
  • Posts: 1692
Re: Master & Slave
« Reply #1 on: October 31, 2015, 05:28:13 PM »
There is no help in that respect. In terms of "extenders" I do not think that is ever going to happened, in terms of "strips" I am still thinking what is the best approach. So I hope that at some point it should be possible to copy the action list of let say "Fader 1" to "Fader X" and modify somewhere "1" to "X" only. But even that target is far away from current reality.

On the other hand, adding an extender is adding ~6x8 controls. Yes, copy/pasting/mods can take up to several hours (tests and bug fixing inclusive), but that is one time operation. Composing the original preset with reasonable complexity (without extender) will take many days (if not weeks). So, while routine and "messy" job, it is going to be just a small part of time your are going to spend for the whole thing.

Offline sdupayage

  • Newbie
  • *
  • Posts: 31
Re: Master & Slave
« Reply #2 on: November 01, 2015, 06:15:53 PM »
For sure but think of a preset for MCU for example and then someone wants to add an extender then we have to have 2 MCU+EX presets (one for left EX and one for right EX) and then if you have 2 EX it complexifies everything. I was just thinking of preset distribution here because of course for my own purpose I did the copy/paste/change thing and spend few hours figuring out how it works :)

What would have been really usefull was if we could have variables like arrays that could be sent to a generic function that could handle strips and here you could do some magic ;)

Offline azslow3

  • Administrator
  • Hero Member
  • *****
  • Posts: 1692
Re: Master & Slave
« Reply #3 on: November 02, 2015, 10:59:21 AM »
Variable like arrays with "generic" function is more or less there... And that is one of possible thought to generalize strip definition. But you still want separate "monitors" for every parameter as well as corresponding control and assignment.
"Arrays" are implemented as Dependent Software Sets.

Offline sdupayage

  • Newbie
  • *
  • Posts: 31
Re: Master & Slave
« Reply #4 on: November 07, 2015, 04:13:05 PM »
Ok I'll have a look. But you can't pull this out for strip allocation when displaying info on a LCD screen...

I mean if we have a logic that sets a monitor for strip 1 then when the monitor is called we know it is strip 1 so we could call a function that would indicate this function to display proper information for this strip on LCD strip 1. Then this function could be generic for all the strips simplifying a lot the writting of all monitors who would only call a generic function in the end...

Offline azslow3

  • Administrator
  • Hero Member
  • *****
  • Posts: 1692
Re: Master & Slave
« Reply #5 on: November 07, 2015, 05:01:16 PM »
What you can see in my MCU preset is a "dance" to make TouchDAW Phone work. For that I had to mimic MCU plug-in way. But the idea is not so bad at the end, I have used it in Alphatrack preset as well: in the strip logic I set "Text buffer" for some Cell in the display, real transfer to the device happens in separate function. The function is relative complex, but it can be common for all strips.

So the list of monitoring actions in each particular display can be quite short: feedback (if required), set new value in the text buffer and trigger generic monitor for the rest. The first can not be generalized since it should send particular MIDI message, other 2 can be put into one generic sub-function. 

The idea: particular fader just set some state, for example "Channel" to required number (1,2,....x), call generic function for actions and has Parameter + Value monitors. Since there can be "dependent states", for example  Mode[Channel], ParameterShift[Channel], such generic function for faders should be possible to write. But I have not tried yet. Sure, there will be some problems to solve.