Hi,
I'm trying to clear out behaviour of concpet of audio and video pipes. They are quite useful, but I'm banging my head against a problem, where I'm trynig to write multi zone support for Marantz sr5600 audio receiver (it has 2 output zones if configured in multiroom mode)...
In other related thread on making proper template, Aaron suggested Yamaha receiver GSD that is quite similar. I'm following that example, but can't get it work in that part, where GSD code is trying to determine from which zone command is coming (this is crucial, cause Marantz has different serial commands for main or second output zone - so parent has to distinguish between same commands but coming from different audio zones).
Yamaha template attacks this problem with declaring second embedded child device being generic audio zone - you just put it into that room where you have secondary speakers. Then I did pipe connection to that audio device from MD in that room. Then I also connected that embedded audio zone device to CD input of receiver (that's where the physical line out from MD goes into Receiver).
Now when I start play on that secondary MD, I get this in DCERouter's log :
08 03/20/08 11:07:52.187 Received Message from 41 (Windows XP PC/tablet (Horiz) / Living Room) to 10 (Media Plug-in / ), type 1 id 43 Command:MH Play Media, retry none, parameters: <0x9e4fcb90>
08 03/20/08 11:07:52.187 Parameter 2(PK_Device): 0 <0x9e4fcb90>
08 03/20/08 11:07:52.187 Parameter 13(Filename): !F32794 <0x9e4fcb90>
08 03/20/08 11:07:52.187 Parameter 29(PK_MediaType): 0 <0x9e4fcb90>
08 03/20/08 11:07:52.188 Parameter 44(PK_DeviceTemplate): 0 <0x9e4fcb90>
08 03/20/08 11:07:52.188 Parameter 45(PK_EntertainArea): 9 <0x9e4fcb90>
08 03/20/08 11:07:52.188 Parameter 116(Resume): 0 <0x9e4fcb90>
08 03/20/08 11:07:52.188 Parameter 117(Repeat): 0 <0x9e4fcb90>
08 03/20/08 11:07:52.189 Received Message from 41 (Windows XP PC/tablet (Horiz) / Living Room) to 6 (Datagrid Plug-in / ), type 1 id 35 Command:Populate Datagrid, retry none, parameters: <0x56ee6b90>
08 03/20/08 11:07:52.189 Parameter 4(PK_Variable): 0 <0x56ee6b90>
08 03/20/08 11:07:52.189 Parameter 5(Value To Assign): <0x56ee6b90>
08 03/20/08 11:07:52.189 Parameter 10(ID): 37 <0x56ee6b90>
08 03/20/08 11:07:52.189 Parameter 15(DataGrid ID): MediaFile_41 <0x56ee6b90>
08 03/20/08 11:07:52.189 Parameter 38(PK_DataGrid): 63 <0x56ee6b90>
08 03/20/08 11:07:52.189 Parameter 39(Options): 4||||1,2|0|13|0 | 2 | 813 <0x56ee6b90>
08 03/20/08 11:07:52.189 Parameter 40(IsSuccessful): 1 <0x56ee6b90>
08 03/20/08 11:07:52.189 Parameter 44(PK_DeviceTemplate): 0 <0x56ee6b90>
08 03/20/08 11:07:52.189 Parameter 60(Width): 1 <0x56ee6b90>
08 03/20/08 11:07:52.189 Parameter 61(Height): 8 <0x56ee6b90>
07 03/20/08 11:07:52.192 Event #21 has no handlers <0xa3e24b90>
07 03/20/08 11:07:52.192 Received Message from 10 (Media Plug-in / ) to -1001 (unknown / ), type 2 id 21 Event:Listening to Media, retry none, parameters: <0xa3e24b90>
07 03/20/08 11:07:52.192 Parameter 27(PK_Room): 7 <0xa3e24b90>
08 03/20/08 11:07:52.196 Received Message from 10 (Media Plug-in / ) to 32 (Kids-Audio / Kids), type 1 id 192 Command:On, retry none, parameters: <0xa3e24b90>
08 03/20/08 11:07:52.196 Parameter 97(PK_Pipe): 1 <0xa3e24b90>
08 03/20/08 11:07:52.196 Parameter 98(PK_Device_Pipes): <0xa3e24b90>
08 03/20/08 11:07:52.196 Received Message from 10 (Media Plug-in / ) to 219 (Kids - Amplifier (Multiroom) / Kids), type 1 id 192 Command:On, retry none, parameters: <0xb6c34b90>
08 03/20/08 11:07:52.196 Parameter 97(PK_Pipe): 1 <0xb6c34b90>
08 03/20/08 11:07:52.196 Parameter 98(PK_Device_Pipes): <0xb6c34b90>
08 03/20/08 11:07:52.197 Received Message from 10 (Media Plug-in / ) to 216 (Main Audio - Marantz SR5600 / Living Room), type 1 id 192 Command:On, retry none, parameters: <0xb6c34b90>
08 03/20/08 11:07:52.197 Parameter 97(PK_Pipe): 1 <0xb6c34b90>
08 03/20/08 11:07:52.197 Parameter 98(PK_Device_Pipes): <0xb6c34b90>
08 03/20/08 11:07:52.197 Received Message from 10 (Media Plug-in / ) to 216 (Main Audio - Marantz SR5600 / Living Room), type 1 id 91 Command:Input Select, retry none, parameters: <0xb6c34b90>
08 03/20/08 11:07:52.197 Parameter 71(PK_Command_Input(CD)): 162 <0xb6c34b90>
08 03/20/08 11:07:52.198 Received Message from 10 (Media Plug-in / ) to 34 (OnScreen Orbiter / Kids), type 1 id 192 Command:On, retry none, parameters: <0xa3e24b90>
08 03/20/08 11:07:52.198 Parameter 97(PK_Pipe): 1 <0xa3e24b90>
08 03/20/08 11:07:52.198 Parameter 98(PK_Device_Pipes): <0xa3e24b90>
08 03/20/08 11:07:52.198 Received Message from 10 (Media Plug-in / ) to 37 (Xine Player / Kids), type 1 id 192 Command:On, retry none, parameters: <0xa3e24b90>
08 03/20/08 11:07:52.198 Parameter 97(PK_Pipe): 1 <0xa3e24b90>
08 03/20/08 11:07:52.198 Parameter 98(PK_Device_Pipes): <0xa3e24b90>
08 03/20/08 11:07:52.199 Received Message from 10 (Media Plug-in / ) to 34 (OnScreen Orbiter / Kids), type 1 id 242 Command:Set Now Playing, retry none, parameters: <0xa3e24b90>
08 03/20/08 11:07:52.199 Parameter 3(PK_DesignObj): 54,4962,47,244,224,230 <0xa3e24b90>
08 03/20/08 11:07:52.199 Parameter 5(Value To Assign): ABBA
08 03/20/08 11:07:52.199 Parameter 9(Text): Dancing Queen <0xa3e24b90>
08 03/20/08 11:07:52.199 Parameter 29(PK_MediaType): 4 <0xa3e24b90>
08 03/20/08 11:07:52.199 Parameter 41(StreamID): 1001 <0xa3e24b90>
08 03/20/08 11:07:52.199 Parameter 48(Value): 0 <0xa3e24b90>
08 03/20/08 11:07:52.199 Parameter 50(Name): pluto-xine-playback-window.pluto-xine-playback-window <0xa3e24b90>
08 03/20/08 11:07:52.199 Parameter 103(List PK Device): 37,37,216,,1,0,0 <0xa3e24b90>
08 03/20/08 11:07:52.199 Parameter 120(Retransmit): 0 <0xa3e24b90>
PArticularly important are those :
08 03/20/08 11:07:52.196 Received Message from 10 (Media Plug-in / ) to 219 (Kids - Amplifier (Multiroom) / Kids), type 1 id 192 Command:On, retry none, parameters: <0xb6c34b90>
08 03/20/08 11:07:52.196 Parameter 97(PK_Pipe): 1 <0xb6c34b90>
08 03/20/08 11:07:52.196 Parameter 98(PK_Device_Pipes): <0xb6c34b90>
08 03/20/08 11:07:52.197 Received Message from 10 (Media Plug-in / ) to 216 (Main Audio - Marantz SR5600 / Living Room), type 1 id 192 Command:On, retry none, parameters: <0xb6c34b90>
08 03/20/08 11:07:52.197 Parameter 97(PK_Pipe): 1 <0xb6c34b90>
08 03/20/08 11:07:52.197 Parameter 98(PK_Device_Pipes): <0xb6c34b90>
08 03/20/08 11:07:52.197 Received Message from 10 (Media Plug-in / ) to 216 (Main Audio - Marantz SR5600 / Living Room), type 1 id 91 Command:Input Select, retry none, parameters: <0xb6c34b90>
08 03/20/08 11:07:52.197 Parameter 71(PK_Command_Input(CD)): 162 <0xb6c34b90>
and I see some behaviour I'm not sure is consistent with the concept of audio pipe. The whole idea of pipes is about connected devices. So when you start playing something on MD, command On propagates to all connnected devices (amplifiers, TV, and similar). That's probably ok, the problem is that maybe you cannot determin from where did your command come, if media plugin is the sender of all commands to devices on audio pipe... Shouldn't this be changed ?
So my Marantz receiver gets all those commands but not from same source :
20-03-2008 11:07:52 Determine zone for command : 1
20-03-2008 11:07:52 Sending Command: @MSP:2
20-03-2008 11:07:52 Determine zone for command : 0
20-03-2008 11:07:52 Sending Command: @PWR:2
20-03-2008 11:07:52 Got from Marantz: @
20-03-2008 11:07:52 Got from Marantz: @MSP:2
20-03-2008 11:07:54 Determine zone for command : 0
20-03-2008 11:07:54 Sending Command: @SRC:C
First command turns secondary speakers on, second one is power on for receiver (if not already on) and third is input selection. My GSD code (same as that one in Yamaha template) decides from where those commands are coming. And first command On is propagated correctly since Marantz receives it from its child device (that is from embedded audio zone device), but same doesn't happen for other two commands (Media plugin sends them directly to parent Marantz device- and therefore disregards previous destination of commands - I guess commands should go from Media plugin to embedded audio zone device and then it could be parsed correctly with the GSD code in parent device)....
Am I making any sense or am I missing something ? Any opinion would be welcome...
Thanks in advance,
regards,
Bulek.