Эта страница является
переводом страницы
Bluesound. Перевод выполнен на 100%.
iRidium for Bluesound
A set of tools to create control interfaces using a driver for Bluesound sound systems.
The documentation was updated on 15.9.2023
Bluesound driver allows to:
- work with devices in a group or separately,
- make up playlists and play radio,
- control a player,
- display all available information about a performer, a soundtrack or a radio station.
Connection
The Bluesound driver works via the HTTP protocol. The status becomes online only during data transfer, the rest of the time the status is always offline.
To connect to Bluesound sound system, it is required to add a driver to a project with the help of a scanner or by filling in driver parameters by yourself.
Network scanning
Scanning works only in the local network - it allows to add all Bluesound devices to iRidium project. Here is how to do it:
- Create a new project and click the Scan > Scan Bluesound button in the Devices tab;
- Choose a device you plan to control.
If the scanner can't find equipment, you can enter the driver settings manually:
Setting Driver
1 Enter the Devices tab in a created project and add the Bluesound driver.
2 Enter connection settings of the driver:
- Protocol - TCP;
- Log Level - a level of logging;
- Host - IP-address of equipment;
- Port - port (by deafault 11000);
- Tags - a name to search for a driver or a group of drivers via the search line.
* Port 11000 is used for all BluOS players, with the exception of the CI580. The CI580 has four streamers nodes in one chassis, where node 1 uses port 11000, node 2 uses port 11010, node 3 uses port 11020, and node 4 uses port 11030.
3 Enter a value of the Index parameter for the following commands: Input, PlayInput spdif, PlayInput hdmi, PlayInput bluetooth и PlayInput analog. The
Index parameter is responsible for the number of the device input. If there are several inputs of such a type, add new commands and enter their number in the Index parameter.
Cloning / deleting commands and feedbacks in the driver that is created in the studio version 1.3 58 and later is not possible. If you need to use this function, you can delete the driver from the project and add it again.
Commands & Feedbacks
The driver contains a comlete set of commands and feedback channels that do not require additional setting. A list of commands and feedback channels is formed when a driver is added. You can't change, delete or add a command or a feedback channel.
Commands
| Name |
Value |
Description
|
| Volume |
0 - 100 |
Set sound for the current device.
|
| GroupVolume |
0 -100 |
Set sound for all devices in a group.
|
| Mute |
Value |
Turn off sound for the current device.
|
| MuteGroup |
Value |
Turn off sound for all devices in a group.
|
| Play |
Value |
Start playing.
|
| Seek |
Value (sec.) |
Start playing from a definite place (in seconds).
|
| Input |
"analog", "spdif", "hdmi", "bluetooth" |
Start playing from a definite type of input.
|
| SelectTrack |
Value the number of a track in the queue |
Start playing a definite track in the queue.
|
| Pause |
Value |
Pause playing.
|
| Stop |
Value |
Stop playing and go to the begining of the track.
|
| Skip |
Value |
Go to the next track. If the current track is the last one in the list, the first track in the list will be played.
|
| Back |
Value |
Go to the next track. If a track is played longer than 4 seconds, the beginning of the next track will be played.
|
| Shuffle |
Value |
It turns on a mode to shuffle tracks in the playlist.
|
| Repeat |
0 - 2 |
Control of repetition modes: 0 - repetition of the whole playlist, 1 - repetition of the current track, 2 - turn of a repetition mode.
|
| ExplorerBack |
Value |
Return one step back in Explorer.
|
| ExplorerSelect |
Value the number of an item in the Explorer feedback |
Selection of an item in Explorer.
|
| ClearQueue |
Value |
Clear the play queue.
|
| LoadPreset |
Value the number of a preset |
Start playing a definite preset*.
|
| PreviousPreset |
Value |
Play the prevoius preset* in the list of presets.
|
| NextPreset |
Value |
Play the next preset* in the list of presets.
|
| SelectForGrouping |
Value the number in the list of players (Players feedback) |
Select a player for grouping. Click a selected player one more time to cancel selection.
|
| Group |
Value |
Add devices to a group. The current player becomes a master of the added devices.
|
| Ungroup |
Value |
Delete devices from a group.
|
| PlayInput_analog |
Value |
Switch to the analog input.
|
| PlayInput_spdif |
Value |
Switch to the spdif input.
|
| PlayInput_hdmi |
Value |
Switch to the hdmi input.
|
| PlayInput_bluetooth |
Value |
Switch to the bluetooth input.
|
Feedbacks
| Name |
Value |
Description
|
| Play |
0 / 1 |
Player state: 1 - playing is on, 0 - playing is off.
|
| Pause |
0 / 1 |
Player state: 1 - playing is paused, 0 - playing is started.
|
| Stop |
0 / 1 |
Player state: 1 - playing is stopped, 0 - playing is started
|
| Volume |
0 - 100 |
Current sound value
|
| Mute |
0 / 1 |
"Mute" state: 1 - sound is off, 0 - sound is on.
|
| Repeat |
0 - 2 |
Repetition mode: 0 - repetition of the whole list, 1 - repetition of the current track, 2 - repetition mode is off.
|
| Shuffle |
0 / 1 |
Shuffle mode: 1 - shuffle is on, 0 - shuffle is off.
|
| Album |
Text |
Album.
|
| Artist |
Text |
Performer.
|
| AlbumArtUrl |
Image |
Album cover.
|
| Track |
Text |
The name of the current track.
|
| Time |
Value (sec.) |
The current time of track playing.
|
| TimeStr |
Text |
The current time of track playing.
|
| TotalTime |
Value (sec.) |
The full time of track playing.
|
| TotalTimeStr |
Text |
The full time of track playing.
|
| TimeRemaining |
Value (sec.) |
The remaining time of track playing.
|
| TimeRemainingStr |
Text |
The remaining time of track playing.
|
| TrackNumber |
Value |
The number of a track in the play list
|
| Queue |
Text |
Playlist. A list of JSON objects, each object has the following fields: "title", "album", "artist".
|
| Title1 / 2 / 3 |
Text |
It is used as a text in a user interface that displays three lines of metadata (for example, Title1 - the name of a track, Title2 - the name of a performer, Title3 - the name of an album).
|
| TwoLineTitle1 / 2 |
Text |
It is used as a text in a user interface that displays two lines of metadata (for example, TwoLineTitle1 - the name of a track and performer, TwoLineTitle2 - the name of an album).
|
| Explorer |
Text |
A list of JSON objects, it displays folders / playlists / services / radio stations / tracks on o popup with the same name.
|
| Players |
Text |
A list of JSON objects, it displays a list of available Bluesound devices. Each JSON object has the following properties: name - the name of a player, selected - it shows if a player is selected for grouping выделен ли плеер для группировки, grouped - it shows if a player is grouped under the conrol of the current device.
|
| GroupName |
Text |
The name of a group
|
| PlayerName |
Text |
The name of a player.
|
Setting Commands and Feedback Channels
To control equipment it is required to set commands (Commands) and feedback channels (Feedbacks). To send a command, drag'n'drop it on a graphic item and enter a value to send. To display feedback drag'n'drop a feedback channel on a graphic item and choose how to output or display a value.
Read more about work with graphic items in the
"Types of graphic items" article.
Creating Lists
Some feedback channels of a driber send a JSON object as a value:
| JSON object |
Fields
|
| Queue.track |
"title": "SongName", "album": "Album", "artist": "Artist", "type": "track", "selected": true
|
| Explorer.directory |
"name": "Favorites", "type": "directory"
|
| Explorer.song |
"songid": "12345", "albumid": "234", "artistid": "152", "track": 5, "title": "Title", "artist": "Artist", "album": "Album", "time": "123", "type": "track", "selected": false
|
| Explorer.playlist |
"id": "123", "name": "Name", "tracks": 150, "service": "Deezer", "type": "playlist", "selected": true
|
| Explorer.preset |
"id": "123-fd-123", "name": "Preset1", "selected": true, "type": "preset"
|
| Players.player |
"name": "Player", "selected": true, "grouped": true, "type": "player"
|
A JSON object must be transformed in iRidium Studio with the help of Advanced List:
Example of Setting Explorer List
“Explorer” list is required to display folders/playlists/tracks. It's also used for navigation and selection of a definite playlist that is made with the help of the native app.
1 To create Explorer list, draw Advanced List item.
2 Create 3 “Templates” popups. Name them TplFavorite (to display the “Playlists” and “Favorites” folders), TplRoot (to display the contents of the “Playlists” folder) and TplPlayList(to display the contents of the “Favorite” folder). “Label” items are created on each popup - they are a sort of templates where folders, info about playlists, covers and track names are displayed.
An example of a Label item created for TplFavorite popup.
3 After creating items, go back to the Advanced List item.
4 Go to the template settings by clicking the “Template setting” button.
5 Add popups with templates. Write type in the Code line as shown in the picture.
6
To set a template open it with a double click. Then add labels to it. Let's have a look at the setting of “TplFavorite” template. Enter favorite in the Type line then add other labels with required tokens: lbl.Name.Text; lbl.Type.Text; select.Value.
After labels are added write a value for each of them. To write in the Value line click 3 times on the line, Value for labels:
- lbl.Name.Text - title,
- lbl.Type.Text - artist,
- select.Value - selected.
7 Set labels of the remaining “TplRoot” and “TplPlayList” templates in the same way.
“TplRoot”, enter Directory in the Type field.
Create lbl.Name.Text label, enter name in the Value field.
TplPlayList, enter playlist in the Type field.
Create labels:
- lbl.Name.Text, enter name in the Value field.
- lblTrackCount - enter trackCount. in the Value field.
8 After setting labels and templates, assign ExplorerSelect command and Explorer feedback channel to the Advanced list item.
To assign a command, click on Advanced List item and then click + in the programming window next to Press event,
Then choose Value from object in the window that appears abd assign the following way Select Item > Commands > ExplorerSelect.
Assign a feedback channel by clicking on the Advanced list item. Then go to the Data Source (next to Template setting). Choose Driver -> Feedbacks -> Explorer. On this stage the setting of Explorer is completed.
Example of Setting Queue List
“Queue” list is required to display information about tracks in the queue to play add to select a required track from the queue.
1 Create Advanced List. Create TplQueue template with the type code (to display track info from the queue).
The template has the following labels:
- lblName,
- lblType,
- select.
2 Set the template and the labels.
Tpl.Queue, enter track in the Type feld.
Create labels:
- lbl.Name, enter title in the Value field;
- lblType- enter artist in the Value field;
- select- enter selected in the Value field.
3 Assign the SelectTrack command to Advanced List with the help of Programming window (Programming > Press > + )
Assign Queue feedback channeld to Advanced List:
Example of Setting Players List
Players list is required to display information about the name of a player, grouping of players adn the current state of groups.
1 Create Advanced List. Create TplPlayer template with the type code (to display a list of players).
The template has the following labels:
- lblName,
- lblName 1,
- Selection.
2 Set the template and labels.
Tpl.Player, enter player in the Type feld.
Create labels:
- lbl.Name, enter name in the Value field;
- lblName 1 - enter grouped int he Value field;
- Selection - enter selected in the Value field.
3 Assign the SelectForGroupingcommand to Advanced List with the help of Programming window (Programming > Press > + )
Assign Players feedback channeld to Advanced List: