iRidium для Bluesound
Набор инструментов для создания интерфейсов управления с использованием драйвера акустических систем Bluesound.
документация обновлена 19.03.2026
Драйвер Bluesound позволяет:
- Работать с устройствами в группе или отдельно,
- Составлять плейлисты и проигрывать радио,
- Управлять плеером,
- Выводить всю доступную информацию об исполнителе, треке, радиостанции.
Пример: Bluesound
Подключение
Драйвер Bluesound работает по HTTP протоколу. Статус онлайн приобретает только во время передачи данных, в остальное время статус всегда офлайн.
Для подключения к аудиосистеме Bluesound, необходимо добавить драйвер в проект с помощью сканера или самостоятельно заполнить параметры драйвера.
Сканирование сети
Сканирование работает только в локальной сети - оно позволяет быстро добавить в проект iRidium все устройства Bluesound. Для этого:
- Создайте новый проект и нажмите клавишу Scan > Scan Bluesound на вкладке Devices ;
- Выберите устройство, которым планируете управлять.
Если сканер не находит оборудование, то вы можете прописать данные настройки драйвера вручную:
Настройка драйвера
- В созданном проекте на вкладке Devices добавьте драйвер Bluesound :

- Укажите настройки подключения драйвера:
- Protocol - TCP;
- Log Level - уровень логирования;
- Host - IP-адрес оборудования;
- Port - порт (по умолчанию 11000) *;
- Tags - название, предназначенное для поиска драйвера или группы драйверов через поисковую строку.
* Порт 11000 используется для всех проигрывателей BluOS, за исключением CI580. CI580 имеет четыре узла стримеров в одном шасси, где узел 1 использует порт 11000, узел 2 использует порт 11010, узел 3 использует порт 11020, а узел 4 использует порт 11030.
- Для команд Input, PlayInput spdif, PlayInput hdmi, PlayInput bluetooth и PlayInput analog укажите значение параметра Index. Параметр отвечает за номер входа на устройстве. Если в устройстве имеется несколько входов данного типа, то потребуется добавить новые команды, а в параметр Index указать их номер.

Клонирование / удаление команд и фидбэков в драйвере, созданном в версии студии старше 1.3.58, невозможно. При необходимости, воспользоваться этим функционалом вы можете после удаления драйвера из проекта и повторного его добавления.
Commands & Feedbacks
Драйвер объединяет в себе полный набор команд и каналов обратной связи, которые не требуют дополнительной настройки. Список команд и фидбэков формируется при добавлении драйвера, вы не можете изменить, удалить или добавить дополнительную команду или канал обратной связи.
Commands
| Название | Значение | Описание |
|---|---|---|
| Volume | 0 - 100 | Установить звук для текущего устройства. |
| GroupVolume | 0 - 100 | Установить звук для всех устройств в группе. |
| Mute | Value | Выключить звук для текущего устройства. |
| MuteGroup | Value | Выключить звук для всех устройств в группе. |
| Play | Value | Начать проигрывание. |
| Seek | Value (sec.) | Начать проигрывание с определённого места (в секундах). |
| Input | "analog" "spdif" "hdmi" "bluetooth" | Начать проигрывание с определённого типа входа. |
| SelectTrack | Value | Начать проигрывание определённого трека в очереди воспроизведения. |
| Pause | Value | Приостановить воспроизведение. |
| Stop | Value | Остановить воспроизведение и перейти к началу трека. |
| Skip | Value | Перейти к следующему треку. * Если текущий трек был последним в списке — переключение произойдет на первый трек в списке. |
| Back | Value | Перейти к предыдущему треку. * Если с начала воспроизведения прошло более 4 секунд — произойдёт переключение к началу текущего трека. |
| Shuffle | Value | Включает режим перемешивания треков в списке воспроизведения. |
| Repeat | 0 - 2 | Управление режимами повтора: 0 — повтор всего списка воспроизведения 1 — повтор текущего трека 2 — отключить режим повтора |
| ExplorerBack | Value | Возврат на шаг назад в Explorer-е. |
| ExplorerSelect | Value | Выбор элемента в Explorer-е. |
| ClearQueue | Value | Очистить очередь воспроизведения. |
| LoadPreset | Value | Начать проигрывание определённого пресета*. |
| PreviousPreset | Value | Начать проигрывание предыдущего пресета* в списке пресетов. |
| NextPreset | Value | Начать проигрывание следующего пресета* в списке пресетов. |
| SelectForGrouping | Value | Выделить плеер для последующей группировки. * Повторный выбор плеера — снимает выделение. |
| Group | Value | Добавить устройства в группу. Текущий проигрыватель становится хозяином добавленных устройств. |
| Ungroup | Value | Удалить устройства из группы. |
| PlayInput_analog | Value | Переключиться на вход analog. |
| PlayInput_spdif | Value | Переключиться на вход spdif. |
| PlayInput_hdmi | Value | Переключиться на вход hdmi. |
| PlayInput_bluetooth | Value | Переключиться на вход bluetooth. |
Feedbacks
| Название | Значение | Описание |
|---|---|---|
| Play | 0 / 1 | Состояние плеера: 1 - проигрывание запущено 0 - проигрывание не запущено |
| Pause | 0 / 1 | Состояние плеера: 1 - проигрывание приостановлено 0 - проигрывание запущено |
| Stop | 0 / 1 | Состояние плеера: 1 - проигрывание остановлено 0 - проигрывание запущено |
| Volume | 0 - 100 | Текущее значение звука |
| Mute | 0 / 1 | Cостояние "без звука": 1 - звук выключен 0 - звук включен |
| Repeat | 0 - 2 | Режим повтора: 0 - повтор всего списка 1 - повтор текущего трека 2 - режим повтора выключен |
| Shuffle | 0 / 1 | Режим shuffle: 1 - shuffle on 0 - shuffle off |
| Album | Text | Альбом |
| Artist | Text | Исполнитель |
| AlbumArtUrl | Image | Картинка альбома |
| Track | Text | Название текущего трека |
| Time | Value (sec.) | Текущее время воспроизведения трека |
| TimeStr | Text | Текущее время воспроизведения трека |
| TotalTime | Value (sec.) | Полное время воспроизведения трека |
| TotalTimeStr | Text | Полное время воспроизведения трека |
| TimeRemaining | Value (sec.) | Оставшееся время воспроизведения трека |
| TimeRemainingStr | Text | Оставшееся время воспроизведения трека |
| TrackNumber | Value | Номер трека в списке воспроизведения |
| Queue | Text | Плейлист. Список объектов JSON, каждый объект включает поля: "title", "album", "artist" |
| Title1 / 2 / 3 | Text | Используются в качестве текста любого пользовательского интерфейса, отображающего три строки воспроизводимых метаданных (например, Title1 - имя трека, Title2 - имя артиста, Title3 - имя альбома) |
| TwoLineTitle1 / 2 | Text | Используются в качестве текста любого пользовательского интерфейса, отображающего две строки воспроизводимых метаданных (например, TwoLineTitle1 - имя трека и артиста, TwoLineTitle2 - имя альбома) |
| Explorer | Text | Список JSON объектов, выводит папки / плейлисты / сервисы / радиостанции / треки на одноимённый попап |
| Players | Text | Список JSON объектов, выводит список доступных устройств Bluesound. Каждый JSON объект: name - имя плеера selected - выделен ли плеер для группировки grouped - состоит ли плеер в группе |
| GroupName | Text | Имя группы |
| PlayerName | Text | Имя плеера |
Настройка команд и фидбеков

Для управления оборудованием настройте команды (Commands) и каналы обратной связи (Feedbacks). Чтобы отправить команду, перетяните ее на графический элемент и укажите значение (Value), которое необходимо отправить. Чтобы отобразить значение с канала обратной связи, перетащите Feedback на графический элемент, и укажите, каким образом вывести значение (Value).
Подробнее о работе с графическими элементами написано в статье "Типы графических элементов".
Создание списков
Некоторые фидбэки драйвера присылают в качестве значений JSON объект:
| JSON объект | Поля |
|---|---|
| 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" |
Преобразовать JSON объект в iRidium Studio необходимо с помощью графического элемента Advanced List:
Пример настройки списка Explorer
Список Explorer нужен для вывода папок/плейлистов/треков. А также, для навигации и выбора определённого плейлиста, которые составляются с помощью родного приложения.
-
Для создания списка Explorer, нарисуйте элемент Advanced List.
-
Создайте 3 попапа Templates . Назовите их TplFavorite (для вывода папок Playlists и Favorites ), TplRoot (для вывода содержимого папки Playlists )и TplPlayList (для вывода содержимого папки Favorite ). На каждом из попапов создаются элементы Lable - некие шаблоны, в которые будут выводиться папки, информация о плейлистах, обложки и названия треков.
Пример отрисованных элементов Label для попапа TplFavorite.
3. После создания элементов вернитесь к элементу Advanced List.
4. Перейдите в настройки темплейта, нажав кнопку Template setting.

5. Добавьте попапы с темплейтами. Впишите в строчке Code type , как показано на рисунке.
6. Для настройки темплейта нужно открыть его двойным кликом. Затем добавить туда лейблы. Разберем настройку темплейта TplFavorite . В строке Type - введите favorite, затем добавляем следующие лейблы с нужными токенами: lbl.Name.Text; lbl.Type.Text; select.Value.
После добавления лейблов, пропишите каждому из них значение Value. Для записи в строках Value, нужно кликнуть по строке 3 раза. Value для лейблов:
- lbl.Name.Text - title,
- lbl.Type.Text - artist,
- select.Value - selected.

7. По аналогии настройте лейблы оставшихся темплейтов TplRoot и TplPlayList.
“TplRoot”, введите Directory в поле Type. Создайте лейбел lbl.Name.Text, внесите в поле Value значение name.

TplPlayList , введите playlist в поле Type. Создайте лейблы:
- lbl.Name.Text, внесите в поле Value значение name.
- lblTrackCount - внесите в поле Value значение trackCount.

8. После настройки лейблов и темплейтов, привяжите команду ExplorerSelect и фидбек Explorer на элемент Advanced List.
Для привязки команды, нажмите на элемент (Advanced List), затем в окне Programming нажать на "+" напротив события Press.

Далее, в открывшемся окне выбираем Value from object и осуществляем привязку Select Item > Commands > ExplorerSelect .

Привязка фидбека, нажмите на элемент Advanced List, затем перейдите в Data source (находится возле Template setting). Выбираем Driver > Feedbacks > Explorer . На этом этапе - настройка попапа Explorer завершена!

Пример настройки списка Queue
Список Queue нужен для вывода информации о треках в текущей очереди воспроизведения, а также для выбора определённого трека, из этой самой очереди.
1.Создайте элемент Advanced List. Создайте темплейт TplQueue с кодом type (для вывода информации треков из очереди воспроизведения).
Темплейт имеет следующие лейблы:
- lblName,
- lblType,
- select.
- Настройте темплейт и лейблы.
В Tpl.Queue , введите track в поле Type. Создайте лейблы:
- lbl.Name, внесите в поле Value значение title;
- lblType- внесите в поле Value значение artist;
- select- внесите в поле Value значение selected.

3. Привяжите при помощи окна Programming (Programming > Press > + ) команду SelectTrack к элементу Advanced List:

Привяжите фидбэк Queue к элементу Advanced List:

Пример настройки списка Players
Список Players нужен для вывода информации о имени плеера, группировки плееров и отображения текущего состояния группировок.
1.Создайте элемент Advanced List. Создайте темплейт TplPlayer с кодом type (для вывода списка плееров).
Темплейт имеет следующие лейблы:
- lblName,
- lblName 1,
- Selection.
- Настройте темплейт и лейблы.
В Tpl.Player , введите player в поле Type. Создайте лейблы:
- lbl.Name - внесите в поле Value значение name;
- lblName 1 - внесите в поле Value значение grouped;
- Selection - внесите в поле Value значение selected.

3. Привяжите при помощи окна Programming (Programming > Press > + ) команду SelectForGrouping к элементу Advanced List:

Привяжите фидбэк Players к элементу Advanced List:
