Troubleshooting
VCA style control group fader
Started by jonhems on .
Sign in or create an account to join the conversation.
Hi Everyone,
I'm working on a template to be used in a live sound environment allowing musicians to have remote control of their monitor mix via OSC.
Due to the large channel counts and not wanting to overload the musicians, I am trying to find a way to allow them to adjust a group of values simultaneous while retaining the relative balance between them.
e.g. They have 5 drum kit fader (Kick/Snare/Hats/Tom/OH). They adjust these 5 faders to obtain the desired balance of the kit. Then they want to adjust the relative volume of the whole kit via a single Drums master fader without losing the balance between the different channels.
This set up also needs to cater for kick/snare/etc values being adjusted from the monitor console as well.
I have tried one approach (see attached file) to this using a pair of control faders to generate a third value to be sent to the console using basic maths to maintain the relationships. However, the script I use to allow the console value adjustments to be reflected on the controllers is creating a bug. Whenever any of the faders have a value of "0" all the related fader caps disappear and the value and label displayed also vanish.
Can anyone explain what is happening here?
Also, if someone with a better grasp of the scripts can suggest a better way of achieving my desired end that would be awesome!
vca script1.0.jzml
I'm working on a template to be used in a live sound environment allowing musicians to have remote control of their monitor mix via OSC.
Due to the large channel counts and not wanting to overload the musicians, I am trying to find a way to allow them to adjust a group of values simultaneous while retaining the relative balance between them.
e.g. They have 5 drum kit fader (Kick/Snare/Hats/Tom/OH). They adjust these 5 faders to obtain the desired balance of the kit. Then they want to adjust the relative volume of the whole kit via a single Drums master fader without losing the balance between the different channels.
This set up also needs to cater for kick/snare/etc values being adjusted from the monitor console as well.
I have tried one approach (see attached file) to this using a pair of control faders to generate a third value to be sent to the console using basic maths to maintain the relationships. However, the script I use to allow the console value adjustments to be reflected on the controllers is creating a bug. Whenever any of the faders have a value of "0" all the related fader caps disappear and the value and label displayed also vanish.
Can anyone explain what is happening here?
Also, if someone with a better grasp of the scripts can suggest a better way of achieving my desired end that would be awesome!
vca script1.0.jzml
Besides the "0" bug, it doesnt even retain the relative values - pay close attention to the output faders, when you move the "control group" fader.......Nope - they are not moving equally, related to one another.
BRB
BRB
OK ermmmm....I had this crazy idea....dunno if you find it useful or not....but it is actually what you asked....
The "MasterFader" displays not one but all the "caps" of the faders it controls. Touch it ANYWHERE and move up-down to move all the controlled faders without spoiling their relative positions.
Makes much more sense once you try it out!
vca canvas.jzml
The "MasterFader" displays not one but all the "caps" of the faders it controls. Touch it ANYWHERE and move up-down to move all the controlled faders without spoiling their relative positions.
Makes much more sense once you try it out!
vca canvas.jzml
Hey Theo - seems to be a few script errors referencing objects that don't exist (Fader8 / Fader9) in the:
maybelikethis()
. . . and
ithinkthisworks()
. . . scripts attached to Fader0 through Fader4.
That said, the basic premise appears to work quite well - clever use of the Canvas object to display all the fader-caps like that. Perhaps some form of labeling or other visual cue to tie these to their respective 'parent' faders would make a nice finishing touch? I'm sure there are several ways to expand upon the original concept, for which I take my hat off to ya sirrah!
maybelikethis()
. . . and
ithinkthisworks()
. . . scripts attached to Fader0 through Fader4.
That said, the basic premise appears to work quite well - clever use of the Canvas object to display all the fader-caps like that. Perhaps some form of labeling or other visual cue to tie these to their respective 'parent' faders would make a nice finishing touch? I'm sure there are several ways to expand upon the original concept, for which I take my hat off to ya sirrah!
Oh yeah soz.,.....those were from the initial template....they are not needed anymore....
yeah I also thought it would be nice to color-code the caps (and of course the related faders) but then I realized Im spending way too much time on this lol
As it is, the caps are brighter to darker according to the fader they represent (first fader brighter, last fader darker)
vca canvas-nofalsescripts.jzml
yeah I also thought it would be nice to color-code the caps (and of course the related faders) but then I realized Im spending way too much time on this lol
As it is, the caps are brighter to darker according to the fader they represent (first fader brighter, last fader darker)
vca canvas-nofalsescripts.jzml
Aye, I figured they were non-functional / vestigial since everything worked regardless - and yeah, the suggestion for visual cues wasn't really a request that you do the work, rather a general prompt for the OP or any other interested party toward further development on the original premise.
AFAIC, you do more than your fair share of dev / tutorial work for n00bs as it is!
AFAIC, you do more than your fair share of dev / tutorial work for n00bs as it is!
Thank you!
This is brilliant!
Now I just need to get my head around what is going on so I can apply this!
I will post up the finished article in the relevant forum once its finished!
Thanks again
This is brilliant!
Now I just need to get my head around what is going on so I can apply this!
I will post up the finished article in the relevant forum once its finished!
Thanks again
hey, maybe too late to the party though,
@softcore good idea with the use of canvas!
I've a small skeleton inspired by Jazzmutant dexter (I've attached it), you can add/exclude faders to the group, the module behaves a bit in a dynamic way if you need to expand the idea with more faders, only make sure to add the new faders z expressions in "fadersTouch" variable and that's it.
btw- Container color sets the color for the faders that are in the group.
Good luck and welcome to lemur world!
Cheers,
AB Faders Group.jzlib
@softcore good idea with the use of canvas!
I've a small skeleton inspired by Jazzmutant dexter (I've attached it), you can add/exclude faders to the group, the module behaves a bit in a dynamic way if you need to expand the idea with more faders, only make sure to add the new faders z expressions in "fadersTouch" variable and that's it.
btw- Container color sets the color for the faders that are in the group.
Good luck and welcome to lemur world!
Cheers,
AB Faders Group.jzlib
Thanks Antonio, coming from you, that's a big compliment.....
Truth is, at first I wanted to use a plain old "master Fader" but I realized there is a slight implication - what happens if you have moved the Masterfader all the way up, then you just moved the some or all of the faders to a pretty low position.....This discrepancy forbids further usage of the masterFader - you 'll have to move the masterFader to a middle or lower position and re-set the faders to the desired position so that you can then use the masterFader to move all the faders.
Truth is, at first I wanted to use a plain old "master Fader" but I realized there is a slight implication - what happens if you have moved the Masterfader all the way up, then you just moved the some or all of the faders to a pretty low position.....This discrepancy forbids further usage of the masterFader - you 'll have to move the masterFader to a middle or lower position and re-set the faders to the desired position so that you can then use the masterFader to move all the faders.
ya, I see what you mean, this could be fixed with some workaround with some extra calculations though, easy fix is to change range for group x variable to (-1..1)
btw- I noticed with the canvas example that individual faders doesn't keep the initial balance between individual faders in a couple of cases, because they are overwritten by the master fader. Maybe this is an intented behaviour?
Cheers
btw- I noticed with the canvas example that individual faders doesn't keep the initial balance between individual faders in a couple of cases, because they are overwritten by the master fader. Maybe this is an intented behaviour?
Cheers
Nope, definitely not intented - something must have slipped from my thinking.
Of course, if any of the controlled faders reaches 0 or 1, the relative positioning is lost - I'd have to impose a limit so that the faders are only moving by the master fader IF they have not reached 0 or 1. A bit tricky but definitely doable
Of course, if any of the controlled faders reaches 0 or 1, the relative positioning is lost - I'd have to impose a limit so that the faders are only moving by the master fader IF they have not reached 0 or 1. A bit tricky but definitely doable
Hey,
I see, I was thinking more in DAW subgroup behaviour, logic for example stores the initial balance values and you can offset them up/down, so it has some limits, but I guess that is normal because offset works modifying the user input from the faders.
Other option could be to calculate the min/max values in the vector that master fader needs to move, I've attached an example with a Fader, easy to translate to canvas though, just notice that master fader resets to 0.5 once you make a faders settings and then you can offset (scaled) all faders up/down , replace fader with a no cap canvas would do the same thing.
Anyways you know, many ways to archive a thing.
Cheers!
AB Faders Group 2.jzlib
I see, I was thinking more in DAW subgroup behaviour, logic for example stores the initial balance values and you can offset them up/down, so it has some limits, but I guess that is normal because offset works modifying the user input from the faders.
Other option could be to calculate the min/max values in the vector that master fader needs to move, I've attached an example with a Fader, easy to translate to canvas though, just notice that master fader resets to 0.5 once you make a faders settings and then you can offset (scaled) all faders up/down , replace fader with a no cap canvas would do the same thing.
Anyways you know, many ways to archive a thing.
Cheers!
AB Faders Group 2.jzlib
Definitely liking the second approach more!!!
cool!
this module could be more "dexterized", I've added some new stuff.
edit, will upload this on modules forum.
this module could be more "dexterized", I've added some new stuff.
edit, will upload this on modules forum.
Sliiiiiick! 
/ me hastens to figure out how you did the on-touch colour changes!
/ me hastens to figure out how you did the on-touch colour changes!
Thanks again for the help here.
Antonio's first version is exactly what I am looking for!
This is a really awesome community! I'm just amazed to find people so willing to put in the time to program these modules for a random guy on a forum!
A million thanks
JonHems
Antonio's first version is exactly what I am looking for!
This is a really awesome community! I'm just amazed to find people so willing to put in the time to program these modules for a random guy on a forum!
A million thanks
JonHems
Hi JonHems,
No prob, glad that helps.
Community is crucial for apps like lemur imho, forum goes a bit quiet sometimes, but you'll find always some users like softcore Macciza, Joe, trying to help often , I try too if I have time though.
Btw- I've uploaded the faders gem to modules section, ready to use up to 16 faders if needed:
https://forum.liine.net/viewtopic.php?f=34&t=4410
@Joe very easy, I am sure that you figured the way to do that already
Cheers,
No prob, glad that helps.
Community is crucial for apps like lemur imho, forum goes a bit quiet sometimes, but you'll find always some users like softcore Macciza, Joe, trying to help often , I try too if I have time though.
Btw- I've uploaded the faders gem to modules section, ready to use up to 16 faders if needed:
https://forum.liine.net/viewtopic.php?f=34&t=4410
@Joe very easy, I am sure that you figured the way to do that already
Cheers,