Mise à jour 2022
les ultrasons ne sont pas dépréciés, mais je n'ai pas autant de temps que je voudrais pour travailler à son développement. J'ai l'intention d'y revenir à l'avenir, j'espère que vous pourrez me supporter ! Une mise à jour importante à venir concerne ultrasonics-api . J'héberge actuellement une version publique sur l'offre gratuite Heroku, qui s'arrêtera fin novembre 2022, comme annoncé en août. Il est nécessaire pour tous les services de streaming publics (Spotify, Last.fm, etc.).
Je n'ai pas encore de configuration alternative, donc avant ce moment, je vous invite à configurer votre propre instance ultrasonics-api aux côtés d'ultrasonics et les clés de tous les services en ligne avec lesquels vous souhaitez vous synchroniser. Les instructions sont toutes disponibles sur ce dépôt !
Aperçu
Installation
système
Option 1 (installation manuelle)
Option 2 (Docker)
Applets
Entrées
Modificateurs (facultatif)
Sorties
Déclencheurs
Plugins
Mode listes de lecture et mode chansons
Contribuer
Écrire votre propre plugin
Améliorer le code source des ultrasons
Bienvenue aux ultrasons !
ultrasonics est un outil conçu pour vous aider à prendre le contrôle de votre bibliothèque musicale et de vos listes de lecture musicales. Il est révolu le temps où vos listes de lecture étaient dispersées sur trois services différents ou où vous étiez limité à l'utilisation d'un seul service parce que vous n'aviez pas le temps de gérer manuellement plusieurs copies de la même liste de lecture.
ultrasons utilise des plugins pour interagir avec vos services préférés. Cela signifie que des fonctionnalités peuvent être ajoutées en installant simplement un nouveau plugin. Chaque plugin peut offrir une compatibilité avec un service, par exemple le plugin officiel Spotify relie à... enfin, Spotify bien sûr. D'autres plugins offrent des fonctionnalités supplémentaires, telles que la fusion de listes de lecture provenant de plusieurs sources.
L’aperçu de tous les plugins inclus peut être trouvé sur [documentation incomplète].
Pour effectuer des ultrasons, vous avez deux options :
Téléchargez et exécutez des ultrasons directement.
Extrayez et exécutez l’image Docker officielle.
les ultrasons ont été développés sous Linux. Il devrait être compatible multiplateforme, mais il n'a pas été testé, alors soyez prêt à faire face à des bugs ou à des problèmes sous Windows/MacOS !
Assurez-vous que Python 3 est installé
# Si cette commande ne fonctionne pas, installez Python 3callum sur uluru dans ~↪ python3 --version Python 3.8.2
Clonez le dépôt dans un répertoire d'installation, peut-être /opt/ultrasonics
# Déplacez-vous vers votre répertoire d'installation, callum à uluru dans ~↪ cd /opt# Clonez ce repocallum à uluru dans /opt ↪ git clone https://github.com/XDGFX/ultrasonics# Assurez-vous d'être propriétaire du dossier ultrasons callum à uluru dans /opt ↪ sudo chown -R callum:callum ultrasonique/
Créez un environnement virtuel et installez-y les dépendances requises.
# Accédez au répertoire des ultrasons, callum à uluru dans /opt ↪ cd ultrasonics# Créez un environnement virtuel dans le dossier '.venv'callum à uluru dans /o/ultrasonics ↪ python3 -m venv .venv# Activez l'environnement.# Si vous utilisez un autre shell, utilisez activate.<shell># par exemple source .venv/bin/activate.fish pour fish!callum à uluru dans /o/ultrasonics ↪ source .venv/bin/activate# Assurez-vous que votre venv est actif (voir le .venv au début de la ligne)# Installez le callum des dépendances Python à uluru dans /o/ultrasonics (.venv) ↪ pip3 install -r exigences.txt
Exécutez app.py
# Avec le venv toujours actif, exécutez app.pycallum sur uluru dans /o/ultrasonics (.venv) ↪ python3 app.py
Si vous souhaitez l'exécuter en tant que processus systemd, suivez les étapes ci-dessous :
Copiez l'exemple de fichier de service dans /etc/systemd/system/ultrasonics.service
sudo cp ultrasonics.service /etc/systemd/system/ultrasonics.service
Rechargez le démon systemctl pour récupérer le nouveau service
sudo systemctl démon-reload
Activer et démarrer le service
sudo systemctl activate --now ultrasons
Vous pouvez vérifier l'état du processus en utilisant :
ultrasons d'état systemctl
L’image ultrasonique officielle se trouve sur xdgfx/ultrasonics. Vous pouvez l'extraire et l'exécuter manuellement, ou le coller dans votre fichier docker-compose.yml
.
version : "3.7" services : ultrasons : image : xdgfx/ultrasonicscontainer_name : ultrasonsrestart : sauf si les ports sont arrêtés : - 5000 : 5000 volumes : - /path/to/config:/config - /path/to/plugins:/plugins # Utilisé pour l'environnement de plugins tiers : - PUID=${PUID} - PGID=${PGID}
Si vous avez déjà utilisé IFTTT, vous comprenez déjà les principes fondamentaux. les ultrasons fonctionnent avec le concept d'« applets ». Chaque applet que vous créez contient des plugins qui entrent dans l'une des quatre catégories suivantes :
Ces plugins se connectent à un service pour obtenir une liste de chansons ou de listes de lecture et transmettent cette liste aux plugins Modifiers et Output.
Ces plugins prennent une liste de chansons ou de listes de lecture à partir d'un ou plusieurs plugins d'entrée et modifient la liste d'une manière ou d'une autre. Par exemple, ils peuvent fusionner des listes de lecture en double ou remplacer les chansons par des chansons similaires à l'aide d'une API de découverte musicale.
Ces plugins prennent la liste des playlists qui leur sont transmises et les enregistrent sur un service. Peut-être qu'ils mettent à jour ou créent vos listes de lecture dans Plex, ou les enregistrent dans un fichier .m3u sur votre serveur domestique.
Ces plugins ne font pas partie du flux de chansons/liste de lecture, mais déterminent plutôt quand l'applet s'exécute réellement. Le déclencheur le plus simple est basé sur le temps, par exemple « Exécuter une fois toutes les 6 heures ».
Vous pouvez créer vos applets personnalisés à l'aide des plugins installés, les enregistrer dans la base de données, puis ils s'exécuteront automatiquement à partir d'un plugin Trigger ou en exécutant manuellement l'applet depuis la page d'accueil.
ultrasonics est fourni avec plusieurs plugins officiels. Pour plus d'informations, voir [documentation incomplète].
De nouveaux plugins peuvent être installés en copiant simplement le dossier contenant le plugin dans le répertoire plugins
.
Chaque applet nécessite au moins un plugin d'entrée et un plugin de sortie. Pour s'exécuter automatiquement, il a également besoin d'un plugin de déclenchement.
La plupart des plugins auront des paramètres à configurer, qui peuvent être des paramètres persistants globaux (communs à toutes les instances du plugin, sur toutes vos applets), ou spécifiques à cette instance du plugin.
Vous serez invité à saisir tous les paramètres requis lors de la création de votre applet.
Les paramètres peuvent toujours rester vides ! Dans certains cas, cela est correct ou attendu, mais dans d'autres cas, cela peut entraîner des erreurs de plugin qui peuvent nécessiter une correction manuelle de la base de données d'ultrasons ! Assurez-vous de remplir tous les paramètres que vous êtes censé remplir !
Certains plugins sont conçus pour fonctionner avec des playlists - par exemple, le plugin Spotify interagit avec vos playlists Spotify. Certains plugins sont conçus pour fonctionner avec des chansons, par exemple vos 100 meilleures chansons sur Last.fm.
Si un plugin ne fonctionne qu'en mode chansons, un avertissement sera affiché sur l'écran « sélectionner le plugin ».
L'ajout d'un plugin en mode chansons à une entrée fonctionnera efficacement en ajoutant une seule liste de lecture au flux d'applet. Cela devrait fonctionner sans problème, à condition que le plugin en question fournisse un nom pour cette seule playlist.
Essayer d'alimenter plusieurs listes de lecture dans un seul plugin de sortie en mode chansons entraînera probablement des problèmes, ce n'est pas recommandé.
Alors vous voulez contribuer à améliorer les ultrasons ? Tout d'abord, merci ! En tant que personne qui n'est pas ingénieur logiciel, c'est l'un des plus gros projets sur lesquels j'ai travaillé. Toute aide ou suggestion est grandement appréciée !
Étendre les fonctionnalités des ultrasons est facile ! Un plugin est une installation par glisser-déposer et peut donc grandement améliorer le projet avec une complexité minimale. La meilleure façon d'apprendre est d'utiliser le wiki. Vous pouvez créer ce projet ou créer votre propre dépôt spécifiquement pour votre plugin. Il peut être conservé séparé, ou si vous pensez que cela profiterait à la communauté en créant un plugin par défaut, faites-le moi savoir via un problème GitHub !
Je mettrai tous les projets futurs, les problèmes connus ou les améliorations générales dans les problèmes. Jetez également un œil aux tableaux de projets, qui devraient montrer les problèmes hautement prioritaires.
Ou, si vous avez une nouvelle idée, essayez-la et faites-le-moi savoir avec une pull request ou un problème ! ?