From 669ad47b6e59b02bfc8acce0cdf4c74515226da0 Mon Sep 17 00:00:00 2001
From: undisclosed
Date: Fri, 06 Jan 2023 17:37:53 +0000
Subject: [PATCH] Problem beim Abspielen vom mp3 mit Album Bildern behoben

---
 src/de/uhilger/calypso/handler/DBusHandler.java |   25 ++++++++++++++++++-------
 1 files changed, 18 insertions(+), 7 deletions(-)

diff --git a/src/de/uhilger/calypso/handler/DBusHandler.java b/src/de/uhilger/calypso/handler/DBusHandler.java
index 07b0bb4..0f6be4d 100644
--- a/src/de/uhilger/calypso/handler/DBusHandler.java
+++ b/src/de/uhilger/calypso/handler/DBusHandler.java
@@ -1,21 +1,30 @@
 package de.uhilger.calypso.handler;
 
 import com.sun.net.httpserver.HttpExchange;
+import de.uhilger.calypso.App;
 import java.io.IOException;
+import java.util.logging.Level;
+import java.util.logging.Logger;
 
 /**
  * Obwohl ein laufendes VLC-Programm mit Tastaturbefehlen gesteuert 
  * werden kann, funktioniert es nicht, dem Prozess einen Tastaturbefehl
- * wie z.B. S fuer Stopp ueber process.getOutputStream zu 'schreiben'.
+ * wie z.B. S fuer Stopp ueber process.getOutputStream zu 'schreiben', 
+ * moeglicherweise, weil auf dem Raspberry Pi das VLC als Kommando-
+ * zeilenprogramm ohne UI laeuft. Im Augenblick gelingt nur die Steuerung 
+ * ueber dbus. Hier muss noch geprueft werden, ob das auch mit Windows und 
+ * Mac OS klappt, was aber fuer einen Einsatz auf dem Raspberry Pi 
+ * nebensaechlich ist.
  * 
- * Im Augenblick gelingt nur die Steuerung ueber dbus. 
- * 
- * Hier muss noch geprueft werden, ob das auch mit Windows und 
- * Mac OS klappt.
+ * Die Steuerung von VLC via dbus wiederum folgt dem Standard mpris 
+ * (Media Player Remote Interfacing Specification) von freedesktop.org, 
+ * der von zahlreichen Mediaplayern unterstuetzt wird.
  * 
  * @author Ulrich Hilger
  */
 public class DBusHandler extends CmdHandler {
+  
+  private static final Logger logger = Logger.getLogger(DBusHandler.class.getName());
 
   public DBusHandler(String cmd) {
     super(cmd);
@@ -25,7 +34,10 @@
   protected String process(HttpExchange t, String params) {
       String antwort;// = null;
     try {
-      StringBuilder kommando = new StringBuilder(cmd);
+      StringBuilder kommando = new StringBuilder();
+      kommando.append(VLCPlayer.DBUS_PREFIX);
+      kommando.append(cmd);
+      logger.log(Level.FINE, "kommando: {0}", kommando.toString());
       Process player_process = Runtime.getRuntime().exec(kommando.toString());
       antwort = "Kommando ausgefuehrt: " + kommando;
     } catch (IOException ex) {
@@ -33,5 +45,4 @@
     }
     return antwort;
   }
-  
 }

--
Gitblit v1.9.3