From aaed2d146028ba1488a7ba7c7e924192b9df8394 Mon Sep 17 00:00:00 2001 From: undisclosed Date: Mon, 02 Jan 2023 08:58:15 +0000 Subject: [PATCH] Kommentare ergaenzt --- src/de/uhilger/calypso/App.java | 26 ++++++++----- src/de/uhilger/calypso/Server.java | 33 ++++++++++++++-- src/de/uhilger/calypso/handler/VLCPlayer.java | 6 -- src/de/uhilger/calypso/handler/VLCSeekHandler.java | 29 ++++++-------- 4 files changed, 58 insertions(+), 36 deletions(-) diff --git a/src/de/uhilger/calypso/App.java b/src/de/uhilger/calypso/App.java index 00ddfd1..92111cb 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 @@ -27,19 +27,25 @@ 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 { diff --git a/src/de/uhilger/calypso/Server.java b/src/de/uhilger/calypso/Server.java index cab92a6..df18287 100644 --- a/src/de/uhilger/calypso/Server.java +++ b/src/de/uhilger/calypso/Server.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 @@ -14,7 +14,7 @@ You should have received a copy of the GNU Affero General Public License along with this program. If not, see <https://www.gnu.org/licenses/>. - */ +*/ package de.uhilger.calypso; import com.sun.net.httpserver.HttpServer; @@ -39,8 +39,31 @@ import java.util.logging.Level; /** - * - * @author ulrich + * Die Klasse Server implementiert die HTTP-Schnittstelle zum + * Mediaplayer. Es wird ein Player-Prozesss fuer das Abspielen + * eines Titels gestartet. Mit Stopp oder Ende des Titels endet + * auch der Abspielprozess.<br> + * <br> + * zum Abspielen:<br> + * /calypso/play?title=http://ein.titel.mp3&r=http://rueckmelde.url<br> + * <br> + * waehrend des Abspielens:<br> + * /calypso/pause<br> + * /calypso/seek?pos=[sekunden]<br> + * /calypso/stop<br> + * <br> + * sonstige Funktionen:<br> + * /calypso/ping<br> + * /calypso/server/stop<br> + * <br> + * verworfene Funktionen<br> + * /calypso/vol-inc<br> + * /calypso/vol-dec<br> + * Die Lautstaerke wird in aller Regel am Geraet geregelt, an das der + * Zuspieler (der Raspi) angeschlossen ist. Eine Regelung ueber den + * Zuspieler ist daher eher selten erforderlich. + * + * @author Ulrich Hilger */ public class Server { diff --git a/src/de/uhilger/calypso/handler/VLCPlayer.java b/src/de/uhilger/calypso/handler/VLCPlayer.java index a450b81..c2c1aba 100644 --- a/src/de/uhilger/calypso/handler/VLCPlayer.java +++ b/src/de/uhilger/calypso/handler/VLCPlayer.java @@ -1,8 +1,3 @@ -/* - * To change this license header, choose License Headers in Project Properties. - * To change this template file, choose Tools | Templates - * and open the template in the editor. - */ package de.uhilger.calypso.handler; import com.sun.net.httpserver.HttpExchange; @@ -25,6 +20,7 @@ public static final String DBUS_PREFIX = "dbus-send --type=method_call --dest=org.mpris.MediaPlayer2.vlc /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player."; public static final String CMD_PAUSE_RESUME = "PlayPause"; public static final String CMD_SEEK = "Seek"; + public static final String CMD_VOLUME = "Volume"; @Override public String abspielen(String urlStr, String parameter, String meldeUrlStr, String token) { diff --git a/src/de/uhilger/calypso/handler/VLCSeekHandler.java b/src/de/uhilger/calypso/handler/VLCSeekHandler.java index 2ca4c19..8da3a3a 100644 --- a/src/de/uhilger/calypso/handler/VLCSeekHandler.java +++ b/src/de/uhilger/calypso/handler/VLCSeekHandler.java @@ -1,7 +1,3 @@ -/* - * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license - * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template - */ package de.uhilger.calypso.handler; import com.sun.net.httpserver.HttpExchange; @@ -11,21 +7,22 @@ import java.util.logging.Logger; /** - * dbus-send --type=method_call --dest=org.mpris.MediaPlayer2.vlc /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.Seek int64:-5000000 - * + * dbus-send --type=method_call --dest=org.mpris.MediaPlayer2.vlc /org/mpris/MediaPlayer2 + * org.mpris.MediaPlayer2.Player.Seek int64:-5000000 + * * @author Ulrich Hilger */ public class VLCSeekHandler extends CmdHandler { - + private static final Logger logger = Logger.getLogger(VLCSeekHandler.class.getName()); - + public VLCSeekHandler(String cmd) { super(cmd); } - + @Override protected String process(HttpExchange t, String params) { - String antwort;// = null; + String antwort;// = null; try { StringBuilder kommando = new StringBuilder(); kommando.append(VLCPlayer.DBUS_PREFIX); @@ -39,23 +36,23 @@ } return antwort; } - + @Override protected StringBuilder buildParams(HttpExchange t) { Player player = App.getPlayer(); StringBuilder params = super.buildParams(t); - - if(player instanceof VLCPlayer) { + + if (player instanceof VLCPlayer) { String pos = player.getParam(map, "pos"); - if(!pos.isEmpty()) { + if (!pos.isEmpty()) { params.append(" "); params.append("int64:"); params.append(pos); params.append("000000"); // Mikrosekunden } } - + logger.log(Level.FINER, "params: " + params.toString()); return params; - } + } } -- Gitblit v1.9.3