Дистрибутив Yoctoap: Album Player + UPnP Renderer + Console Player + Roon/LMS Bridge + GUI

На странице плеера обновлены образы системы Yoctoap для различных систем. Плеер и рендерер обновлены до версии 2.06.
Изменения следующие:

• Обновлен основной веб-интерфейс. Добавлено адаптивное изменение ширины списка треков в соответствии с шириной окна.
• Обновлен UPnP/DLNA рендерер. Устранена несовместимость рендерера с программой HiFy, которая передаёт на рендерер звуковой поток из стримингового сервиса Spotify.
• В каталог радиостанций добавлены пакеты Radio Caprice и Radio OBOZ, обновлен список FLAC радиостанций.
• Для радио добавлена поддержка плейлистов в форматах .pls и .m3u. Файлы плейлистов могут размещаться в папках радиокаталога (папка Radio в папке плеера). Можно добавлять ссылку на сетевые плейлисты через команду добавления радиостанции ("+"). В этом случае ссылка обязательно должна завершаться расширением файла m3u или pls. Однако использование сетевых плейлистов замедлит загрузку радиокаталога.
• Консольный плеер обновлен до версии 1.05. Добавлен вывод информации о выбранном устройстве вывода, индикация режимов работы: командного и воспроизведения, выделение символом “*” воспроизводимого трека в списке из .cue (помимо выделения цветом).
• Добавлен образ карты памяти для Raspberry Pi CM3.

16 лайков

Обновиться путем замены папок аплеера и апрендера получится? Сборка на ядре p62.

Да, должно получиться.

1 лайк

Получилось. Сборка правда на сороковом ядре, но вряд ли это принципиально.
И предчувствую долгие дебаты. В десктопном браузере выглядит несколько неожиданно и необычно)))

Слишком широкое окно легко сдвинуть до гармоничных пропорций.

Можно также попробовать мой вариант дизайна.

Десктопный вариант WEB интерфейса

Album Player UI WIP - YouTube

Основные особенности:

  • Нет необходимости в Lite версии плеера. Основной дизайн подстраивается под разрешение экрана
  • Выбор темной или светлой темы (переключатель - иконка справа вверху)
  • Поддержка отключения регулировки громкости в настройках (скрывается регулировка)
  • Тянущийся дизайн
  • Немного переработанные элементы управления и отображения для более компактного вида (критично для мобильного отображения)
Инструкция по установке

Для начала, установите на ПК программу PuTTY
Создайте папку для бэкапа текущего интерфейса вашего web плеера на локальный диск ПК, например, C:\APlayer
Затем под администратором запустите командную строку.
И при подключенном к сети (LAN или Wifi) Album Player сделайте бэкап того интерфейса, который у вас есть в Album Player следующей командой:
pscp -scp -r -unsafe [email protected].*.77:/usr/aplayer/* C:\APlayer\

Где 192.168.*.77 - это IP адрес вашего устройства
После распакуйте архив с версией нового дизайна вашего плеера в папку C:\APlayer\NewUI
Далее в командной строке введите команду
pscp -scp -r -unsafe C:\APlayer\NewUI\* [email protected].*.77:/usr/aplayer/

Где 192.168.*.77 - адрес устройства.
При запросе в командной строке на разрешение, отвечаем Y и Enter
Можно пользоваться.

По всем проблемам, которые вы обнаружите, просьба писать в личку.

Файлы для версии 2.06:

10 лайков

Отличный дизайн, очень удобен в мобильном.
Спасибо Вам)

Рад, что дизайн понравился, ну и вдогонку еще два архива под предыдущие версии

Архив для 2.03

https://drive.google.com/file/d/1BGmh2w_KVAYeJPv411y4X6yafTNss9Tb/view?usp=sharing

Архив для 2.05

https://drive.google.com/file/d/1kqhYFWLt5P7541lZPkbX54GwYSe9BUCp/view?usp=sharing

2 лайка

@igor63r Игорь, предлагаю переделать выбор папки на представленную ниже модель.

По запросу возвращать в интерфейс json-объект вида
{ root: root_url,
current: current_url,
list: [{name:папка1, url:урл1},{name:папка2, url:урл2}]
}
картинки альбомов по желанию.

парсить его в javascript и получать что-то, что выглядит как на третьем экране,
в верхней части “хлебные крошки”, по которым можно вернуться по уровню вверх.

На действие передавать команду (что делать: играть, добавить ?) и урл.

На телефоне экраны переключать свайпами вправо, влево.
Части макета показаны серым, остальное вполне рабочий интерфейс.

3 лайка

не пускает по SSH:

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!

Someone could be eavesdropping on you right now (man-in-the-middle attack)!

It is also possible that a host key has just been changed.

The fingerprint for the RSA key sent by the remote host is

SHA256:P6aAftQtO1RsAYVsXyP7JP7VLIwXjBV3+zkQb8EB+DU.

Please contact your system administrator.

что не так делаю?

Выдаётся предупреждение, что ключ на SSH-сервере другой, чем был ранее. В программе клиенте должна быть возможность импортировать новый ключ.
Я использую PuTTY, она постоянно выдаёт такие предупреждения, когда загружается новая прошивка Yoctoap. Надо ответить Yes на предложение импорта ключа, а дальше, как обычно.

2 лайка

Дмитрий, если переделывать структуры данных, то на них слишком многое завязано в реализации и это уже будет другой плеер - Album Player 3. Текущая концепция - плейлист, как набор линейных списков альбомов, путей к ним, названий треков, и имён файлов треков. Дерево с путями существует только в файловом менеджере, и перестаёт учитываться после выбора конкретной папки как базы для сканирования. Я думаю, любую желаемую альтернативу можно реализовать, дописав свою оболочку к APlayer Renderer SE. Я в его лице старался сделать достаточно универсальный автономный движок, но если там чего-то не хватает, то вернуться к этому можно.

Я за удобство

  • Дерево реально неудобная штука
  • Мне нравится дерево

0 голосов

Если речь только об альтернативном варианте выбора папки, то, я думаю, это решаемо.
Дерево файлового менеджера в памяти плеера представлено массивом Drives структур DirItem, представляющих сохраненные плейлисты и отображаемые в файловом менеджере папки.
Сейчас клиенту в JavaScript передаётся отображение этого массива в массив выводимых в панель строк, где каждая строка соответствует одному элементу массива.
Можно по отдельному запросу передавать сам массив структур DirItem, содержащих строковые поля path и name и числовые поля level (уровень вложенности папки от 0 и выше) и expanded (код состояния папки: 0 - свёрнута, 1 - раскрыта, 2 - папка нижнего уровня).
Собственно управление со стороны клиента не меняется:
?GetPlaylists&ind=индекс_элемента - переход внутрь папки с указанным индексом, если она была свёрнута или выход из неё на уровень выше, если она была развёрнута
?GetPlaylist&playlist=индекс_элемента - выбор папки с указанным индексом для замены плейлиста
?Get_Playlist&playlist=индекс_элемента - выбор папки с указанным индексом для добавления в плейлист

Из массива Drives, в принципе, можно извлечь всю информацию для вывода третьего экрана на картинках выше.
Если такой вариант устроит, то я могу добавить команду, по которой этот массив будет возвращаться в json-объекте.

И даже, видимо, лучше не создавать дополнительный запрос, а добавить этот массив к данным, которые передаются сейчас для отображения списка папок.

То есть, я смогу видеть, где я нахожусь в структуре дерева и список дочерних узлов?

Если найти последний из объектов, у которых expanded=1, то он будет текущей открытой папкой. А следующие за ним в массиве объекты, пока у них level на единицу больше, будут его дочерними узлами.

1 лайк

А если несколько expanded, как понять который последний?

Последний, как обычно, тот, у которого индекс в массиве больше. Поскольку он всегда отображается ниже родительского.

Дмитрий, вот файл aplayer на замену:

http://albumplayer.ru/linux/test/aplayer-arm32-mod.tar.gz

По запросу ?GetPlaylists&ind=-1 возвращается json объект, в котором к массиву Playlists добавлен массив Drives, элементы которого содержат строковые поля name и path и числовые поля level и expanded. Если указать в запросе ?GetPlaylists&ind= индекс больше нуля, то папка с указанным индексом сворачивается или разворачивается и возвращается уже новый список папок. Первый элемент (с индексом 0) в Drives всегда aplayer.dat, это сохраненный автоматически текущий плейлист. Потом могут идти пользовательские плейлисты .ap2 и только потом собственно папки.

1 лайк

Спасибо, буду разбираться.