Musik mit Smartphone und PC steuern 5. August 2018, 20:24

Meine Musik ist auf einer Festplatte in meinem Rechner. Es passiert zwar selten, aber manchmal ist mein Rechner aus und ich möchte Musik hören. YouTube, vor allem Soundcloud würden dafür sogar reichen. (Seit einigen Jahren streame ich Musik anstatt diese lokal abzuspielen.)
Dafür habe ich an dem Receiver einen Klinkenstecker für mein Smartphone bereit. Aber da ich mit dem Smartphone nie Musik höre, habe ich weder Musik noch Apps (YouTube, Soundcloud) da drauf installiert. Letztes mal bin ich mit dem Browser auf YouTube gegangen und musste erneut feststellen, dass man das Display an lassen muss… Dadurch ist mein Akku leer gewesen bevor ich mit meiner Arbeit fertig war. (Man muss sich bei YouTube Premium kaufen, damit man mit ausgeschaltetem Display Musik hören kann ;))

Also habe ich erneut vor ein paar Tagen nach einer Lösung gesucht. Mein erster Gedanke war es, den Sound vom Phone zum Raspberry Pi über das Netzwerk zu streamen, was immer noch den Akku leer saugt. Dann bin ich auf Mopidy gestoßen, welcher mir gleichzeitig empfohlen wurde. Mopidy läuft komplett auf dem Server (in meinem Falle Raspberry Pi) und streamt die Musik selber aus verschiedenen Quellen, welche auch durch Extensions hinzugefügt werden können. Somit kann ich die selbe Playlist mit dem Browser auf dem PC und Smartphone steuern.
Mopidy habe ich daraufhin auf meinen Raspberry Pi installiert, welcher sowieso versteckt in der Nähe des Receivers ist. Sehr schnell habe ich festgestellt, dass die Extensions für YouTube und Soundcloud unbrauchbar sind… Aber zum Glück ist Mopidy mit Python geschrieben und die Extension dementsprechend auch :D
Ich bin die Source von der Soundcloud-Extension durchgegangen und mir ist schnell aufgefallen, dass fast nur veraltete API-Endpoints verwendet werden. Einige waren sogar kommentiert mit “nicht dokumentierter Endpoint”. Dabei war der letzte Commit in Juni… Mit meinem jugendlichen Leichtsinn habe ich angefangen die URLs im Source zu aktualisieren. Aber natürlich hat sich die Struktur des Inhalts geändert und ich musste nachvollziehen was bisher mit dem Inhalt gemacht wurde und dies an die neue Struktur anpassen.
Nach ein paar Stunden und try’n’errors konnte man die Likes aufrufen und auch hören. Vom Stream wurden vorher nur die letzten fünf Tracks angezeigt, nun sind es 500. Die eigenen Playlists und auch die Suche haben schon funktioniert, aber die Suche hatte Parameter in der URL, die von der API nicht unterstützt wurden. Also habe ich auch das aktualisiert.

Die letzten Likes von mir auf Soundcloud

Für mich funktioniert es natürlich nun, aber ich möchte ja, dass jeder davon profitiert. Also habe ich eine Pull Request an die Leute mit meinem neuen Code geschickt, um danach festzustellen, dass die Leute die Pull Requests seit 2015 nicht mehr behandeln… Dabei suchen sie neue Maintainer für die Extensions und sollten daher froh über Pull Requests sein ¯\_(ツ)_/¯
Kurz danach habe ich festgestellt, dass es sehr viele Forks von der Soundcloud Extension existieren. Womöglich sind unter denen noch andere, bessere Neuerungen als meine kleine Änderung.
Nach einiger Zeit, wurde mein PR mit vielen anderen auch gemerged :)

Yama


Kommentare

Move to Top