From 7a79ba8b70e8541b6d4413a46061b2c03ecddc9b Mon Sep 17 00:00:00 2001
From: undisclosed
Date: Tue, 03 Jan 2023 10:47:17 +0000
Subject: [PATCH] Baustelle: Versuche mit unterschiedlichen Playern

---
 src/de/uhilger/calypso/App.java |   42 ++++++++++++++++++++++++++++++------------
 1 files changed, 30 insertions(+), 12 deletions(-)

diff --git a/src/de/uhilger/calypso/App.java b/src/de/uhilger/calypso/App.java
index 8cf84c5..48307cb 100644
--- a/src/de/uhilger/calypso/App.java
+++ b/src/de/uhilger/calypso/App.java
@@ -1,6 +1,6 @@
 /*
-    AV-Direktor - Control OMXPlayer on Raspberry Pi via HTTP
-    Copyright (C) 2021  Ulrich Hilger
+    Calypso - Media Player Remote Control via HTTP for Raspberry Pi
+    Copyright (C) 2021-2023  Ulrich Hilger
 
     This program is free software: you can redistribute it and/or modify
     it under the terms of the GNU Affero General Public License as
@@ -18,6 +18,7 @@
 
 package de.uhilger.calypso;
 
+import de.uhilger.calypso.handler.MPlayer;
 import de.uhilger.calypso.handler.OMXPlayer;
 import de.uhilger.calypso.handler.Player;
 import de.uhilger.calypso.handler.VLCPlayer;
@@ -27,19 +28,25 @@
 import java.util.logging.Logger;
 
 /**
- * Hauptklasse des av-director
+ * Hauptklasse von Calypso
  * 
- * Aufruf mit
- * java -jar av-director.jar port=9000
- * java -jar av-director.jar nfs-prefix="/media/mc" port=9000
- * java -Djava.util.logging.config.file=logging.properties -jar ..
+ * Aufruf mit<br>
+ * java -jar calypso.jar port=9000 ctx="/calypso"<br>
+ * java -jar calypso.jar nfs-prefix="/media/mc" port=9000<br>
+ * java -Djava.util.logging.config.file=logging.properties -jar ..<br>
  * 
  * Der Parameter nfs-prefix bewirkt, dass beim Abspielen relative Pfade 
  * mit diesem Praefix verbunden werden und setzt voraus, dass auf der 
- * Maschine ein NFS-Mount ueber /etc/fstab eingerichtet ist.
+ * Maschine ein NFS-Mount ueber /etc/fstab eingerichtet ist.<br>
+ * <br>
+ * Anmerkung anlaesslich der Aenderung auf VLC (2.1.2023):<br>
+ * Mit Calypso wurde erstmals jdk.httpserver anstelle von Tomcat 
+ * einsetzt. Es war in diesem Punkt noch ein Laborversuch und sollte 
+ * unter Wiederverwendung der wesentlichen Teile bei Gelegenheit 
+ * neu gebaut werden.
  * 
- * @author ulrich
- * @version 0.1, 20.03.2021
+ * @author Ulrich Hilger
+ * @version 0.2 vom 2.1.2023, 0.1 vom 20.03.2021 als Nachfolger von Pirc (02.2013-03.2021)
  */
 public class App {
   
@@ -51,13 +58,15 @@
   public static final String IP_PLAYER = "player";
   public static final String VLC_PLAYER = "vlc";
   public static final String OMX_PLAYER = "omx";
+  public static final String M_PLAYER = "mpl";
   public static final String OMX_WD = "omx.wd";
+  public static final String CTX = "ctx";
   
+  public static final String DEFAULT_CTX = "/calypso";
   
   private static HashMap initParams;  
   private static Process playerproc;
   private static Player player;
-  
   
   /**
    * @param args the command line arguments
@@ -71,6 +80,9 @@
         
     String playerType = getInitParameter(IP_PLAYER);
     switch(playerType) {
+      case M_PLAYER:
+        player = new MPlayer();
+        break;
       case VLC_PLAYER:
         player = new VLCPlayer();
         break;
@@ -79,8 +91,14 @@
         break;
     }
     Server server = new Server(Integer.parseInt(getInitParameter(IP_PORT)));
+    String ctx = getInitParameter(CTX);
+    if(ctx != null && ctx.length() > 0) {
+      server.setContextName(ctx);    
+    } else {
+      server.setContextName(DEFAULT_CTX);
+    }
     try {
-      server.start();
+      server.start(playerType);
     } catch (IOException ex) {
       Logger.getLogger(App.class.getName()).log(Level.SEVERE, null, ex);
     }

--
Gitblit v1.9.3