Home BSS User Forum BSS Archive Threads Discussion London Architect with Soundweb London

Controlling a source selector with buttons

Somebody asked about this functionality in a different posting, but the title of that posting had nothing to do with this functionality. So, I'm answering it over here so that people can find this info more easily later. Right?

If you place an unassigned button on a control panel (right-click, NEW, VECTOR BUTTON), you can use that button to trigger one of the states on a source selector. Just grab the source selector control on a different control panel and drag it onto the button. When the green outline appears around the button, release the mouse and drop the selector onto the button. The state variable for that source selector is now assigned to that button. In the PROPERTIES window, that button will have a property called \"On Value\". Set that to the value of the source which you want selected when you press that button. The button will automatically turn off when any other source is selected. If you manually turn the button off, the source selector will be set to source zero (none).

This works with almost every type of control. You can use any of the various buttons, the hyperlink, etc. You can even assign a source selector to a fader, but that's just going to make bad things happen to your brain.

The thing you can't do (I'm trying to find out why), is link a logic end to the source selector and change the sources that way. Oddly enough, if you link a source selector and a logic end together, you end up with the source selector driving the logic end rather than the other way around. I dunno. I'll post a reply to this when I find out what the deal is with that. This isn't true. Read the next post.

Dan

Comments

  • Dan LynchDan Lynch Posts: 472
    ..and the answer is, \"Dan was being sloppy\". If I'd paid more attention and actually set up the detailed testing that I'm always grouching at other people to do, I'd have noticed the real relationship between the objects. Oh well, that's why we have programmers. So they can tell us when we've done or said something dumb.

    Let me start this by saying, \"Linking a Logic End to a Source Selector works perfectly, simply, logically, and exactly the way that it should.\" More or less. This is true even though my explanation may be long-winded and complex.

    First of all, remember that everything is a state variable. All of the things we play around with in London Architect are really just a bunch of values. When we place a source selector, we're actually just creating a state variable which will store a numeric value which tells us which input is supposed to be routed to the output. If two state variables are linked, then London Architect and the BLU-X firmware will do whatever they have to do to make those two values be the same.

    So, what was going wrong in my original quick attempt to do this? In order to link a source selector to a logic end, they must have the same min and max values.
    * A logic end with 3 inputs has 8 possible values (0 to 7).
    * An 8 input source selector has 9 possible values (0 to 8).
    * If you turn off the \"Allow None\" property on the source selector, its range becomes 1 to 8, not 0 to 7. DUH.
    So, I wasn't allowed to MAKE this link. However, note that London Architect and the BLU-X firmware are quite capable of dealing with situations in which the min or max do not match.

    If you have two, linked state variables, they will both be restricted to values which can legally be stored in both of them. So, in this example, the 8th input of the source selector will never be accessible because the logic end isn't allowed to store the value 8. If you set the source selector to 8, the logic end will try to match it but it maxes out at 7. Since the logic end is now at 7, the link law causes the source selector to be changed to 7 to match the logic end.

    But, if you can't MAKE the link, what good does this do? Simple. You just cheat. Set your source selector to 7 inputs and your logic end to 3 inputs. Now they're both 0 to 7. Link them and then change their inputs to anything you want. The link won't break, they'll just both be restricted to values that they both can handle.

    Ok. So how do we solve the original problem? We want to drive a source selector with logic. Easy. We just need a bigger hammer. Or a bigger logic end. We need:
    * 8x Logic Source - these are radio linked and are used to select the 8 sources
    * 1x Truth Table - takes in the 8 individual lines from the sources and outputs them to 4 lines as a binary value
    * 1x Logic End (4 input) - takes the 4 lines from the truth table and stores the current value
    Our logic end state variable can store any value from 0 to 15 and our source selector can store any value from 0 to 8, so we'll cheat as described above to make them both 0 to 7 for the couple of seconds needed to link them and then we'll switch them back. Program the truth table so that our 8 source buttons each generate the correct binary value going to the logic end and we're done.

    This is intended to be an example of how to use logic to control a source selector. If all you needed was buttons, there are easier ways. However, if you want to do logic triggered changes to the source selector (scheduled, priority based, etc) then you'll need to use this method so that logic can control the source selector.

    Also, for everyone who is about to hit REPLY and type \"why not just use presets?\"... Parameter presets are a really cool tool which, in my opinion, should be used only when they are the only tool for the job. It's really easy to get hideously sloppy when using parameter presets.
This discussion has been closed.