neues Modul: 98_MediaList.pm zur Erstellung einer Playlist für TabletUI

Begonnen von Tobias, 19 Dezember 2016, 15:55:43

Vorheriges Thema - Nächstes Thema

C0mmanda

Zitat von: Tobias am 22 Februar 2017, 08:58:15
Hi,Eigentlich nicht, du musst natürlich die MediaList Definition und das Cachefiledir anpassen.
Bei Sonos Geräten ist das einfacher... die können echte UNC Pfade....

Klingt natürlich einleuchtend.
Da es so aber jetzt läuft mag ich es ehrlich gesagt auch nicht mehr testen ;)

Zitat
m4a Dateien gehen auch mit anpassung, ungetestet:

Suche mal nach
return undef if ($file !~ m/\.mp3$/i);   # keine mp3 Endung
ersetze durch
return undef if ($file !~ m/(\.mp3|\.m4a)$/i);   # keine mp3/m4a Endung

Allerdings weiß ich dann nicht, wie sich die genutzten mp3 Bilbliotheken verhalten
use MP3::Tag;
use MP3::Info;


Habs eingebaut und es läuft aktuell problemlos.
Sollte es doch noch zu zicken kommen melde ich mich.

Bis hierher: VIELEN DANK!

Nu mal alles in die FTUI schrauben :)

grtz
cmdA

gamelive1207

Guten Abend alle zusammen.

und zwar habe ich eine Problem/Frage.

Meine Musik liegt nach folgendem Schema da:
- /Artist/Albmum/Tittelnummer. Liedname
- /Artist/Albmum/Tittelnummer - Liedname
- /Artist/Albmum/Tittelnummer Liedname

Leider stimmt die die Playlist nicht mit der Tittelnummer überein.



[{"Title":"Why Oh Why","Artist":"ATC","Time":238,"Cover":"/music/ATC/Planet Pop/ATC - Planet Pop (2001) front.jpg","File":"/music/ATC/Planet Pop/7 - Why Oh Why.mp3","Album":"Planet Pop"},{"Artist":"ATC","Title":"Notte D'Amore Con Te","Cover":"/music/ATC/Planet Pop/ATC - Planet Pop (2001) front.jpg","Time":249,"File":"/music/ATC/Planet Pop/10 - Notte D'Amore Con Te.mp3","Album":"Planet Pop"},{"File":"/music/ATC/Planet Pop/5 - Until.mp3","Album":"Planet Pop","Title":"Until","Artist":"ATC","Cover":"/music/ATC/Planet Pop/ATC - Planet Pop (2001) front.jpg","Time":233},{"Album":"Planet Pop","File":"/music/ATC/Planet Pop/16 - With You.mp3","Time":233,"Cover":"/music/ATC/Planet Pop/ATC - Planet Pop (2001) front.jpg","Title":"With You","Artist":"ATC"},{"Title":"Lonesome Suite","Artist":"ATC","Cover":"/music/ATC/Planet Pop/ATC - Planet Pop (2001) front.jpg","Time":72,"File":"/music/ATC/Planet Pop/14 - Lonesome Suite.mp3","Album":"Planet Pop"},{"Album":"Planet Pop","File":"/music/ATC/Planet Pop/4 - Thinking Of You.mp3","Cover":"/music/ATC/Planet Pop/ATC - Planet Pop (2001) front.jpg","Time":228,"Artist":"ATC","Title":"Thinking Of You"},{"File":"/music/ATC/Planet Pop/3 - My Heart Beats Like A Drum (Dam Dam Dam).mp3","Album":"Planet Pop","Title":"My Heart Beats Like A Drum (Dam Dam Dam)","Artist":"ATC","Time":225,"Cover":"/music/ATC/Planet Pop/ATC - Planet Pop (2001) front.jpg"},{"Album":"Planet Pop","File":"/music/ATC/Planet Pop/6 - Mistake No. 2.mp3","Time":251,"Cover":"/music/ATC/Planet Pop/ATC - Planet Pop (2001) front.jpg","Title":"Mistake No. 2","Artist":"ATC"},{"File":"/music/ATC/Planet Pop/1 - Introducing ATC.mp3","Album":"Planet Pop","Artist":"ATC","Title":"Introducing ATC","Cover":"/music/ATC/Planet Pop/ATC - Planet Pop (2001) front.jpg","Time":41},{"Album":"Planet Pop","File":"/music/ATC/Planet Pop/9 - So Magical.mp3","Cover":"/music/ATC/Planet Pop/ATC - Planet Pop (2001) front.jpg","Time":221,"Artist":"ATC","Title":"So Magical"},{"Album":"Planet Pop","File":"/music/ATC/Planet Pop/13 - Lonely.mp3","Cover":"/music/ATC/Planet Pop/ATC - Planet Pop (2001) front.jpg","Time":231,"Artist":"ATC","Title":"Lonely"},{"Title":"Without Your Love","Artist":"ATC","Time":205,"Cover":"/music/ATC/Planet Pop/ATC - Planet Pop (2001) front.jpg","File":"/music/ATC/Planet Pop/8 - Without Your Love.mp3","Album":"Planet Pop"},{"Album":"Planet Pop","File":"/music/ATC/Planet Pop/19 - Around The World (Stian K Remix) .mp3","Cover":"/music/ATC/Planet Pop/ATC - Planet Pop (2001) front.jpg","Time":258,"Artist":"ATC","Title":"Around The World (Stian K Remix)"},{"Title":"Love Is Blind","Artist":"ATC","Time":186,"Cover":"/music/ATC/Planet Pop/ATC - Planet Pop (2001) front.jpg","File":"/music/ATC/Planet Pop/15 - Love Is Blind.mp3","Album":"Planet Pop"},{"File":"/music/ATC/Planet Pop/18 - My Heart Beats Like A Drum (Dam Dam Dam) (international radio edit).mp3","Album":"Planet Pop","Title":"My Heart Beats Like A Drum (Dam Dam Dam) (international radio edit)","Artist":"ATC","Cover":"/music/ATC/Planet Pop/ATC - Planet Pop (2001) front.jpg","Time":237},{"Title":"Heartbeat Outro","Artist":"ATC","Time":73,"Cover":"/music/ATC/Planet Pop/ATC - Planet Pop (2001) front.jpg","File":"/music/ATC/Planet Pop/17 - Heartbeat Outro.mp3","Album":"Planet Pop"},{"File":"/music/ATC/Planet Pop/11 - Mind Machine.mp3","Album":"Planet Pop","Title":"Mind Machine","Artist":"ATC","Cover":"/music/ATC/Planet Pop/ATC - Planet Pop (2001) front.jpg","Time":221},{"File":"/music/ATC/Planet Pop/2 - Around The World (La La La La La).mp3","Album":"Planet Pop","Title":"Around The World (La La La La La)","Artist":"ATC","Cover":"/music/ATC/Planet Pop/ATC - Planet Pop (2001) front.jpg","Time":218},{"Artist":"ATC","Title":"Let Me Come & Let Me Go","Time":199,"Cover":"/music/ATC/Planet Pop/ATC - Planet Pop (2001) front.jpg","File":"/music/ATC/Planet Pop/12 - Let Me Come & Let Me Go.mp3","Album":"Planet Pop"}]


Was kann ich dagegen unternehmen?

Danke für eure Hilfe

Tobias

dann sind deine mp3 Tags krumm und schief... Die Playlist wird aus den mp3 Tags aufgebaut und nicht nach dem Namen des files ;)
achso die Reihenfolge ist die sortierte Liste der Dateinamen im Dateisystem

Edit, änder mal bitte folgende Zeile (ca. Zeile Nr. 753) in 98_Medialist.pm

alt: while(my $filename = readdir($dh)) {
neu: while(my $filename = sort { $a <=> $b } readdir($dh)) {
Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

gamelive1207

Ok,

habe jetzt den Ordner mal über MP3TAG gelesen. die Tracknummerierung passt. Bild angehängt.

Was jetzt?

Tobias

Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

gamelive1207

Geht leider nicht

Logfile:

2017.02.25 14:10:17.769 1: PERL WARNING: Useless use of sort in scalar context at ./FHEM/98_MediaList.pm line 752.


Kann keine Ordner mehr auswählen

Tobias

dann muss ich nochmal eine bessere Lösung suchen... dauert aber, bin das WE ausgelastet ;) und die nächste Woche auf Seminar....
Vieleich hat ja jemand einen schnellen Vorschlag zur Lösung..
Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

gamelive1207

ok, danke aber schonmal für deine Hilfe. Werde ja erstmal nicht daran sterben ;).

Angenehmes Restwochenende Euch/Dir

C0mmanda

@Tobias

Nochmal ein kleines Feedback bezgl. .m4a Dateien:

Grundsätzlich funktioniert alles mit der kleinen Code-Änderung problemlos, lediglich die Dauer der Tracks wird falsch angezeigt. (z.B. im FTUI-medialist widget).
Evtl. kannst du da noch was machen.

Die gleichen Tracks werden mit der korrekten Spieldauer im FTUI-medialist-widget angezeigt wenn die Playlist vom MPD-Device ausgelesen wird. Grundsätzlich ist also der korrekte Umgang mit .m4a möglich.
Wie man das jetzt aber in dein Modul bekommt übersteigt leider meine Fähigkeiten :(

grtz

Reinerlein

Hallo Tobias,

bin gerade dabei mir eine kleine Testoberfläche mit Tablet UI zu bauen, und ich würde gerne deine Sonosplayer Steuerung übernehmen. Zunächst mal nur den linken Bereich aus deinem Screenshot, ohne die MediaList-Option, darum kümmere ich mich später :)

Besteht die Möglichkeit, dass du kurz deinen HTML-Schnipsel für diese Steuerung hier posten könntest?

Danke schon mal im Vorraus...

Grüße
Reiner

Tobias

Natürlich, ich hoffe ich komme morgen zum Posten des codeschnipsels. Bzw werde ich das Wiki ergänzen

Gesendet von meinem Leap mit Tapatalk

Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

Eisix

Hallo,

Ich versuche das ganze an die Bose Soundtouch anzupassen. Hat schon jemand Versuche in die Richtung gemacht?

Gruß
Eisix

Tobias

Ist noch nicht ganz umgestellt. In die settings kommt man über das Wettersymbol rechts neben der Lautstärke
Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

Reinerlein

Hi Tobias,

danke für die Vorlage. Ich habe mir daraus jetzt ein eigenes abgeleitet...

Grüße
Reiner

Tobias

Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter