Home AMX User Forum NetLinx Studio
Options

Amx audio switcher AS8 - Combine Channels/Levels

Hi all,

I'm starting to write code to control an Amx audio switcher(havent programmed one before, usually use third party audio switchers). We'll be getting the switcher in a few days but i'm making a start on the programming now. I'm just wondering if its as simple as combining the volume up/down channels on the touch panel with those on the audioswitcher itself, and similarly with the levels.

Eg. if i press volume up on the touch panel will the volume go up on the switcher without the need to write any code other then the combine_channels statement. Similarly when the volume is raised, this causes the appropriate level on the switcher to change and subsequently the volume bar on the touch panel to change, simply by the two levels being combined?

Cheers

Comments

  • Options
    Reese JacobsReese Jacobs Posts: 347
    Amx audio switcher AS8 - Combine Channels/Levels

    Programming with the AS8/AS16 switchers would be a snap if it was as easy as combining levels for control. Unfortunately, the levels on the AS8, AS16, and the AMP8 devices are all display only and hence can not be used for direct control of volume. They can be combined with touchpanel levels for display purposes and the touchpanel level will track level changes made to the switcher or the amp. However, active level control of the switcher or the amp through the touchpanel is not possible through simple level combines.

    The AS8/16 and AMP8 devices were made for the Landmark product line and while Netlinx modules for them have been provided, certain functions available under Landmark did not make the transition to Netlinx and direct level control of the device is one of them. Additionally, you will find there are programming techniques on the switchers that need to be avoided (see below).

    To program an AS8/16 with a Netlinx system, most people handle touchpanel level events for volume changes and then send the desired volume to the switcher using SEND_COMMAND. Volume can be sent to the switcher in level format (0-255) or in percentage format (0-100). This allows you to set up your bargraph on the touchpanel for 0-100 or 0-255 ranges and then there is no mapping required when sending the volume to the switcher. The AS switchers also support volume ramping but use this with caution. By turning on certain channels on the switcher, you can ramp volume up and down for a mono or stereo zone. While this sounds great and your first thought is to provide a ramp function on the touchpanel, be aware that ramping on the AS switchers is a strenuous task. Ramping one zone stresses the switcher tremendously and trying to ramp two zones (channels) at the same time will almost certainly crash the switcher. I have tried volume ramping on an AS16 and can attest to the fact that it is not handled well and generally crashes the switcher. Also, due to the way the Landmark devices are processed for ONLINE handling, it is entirely possible that if an AS8/16 switcher crashes, it may not come back ONLINE properly until the switcher is powered off/on or the Master is rebooted.

    There is a Tech Note that covers many of these limitations on the AMX web site. I generally avoid ramping volume on the AS switchers and use the SEND_COMMAND technique to make volume changes as requested from a touchpanel or a DMS keypad (the DMS keypad is another of the Landmark devices that does not support direct level control under Netlinx).

    See the Tech Note 561 for more information and also consult the Module Notes for the AS8/AS16 switcher Netlinx module for more information. Wish the news was better -- hope the information was useful.

    Reese
  • Options
    dbradydbrady Posts: 30
    Thanks for the advice/recommendations Reese. It did seem too good to be true. I guess i've a good bit more code to write then i thought.

    Cheers
  • Options
    wcravenelwcravenel Posts: 114
    The module will get you started for good basic control. The only problem is that every client you present the TP layout to will try to ask "why is the logic inverted? " They won't be able to ask it that way though, they will just say they can't remember or it doesn't work. My suggestion: invert the logic and present main rooms in separate pages.

    I am very hopeful that these pieces are on the chopping block at InfoComm. I have done quite a few in NetLinx, and the limitations sum to a challenging device all around. Not to mention "Music zones can't do the fancy volume control" (active bargraph).

    I have a TPD4 & code that might help for multiple switchers, if interested.

    P.S. Don't let the ramp UP function go out of control for the whole house. Sort of like crossing the streams in Ghostbusters. Important safety tip....

    Bill Ravenel
  • Options
    DHawthorneDHawthorne Posts: 4,584
    They are still very easy to control. I make an integer array with a value for every audio zone, then use CREATE_LEVEL in DEFINE_START to link them with the switcher volume levels. Then I use the "'SL'" command to increment the level with my volume up and down buttons by doing a mathematical operation on the integer for that zone, and display it with the bargraph. This makes it easier to have a control that can navigate from room to room.

    If you want direct manipulation of the volume via your bargraph instead of using up/down buttons, simply make a LEVEL_EVENT tied to the bargraph that sends the level to the switcher with the same SL command. The only drawback to this in my mind is that you can't always get proper feedback without creating a loop. You can set the volume to whatever your level has moved to, but if you send it back to the bargraph, it will generate another level event, and the cycle begins. So I usually limit control to up/down buttons.
  • Options
    Spire_JeffSpire_Jeff Posts: 1,917
    I keep hearing rumors that AMX is working on replacements for the current A/V switchers, so I'm keeping my fingers crossed.

    I also enjoyed the Ghostbusters reference :)

    Jeff
  • Options
    dbradydbrady Posts: 30
    Thanks Everyone,

    I've pretty much just coded an up and down button for each panel and ramp it using a hold button event. The bargraph is display only as i always use because of the looping DHawthorne pointed out. There'll be no multizone control for this job either so its pretty simple all round. Thanks for all your help.

    P.s
    wcravenel, there was no touch panel file in the module i downloaded so i'm not quite sure what you mean about inverted feedback, perhaps you have an older download? Thanks for the offer of a code sample but i think i'm ok now.

    Cheers
  • Options
    wcravenelwcravenel Posts: 114
    TP file is the one from Landmark Module Test Code (attached).

    Inverted simply meaning the selection of outbound zone is already determined by the button itself. User does not have to select Off or source first, as in test code attached.

    Ie. separate port for a given output zone on a TP, then stacked button events 1 - n to select input:

    SEND_COMMAND vdvAS8, "'AI',ITOA(button.input.channel),'O4'"
Sign In or Register to comment.