Modul für MPD

Begonnen von roedert, 08 Januar 2014, 12:17:21

Vorheriges Thema - Nächstes Thema

Phill

Schon klar. Ich wollte wissen ob wieder beim ersten Song/Sender angefangen wird wenn man nach Stop wieder auf Play drückt.
Und...
Zitat von: Phill am 21 Januar 2015, 14:39:30Wie händelst du denn die Senderauswahl?
Homebrew 1-Wire / HomeMatic Mix - Cubietruck mit FHEM als Server - Raspberry PI 3 als Informationsanzeige im MagicMirror Stil - Raspberry Pi 1 als Klingelanlage - VDR

Mein Modul: Talk2Fhem - Mein Tipp: https://forum.fhem.de/index.php/topic,82442.0.html

Wernieman

Nach Stop/Play fängt er mit dem gleichen Sender wieder an. So wie bei einem Song er mit dem gleichen Song weitermacht. Nur nach einem "Neustat" des mpd sieht es anders aus.

Bis jezt mach ich den Senderwechsel mit den play before/next ... ;o)
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

Phill

Ich würde eben gerne beides haben. Direktes anwählen des Senders und nächste/vorherige Sender.
Homebrew 1-Wire / HomeMatic Mix - Cubietruck mit FHEM als Server - Raspberry PI 3 als Informationsanzeige im MagicMirror Stil - Raspberry Pi 1 als Klingelanlage - VDR

Mein Modul: Talk2Fhem - Mein Tipp: https://forum.fhem.de/index.php/topic,82442.0.html

Wernieman

Mann kann doch auch direkt zu einem "Lied" in der Playlist springen? Geht per Nummer ....und die kriegt man aus der Playlist raus.
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

rasti

Hallo,

ich versuche mit dem MPD Modul die PI Musicbox http://www.woutervanwijk.nl/pimusicbox/  zu steuern.

Ich habe da folgende Probleme bzw. hätte da noch gerne folgendes realisiert

-  mit der Fernbedienung kann ich die Lautstärke anpassen, aber der angezeigte Wert wird
   nur aktualisiert, wenn ich die FHEM-Seite neu lade

- Momentan weiss ich nicht, wie ich eine mp3-Datei überhaupt aus FHEM heraus anwählen kann,
  ich rufe momentan die Musicbox-Oberfläche über ihre eigene IP auf und wähle den Song, den
  ich dann in FHEM auch sehe.
  => ich würde mich gerne in FHEM durch die "local media" sprich die Unterverzeichnisse der
        Musikdateien auf dem USB-Stick durchklicken. (Ein Durchsuchen nach Albumname, Interret o.ä.
        brauche ich gar nicht...)
       Es gibt da ja ein Attribut loadmusic, was man auf 1 setzen kann aber da tut sich bei mir nix.

- wenn ich (über eine andere Oberfläche als FHEM) einen bestimmten Song auswähle,
  ist automatisch das gesamte Unterverzeichnis als Playlist in FHEM anzeigbar, d.h.
  ein get myMPD playlist info listet brav das Verzeichnis auf.
  =>  Ich hätte diese Liste gerne als anklickbare mp3-Liste in FHEM angezeigt.

Vielleicht hat einer einen Tipp, z.B. ist das Attribut  loadmusic  überhauot für diesen Zweck da und wenn
ja, warum geht es bei mir nicht ? Vielleicht hat ja schon jemand FHEM und die Musicbox am Start und funktionierenden Code für mich  8) ?

Grüße

Ralf

Gruss

Ralf

Wzut

Zitat von: rasti am 03 März 2015, 19:01:32
-  mit der Fernbedienung kann ich die Lautstärke anpassen, aber der angezeigte Wert wird
   nur aktualisiert, wenn ich die FHEM-Seite neu lade

longpoll ist auf 1 ?

Zitat von: rasti am 03 März 2015, 19:01:32
- Momentan weiss ich nicht, wie ich eine mp3-Datei überhaupt aus FHEM heraus anwählen kann,
  Es gibt da ja ein Attribut loadmusic, was man auf 1 setzen kann aber da tut sich bei mir nix.

Ich hole mal etwas weiter aus :
Das FHEM Modul MPD ist von Haus aus dumm wie Stroh :) (weil es selbst kein MPD ist sondern "nur" ein MPC )
D.h. alle Informationen hat nur der MPD und der stützt sich auf seine interne Datenbank und das FHEM Modul  muss ihm diese Informationen Stück für Stück entlocken.
Wirf mal einen Blick in deine /etc/mpd.conf ( hier ein Auszug aus meiner ) :

# Files and directories #######################################################
#
# This setting controls the top directory which MPD will search to discover the
# available audio files and add them to the daemon's online database. This
# setting defaults to the XDG directory, otherwise the music directory will be
# be disabled and audio files will only be accepted over ipc socket (using
# file:// protocol) or streaming files over an accepted protocol.
#
music_directory         "/var/lib/mpd/music"
#
# This setting sets the MPD internal playlist directory. The purpose of this
# directory is storage for playlists created by MPD. The server will use
# playlist files not created by the server but only if they are in the MPD
# format. This setting defaults to playlist saving being disabled.
#
playlist_directory              "/var/lib/mpd/playlists"


loadmusic und loadplaylist machen nun nichts anderes als den MPD zu fragen welche Dateien in diesen Verzeicnissen liegen und zeigen sie als DropDown Liste an. Werden diese beiden Verzeichnisse nicht gepflegt oder sind ev.sogar leer, dann kann das FHEM Modul auch nichts anzeigen.
Es hätte noch den Weg gegeben dies alles zu umgehen und einfach direkt auf irgendwelche Dateien und Verzeicnisse zu zugreifen, allerdings dann immer unter der Einschränkung das FHEM und der MPD auch auf dem gleichen PC laufen.
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

rasti

Hallo,

danke dir.

Also mir ist nun klar dass ich die mpd.conf ändern muss.
Was da aber nun wie reinkommt ist mir nicht klar.

Die ganzen Musicdateien sind bei mir auf einem USB-Stick .

Beispielsweise liefert mir myMPD currentsong:
file: local:track:USB/mp3/80%20club%20edition%20disc%202/03%20Stand%20By%20Me.mp3

Ich habe nun folgende zwei Dinge mal der  mpd.conf probiert :
music_directory "USB/mp3/"
music_directory "local:track:USB/mp3/"

Für beides liefert mir loadmusic (unter FHEM) keine Einträge.

Was mache ich falsch ?

Gruss

Ralf

Wzut

Zitat von: rasti am 12 März 2015, 20:39:38
music_directory "USB/mp3/"
das Gerät in dem der USB Stick steckt hat mit Sicherheit keinen Pfad mit diesem Namen.
gib mal in der Konsole df ein , dann wirst du sehen wo der Stick eingebunden wurde und das plus dem Unterverzeichniss auf dem Stick
( bei dir vermutlich bis /mp3/  also etwa in der Form /media/stick/USB0815/mp3/ ) muss in die mpd.conf und bitte nicht vergessen nach ändern der mpd.conf den MPD Deamon zu stoppen und wieder zu starten.
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

rasti

Hallo,

also habe nun df eingegeben und rausgefunden dass meine
Musiksammlung liegt unter /music/USB/mp3#

root@MusicBox:/# cd /music/USB/mp3
root@MusicBox:/music/USB/mp3#


in die mpd.conf habe ich nun eingetragen
music_directory = "/music/USB/mp3"
und den Raspi mit der Musicbox rebootet

get myMPD music liefert leider immer noch keine Einträge.

Gruss

Ralf





Wzut

da du keinerlei Angaben machst mit welchem Linux System und MPD Version du arbeitest kann ich nur raten und mein erster Rat ist : bitte beschäftige dich mal eingenhend mit der Doku des MPD und wie man ihn mittels mpc auf der Konsole bedient.
Vllt genügt ja ein simples sudo mpc update , geht auch aus fhem heraus als mpdcmd update
( http://www.forum-raspberrypi.de/Thread-tutorial-music-player-daemon-mpd-und-mpc-auf-dem-raspberry-pi )

auch mal lesen ( besonders den Abschnitt Datenbank erzeugen)
http://wiki.ubuntuusers.de/MPD/Server
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

bense2k

Ich kennen mich zwar auch nicht sonderlich aus, aber die PiMusicbox benutzt nicht den mpd sondern mopidy als Unterbau.

Wzut

danke für die Info - gerade mal überflogen : https://www.mopidy.com/
werde ich mal bei mir nstallieren und schauen wie gut mein Modul mit dem mopidy Server klar kommt.
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

Wernieman

Wollte es auch gerade testen, als ich aber sah, was er alles auf meinen nackten Test-ubuntu Server alles nachinstallieren wollte .. :o(
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

Wzut

#148
Das war eigentlich halb so schlimm , bissel python und dann mit
pip install -U mopidy

ging das eigentlich recht flott , die config war auch schnell angepasst und dann eine playliste und ein mp3 File in die neuen Dirs kopiert und mit
mopidy local scan
hat er die beiden auch brav gefunden, aber ich glaube mopidy und ich werden keine echten Freunde ....
Laut Doku haben sie viel vom MPD übernommen, leider aber halt nicht alles.
get <name> playlists geht ohne Probleme , aaaaaber get <name> music liefert eine leere Ausgabe. Um an die mit local scan gefunden Dateien heranzukommen muss man get <name> mpdCMD listall ausführen , das schaut dann z.B so aus :
MPD listall:
directory:
directory: /Local media
file: local:track:song.mp3

und mit set <name> playfile  local:track:song.mp3  kann ich auch den einen Song in meinen Dir abspielen


Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

SirUli

Hi zusammen,

ich setze das Modul gerade mit dem bereits angesprochenen pimusicbox ein (wollte eigentlich Spotify nutzen) und habe seit der Einrichtung oft heftige Verzögerungen in meinem FHEM. So stelle ich bei mir via "apptime" fest, dass der GetUpdate von meinem Device KU_MUSIC_PLAYER relativ lang das Interface blockiert und sich mittlerweile an die Spitze der verbrauchten Zeiten gesetzt hat. Ich habe derzeit noch Intervall=30 und useIdle=1 - sinnvoll? Ich hatte gedacht, dass er dann entweder alle 30 Sekunden oder "wenn was neues rausgesendet wird" einmal das GetUpdate durchführt, korrekt?

So sieht das aus:

                                name             function    max  count    total  average maxDly
                   tmr-MPD_GetUpdate      HASH(0x253bf88)  20377   2049  5760439  2811.34   5792 HASH(KU_MUSIC_PLAYER)


2,8 Sekunden sehe ich gar nicht als so unrealistisch. Kann es sein, dass es ein Blockierender Call ist? Ich habe weiter vorne im Thread die Diskussion darum gesehen, ich bin mir nur über den Ausgang nicht so im klaren (also ob es implementiert wurde). Ist das bei "MPD nativ" evtl. schneller und daher nie aufgefallen?

Danke im Voraus!

Viele Grüße,
Uli