Update 2022
Ultraschall ist nicht veraltet, aber ich habe nicht so viel Zeit, wie ich gerne daran arbeiten würde. Ich habe vor, in Zukunft darauf zurückzukommen, ich hoffe, Sie können es ertragen! Ein wichtiges bevorstehendes Update betrifft die Ultraschall-API . Ich hoste derzeit eine öffentliche Version im kostenlosen Kontingent von Heroku, die, wie bereits im August angekündigt, Ende November 2022 eingestellt wird. Es wird für alle öffentlichen Streaming-Dienste (Spotify, Last.fm usw.) benötigt.
Ich habe noch keine alternative Einrichtung eingerichtet. Bevor es soweit ist, empfehle ich Ihnen daher dringend, Ihre eigene Ultraschall-API- Instanz neben Ultraschall und Schlüsseln für alle Online-Dienste einzurichten, mit denen Sie synchronisieren möchten. Die Anweisungen sind alle in diesem Repo verfügbar!
Überblick
Installation
systemd
Option 1 (manuelle Installation)
Option 2 (Docker)
Applets
Eingaben
Modifikatoren (optional)
Ausgänge
Auslöser
Plugins
Playlists-Modus vs. Songs-Modus
Mitwirken
Schreiben Sie Ihr eigenes Plugin
Verbesserung des Ultraschall-Quellcodes
Willkommen bei Ultraschall !
Ultraschall ist ein Tool, das Ihnen dabei hilft, die Kontrolle über Ihre Musikbibliothek und Musikwiedergabelisten zu übernehmen. Vorbei sind die Zeiten, in denen Ihre Playlists auf drei verschiedene Dienste verteilt waren oder Sie sich auf die Nutzung eines Dienstes beschränkten, weil Sie nicht die Zeit hatten, mehrere Kopien derselben Playlist manuell zu kuratieren.
Ultrasonics verwendet Plugins, um mit Ihren Lieblingsdiensten zu interagieren. Das bedeutet, dass die Funktionalität einfach durch die Installation eines neuen Plugins hinzugefügt werden kann. Jedes Plugin bietet möglicherweise Kompatibilität mit einem Dienst, z. B. verlinkt das offizielle Spotify-Plugin zu ... na ja, natürlich Spotify. Andere Plugins bieten zusätzliche Funktionen, beispielsweise das Zusammenführen von Wiedergabelisten aus mehr als einer Quelle.
Die Übersicht aller enthaltenen Plugins finden Sie unter [Dokumentation unvollständig].
Um Ultraschall durchzuführen, haben Sie zwei Möglichkeiten:
Ultraschall direkt herunterladen und ausführen.
Rufen Sie das offizielle Docker-Image ab und führen Sie es aus.
Ultraschall wurde unter Linux entwickelt. Es sollte plattformübergreifend kompatibel sein, wurde jedoch nicht getestet. Seien Sie also auf Fehler oder Probleme unter Windows/MacOS vorbereitet!
Stellen Sie sicher, dass Sie Python 3 installiert haben
# Wenn dieser Befehl nicht funktioniert, installieren Sie Python 3callum unter uluru in ~↪ python3 --version Python 3.8.2
Klonen Sie das Repo in ein Installationsverzeichnis, vielleicht /opt/ultrasonics
# Verschieben Sie es in Ihr Installationsverzeichnis. Callum bei Uluru in ~↪ cd /opt# Klonen Sie dieses Repocallum bei Uluru in /opt ↪ Git-Klon https://github.com/XDGFX/ultrasonics# Stellen Sie sicher, dass Sie Eigentümer des Ultraschallordners callum bei uluru in /opt sind ↪ sudo chown -R callum:callum ultraschall/
Erstellen Sie eine virtuelle Umgebung und installieren Sie darin die erforderlichen Abhängigkeiten.
# In das Ultraschallverzeichnis callum bei uluru in /opt verschieben ↪ cd ultrasonics# Erstellen Sie eine virtuelle Umgebung im Ordner „.venv“callum bei uluru in /o/ultrasonics ↪ python3 -m venv .venv# Aktivieren Sie die Umgebung.# Wenn Sie eine andere Shell verwenden, verwenden Sie activate.<shell># z. B. source .venv/bin/activate.fish für fish!callum bei uluru in /o/ultrasonics ↪ source .venv/bin/activate# Stellen Sie sicher, dass Ihr venv aktiv ist (siehe .venv am Anfang der Zeile)# Installieren Sie die Python-Abhängigkeitencallum unter uluru in /o/ultrasonics (.venv) ↪ pip3 install -r Anforderungen.txt
Führen Sie app.py
aus
# Führen Sie bei noch aktivem venv app.pycallum unter uluru in /o/ultrasonics aus (.venv) ↪ python3 app.py
Wenn Sie dies als systemd-Prozess ausführen möchten, führen Sie die folgenden Schritte aus:
Kopieren Sie die Beispieldienstdatei nach /etc/systemd/system/ultrasonics.service
sudo cp ultrasonics.service /etc/systemd/system/ultrasonics.service
Laden Sie den systemctl-Daemon neu, um den neuen Dienst zu übernehmen
sudo systemctl daemon-reload
Aktivieren und starten Sie den Dienst
sudo systemctl enable --now Ultraschall
Sie können den Status des Prozesses überprüfen mit:
Systemctl-Status-Ultraschall
Das offizielle Ultraschallbild finden Sie unter xdgfx/ultrasonics. Sie können es manuell abrufen und ausführen oder in Ihre docker-compose.yml
Datei einfügen.
Version: „3.7“Dienste:Ultraschall:Bild: xdgfx/UltrasonicsContainername:UltraschallRestart:sofern nicht gestopptPorts: - 5000:5000 Bände: - /path/to/config:/config - /path/to/plugins:/plugins # Wird für die Plugin-Umgebung von Drittanbietern verwendet: - PUID=${PUID} - PGID=${PGID}
Wenn Sie jemals IFTTT verwendet haben, verstehen Sie bereits die Grundlagen. Ultraschall arbeitet mit dem Konzept der „Applets“. Jedes von Ihnen erstellte Applet enthält Plugins, die in eine von vier Kategorien passen:
Diese Plugins stellen eine Verbindung zu einem Dienst her, um eine Liste von Songs oder Wiedergabelisten abzurufen, und übergeben diese Liste an die Modifikator- und Ausgabe-Plugins.
Diese Plugins übernehmen eine Liste von Songs oder Playlists von einem oder mehreren Eingabe-Plugins und modifizieren die Liste auf irgendeine Weise. Sie können beispielsweise doppelte Wiedergabelisten zusammenführen oder die Songs mithilfe einer Musikerkennungs-API durch ähnliche Songs ersetzen.
Diese Plugins übernehmen die ihnen übergebene Liste der Wiedergabelisten und speichern sie in einem Dienst. Möglicherweise aktualisieren oder erstellen sie Ihre Wiedergabelisten in Plex oder speichern sie in einer .m3u-Datei auf Ihrem Heimserver.
Diese Plugins sind nicht Teil des Song-/Playlist-Flusses, sondern bestimmen stattdessen, wann das Applet tatsächlich ausgeführt wird. Der einfachste Auslöser ist zeitbasiert, z. B. „Einmal alle 6 Stunden ausführen“.
Sie können Ihre benutzerdefinierten Applets mit den installierten Plugins erstellen, sie in der Datenbank speichern und sie dann automatisch über ein Trigger-Plugin ausführen, oder indem Sie das Applet manuell von der Homepage aus ausführen.
Im Lieferumfang von Ultraschall sind mehrere offizielle Plugins enthalten. Weitere Informationen finden Sie unter [Dokumentation unvollständig].
Neue Plugins können installiert werden, indem Sie einfach den Plugin-enthaltenden Ordner in das plugins
-Verzeichnis kopieren.
Jedes Applet benötigt mindestens ein Eingabe- und ein Ausgabe-Plugin. Um automatisch zu laufen, benötigt es außerdem ein Trigger-Plugin.
Bei den meisten Plugins müssen Einstellungen konfiguriert werden, bei denen es sich um globale dauerhafte Einstellungen (gemeinsam für alle Instanzen des Plugins, für alle Ihre Applets) oder speziell für diese Instanz des Plugins handeln kann.
Sie werden aufgefordert, alle erforderlichen Einstellungen einzugeben, wenn Sie Ihr Applet erstellen.
Einstellungen können immer leer bleiben! In einigen Fällen ist dies in Ordnung oder wird erwartet, in anderen Fällen kann es jedoch zu Plugin-Fehlern kommen, die möglicherweise eine manuelle Korrektur der Ultraschalldatenbank erfordern! Stellen Sie sicher, dass Sie alle erforderlichen Einstellungen ausfüllen!
Einige Plugins sind für die Arbeit mit Playlists konzipiert – z. B. interagiert das Spotify-Plugin mit Ihren Spotify-Playlists. Einige Plugins sind für die Arbeit mit Songs konzipiert, z. B. Ihren Top-100-Songs auf Last.fm.
Wenn ein Plugin nur im Songs-Modus funktioniert, wird auf dem Bildschirm „Plugin auswählen“ eine Warnung angezeigt.
Das Hinzufügen eines Songs-Modus-Plugins zu einer Eingabe funktioniert effektiv, indem dem Applet-Fluss eine einzelne Wiedergabeliste hinzugefügt wird. Dies sollte problemlos funktionieren, solange das betreffende Plugin einen Namen für diese einzelne Playlist bereitstellt.
Der Versuch, mehrere Wiedergabelisten in ein einzelnes Ausgabe-Plugin für den Song-Modus einzuspeisen, wird wahrscheinlich zu Problemen führen, es wird jedoch nicht empfohlen.
Sie möchten zur Verbesserung des Ultraschalls beitragen? Zunächst einmal – vielen Dank! Als jemand, der kein Softwareentwickler ist, ist dies eines der größten Projekte, an denen ich je gearbeitet habe. Für jede Hilfe oder Anregung sind wir sehr dankbar!
Die Funktionalität von Ultraschall zu erweitern ist einfach! Ein Plugin ist eine Drag-and-Drop-Installation und kann daher das Projekt bei minimaler Komplexität erheblich verbessern. Am besten lernt man über das Wiki. Sie können dieses Projekt forken oder Ihr eigenes Repo speziell für Ihr Plugin erstellen. Es kann separat gehalten werden, oder wenn Sie der Meinung sind, dass es der Community zugute kommen würde, wenn Sie es zu einem Standard-Plugin machen, lassen Sie es mich über ein GitHub-Problem wissen!
Ich werde zukünftige Pläne, bekannte Probleme oder allgemeine Verbesserungen in die Ausgaben eintragen. Werfen Sie auch einen Blick auf die Projekttafeln, auf denen die Themen mit hoher Priorität aufgeführt sein sollten.
Oder wenn Sie eine neue Idee haben, probieren Sie sie aus und lassen Sie es mich mit einer Pull-Anfrage oder einem Pull-Problem wissen! ?