Autor Thema: neues Modul: 98_MediaList.pm zur Erstellung einer Playlist für TabletUI  (Gelesen 36207 mal)

Axel_S

  • Gast
Hallo,
ich habe das Modul medialist eingebunden (vorerst ohne Tablet-UI) und soweit funktioniert es. Im Cache-Verzeichnis wird aus dem aktuellen Verzeichnis eine Playlist erstellt, die kann ich auch manuell im Sonos-Player aufrufen und abspielen. Wenn ich allerdings "set MyMediaList play currentdir" benutze, wird die Playlist nicht abgespielt. Es wird zwar das Reading playlist_json im Sonos-Player befüllt, dort stehen allerdings die lokalen Pfade und nicht die UNC-Pfade wie in der PlayerDevice.m3u und ich kann nichts abspielen. Wo könnte der Fehler liegen?

Meine Definition:
define define MyMediaList MediaList /media/music/
attr MyMediaList MediaList_PathReplaceFrom /media/music//giantdisc/
attr MyMediaList MediaList_PathReplaceTo //DISKSTATION/audio/giantdisc/
attr MyMediaList MediaList_PlayerDevice Sonos_Wohnzimmer
attr MyMediaList MediaList_mkTempCopy none


Vielen Dank!

Offline Tobias

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3828
Das playlist _json hat nichts mit der eigentlichen playlist zu tun. Dieses ist nur für die Darstellung in Tabelle ui notwendig.
Für die Player ist es wichtig was in der playlist Datei steht ;)

Die Datei heißt exakt so, wie dein Sonos device. Also sonos_wohnzimmer.m3u

Gesendet von meinem Leap mit Tapatalk

FHEM auf ASRock J3455-ITX im 19" Rack mit Homematic, MAX, PCA301, Panstamps, RPi für BLE Bodenfeuchtesenoren, Text2Speech.
Maintainer der Module: Text2Speech, TrashCal, MediaList

Meine Projekte auf https://github.com/tobiasfaust
u.a. PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM

Axel_S

  • Gast
Hallo Tobias,

erstmal vielen Dank für Deine schnelle Antwort  :)
Das mit playlist_json ist mir jetzt klar. Die sonos_wohnzimmer.m3u wird ja korrekt erstellt, läßt sich auch manuell an den Player übergeben und läuft. Nur bei "set MyMediaList play currentdir" passiert nichts, bzw. es wird nur das Reading übergeben. Aber vielleicht ist das auch so gedacht und die Übergabe der sonos_wohnzimmer.m3u erfolgt dann erst über die Einbindung in Tablet UI? (Soweit bin ich ja noch nicht)

Gruß Axel

Offline Tobias

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3828
ganz einfach, dir fehlt das Atrtribut zum StartCommand ;)

attr <ML_dev> MediaList_PlayerStartCommand StartPlaylist file:<fullfile>
steht aber so im Wiki, glaub ich....
FHEM auf ASRock J3455-ITX im 19" Rack mit Homematic, MAX, PCA301, Panstamps, RPi für BLE Bodenfeuchtesenoren, Text2Speech.
Maintainer der Module: Text2Speech, TrashCal, MediaList

Meine Projekte auf https://github.com/tobiasfaust
u.a. PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM

Axel_S

  • Gast
... ja klar, das hatte ich zwar im Wiki gelesen und (vermeintlich) auch eingegeben. Das Problem sitzt halt meistens vor dem Bildschirm  ;) Jetzt funzt alles  :)

Vielen Dank für die Hilfe!
Gruß Axel

Offline Mustermann

  • New Member
  • *
  • Beiträge: 13
Hallo,
ich habe auch das Problem mit der Fehlermeldung.

MPD_Msg ACK ERROR [2@3] {play} Bad song index
Denke es liegt nicht an der Medialist Konfiguration sondern an MPD aber hir ist auch alle wie im WIKI beschrieben.



kurze Info meines Systems:
Musik liegt auf einen NTFS Festplatte diese ist auf dem Server mittels fstab unter /media/Musik eingebunden. Und per SAMBA im Netzwerk verteilt

[Musik]
   comment = Musik
   browseable = yes
   path = /media/speicher_1/Musik/
   guest ok = no
   read only = yes
   writeable = no
   create mask = 0700
Ein Raspberry dient als Radio, auf diesen läuft der MPD auch hier mittels fstab in /media/Musik eingebunden.

//192.168.178.30/Musik  /media/speicher_1/Musik/      cifs   username=daniel,password=*********    rw,suid,dev,exec,auto,nouser,async gid=audio,users    0 0

Die Atribute meiner Medialist:
MediaList_CacheFileDir /media/speicher_1/Musik/
MediaList_PlayerDevice kuechenradio
MediaList_mkTempCopy symlink

Die Readings sind auch alle befüllt und die Playlist Datei kuechenradio.m3u wird erzeugt sowie covers.txt und der symlink zur Datei.

Im Anhang ein Bild meiner Konfiguration.


Bis da hin funktioniert alles nur der Befehl zum Abspielen set kuechenradio playlist kuechenradioerzeugt den Fehler
MPD_Msg ACK ERROR [2@3] {play} Bad song index


Hab den Thread schon mehrmals durch und komm einfach nicht drauf.
Hoff es kann jemand helfen. 

Danke schon mal und Grüße
« Letzte Änderung: 09 Juli 2017, 19:00:40 von Mustermann »

Offline Tobias

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3828
Bin mir ziemlich sicher das deine mpd.conf nicht passt zu diesen Pfaden.

Gesendet von meinem Leap mit Tapatalk

FHEM auf ASRock J3455-ITX im 19" Rack mit Homematic, MAX, PCA301, Panstamps, RPi für BLE Bodenfeuchtesenoren, Text2Speech.
Maintainer der Module: Text2Speech, TrashCal, MediaList

Meine Projekte auf https://github.com/tobiasfaust
u.a. PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM

Offline Mustermann

  • New Member
  • *
  • Beiträge: 13
Danke für die schnelle Antwort.

Hab für Das Musik und Playlist Verzeichniss  einen gemeinsammen Ordner, wie im Wiki beschrieben.

Kann es evtl. sein das man noch zugrifsrechte setzen muss? Wurde auch schon mal im Thread geschrieben (hab davon Leider keine Ahnung)

Hier die wichtigsten Daten meiner MPD.conf müsste alles passen.


music_directory                "/media/speicher_1/Musik/"
playlist_directory              "/media/speicher_1/Musik/"
auto_update                                              "yes"
save_absolute_paths_in_playlists        "no"
filesystem_charset                                "UTF-8"


follow_outside_symlinks                      "yes"
follow_inside_symlinks                        "yes"

Offline Tobias

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3828
also in /media/speicher_1/Musik/ muss die Playlist liegen. Im selben Verzeichnis müssen Symlinks erstellt worden sein. zb. file.mp3 -> /media/nas/album/file.mp3
Dieses "file.mp3" muss in der Playlist auftauchen.

Versuch dann mal im mpd diese Playlist manuell zu laden und abzuspielen.
FHEM auf ASRock J3455-ITX im 19" Rack mit Homematic, MAX, PCA301, Panstamps, RPi für BLE Bodenfeuchtesenoren, Text2Speech.
Maintainer der Module: Text2Speech, TrashCal, MediaList

Meine Projekte auf https://github.com/tobiasfaust
u.a. PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM

Offline Mustermann

  • New Member
  • *
  • Beiträge: 13
Hi,
es ist bei mir genau wie du geschrieben hast:

Im Verzeichniss /media/speicher_1/Musik/ liegen:
die Playlist  mit Namen kuechenradio.m3u
die Playlist beinhaltet diesen Inhal:
MyMediaList_1.mp3die erstellten symlinks mit Namen MyMediaList_1.mp3 und zeigen auf das Verzeichniss  /media/speicher_1/Musik/Musik-neu/1.mp3

Die Playlist lässt sich problemlos von jedem Pc in meinen Netzwerk abspielen (Totem Player oder KODI).

Was meinst du mit manuell laden?
hab volgendes versucht:

cd /media/speicher_1/Musik/
mpc load kuechenradio.m3u
mpc play

er spielt nichts ab, wenn ich dagegen meine sender.m3u Playlist lade mit Internetradio Sendern zb:
http://mp3channels.webradio.antenne.de/rockantenne spielt er dise ab.

liegen beide im gleichen verzeichniss

Anbei noch ein Bild meiner Ordner mit den erstellten symlinks

Offline Tobias

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3828
Dann hat der mpd keinen Zugriff auf die Dateien hinter den symlinks.
Dein manuellen einladen in den mpd mittels mpc über load und play muss erstmal funktionieren.

Gesendet von meinem Leap mit Tapatalk

FHEM auf ASRock J3455-ITX im 19" Rack mit Homematic, MAX, PCA301, Panstamps, RPi für BLE Bodenfeuchtesenoren, Text2Speech.
Maintainer der Module: Text2Speech, TrashCal, MediaList

Meine Projekte auf https://github.com/tobiasfaust
u.a. PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM

Offline Mustermann

  • New Member
  • *
  • Beiträge: 13
Hi,
wollte nur bescheid sagen, das du Recht hattest. Bei folgender Fehlermeldung

MPD_Msg ACK ERROR [2@3] {play} Bad song index
kann der MPD nicht auf meine Festplatte mit der Musik zugreifen.

Hab testweise die Musik nach /var/lib/mpd/music gelegt und es geht.

Warum das so ist weis ich nicht (ev. liegts am Dateisystem NTFS) hab die Rechte mit sudo chmod 777 /media/speicher_1/Musik/Musik-neu/ gesetzt.

Danke für deine Hilfe und das klasse Modul

Offline Shadow3561

  • Full Member
  • ***
  • Beiträge: 425
Antw:neues Modul: 98_MediaList.pm zur Erstellung einer Playlist für TabletUI
« Antwort #72 am: 17 September 2017, 19:38:28 »
Hallo,
Ich habe seit langem auch wieder ein kleines Problem.

Ich habe neue Ordner hinzugefügt und sie werden mir auch in der Auswahl vom TabletUi angezeigt. Wenn ich jedoch den Ordner anwähle passiert nichts.
Die Rechte wurden vergeben wie bei den anderen Musikordnern die funktionieren.

Hat jemand einen Tipp oder werden weitere Infos benötigt?

Mfg

EDIT:
Habe den Fehler gefunden.
Die Titel waren wohl nicht richtig formatiert.
Hätte es mal gleich mit Linux machen sollen und nicht mit Windooofs.
« Letzte Änderung: 17 September 2017, 20:08:38 von Shadow3561 »

Offline math78

  • Full Member
  • ***
  • Beiträge: 185
Antw:neues Modul: 98_MediaList.pm zur Erstellung einer Playlist für TabletUI
« Antwort #73 am: 22 September 2017, 15:10:06 »
Hallo,

habe das heute in meiner LOG Datei vorgefunden. Kann man das beheben?

Zitat
PERL WARNING: Prototype mismatch: sub main::round ($$) vs none at /usr/share/perl/5.22/Exporter.pm line 66, <$fh> line 2675.
2017.09.22 14:57:59 1: stacktrace:
2017.09.22 14:57:59 1:     main::__ANON__                      called by /usr/share/perl/5.22/Exporter.pm (66)
2017.09.22 14:57:59 1:     Exporter::import                    called by ./FHEM/98_MediaList.pm (46)
2017.09.22 14:57:59 1:     main::BEGIN                         called by ./FHEM/98_MediaList.pm (46)
2017.09.22 14:57:59 1:     (eval)                              called by ./FHEM/98_MediaList.pm (46)
2017.09.22 14:57:59 1:     (eval)                              called by fhem.pl (2430)
2017.09.22 14:57:59 1:     (eval)                              called by fhem.pl (2429)
2017.09.22 14:57:59 1:     main::CommandReload                 called by fhem.pl (1845)
2017.09.22 14:57:59 1:     main::LoadModule                    called by fhem.pl (1902)
2017.09.22 14:57:59 1:     main::CommandDefine                 called by fhem.pl (1174)
2017.09.22 14:57:59 1:     main::AnalyzeCommand                called by fhem.pl (1027)
2017.09.22 14:57:59 1:     main::AnalyzeCommandChain           called by fhem.pl (1309)
2017.09.22 14:57:59 1:     main::CommandInclude                called by fhem.pl (537)

und

Zitat
PERL WARNING: Unescaped left brace in regex is deprecated, passed through in regex; marked by <-- HERE in m/(\\%(?:\\=)?(\w|\\{ <-- HERE (?:\w|\\[^\w\\{}]|\\\\\\[\\{}])*\\}|\\\W))/ at FHEM/lib/MP3/Tag.pm line 2611, <$fh> line 2675.
2017.09.22 14:57:59 1: stacktrace:
2017.09.22 14:57:59 1:     main::__ANON__                      called by FHEM/lib/MP3/Tag.pm (2611)
2017.09.22 14:57:59 1:     (eval)                              called by ./FHEM/98_MediaList.pm (38)
2017.09.22 14:57:59 1:     main::BEGIN                         called by FHEM/lib/MP3/Tag.pm (2611)
2017.09.22 14:57:59 1:     (eval)                              called by FHEM/lib/MP3/Tag.pm (2611)
2017.09.22 14:57:59 1:     (eval)                              called by fhem.pl (2430)
2017.09.22 14:57:59 1:     (eval)                              called by fhem.pl (2429)
2017.09.22 14:57:59 1:     main::CommandReload                 called by fhem.pl (1845)
2017.09.22 14:57:59 1:     main::LoadModule                    called by fhem.pl (1902)
2017.09.22 14:57:59 1:     main::CommandDefine                 called by fhem.pl (1174)
2017.09.22 14:57:59 1:     main::AnalyzeCommand                called by fhem.pl (1027)
2017.09.22 14:57:59 1:     main::AnalyzeCommandChain           called by fhem.pl (1309)
2017.09.22 14:57:59 1:     main::CommandInclude                called by fhem.pl (537)
Danke

Grüße

Matthias
« Letzte Änderung: 22 September 2017, 15:13:54 von math78 »

Offline hotbso

  • Developer
  • Full Member
  • ****
  • Beiträge: 116
@Tobias:

Hallo,
bei Behebung eines anderen Problems https://forum.fhem.de/index.php/topic,78359.msg726658.html#msg726658 habe ich bemerkt, dass Dein Modul Math::Round benutzt.
Das überschreibt round aus 99_Utils.pm. Kannst Du das rausnehmen ?

Das erste Problem in dem Post oben schein auch damit zusammenzuhängen.

- holger