Neues Modul: 70_Soundcloud.pm - Entwicklung/Ideen Sammlung/Testversion

Begonnen von DeeSPe, 05 November 2016, 14:13:08

Vorheriges Thema - Nächstes Thema

Syrex-o

ChrisD hat geschrieben, dass URL übergeben funktioniert.
Genauer Modulname müsste 98_SB_PLAYER sein. Bin aber nicht ganz sicher.
Bin am Handy in der Uni.
Google einfach mal fhem squeezebox. Da kommt sofort das Wiki mit den genauen Bezeichnungen.
Grüße

Gesendet von meinem HTC One M8 mit Tapatalk


DeeSPe

Zitat von: Syrex-o am 08 November 2016, 12:22:59
@DeepSPe, es ist möglich die Squeezeboxen mit einzubinden, aber .
Die genaue Bezeichnung dafür wäre: set <player> playlist play <url>
Damit solltest du ja schon was anfangen können.
Grüße

So wie ich das sehe können nur lokale Dateien mit file:// abgespielt werden!
Irre ich mich?

Mit Modulname meine ich das was beim angelegten Device in den Internals unter TYPE steht!
Ist das dann SB_PLAYER?

Hattest Du mal bei SC angefragt wegen Deinem Key?

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

Syrex-o

ZitatHattest Du mal bei SC angefragt wegen Deinem Key?
Jop hab ich. Antwort lässt bestimmt auf sich warten.

ZitatMit Modulname meine ich das was beim angelegten Device in den Internals unter TYPE steht!
Ist das dann SB_PLAYER?

Also alles was man braucht ist folgendes:
- 98_SB_Player.pm (Player Modul)
- zur verständlichkeit: Alles was variablen sind in <>
    - set <playername> playlist <play> <url>

ZitatMit Modulname meine ich das was beim angelegten Device in den Internals unter TYPE steht!
Ist das dann SB_PLAYER?
Jop.
Grüße

DeeSPe

Zitat von: Syrex-o am 08 November 2016, 16:13:42
Also alles was man braucht ist folgendes:
- 98_SB_Player.pm (Player Modul)
- zur verständlichkeit: Alles was variablen sind in <>
    - set <playername> playlist <play> <url>

Das ist mir schon klar!
Die set Befehle habe ich auch im Wiki gefunden.
So richtig verstehe ich es aber nicht warum ein doppelter set Befehl nötig ist (playlist play). Bei meinem Sonos reicht dazu ein einfacher Befehl (PlayURI).

Zitat von: DeeSPe am 08 November 2016, 14:42:36
So wie ich das sehe können nur lokale Dateien mit file:// abgespielt werden!
Irre ich mich?

Kannst Du bitte diese Frage noch beantworten?

Danke.

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

Syrex-o

ZitatKannst Du bitte diese Frage noch beantworten?
Hab es jetzt auf so ziemlich jede erdenklich weise probiert, jedoch können url files nur abgespielt werden, wenn die Endung eindeutig auf audio hinweist. .pls funktioniert sicher und lokale mp3 files auch. Jedoch ist es bei Soundcloud Liedern nicht möglich. Vielleicht lässt sich da ja noch eine Lösung finden.
Grüße

DeeSPe

Wenn es nur die Möglichkeit gibt lokale Dateien abzuspielen, kann ich mir nur vorstellen vorher einen Download zu initiieren und dann diese lokale Datei abzuspielen. Das ist aber leider keine schöne Lösung da es dann dauert bis die Datei heruntergeladen ist.

Gruß
Dan

P.S. Die Integration der Playlists bereitet mir doch mehr Kopfschmerzen als gedacht.Sobald ich das geschafft habe, gibt es das Update für's Modul.
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

Syrex-o

ZitatWenn es nur die Möglichkeit gibt lokale Dateien abzuspielen, kann ich mir nur vorstellen vorher einen Download zu initiieren und dann diese lokale Datei abzuspielen. Das ist aber leider keine schöne Lösung da es dann dauert bis die Datei heruntergeladen ist.
Finde ich ehrlich gesagt ungünstig.
Ich hab eventuell eine Idee wie es anders funktionieren könnte....
(Feedback folgt)
Die persönlichen Likes können alle schon automatisch abgespielt werden.
Grüße

ChrisD

Hallo,

ZitatSo richtig verstehe ich es aber nicht warum ein doppelter set Befehl nötig ist (playlist play). Bei meinem Sonos reicht dazu ein einfacher Befehl (PlayURI).
Die Befehle wurden vor sehr langer Zeit vom Entwicklerteam bei Logitech so festgelegt, das FHEM-Modul verwendet genau die gleiche Syntax weil diese bestens dokumentiert ist.

ZitatThe "playlist play" command puts the specified song URL, playlist or directory contents into the current playlist and plays starting at the first item. Any songs previously in the playlist are discarded.
Wieso Sonos einen getrennten Befehl für URLs benötigt weiß ich nicht, der LMS entscheidet selbst anhand des übergebenen Wertes ob es eine lokale Datei ist oder ein Internet-Stream ist.

Grüße,

ChrisD

DeeSPe

Zitat von: ChrisD am 09 November 2016, 17:06:58
Wieso Sonos einen getrennten Befehl für URLs benötigt weiß ich nicht, der LMS entscheidet selbst anhand des übergebenen Wertes ob es eine lokale Datei ist oder ein Internet-Stream ist.

Danke für die Erklärung ChrisD.

Bei Sonos ist es kein getrennter Befehl, sondern DER Befehl.
Sonos hat keinen eigenen Speicher! Für den/die ist im Prinzip alles ein Stream!

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

DeeSPe

Da Du, ChrisD, schon einmal hier bist!  8)

Was wird konkret erwartet bei "playlist play"?
m3u, pls oder gar eine andere Liste?
Können in der Liste nur lokale oder auch Resourcen per http(s) angegeben werden?

Danke.

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

ChrisD

Hallo,

Es kann alles angegeben werden was in irgendeiner Form als Audio erkennbar ist:

playlist play /music/abba/01_Voulez_Vous.mp3
playlist play /playlists/abba.m3u
playlist play http://www.abc.net.au/res/streaming/audio/mp3/local_melbourne.pls


https funktioniert nicht immer, wieso kann ich dir aber nicht sagen.

Grüße,

ChrisD

DeeSPe

Vielen Dank für die Info ChrisD!

Leider zeigen alle Streaming URLs der Soundcloud API auf https://....................

Habe jetzt auch soweit die Playlisten integriert, bin aber mit den wahnsinnig langen Readings der Playlisten noch nicht so glücklich.
Überlege mir mal noch was wie die sich kürzen lassen könnten.

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

DeeSPe

Gibt es denn schon jemanden der mittlerweile einen API Key bekommen hat?

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

Syrex-o

@DeeSPe

Im Punkt API key sieht's noch schlecht aus.
Jedoch könnte es im Punkt URL Eingabe bald besser aussehen.
Grüße

ChrisD

Hallo,

Ich habe mich zu Testzwecken bei Soundcloud angemeldet. Da es nicht so einfach ist einen API-Key zu bekommen habe ich das Modul so geändert dass ich das OAuth-Token welches ich für das SqueezeBox-Plugin bekommen habe verwenden kann.

Damit kann ich mich verbinden und User anlegen (mit DeeSPe getestet). Was aber nicht funktioniert ist User mit Leerzeichen im Namen anzulegen. Edit: Wenn man den Namen aus der Profile-URL nimmt geht es.

Ich habe dann versucht die Wiedergabe über die SqueezeBox-Player zu starten was aber mit dem Attribut scPlayUriCmds nicht möglich ist da hier keine Leerzeichen erlaubt sind. Ich habe daher die Zeile
  $cmd = "playlist play"  if ($ptype =~ /^SB_PLAYER$/);
im Modul hinzugefügt wodurch die Wiedergabe auf den Playern (trotz https) funktioniert.

Grüße,

ChrisD