From 098eefb772fa398997afeea9bef0cca4f22251f4 Mon Sep 17 00:00:00 2001
From: undisclosed
Date: Fri, 06 Jan 2023 16:42:38 +0000
Subject: [PATCH] Umgestellt auf mkv. Calypso ist nach einigen Erprobungen zur Zeit eher eine Baustelle. Es ist produktiv nutzbar, muss aber nach dem Einbau von mkv um viele unnuetze und teils noch nicht sauber gebaute Dinge bereinigt werden.

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

diff --git a/src/de/uhilger/calypso/App.java b/src/de/uhilger/calypso/App.java
index 1de8ffc..3b17088 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,28 +18,37 @@
 
 package de.uhilger.calypso;
 
+import de.uhilger.calypso.handler.MPVPlayer;
+import de.uhilger.calypso.handler.MPlayer;
 import de.uhilger.calypso.handler.OMXPlayer;
 import de.uhilger.calypso.handler.Player;
 import de.uhilger.calypso.handler.VLCPlayer;
+import java.io.File;
 import java.io.IOException;
 import java.util.HashMap;
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
 /**
- * Hauptklasse des av-director
+ * Hauptklasse von Calypso
  * 
- * Aufruf mit
- * java -jar av-director.jar port=9000 ctx="/calypso"
- * 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,8 +60,11 @@
   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 MPV_PLAYER = "mpv";
   public static final String OMX_WD = "omx.wd";
   public static final String CTX = "ctx";
+  public static final String CONF_PATH = "conf";
   
   public static final String DEFAULT_CTX = "/calypso";
   
@@ -64,6 +76,7 @@
    * @param args the command line arguments
    */
   public static void main(String[] args) {
+    Logger.getLogger(App.class.getName()).log(Level.INFO, new File(".").getAbsolutePath());
     initParams = new HashMap();
     for(String arg: args) {
       String[] argParts = arg.split("=");
@@ -72,6 +85,12 @@
         
     String playerType = getInitParameter(IP_PLAYER);
     switch(playerType) {
+      case MPV_PLAYER:
+        player = new MPVPlayer();
+        break;
+      case M_PLAYER:
+        player = new MPlayer();
+        break;
       case VLC_PLAYER:
         player = new VLCPlayer();
         break;
@@ -80,6 +99,7 @@
         break;
     }
     Server server = new Server(Integer.parseInt(getInitParameter(IP_PORT)));
+    server.setPath(getInitParameter(CONF_PATH));
     String ctx = getInitParameter(CTX);
     if(ctx != null && ctx.length() > 0) {
       server.setContextName(ctx);    
@@ -87,7 +107,7 @@
       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