Mediapoint control
MULTIROOM OUTPUT POINT CONTROL INSTRUCTIONS
setStatus(MR, {SpeakerCmd}); MRID – speaker address, for example 738:30; SpeakerCmd – set of commands, seperated by space.
List of commands
Parameter | Value | Description |
---|---|---|
v vol volume |
0…250 +0…250 -0…250 |
volume level. With "+" or "-" increasing or decreasing volume level by the value |
m mute |
0 1 other |
mute on mute off inverse |
p pos position |
s.ms h:m:s.ms m:s |
position for start playing |
s=1 play |
start playing | |
s=0 stop |
stop playing | |
s=4 pause |
pause playing | |
ss | s.ms m:s |
soft start for current track |
ssd | s.ms m:s |
default level of soft start, it works for all tracks until the reboot |
r prior priorites |
0…250 -1 |
priorities of playing sounds r=-1 send command with the priority of current or last track |
u url |
link to media file |
Example:
1When script activated , start playing (s=1) to speaker 582:30 with mute off (m=0) from position 1 minute 20 seconds (p=1:20) with volume level 120(v=120),
2priority 1 (r=1), soft start 10 seconds 50 milliseconds (ss=10.50), link to media file ("url=http://192.168.1.111/NAME.mp3").
3When script turned off, send stop command to speaker 582:30 with priority 1.
4
5<item addr="582:200" name="Play" type="script" uniq_id="5328">
6V-ID/V-ADDR
7{
8 if(opt0()) setStatus(582:30,{"v=120 m=0 p=1:20 s=1 r=1 ss=10.50 url=http://192.168.1.111/NAME.mp3"});
9 else setStatus(582:30,{"stop r=1"});
10}
11</item>
Previously version of commands (fully supported). SpeakerCmd is array of command code and value to set
1SpeakerCmdPlay = 1, file/link play. Example: setStatus(MRID:30, {1, VOLUME, PRIORITY, "MIDURL"});,
2here VOLUME - sound level, PRIORITY - priority, MIDURL - link to media file. Example: setStatus(297:30, {1, 120, 0, "http://192.168.1.125/voice/sirena.mp3"});.
3For reproducing from interface to the loudspeaker - setStatus(MRID:30, {1, 180, 0, "mr://INTERFACE_ID:31"}); and to stop broadcasting - setStatus(MRID:30, 0);.
4For reproducing from interface to the interface - setStatus(INTERFACE_ID1:30, {1, 180, 0, "mr://INTERFACE_ID2:31"}); and to stop broadcasting - setStatus(INTERFACE_ID1:30, 0);.
5
6SpeakerCmdStop = 0, stop. setStatus(MRID:30, 0);
7 SpeakerCmdPause = 2, pause. setStatus(MRID:30, 2);.
8 SpeakerCmdContinue = 3, continue. setStatus(MRID:30, 3);.
9 SpeakerCmdVolume = 4, sound level setting VOLUME, 0-250. setStatus(MRID:30, {4,VOLUME});.
10 SpeakerCmdVolumeRel = 5, increment/decrement sound for VOLUME value from the current. setStatus(MRID:30, {5,-VOLUME});.
11 SpeakerCmdMute = 6, sound off. setStatus(MRID:30, {6,1})- mute off, setStatus(MRID:30, {6,0})- mute on.
12SpeakerCmdBalanse = 7, balance.
13 SpeakerCmdSetUrl = 8, URL play. setStatus(297:30, {8,"http://stream1.lux.fm:8088"});.
14 SpeakerCmdSeek = 9, playback setting from the position specified in the command, milliseconds from track start, 4 bytes. setStatus(MRID:30, {9,0,1,0,0}); - playback starting from 256 milliseconds.
15SpeakerCmdSeekRel = 10, forward/backward winding.
16SpeakerCmdPauseReverse = 11, change of the command "pause" into the command "continue" and change from "continue" into "pause" setStatus(MRID:30, 11);
17SpeakerCmdSetSyncMaster = 32, synchronise, setStatus(MRID:30,{32,MasterSubID,MasterID_low,MasterID_hi});
18 SpeakerCmdPlayingSync = 33, synchronise the reproduction on the devices, setStatus(MRID:30,{32,SlaveSubID,SlaveID_low,SlaveID_hi,SlaveSubID1,SlaveID1_low,SlaveID1_hi,...,SlaveSubIDN,SlaveIDN_low,SlaveIDN_hi});
19 SpeakerCmdPlayingMove = 34, relocate the reproduction on the devices, setStatus(MRID:30,{32,,SlaveSubID,SlaveID_low,SlaveID_hi,SlaveSubID1,SlaveID1_low,SlaveID1_hi,...,SlaveSubIDN,SlaveIDN_low,SlaveIDN_hi});
20 SpeakerCmdError = 48, error.
21 SpeakerCmdVolume2 = 0xfe, sound level for binding to dimmer, setStatus(MRID:30,{0xFE,VOLUME});.
22SpeakerCmdSeek = 0xFF, change of the command "stop" into the command "continue" and change from "continue" into "stop" setStatus(MRID:30, 0xFF);
Mediapoint control PRIORITY (0-lowest level, 250-highest) If you play with priority 1 and higher, then the interface will have priority 0. Control from the application will not work.
MEDIA POINT STATUS
Byte media point status:
- 0 – SpeakerStatusOffsetState, 0 – off, 1 – is playing, 2 – error, 4 – pause;
- 1 – SpeakerStatusOffsetVolume, sound level;
- 2 – SpeakerStatusOffsetMute, Mute status;
- 3 – SpeakerStatusOffsetBalanse, balance;
- 4 – SpeakerStatusOffsetPriority, priority;
- 5 – SpeakerStatusOffsetMsDuration, track length;
- 9 – SpeakerStatusOffsetMsDuration, track current position;
- 13 – SpeakerStatusOffsetSyncMasterAddr, device address synchronised with media point;
- 13 – SpeakerStatusOffsetSyncMasterSubId, device SubID synchronised with media point;
- 14 – SpeakerStatusOffsetSyncMasterId, device ID synchronised with media point;
- 16 – SpeakerStatusOffsetSyncSlaveCount, number of devices synchronised with media point. If non-zero values then the devices addresses will be recorded after URL;
- 17 – SpeakerStatusOffsetURL, tracked URL reference.
The comment as for Multiroom tools tab in the interface:
- Message: reproduction of the message recorded to the speaker (speakers) via the microphone of interface. For recording the messages select speaker (speakers), volume and press to start speaking. After recording the message press the button “stop speaking” and the message will be displayed on the selected speaker.
- Synchronize: reproduction is synchronized between 2 speakers. Upon that two speakers replay media files synchronically, reproduction is managed from the speaker it is synchronized with. For stopping press “stop” on the synchronized speaker.
- Move reproduction: reproduction is moved. At that the reproduction is stopped on the speaker from which it is moved. It is possible to manage the track from the speaker where the reproduction is moved.
- Synchronize play list: play list synchronization.
Previously version of commands (fully supported). SpeakerCmd is array of command code and value to set
Key | Name | Description | Example |
---|---|---|---|
1 | file/link play | start playing, where VOLUME – sound level, PRIORITY – priority, MIDURL – link to media file | 1setStatus(MRID:30, {1, VOLUME, PRIORITY, "MIDURL"});
2setStatus(297:30, {1, 120, 0, "http://192.168.1.111/NAME.mp3"});
|
0 | stop | stop playing | 1setStatus(MRID:30, 0);
|
2 | pause | pause playing | 1setStatus(MRID:30, 2);
2|-
3|3||continue||continue playing||<syntaxhighlight lang="xml" line>
4setStatus(MRID:30, 3);
|
4 | volume | volume level setting VOLUME, 0-250 | 1setStatus(MRID:30, {4,VOLUME});
|
5 | change volume by value | increment/decrement sound for VOLUME value from the current | 1setStatus(MRID:30, {5,-VOLUME});
|
6 | mute | mute on or mute off | 1setStatus(MRID:30, {6,1}); - mute on
2setStatus(MRID:30, {6,0}); - mute off.
|
8 | URL | URL play | 1setStatus(MRID:30, {8,"http://stream1.lux.fm:8088"});
|
9 | playback starting | playback setting from the position specified in the command, milliseconds from track start, 4 bytes | 1setStatus(MRID:30, {9,0,1,0,0});
2playback starting from 256 milliseconds.
|
10 | - | forward/backward winding. | - |
11 | inverse | change of the command "pause" into the command "continue" and change from "continue" into "pause" | 1setStatus(MRID:30, 11);
|
32 | - | synchronise | 1setStatus(MRID:30,{32,MasterSubID,MasterID_low,MasterID_hi});
|
33 | - | synchronise the reproduction on the devices | 1setStatus(MRID:30,{32,SlaveSubID,SlaveID_low,
2SlaveID_hi,SlaveSubID1,SlaveID1_low,SlaveID1_hi,...,
3SlaveSubIDN,SlaveIDN_low,SlaveIDN_hi});
|
34 | - | relocate the reproduction on the devices | - |
48 | - | Error | - |
64 | Next track | Change track to next in playlist | 1setStatus(MRID:30, 64);
|
65 | Prev track | Change track to previous in playlist | 1setStatus(MRID:30, 65);
|
0xFE | - | sound level for binding to dimmer | 1setStatus(MRID:30,{0xFE,VOLUME});
|
0xFF | - | change of the command "stop" into the command "continue" and change from "continue" into "stop" | 1setStatus(MRID:30, 0xFF);
|
Command to controll playlists
- pl-load – load playlist
- pl-save – save playlist
- pl-play – play playlist
Example:
1setStatus(MRID:30, "pl-load:/PL");
2setStatus(MRID:30, "pl-save:PL");
3setStatus(MRID:30, "pl-play:/PL");
where PL – playlist name.