Обновление 2022 г.
Ультразвук не устарел, но у меня не так много времени, как хотелось бы, чтобы работать над его разработкой. Я планирую вернуться к этому в будущем, надеюсь, вы меня выдержите! Важным предстоящим обновлением будет касаться Ultrasonics-api . В настоящее время я размещаю общедоступную версию на бесплатном уровне Heroku, которая закрывается в конце ноября 2022 года, как было объявлено еще в августе. Это необходимо для любых общедоступных потоковых сервисов (Spotify, Last.fm и т. д.).
У меня пока нет альтернативной настройки, поэтому, прежде чем это время придет, я призываю вас настроить свой собственный экземпляр ultrasonics-api вместе с ultrasonics и ключами для любых онлайн-сервисов, с которыми вы хотите синхронизироваться. Все инструкции доступны в этом репозитории!
Обзор
Установка
системный
Вариант 1 (установка вручную)
Вариант 2 (Докер)
Апплеты
Входы
Модификаторы (необязательно)
Выходы
Триггеры
Плагины
Режим плейлистов и режим песен
Содействие
Написание собственного плагина
Улучшение исходного кода ультразвука
Добро пожаловать в УЗИ !
Ultrasonics — это инструмент, призванный помочь вам контролировать свою музыкальную библиотеку и музыкальные плейлисты. Прошли те времена, когда ваши плейлисты были разбросаны по трем различным сервисам или вы были ограничены использованием одного сервиса, потому что у вас нет времени вручную создавать несколько копий одного и того же плейлиста.
Ultrasonics использует плагины для взаимодействия с вашими любимыми сервисами. Это означает, что функциональность можно добавить, просто установив новый плагин. Каждый плагин может обеспечивать совместимость с каким-либо сервисом, например, официальный плагин Spotify ссылается на… ну, конечно, Spotify. Другие плагины предоставляют дополнительные функции, такие как объединение плейлистов из нескольких источников.
Обзор всех включенных плагинов можно найти по адресу [документация неполная].
Для запуска ультразвука у вас есть два варианта:
Загрузите и запустите ультразвук напрямую.
Загрузите и запустите официальный образ докера.
Ultrasonics был разработан на Linux. Он должен быть кросс-платформенным, но он не тестировался, поэтому будьте готовы к ошибкам или проблемам в Windows / macOS!
Убедитесь, что у вас установлен Python 3.
# Если эта команда не работает, установите Python 3callum на uluru в ~↪ python3 --version Питон 3.8.2
Клонируйте репозиторий в каталог установки, возможно /opt/ultrasonics
# Перейдите в каталог установки callum по адресу uluru в ~↪ cd /opt# Клонируйте этот repocallum по адресу uluru в /opt ↪ git clone https://github.com/XDGFX/ultrasonics# Убедитесь, что у вас есть право собственности на папку Ultrasonics в Uluru в /opt. ↪ sudo chown -R callum:callum ultrasonics/
Создайте виртуальную среду и установите внутри нее необходимые зависимости.
# Перейдите в каталог ультразвуковых устройств Callum по адресу uluru в /opt. ↪ cd ultrasonics# Создайте виртуальную среду в папке .venv'callum в uluru в /o/ultrasonics ↪ python3 -m venv .venv# Активировать среду.# Если вы используете другую оболочку, используйте active.<shell># например source .venv/bin/activate.fish для fish!callum at uluru в /o/ultrasonics ↪ source .venv/bin/activate# Убедитесь, что ваш venv активен (см. .venv в начале строки)# Установите зависимости Python в uluru в /o/ultrasonics (.venv) ↪ pip3 install -r требования.txt
Запустите app.py
# Пока venv все еще активен, запустите app.pycallum на uluru в /o/ultrasonics (.venv) ↪ python3 app.py
Если вы хотите запустить это как процесс systemd, выполните следующие действия:
Скопируйте пример служебного файла в /etc/systemd/system/ultrasonics.service
sudo cp ultrasonics.service /etc/systemd/system/ultrasonics.service
Перезагрузите демон systemctl, чтобы получить новую службу.
sudo systemctl демон-перезагрузка
Включите и запустите службу
sudo systemctl включить --сейчас ультразвук
Вы можете проверить статус процесса, используя:
Systemctl статус ультразвука
Официальный образ ультразвука находится по адресу xdgfx/ultrasonics. Вы можете извлечь и запустить его вручную или вставить в файл docker-compose.yml
.
версия: «3.7» услуги: ультразвук: изображение: xdgfx/ultrasonicscontainer_name: ultrasonicsrestart: if-stoppedports: - 5000:5000объемов: - /path/to/config:/config - /path/to/plugins:/plugins # Используется для среды сторонних плагинов: - PUID=${PUID} - PGID=${PGID}
Если вы когда-либо использовали IFTTT, вы уже понимаете основы. ультразвук работает с концепцией «апплетов». Каждый созданный вами апплет содержит плагины, которые относятся к одной из четырех категорий:
Эти плагины подключаются к службе, чтобы получить список песен или плейлистов, и передать этот список плагинам модификаторов и вывода.
Эти плагины берут список песен или плейлистов из одного или нескольких входных плагинов и каким-то образом модифицируют этот список. Например, они могут объединять повторяющиеся плейлисты или заменять песни похожими песнями, используя API обнаружения музыки.
Эти плагины берут переданный им список плейлистов и сохраняют его в сервисе. Возможно, они обновляют или создают ваши плейлисты в Plex или сохраняют их в файле .m3u на вашем домашнем сервере.
Эти плагины не являются частью потока песен/плейлиста, а вместо этого определяют, когда на самом деле запускается апплет. Самый простой триггер основан на времени, например «Запускать один раз каждые 6 часов».
Вы можете создавать свои собственные апплеты, используя установленные плагины, сохранять их в базе данных, а затем они будут запускаться автоматически из плагина Trigger или путем запуска апплета вручную с домашней страницы.
Ultrasonics поставляется в комплекте с несколькими официальными плагинами. Для получения дополнительной информации см. [документация неполная].
Новые плагины можно установить, просто скопировав папку, содержащую плагин, в каталог plugins
.
Каждому апплету нужен как минимум один входной и один выходной плагин. Для автоматического запуска ему также необходим плагин-триггер.
Большинство плагинов будут иметь настройки для настройки, которые могут быть глобальными постоянными настройками (общими для всех экземпляров плагина, для всех ваших апплетов) или конкретными для этого экземпляра плагина.
При создании апплета вам будет предложено ввести все необходимые настройки.
Настройки всегда можно оставить пустыми! В некоторых случаях это нормально или ожидаемо, однако в других случаях это может привести к ошибкам плагина, которые могут потребовать ручного исправления базы данных ультразвуковых исследований! Убедитесь, что вы заполнили все необходимые настройки!
Некоторые плагины предназначены для работы со списками воспроизведения — например, плагин Spotify взаимодействует с вашими плейлистами Spotify. Некоторые плагины предназначены для работы с песнями, например, ваши 100 лучших песен на Last.fm.
Если плагин работает только в режиме песен, на экране «Выбор плагина» отобразится предупреждение.
Добавление плагина режима песен на вход будет эффективно работать путем добавления одного списка воспроизведения в поток апплета. Это должно работать без проблем, если рассматриваемый плагин предоставляет имя для этого единственного списка воспроизведения.
Попытка поместить несколько плейлистов в один плагин вывода в режиме песен, скорее всего, вызовет проблемы, это не рекомендуется.
Итак, вы хотите помочь улучшить ультразвук? Прежде всего - спасибо! Как человек, не являющийся инженером-программистом, это один из крупнейших проектов, над которыми я работал. Любая помощь или предложения очень ценятся!
Расширить функциональность ультразвука легко! Плагин устанавливается методом перетаскивания и поэтому может значительно улучшить проект с минимальной сложностью. Лучший способ узнать — через вики. Вы можете форкнуть этот проект или создать собственный репозиторий специально для вашего плагина. Его можно сохранить отдельно, или, если вы считаете, что создание плагина по умолчанию принесет пользу сообществу, дайте мне знать, опубликовав сообщение на GitHub!
Я буду сообщать о любых планах на будущее, известных проблемах или общих улучшениях в этих проблемах. Также обратите внимание на доски проектов, на которых должны быть показаны вопросы, имеющие высокий приоритет.
Или, если у вас есть новая идея, попробуйте ее и дайте мне знать, отправив запрос на включение или проблему! ?