Home AMX User Forum NetLinx Studio

Audio Request via MSP 8

Hi everyone,

I am running into an issue with the Audio Request ( F Series ) controlled by MSP 8's.

The problem is that when you select the source it connects to the Zone which its one, but it doesnt select any default music. Any ideas on how to do that without putting it into random mode?

Thanks


BTW using the DO_PUSH() commands

Comments

  • ondrovicondrovic Posts: 217
    never mind think i got it fixed lol
  • alexanboalexanbo Posts: 282
    Well you probably figured it out but if you send it the play command it will play whatever the last thing that was in the queue and if the queue is empty it will go into random play.
  • has anyone found actual commands instead of DO_PUSH commands ?

    to select any of the playlists i do DO_PUSH code similiar to this..

    DO_PUSH(TP1mp,200); //zone 1
    wait 5
    {
    DO_PUSH(TP1mp,11); //playlists
    wait 5
    {
    DO_PUSH(TP1mp,89); //item 1, increment for each playlist
    wait 5
    {
    DO_PUSH(TP1mp,20); //play now
    wait 5
    {
    //DO_PUSH(TP1Scenes,7); //zone 1 on
    }
    }
    }
    }
  • ondrovicondrovic Posts: 217
    thanks for the help :)
  • DHawthorneDHawthorne Posts: 4,584
    has anyone found actual commands instead of DO_PUSH commands ?

    to select any of the playlists i do DO_PUSH code similiar to this..

    DO_PUSH(TP1mp,200); //zone 1
    wait 5
    {
    DO_PUSH(TP1mp,11); //playlists
    wait 5
    {
    DO_PUSH(TP1mp,89); //item 1, increment for each playlist
    wait 5
    {
    DO_PUSH(TP1mp,20); //play now
    wait 5
    {
    //DO_PUSH(TP1Scenes,7); //zone 1 on
    }
    }
    }
    }

    That's why I dislike the paradigm of making the entire interface simply button presses. I really like the idea of a virtual you can send commands to, so you aren't forced to that kind of coding. I've taken to adding a command interface to modules that don't already have one, just for that reason.
  • alexanboalexanbo Posts: 282
    Richard,

    Request does have a protocol document up on site that tells you the commands you need to send. Now with the older firmware I was able to figure out to send the up command for example:

    SEND_COMMAND vdvCDLIB1,"$30,$15"

    Now the new firmware with multiple zones broke that command and you'd probably have to do some reverse engineering to figure out how to send the command in the new protocol. I got lazy and just used the do push method.

    In fact how I usually do Request control is declare a virtual touchpanel to control each zone of request. Then any panel that uses the request gets combined with the virtual touchpanel on an as needed basis. This allows me to guarantee that the panel is online and is controlling a specific zone when I go to do DO_PUSH.
  • LegacyUserLegacyUser Posts: 0
    i do use the AR supplied panel. and it's quite good, works well, for a user interface.

    but when i want to do scripting/events seperate from the panel, that's where the direct interface commands are required.
  • LegacyUserLegacyUser Posts: 0
    DHawthorne wrote:
    That's why I dislike the paradigm of making the entire interface simply button presses. I really like the idea of a virtual you can send commands to, so you aren't forced to that kind of coding. I've taken to adding a command interface to modules that don't already have one, just for that reason.

    that's a neat idea Dave. do you place the DO_PUSHes within the module ?

    i've a similiar problem with the MAX interface. there is no command to tell a panel to control a new zone. so i can only send a macro of DO_PUSHes. to place that inside another module could make that re-usable. thanks for the idea.
  • alexanboalexanbo Posts: 282
    So just looking at the protocol for the newer firmware Request, you need to add a footer to the command sent.

    So if you wanted zone 1 to play for example I think you'd do this:

    SEND_COMMAND vdvCDLIB1,"$30,$08,$F1,$FF,$FB"

    Since the zone change though you might have to send it to the IP device directly, ie dvCDLIB1 instead of through the virtual devices.

    Now I don't have a Request piece with the new firmware kicking around here at the office at the moment so can't test any of that but thought I'd share the idea of how I think it should work.
  • LegacyUserLegacyUser Posts: 0
    looks interesting, i'll try and get hold of the protocols myself. i am guessing they are at request.com

    certainly looks like much neater way, thanks for the insight
  • DHawthorneDHawthorne Posts: 4,584
    that's a neat idea Dave. do you place the DO_PUSHes within the module ?

    i've a similiar problem with the MAX interface. there is no command to tell a panel to control a new zone. so i can only send a macro of DO_PUSHes. to place that inside another module could make that re-usable. thanks for the idea.

    Generally, I try to get deep enough into the controlled device to aviod DO_PUSH altogether. The last module I did this with was the Escient provided Fireball module. They had everything tied to touch panels, but I had some MSP keypads on the job their module wouldn't even recognize if I used DO_PUSH to the appropriate panel. So I added my command interface, and send the direct commands that the Fireball required for the keypad, leaving their panel interface intact for the panels on the job. Best of both worlds. In that case, however, I had the full source code, not just a compiled module file ... in other cases you might be forced to use the DO_PUSH inside your interface; though I would think a PASSTHRU (which AMX nearly always provides) would do it in many cases too. You mentioned the MAX interface - that would be another perfect module to add this too. If you trace the provided code to the BUTTON_EVENT for changing zones, you will see it just changes a variable. It would be a simple matter to add a COMMAND event to change it, and even do bounds checking first.

    I like this method so much I have taken to adding a virtual to my systems just for debugging and Telnet control. All it does is accept commands and provide feedback. I can query the sytem for what zones ae on, what volume levels are set, and ask it to provide detailed debugging. I had perviously been doing it only with modules, but liked how it worked out so much I expanded it to the main code as well.
Sign In or Register to comment.