Перейти к основному содержимому
Подсказка

iRidium для Bluesound

Набор инструментов для создания интерфейсов управления с использованием драйвера акустических систем Bluesound.

документация обновлена 01.01.2024

Драйвер Bluesound позволяет:

  • Работать с устройствами в группе или отдельно,
  • Составлять плейлисты и проигрывать радио,
  • Управлять плеером,
  • Выводить всю доступную информацию об исполнителе, треке, радиостанции.

Пример: Bluesound

Подключение

Драйвер Bluesound работает по HTTP протоколу. Статус онлайн приобретает только во время передачи данных, в остальное время статус всегда офлайн.

Для подключения к аудиосистеме Bluesound, необходимо добавить драйвер в проект с помощью сканера или самостоятельно заполнить параметры драйвера.

Сканирование сети

Сканирование работает только в локальной сети - оно позволяет быстро добавить в проект iRidium все устройства Bluesound. Для этого:

  • Создайте новый проект и нажмите клавишу Scan > Scan Bluesound на вкладке Devices ;
  • Выберите устройство, которым планируете управлять.

Bluesound1.png Bluesound2.png

  • Если сканер не находит оборудование, то вы можете прописать данные настройки драйвера вручную:

Настройка драйвера

В созданном проекте на вкладке Devices добавьте драйвер Bluesound :

Bluesound3.png

Укажите настройки подключения драйвера:

Bluesound4.png

  • 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 указать их номер.

Bluesound_Index.png

  • Клонирование / удаление команд и фидбэков в драйвере, созданном в версии студии старше 1.3.58, невозможно. При необходимости, воспользоваться этим функционалом вы можете после удаления драйвера из проекта и повторного его добавления.

Commands & Feedbacks

Драйвер объединяет в себе полный набор команд и каналов обратной связи, которые не требуют дополнительной настройки. Список команд и фидбэков формируется при добавлении драйвера, вы не можете изменить, удалить или добавить дополнительную команду или канал обратной связи.

Commands

Volume0 - 100Установить звук для текущего устройства.
GroupVolume0 -100Установить звук для всех устройств в группе.
MuteValueВыключить звук для текущего устройства.
MuteGroupValueВыключить звук для всех устройств в группе.
PlayValueНачать проигрывание.
SeekValue (sec.)Начать проигрывание с определённого места (в секундах).
Input"analog",
"spdif",
"hdmi",
"bluetooth"
Начать проигрывание с определённого типа входа.
SelectTrackValue
номер трека в очередиНачать проигрывание определённого трека в очереди. воспроизведения.
PauseValueПриостановить воспроизведение.
StopValueОстановить воспроизведение и перейти к началу трека.
SkipValueПерейти к следующему треку.
* Если текущий трек был последним в списке - переключение произойдет на первый трек в списке.
BackValueПерейти к предыдущему треку.
* Если с начала воспроизведения прошло более 4 секунд - произойдёт переключение к началу текущего трека.
ShuffleValueВключает режим перемешивания треков в списке воспроизведения.
Repeat0 - 2Управление режимами повтора:
0 - повтор всего списка воспроизведения,
1 - повтор текущего трека,
2 - отключить режим повтора.
ExplorerBackValueВозврат на шаг назад в Explorer-е.
ExplorerSelectValue
номер элемента в фидбеке ExplorerВыбор элемента в Explorer-е.
ClearQueueValueОчистить очередь воспроизведения.
LoadPresetValue
номер пресетаНачать проигрывание определённого пресета*.
PreviousPresetValueНачать проигрывание предыдущего пресета* в списке пресетов.
NextPresetValueНачать проигрывание следующего пресета* в списке пресетов.
SelectForGroupingValue
номер в списке плееров (фидбек Players)Выделить плеер для последующей группировки.
* Повторный выбор плеера - снимает выделение.
GroupValueДобавить устройств в группу. Текущий проигрыватель становится хозяином добавленных устройств.
UngroupValueУдалить устройства из группы.
PlayInput_analogValueПереключиться на вход analog.
PlayInput_spdifValueПереключиться на вход spdif.
PlayInput_hdmiValueПереключиться на вход hdmi.
PlayInput_bluetoothValueПереключиться на вход bluetooth.

Feedbacks

Play0 / 1Состояние плеера:
1 - проигрывание запущено,
0 - проигрывание не запущено.
Pause0 / 1Состояние плеера:
1 - проигрывание приостановлено,
0 - проигрывание запущено.
Stop0 / 1Состояние плеера:
1 - проигрывание остановлено,
0 - проигрывание запущено.
Volume0 - 100Текущее значение звука.
Mute0 / 1Cостояние "без звука":
1 - звук выключен,
0 - звук включен.
Repeat0 - 2Режим повтора:
0 - повтор всего списка,
1 - повтор текущего трека,
2 - режим повтора выключен.
Shuffle0 / 1Режим shuffle:
1 - shuffle on,
0 - shuffle off.
AlbumTextАльбом.
ArtistTextИсполнитель.
AlbumArtUrlImageКартинка альбома.
TrackTextНазвание текущего трека.
TimeValue (sec.)Текущее время воспроизведения трека.
TimeStrTextТекущее время воспроизведения трека.
TotalTimeValue (sec.)Полное время воспроизведения трека.
TotalTimeStrTextПолное время воспроизведения трека.
TimeRemainingValue (sec.)Оставшееся время воспроизведения трека.
TimeRemainingStrTextОставшееся время воспроизведения трека.
TrackNumberValueНомер трека в списке воспроизведения.
QueueTextПлейлист. Список объектов JSON, каждый объект включает поля: "title", "album", "artist".
Title1 / 2 / 3TextИспользуются в качестве текста любого пользовательского интерфейса, отображающего три строки воспроизводимых метаданных (например, Title1 - имя трека, Title2 - имя артиста, Title3 - имя альбома).
TwoLineTitle1 / 2TextИспользуются в качестве текста любого пользовательского интерфейса, отображающего две строки воспроизводимых метаданных (например, TwoLineTitle1 - имя трека и артиста, TwoLineTitle2 - имя альбома).
ExplorerTextСписок JSON объектов, выводит папки / плейлисты / сервисы / радиостанции / треки на одноимённый попап.
PlayersTextСписок JSON объектов, выводит список доступных устройств Bluesound. Каждый JSON объект в списке обладает свойствами:
name - имя плеера,
selected - выделен ли плеер для группировки,
grouped - состоит ли плеер в группе под управлением текущего устройства.
GroupNameTextИмя группы.
PlayerNameTextИмя плеера.

Настройка команд и фидбеков

SendRecieve.png

Для управления оборудованием настройте команды (Commands) и каналы обратной связи (Feedbacks). Чтобы отправить команду, перетяните ее на графический элемент и укажите значение (Value), которое необходимо отправить. Чтобы отобразить значение с канала обратной связи, перетащите Feedback на графический элемент, и укажите, каким образом вывести значение (Value).

Подробнее о работе с графическими элементами написано в статье "Типы графических элементов".

Создание списков

Некоторые фидбэки драйвера присылают в качестве значений 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 нужен для вывода папок/плейлистов/треков. А также, для навигации и выбора определённого плейлиста, которые составляются с помощью родного приложения.

  1. Для создания списка Explorer, нарисуйте элемент Advanced List.

  2. Создайте 3 попапа Templates . Назовите их TplFavorite (для вывода папок Playlists и Favorites ), TplRoot (для вывода содержимого папки PlaylistsTplPlayList (для вывода содержимого папки Favorite ). На каждом из попапов создаются элементы Lable - некие шаблоны, в которые будут выводиться папки, информация о плейлистах, обложки и названия треков.

Bluesound9.png

Пример отрисованных элементов Label для попапа TplFavorite.

Sonos_Explorer3.png 3. После создания элементов вернитесь к элементу Advanced List. 4. Перейдите в настройки темплейта, нажав кнопку Template setting .

Sonos_Explorer4.png 5. Добавьте попапы с темплейтами. Впишите в строчке Code type , как показано на рисунке.

Sonos_Explorer5.png 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.

Bluesound10.png 7. По аналогии настройте лейблы оставшихся темплейтов TplRoot и TplPlayList .

“TplRoot”, введите Directory в поле Type. Создайте лейбел lbl.Name.Text, внесите в поле Value значение name.

Sonos_Explorer7.png

TplPlayList , введите playlist в поле Type. Создайте лейблы:

  • lbl.Name.Text, внесите в поле Value значение name.
  • lblTrackCount - внесите в поле Value значение trackCount.

Bluesound11.png 8. После настройки лейблов и темплейтов, привяжите команду ExplorerSelect и фидбек Explorer на элемент Advanced List.

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

Bluesound12.png

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

Bluesound13.png

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

Bluesound14.png

Пример настройки списка Queue

Список Queue нужен для вывода информации о треках в текущей очереди воспроизведения, а также для выбора определённого трека, из этой самой очереди.

1.Создайте элемент Advanced List. Создайте темплейт TplQueue с кодом type (для вывода информации треков из очереди воспроизведения).

Bluesound6.png

Темплейт имеет следующие лейблы: *lblName, *lblType, *select. 2. Настройте темплейт и лейблы.

В Tpl.Queue , введите track в поле Type. Создайте лейблы:

  • lbl.Name, внесите в поле Value значение title;
  • lblType- внесите в поле Value значение artist;
  • select- внесите в поле Value значение selected.

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

Bluesound7.png

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

Bluesound8.png

Пример настройки списка Players

Список Players нужен для вывода информации о имени плеера, группировки плееров и отображения текущего состояния группировок.

1.Создайте элемент Advanced List. Создайте темплейт TplPlayer с кодом type (для вывода списка плееров).

Bluesound15.png

Темплейт имеет следующие лейблы: *lblName, *lblName 1, *Selection. 2. Настройте темплейт и лейблы.

В Tpl.Player , введите player в поле Type. Создайте лейблы:

  • lbl.Name - внесите в поле Value значение name;
  • lblName 1 - внесите в поле Value значение grouped;
  • Selection - внесите в поле Value значение selected.

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

Bluesound17.png

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

Bluesound18.png