Posts by peppy.player

    ...

    Edit: Mir ist aufgefallen, dass beim Screensaver "Wetter" oben rechts als Uhrzeit immer 14:00 Uhr angezeigt wird. Muss hier noch etwas umgestellt werden? Beim Screensaver "Uhrzeit" passt die Zeitangabe aber.


    Grüße

    Mattes

    Bitte lesen Sie die Diskussion ab diesem Beitrag:

    Peppy WebRadio


    Mit freundlichen Grüßen


    -------------------------------------------------------------------


    Please read the discussion starting from this post:

    Peppy WebRadio


    Best regards

    Hallo Mattes,


    Ich denke, der richtige Weg wäre es, die Steuerung der Hintergrundbeleuchtung in der nächsten Version zu implementieren. Das einzige Problem - ich bin mir nicht sicher, wann das geschehen wird. Es kann 1-2 Monate dauern. Ist das in Ordnung?


    Bitte klären Sie, welche Art von Funktionalität erwarten Sie? Ich glaube, Sie brauchen eine Möglichkeit, die Display-Helligkeit zu ändern. Ich hoffe, dass die Eigenschaft in der config.txt funktionieren sollte, zum Beispiel um 80% Helligkeit einzustellen:

    brightness = 80


    Möchten Sie beim Start des Bildschirmschoners die Hintergrundbeleuchtung ausschalten oder die Helligkeit reduzieren?


    Mit freundlichen Grüßen


    ----------------------------------------------------------------


    Hi Mattes,


    I think the right way would be to implement the backlight control in the next release. The only problem - I'm not sure when that will happen. It can take 1-2 months. Is it OK?


    Please clarify what kind of functionality do you expect? I believe you need a way to change the display brightness. I hope having the property in the config.txt should work, for example to set 80% brightness:

    brightness = 80


    When screensaver starts, do you want to switch backlight off or do you want to reduce brightness?


    Best regards

    Hallo,

    meinst Du das? / do you talk abaout this?

    Schönen Gruß / Regards, kle

    Hallo Kle, genau das habe ich gemeint. Ich habe mich diesem Problem mit meinem Pi 3B+ gestellt. Ich dachte, es ist ein allgemeines Problem für alle Modelle. Danke für die Klarstellung.


    wusa, haben Sie Pi 3B+? Haben Sie nach der Auswahl des Landes einen Neustart durchgeführt? Es ist in Ordnung, wenn Sie ein Ethernet-Kabel angeschlossen haben, während Sie Wi-Fi konfigurieren. Ich würde empfehlen, das Disk-Image erneut zu installieren und die Sequenz zu wiederholen.


    Haben Sie irgendwelche manuellen Änderungen in den Konfigurationsdateien vorgenommen?


    Mit freundlichen Grüßen


    -------------------------------------------------------------------


    Hi kle, that's what I meant. I faced that issue with my Pi 3B+. I thought it's a generic issue for all models. Thank you for clarifying.


    wusa, do you have Pi 3B+? Did you reboot after selecting country? It's OK to have Ethernet cable connected while you are configuring Wi-Fi. I'd recommend to install disk image again and repeat the sequence.


    Did you make any manual changes in any configuration files?


    Best regards

    Neues Projekt in der Galerie - Peppy Coffee Grinder von Ingo (Deutschland)

    Ingo hat den Spieler in einem sehr originellen Gehäuse untergebracht - alte Kaffeemühle :) Ein weiteres originelles Merkmal seines Projekts - der Lautstärkeregler. Die Lautstärke kann mit der Kurbel auf der Oberseite der Mühle eingestellt werden :)


    Die im Player verwendete Hardware:

    - RaspberryPi Zero

    - HiFiBerry Miniamp

    - 3,5" Touchscreen


    Die Software basierte auf PipaOS 7.0 und dem Peppy-Player.




    https://github.com/project-own…e-grinder-by-ingo-germany


    ---------------------------------------------------------------------------------


    New project in the Gallery - Peppy Coffee Grinder by Ingo (Germany)

    Ingo placed the player in a very original enclosure - old coffee grinder :) Another original feature of his project - the volume control. The volume can be adjusted by the crank on the top of the grinder :)


    The hardware used in the player:

    - Raspberry Pi Zero

    - HiFiBerry Miniamp

    - 3.5 inch touchscreen


    The software was based on PipaOS 7.0 and Peppy player.


    https://github.com/project-own…e-grinder-by-ingo-germany

    Hallo Mattes,


    Soweit ich der Dokumentation entnehme, arbeitet rpi-backlight mit 7"-Display.

    https://buildmedia.readthedocs…/latest/rpi-backlight.pdf


    Sind Sie sicher, dass es auch mit einem 5"-Display funktioniert? Das können Sie testen. Installieren Sie einfach diese Bibliothek wie in der Dokumentation beschrieben und versuchen Sie dann, das folgende Programm von der Kommandozeile aus zu starten:


    python3


    >>> from rpi_backlight import Backlight

    >>> backlight = Backlight()

    >>> backlight.brightness = 50


    Das sollte die Helligkeit auf die Hälfte (50%) reduzieren.


    Bitte lassen Sie mich wissen, ob es funktioniert. Wenn es funktioniert, lasse ich Sie wissen, wie Sie es in den Bildschirmschoner integrieren können.


    Was den Standby-Modus betrifft, so ist die nächstliegende Funktionalität der 'Sleep Now'-Modus:

    https://github.com/project-owner/Peppy.doc/wiki/Timer


    Mit freundlichen Grüßen


    ---------------------------------------------------------------------------------------------


    Hi Mattes,


    As far as I understand from the documentation rpi-backlight works with 7" display.

    https://buildmedia.readthedocs…/latest/rpi-backlight.pdf


    Are you sure that it also works with 5" display? You can test that. Just install that library as described in that doc and then try to run the following program from command line:


    python3


    >>> from rpi_backlight import Backlight

    >>> backlight = Backlight()

    >>> backlight.brightness = 50


    That should decrease the brightness in half (50%)


    Please let me know if it works. If it works I'll let you know how to integrate it into screensaver.


    Regarding standby, the closest functionality to that is 'Sleep Now' mode:

    https://github.com/project-owner/Peppy.doc/wiki/Timer


    Best regards

    Hallo Shoex,


    Sie haben Recht, die USB-Tastatur sollte zum Erzeugen/Testen von Tastaturereignissen angeschlossen werden.

    Sicher, 'tail -f' kann zur Überwachung der Log-Datei verwendet werden.


    Viel Erfolg!


    ----------------------------------------------------


    Hi Shoex,


    You are right, the USB keyboard should be connected for generating/testing keyboard events.

    Sure, 'tail -f' can be used for monitoring the log file.


    Good luck!


    Hallo wusa,


    Es sieht so aus, als ob das neue Raspbian Buster-OS explizite Country für die Wi-Fi-Konfiguration benötigt. Bitte folgen Sie den hier beschriebenen Anweisungen:

    https://github.com/project-owner/Peppy.doc/wiki/WiFi


    Vielen Dank für die Berichterstattung über das Thema!


    Mit freundlichen Grüßen


    ----------------------------------------------------------


    Hi wusa,


    It looks like new Raspbian Buster OS needs explicit Country parameter for Wi-Fi Configuration. Please follow the instructions described here:

    https://github.com/project-owner/Peppy.doc/wiki/WiFi


    Thank you for reporting about the issue!


    Best regards

    Hallo,


    Das Kennwort hängt von dem installierten Diskettenabbild ab. Wenn Sie die neueste Hogarth-Edition installiert haben, lautet das Passwort Hogarth. Es wird auf dieser Seite unterhalb der Tabelle mit den Links zu den Disk-Images erwähnt:

    https://github.com/project-own…yers.doc/wiki/Disk-Images


    Wo haben Sie die Meldung über wlan0 gesehen?


    Beste Grüße


    -------------------------------------------------------------------


    Hi,


    The password depends on the disk image which you installed. If you installed the latest Hogarth Edition then the password is Hogarth. It's mentioned on this page below the table with links to disk images:

    https://github.com/project-own…yers.doc/wiki/Disk-Images


    Where did you see the message about wlan0?


    Best regards

    Hallo, Sie haben Recht, es gibt kein Disk-Image für die 3,2-Zoll-Anzeige. Es ist unmöglich, Disk-Images für alle Touchscreen-Größen zu erstellen.


    Die Waveshare 3.2"-Anzeige sollte funktionieren. Der Benutzer kle hat es für einen seiner Spieler benutzt:

    https://github.com/project-own…-players-by-klaus-germany


    Mit freundlichen Grüßen


    ---------------------------------------------------


    Hi, you are right there is no disk image for 3.2" display. It's impossible to create disk images for all touchscreen sizes.


    Waveshare 3.2" display should work. User kle used it for one of his players:

    https://github.com/project-own…-players-by-klaus-germany


    Best regards

    Aktivieren Sie zunächst das Debugging, indem Sie diese Eigenschaft auf True setzen:

    https://github.com/project-own…457d7caf64/config.txt#L31


    Deaktivieren Sie dann den Player-Start in der Datei /etc/rc.local.


    Wenn Sie Ereignisse debuggen müssen, würde ich empfehlen, den Headless-Modus auf True zu setzen:

    https://github.com/project-own…457d7caf64/config.txt#L20


    Im Headless-Modus können Sie den Player über einen Webbrowser steuern. In diesem Modus benötigen Sie keinen grafischen Kontext und können den Player mit SSH/putty starten. Gehen Sie also einfach in den Ordner /home/pi/Peppy und führen Sie den Befehl

    python3 peppy.py


    Auf diese Weise können Sie debuggen, ohne den Player jedes Mal neu zu starten. Dies ist der einfachste Weg zum Debuggen - fügen Sie einfach Debug-Anweisungen in den Code ein und starten Sie den Player von der Kommandozeile aus.


    Die gleichen Schritte können helfen, wenn Sie PiCharm verwenden. Ich würde empfehlen, es auf Pi (Raspbian Desktop) zu installieren und über VNC darauf zuzugreifen. Oder Sie können das Remote-Debugging von Ihrem Desktop-Rechner aus einrichten.


    Mit freundlichen Grüßen


    --------------------------------------------------------------------------


    First of all enable debugging by setting this property to True:

    https://github.com/project-own…457d7caf64/config.txt#L31


    Then disable player start in the file /etc/rc.local.


    If you need to debug events I would recommend to set the headless mode to True:

    https://github.com/project-own…457d7caf64/config.txt#L20


    In the headless mode you can control player from a web browser. In this mode you don't need graphical context and you can start player using SSH/putty. So just go to the folder /home/pi/Peppy and run command

    python3 peppy.py


    This way you can debug without rebooting player every time. This is the easiest way to debug - just add debug statements to the code and start player from command line.


    The same steps can help if you use PiCharm. I would recommend to install it on Pi (Raspbian Desktop) and access it over VNC. Or you can setup remote debugging from your desktop machine.


    Best regards

    Um die Ereignisverarbeitung zu vereinfachen, werden alle Ereignistypen in Tastaturereignisse verpackt, die wiederum als Benutzerereignistyp gepostet werden:

    https://github.com/project-own…/event/dispatcher.py#L252


    Was wollen Sie erreichen? Wollen Sie RFID-Ereignisse im Player deaktivieren? Oder möchten Sie diese Ereignisse im Player behandeln? Im letzteren Fall wäre es am besten, die Eigenschaft 'source' des Ereignisses auf etwas wie 'rfid' zu setzen. Dies wird zum Beispiel bei LIRC (IR-Fernbedienung) Ereignissen so gemacht:

    https://github.com/project-own…/event/dispatcher.py#L229

    Die Frage ist also - ist es möglich, RFID-Ereignisse von Tastatur-Ereignissen zu unterscheiden oder nicht?


    Mit freundlichen Grüßen


    ----------------------------------------------------------------


    To simplify event processing all event types wrapped into keyboard events which in turn will be posted as a user event type:

    https://github.com/project-own…/event/dispatcher.py#L252


    What do you want to achieve? Do you want to disable RFID events in the player? Or you want to handle those events in the player? If the latter, the best way would be to set 'source' property of the event to something like 'rfid'. For example it's done this way for LIRC (IR remote) events:

    https://github.com/project-own…/event/dispatcher.py#L229

    So the question is - is it possible to distinguish RFID events from keyboard events or not?


    Best regards

    Hallo,


    Ich konnte nicht den geeigneten Ort finden, wo ich diese Nachricht veröffentlichen konnte.


    Ein Benutzer hat sich gerade auf dem Forum registriert, kann sich aber fast drei Tage hintereinander nicht einloggen. Er hat den Aktivierungscode nicht erhalten. Er hat ihn mehrmals angefordert, aber keine E-Mail erhalten. Auch im Spam-Ordner ist nichts zu finden.

    Bitte helfen Sie mit. Sein Benutzername ist:

    Himbeertorte


    Vielen Dank im Voraus!


    -----------------------------------------------------------------


    Hi,


    I couldn't find the appropriate place where to post this message.


    One user has just registered on the forum but cannot login for almost three days in a row. He didn't get the activation code. He requested it several times but didn't receive any e-mail. There is nothing in the spam folder either.

    Please help. His username is:

    Himbeertorte


    Thanks in advance!

    Hallo Shoex,


    Wenn Sie erklären könnten, was fehlt, könnte ich wahrscheinlich helfen. Sie können auf jeden Fall versuchen, selbst neue Funktionalität hinzuzufügen. Leider gibt es außer den Quelldateien selbst keine Dokumentation, die den Player-Code erklärt. Ich bin schon lange im Softwaregeschäft tätig und erinnere mich, dass UML-Diagramme eine unabdingbare Voraussetzung für die Arbeit an einem Softwareprojekt waren. Ich fürchte, heutzutage erinnert sich niemand mehr daran, was UML bedeutet :)


    Ich hatte nicht vor, die Funktionalität von RFID-Karten hinzuzufügen. Wenn Sie das tun könnten, wäre es wahrscheinlich für einige andere Leute nützlich. Bitte lassen Sie mich wissen, wenn Sie Fragen zum Code haben.


    Vor einiger Zeit wollte ich eine ähnliche Funktionalität hinzufügen - ein Strichcode-Lesegerät. Man scannt zum Beispiel den Code von einer CD-Box und der Player beginnt mit der Wiedergabe der Dateien von dieser CD. Die CD sollte im Voraus gerippt werden. Das könnte etwas Zeit für die Auswahl der CD aus dem Menü sparen und es würde wie ein echter CD-Player aussehen, aber ohne die CD aus der Box zu extrahieren :) Aber diese Idee habe ich aufgegeben.


    Ich habe oft darüber nachgedacht, den Plugin-Ansatz für Home und Bildschirmschoner zu verwenden. Das wurde für Audio-Player gemacht. Ich habe das fast für den Bildschirmschoner implementiert, aber schließlich wurden die Dateien des Bildschirmschoners auf verschiedene Ordner (Bilder, Labels) verteilt. Für das Home-Menü ist es nicht getan. Hoffentlich werde ich das irgendwann einmal tun.


    Mit freundlichen Grüßen


    ----------------------------------------------------------------------------------------------------


    Hi Shoex,


    If you could explain what is missing I could probably help. You can definitely try to add new functionality yourself. Unfortunately there is no any documentation explaining the player code except the source files themselves. I'm in a software business for a long time and remember that UML diagrams was a must-have requirement before you start working on a software project. I'm afraid nowadays nobody remembers what UML means :)


    I didn't plan to add RFID cards functionality. If you could do that it would be probably useful for some other people. Please let me know if you will have any questions regarding the code.


    Some time ago I wanted to add similar functionality - bar-code reader. For example you scan code from CD box and player starts playing the files from that CD. The CD should be ripped in advance. That could save some time for selecting disk from menu and it would look like a real CD player but without extracting CD from the box :) But I abandoned that idea.


    I was thinking many times to use plugin approach for Home and Screensaver. It was done for audio players. I almost implemented that for Screensaver but eventually the files from screensaver were spread across different folders (images, labels). It's not done for the Home menu. Hopefully at some point I'll do that.


    Best regards

    Soweit ich weiß, wollen Sie den Modus (z.B. Radio, Audio-Dateien usw.), der in current.txt gespeichert wurde, ignorieren. Wenn das der Fall ist, können Sie die Zeile in der Datei /home/pi/Peppy/peppy.py von ändern:

    self.current_mode = self.config[CURRENT][MODE]

    an

    self.current_mode = None

    https://github.com/project-own…5457d7caf64/peppy.py#L167


    Danach startet der Player immer von der Startseite aus. Wird es für Sie funktionieren?


    Mit freundlichen Grüßen


    --------------------------------------------------------------------------------


    As far as I understand you want to ignore the mode (e.g. Radio, Audio Files etc) which was saved in current.txt. If so, you can change the line in file /home/pi/Peppy/peppy.py from:

    self.current_mode = self.config[CURRENT][MODE]

    to

    self.current_mode = None

    https://github.com/project-own…5457d7caf64/peppy.py#L167


    After that the player will always start from the Home page. Will it work for you?


    Best regards

    Ich bin mir nicht sicher, ob ich Ihre Frage bezüglich der RFID-Karten verstehe. Was versuchen Sie zu erreichen? Wie ich bereits erwähnt habe, weiß der Peppy-Spieler nichts über RFID-Karten. Er kennt nur die Modi Radio, Dateien und Podcasts. Wenn Sie den Player herunterfahren, speichert er den aktuellen Modus wie Radio und den aktuellen Radiosender in der Datei /home/pi/Peppy/current.txt. Möchten Sie die ID der RFID-Karte in der current.txt speichern?


    Mit freundlichen Grüßen


    -------------------------------------------------------------------------


    I'm not sure that I understand what is your question regarding RFID cards. What are you trying to achieve? As I mentioned already Peppy player knows nothing about RFID cards. It knows only about Radio, Files and Podcasts modes. When you shutdown the player it saves the current mode like Radio and current radio station to the file /home/pi/Peppy/current.txt. Do you want to save the ID of the RFID card in the current.txt?


    Best regards

    Hallo Shoex,


    1. Wenn Sie zweimal auf die Schaltfläche "Shudown" klicken, speichert der Player den aktuellen Status in der Datei current.txt und führt den Befehl "sudo poweroff" aus. Sie können diesen Ausschaltbefehl deaktivieren, indem Sie die Eigenschaft in /home/pi/Peppy/config.txt setzen:


    poweroff = False


    In diesem Fall wird der Befehl 'poweroff' durch den Befehl 'exit' ersetzt:

    https://github.com/project-own…457d7caf64/peppy.py#L2260

    Statt abzuschalten, wird der Spieler also einfach aufhören zu laufen. Dies wurde getan, um den Player zusammen mit anderen Programmen laufen zu lassen, zum Beispiel auf Raspbian OS mit Desktop.


    Wenn Sie nur den aktuellen Zustand des Players ohne 'Poweroff' und ohne 'Exit' speichern wollen, können Sie entweder den gesamten Code auskommentieren oder löschen, der dies von Zeile #2259 bis Zeile #2265 tut:

    https://github.com/project-own…457d7caf64/peppy.py#L2259


    #if self.config[LINUX_PLATFORM]:

    # if self.config[USAGE][USE_POWEROFF]:

    # subprocess.call("sudo poweroff", shell=True)

    # else:

    # os._exit(0)

    #else:

    # self.shutdown_windows()


    Danach können Sie durch zweimaliges Klicken auf die Schaltfläche "Herunterfahren" den aktuellen Status speichern und der Spieler läuft weiter.


    2. Die rote Farbe des Lautstärkereglers bedeutet, dass er sich im Stummschaltungszustand befindet. Das passiert, wenn Sie einmal auf den Lautstärkeregler klicken. Um die Stummschaltung aufzuheben, klicken Sie einfach erneut auf den Knopf.


    3. Ich bin mir nicht sicher, wie Sie Peppy zum Abspielen von RFID-Karten verwenden. Wenn der Player startet, verwendet er den Modus, der zuletzt vor dem Abschalten benutzt wurde (Doppelklick auf den Abschalt-Knopf). Wenn es sich um Radio handelt, verwendet er Radio, wenn es sich um Podcasts handelt, wird er Podcats verwenden und so weiter. Er hat keinen RFID-Modus, daher weiß er nichts darüber.


    Mit freundlichen Grüßen


    ------------------------------------------------------------------------------


    Hi Shoex,


    1. When you click twice on Shudown button the player saves the current state in file current.txt and runs the command 'sudo poweroff'. You can disable that poweroff command by setting property in /home/pi/Peppy/config.txt:

    poweroff = False

    In this case the 'poweroff' command will be replaced by 'exit' command:

    https://github.com/project-own…457d7caf64/peppy.py#L2260

    So instead of shutdown the player will just stop running. This was done to let player run together with other programs for example on Raspbian OS with Desktop.


    If you need just to save players' current state without 'poweroff' and without 'exit' you can either comment out or delete the whole code which does that from line #2259 to line #2265:

    https://github.com/project-own…457d7caf64/peppy.py#L2259


    #if self.config[LINUX_PLATFORM]:

    # if self.config[USAGE][USE_POWEROFF]:

    # subprocess.call("sudo poweroff", shell=True)

    # else:

    # os._exit(0)

    #else:

    # self.shutdown_windows()


    After that by clciking twice on Shutdown button you will be able to save current state and player will be still running.


    2. Red color of the volume control knob means that it's in the Mute state. It happens when you click once on the volume knob. To unmute just click on the knob again.


    3. I'm not sure how you use Peppy to play from RFID cards. When player starts it's using the mode which was last used before shutdown (double click on Shutdown button). If it was Radio it will use Radio, if it was Podcasts it will be Podcats and so on. It doesn't have RFID mode therefore it knows nothing about it.


    Best regards

    Aus meinen Messungen - die Zeit, die für die Sammlung von Metadaten aus Audiodateien und die Erstellung der Datenbankdatei für die 1 TB-Sammlung benötigt wird, beträgt etwa 10 Minuten. Für 4TB sind es etwa 40 Minuten und so weiter.


    Unter Windows und auf Pi dauert es fast genauso lange.


    Es ist nicht empfehlenswert, eine Datenbankdatei auf Pi zu erstellen, da der Prozess viele Schreiboperationen auf der Festplatte erfordert (um die Datenbankdatei zu aktualisieren), was die SD-Karte beeinträchtigen kann.


    --------------------------------------------------------------------------------------


    From my measurements - the time required to collect metadata from audio files and create database file for 1TB collection is about 10 minutes. For 4TB is about 40 minutes and so on.


    It takes almost the same time on Windows and on Pi.


    It's not recommended to create database file on Pi as the process needs many disk write operations (to update the database file) which can degrade the SD card.

    Hallo Martin,


    Herzlichen Glückwunsch! Sie sind wahrscheinlich der erste, der die Funktionalität der Sammlung nutzen konnte :)


    Sie haben Recht, das Skript überschreibt nicht die bestehende Datei. Sie können jedoch eine neue Datei, z.B. peppy1.db, erstellen und in der Konfiguration angeben.

    Allerdings stimme ich zu, dass die 'Aktualisierungs'-Funktion erforderlich ist, um sie vollständig zu machen. Ich hoffe, dass ich sie in der nächsten Version hinzufügen kann.


    Ich habe einen neuen Ordner /home/pi/collection erstellt, um die Datenbankdateien dort zu speichern. Auf diese Weise können Sie das Skript aus dem Ordner /home/pi lection ausführen:


    python3 /home/pi/Peppy/util/collector.py create -i /home/pi/music -o /home/pi/collection/peppy.db


    Ich glaube, Sie haben bereits herausgefunden, wie Sie durch die Sammlung blättern können. Wie auch immer, hier sind die Links, die zeigen, wie man durch die Sammlung blättert und Dateien aus der Sammlung abspielt:

    https://github.com/project-own…c/wiki/Collection-Browser

    https://github.com/project-own…oc/wiki/Collection-Player


    Mit freundlichen Grüßen


    --------------------------------------------------------------------------------------------


    Hi Martin,


    Congratulations! You are probably the first one who were able to use the Collection functionality :)


    You are right the script doesn't overwrite the existing file. Though you can create new file for example peppy1.db and specify it in the configuration.

    Though I agree that 'update' feature is required to make it complete. Hopefully I'll be able to add it in the next release.


    I created new folder /home/pi/collection for keeping database files there. You could run the script from /home/pi folder this way:


    python3 /home/pi/Peppy/util/collector.py create -i /home/pi/music -o /home/pi/collection/peppy.db


    I believe you found already how to browse through the collection. Anyway here are the links showing how to browse and play files from collection:

    https://github.com/project-own…c/wiki/Collection-Browser

    https://github.com/project-own…oc/wiki/Collection-Player


    Best regards

    Hallo Martin,


    Das ist großartig, dass Sie die Datenbankdatei erstellen konnten. Ich habe befürchtet, dass dies ein zu kompliziertes Verfahren ist.


    Ihre Idee über Tags sieht ziemlich gut aus. Sie schlagen also vor, alternativ dazu im Internet nach Metadaten zu suchen, und zwar anhand der in den Metadaten der Datei gefundenen Künstler- und Songnamen. Ich glaube, das sollte z.B. mit musixmatch oder discogs Web Services möglich sein. Mal sehen, ob ich in der nächsten Version etwas machen kann. Die Mutagen-Bibliothek, die verwendet wird, um Metadaten aus den Dateien zu erhalten, erlaubt es auch, Metadaten in Dateien zu schreiben. Aber das macht den Editor aus dem Player...


    Wo haben Sie in Bezug auf 'Datei nicht gefunden' die Sammlungsdatei erstellt? War es Himbeer-Pi oder eine andere Maschine? Nehmen wir an, es war Pi und die Diskette mit Ihrer Musiksammlung wurde in den Ordner /home/pi/music gemountet. Wenn Sie dann das Skript collector.py ausführen, müssten Sie den Ordner /home/pi/music als Eingabeparameter für das Skript und den Namen der Datenbankdatei als Ausgabeparameter definieren:


    python3 collector.py -i /home/pi/music -o /home/pi/collection/peppy.db


    Als Ergebnis der Ausführung dieses Skripts erhalten Sie die Datenbankdatei /home/pi/collection/peppy.db mit Metadaten aller Audiodateien im Ordner /home/pi/music. Danach müssen Sie den Dateinamen und den Basisordner in der Datei /home/pi/Peppy/config.txt definieren:


    [collection]

    database.file = /home/pi/collection/peppy.db

    base.folder = /home/pi/music


    Das war's. Danach können Sie Ihre Sammlungsdateien durchsuchen und abspielen, vorausgesetzt, dass der Datenträger mit den Dateien noch mit dem Pi.


    Nehmen wir an, Sie führen das Skript auf einem Windows-Rechner aus und die Platte/Flash-Karte mit Ihrer Audiodateien-Sammlung ist h:/music. Dann müssen Sie das Skript auf diesem Windows-Rechner wie folgt ausführen:


    python collector.py -i h:/music -o c:/temp/peppy.db


    Die Sammlungsdatei wird im Ordner 'temp' auf Laufwerk C gespeichert. Sie müssen diese Datei von Ihrem Windows-Rechner nach Pi entweder mit scp oder WinScp kopieren. Oder Sie können diese Datei einfach auf der gleichen Platte/Flash wie Ihre Audiosammlung ablegen. Danach müssen Sie Ihre Sammlungsdiskette/Flash-Karte mit den Audiodateien von Ihrem Windowsrechner trennen und mit Pi verbinden. Die gleichen Konfigurationseinstellungen sollten in der Datei /home/pi/Peppy/config.txt vorgenommen werden. Nehmen wir an, dass die Festplatte in /home/pi/music eingehängt und die Datei nach /home/pi/collection kopiert wurde:


    [collection]

    database.file = /home/pi/collection/peppy.db

    base.folder = /home/pi/music


    Damit sollte es funktionieren.


    Mit freundlichen Grüßen


    -----------------------------------------------------------------------------------------------


    Hi Martin,


    This is great that you were able to create the database file. I was afraid that this is too complicated procedure.


    Your idea about tags looks pretty good. So you suggest alternatively to look up for metadata on the Internet using artist and song name found in the file metadata. I believe that should be doable for example using musixmatch or discogs web services. Let me see if I’ll be able to make something in the next release. Mutagen library which is used to get metadata from the files also allows to write metadata to files. But that makes the editor from the player…


    Regarding ‘file not found’, where did you create the collection file? Was it raspberry Pi or another machine? Let’s say that it was Pi and the disk with your music collection was mounted to the folder /home/pi/music. Then when you run collector.py script you would need to define folder /home/pi/music as input parameter for the script and the database file name as output parameter:


    python3 collector.py -i /home/pi/music -o /home/pi/collection/peppy.db


    As a result of running this script you will have database file /home/pi/collection/peppy.db with metadata from all audio files in folder /home/pi/music. After that you need to define the filename and base folder in the /home/pi/Peppy/config.txt:


    [collection]

    database.file = /home/pi/collection/peppy.db

    base.folder = /home/pi/music


    That’s it. After that you will be able to browse and play your collection files assuming that the disk with files is still connected to the Pi.


    Let’s say that you run the script on Windows machine and the disk/flash card with your audio files collection is h:/music. Then you need to run script on that Windows machine like this:


    python collector.py -i h:/music -o c:/temp/peppy.db


    The collection file will be saved in folder ‘temp’ on disk C. You need to copy that file from your Windows machine to Pi using either scp or WinScp. Or you can just place that file on the same disk/flash as your audio collection. After that you need to disconnect your collection disk/flash card with audio files from the Windows machine and connect to Pi. The same configuration settings should be done in the /home/pi/Peppy/config.txt. Let’s assume that disk was mounted to /home/pi/music and file copied to /home/pi/collection:


    [collection]

    database.file = /home/pi/collection/peppy.db

    base.folder = /home/pi/music


    That should make it working.


    Best regards