瀏覽代碼

izpl quit to remote handling

masterX244 2 年之前
父節點
當前提交
c860b93d1c

+ 1 - 1
iZpl/build.gradle

@@ -140,7 +140,7 @@ dependencies {
     api 'org.apache.commons:commons-exec:1.3'
     api "org.yaml:snakeyaml:1.14"
     api "commons-net:commons-net:3.3"
-    api 'uk.co.caprica:vlcj:4.+'
+    api 'uk.co.caprica:vlcj:4.7.3'
     api 'com.googlecode.mp4parser:isoparser:1.0-RC-1'
     api 'net.java.truevfs:truevfs-profile-default_2.11:0.12.0'
     api 'commons-cli:commons-cli:1.3'

+ 3 - 1
iZpl/src/main/java/de/nplusc/izc/iZpl/API/UIPlugin.java

@@ -68,5 +68,7 @@ public interface UIPlugin extends Plugin
      * Event hook for triggering a list reload after playlist file changes triggered by lower layers
      */
     public void reloadPlayList();
-       
+
+
+    public void notifyOnQuit();
 }

+ 6 - 0
iZpl/src/main/java/de/nplusc/izc/iZpl/GUI/IZplGUIDefault.java

@@ -52,6 +52,12 @@ public class IZplGUIDefault extends javax.swing.JFrame implements UIPlugin,Mouse
 
     }
 
+
+    @Override
+    public void notifyOnQuit() {
+
+    }
+
     /**
      * This method is called from within the constructor to
      * initialize the form.

+ 6 - 0
iZpl/src/main/java/de/nplusc/izc/iZpl/GUI/IZplGUISkinnable.java

@@ -117,6 +117,12 @@ public class IZplGUISkinnable extends JFrame implements SkinnableUIPlugin, Mouse
     }
     //  mainbackgroundlayer: PlayerMain.png
 
+    @Override
+    public void notifyOnQuit() {
+
+    }
+
+
     public void tickGUI(int affectedButton, boolean state)
     {
         HashMap ep = sf.getElementPositions();

+ 3 - 0
iZpl/src/main/java/de/nplusc/izc/iZpl/Main.java

@@ -795,6 +795,9 @@ public class Main extends javax.swing.JFrame
      */
     public static void quickQuit()
     {
+
+        IZPLApi.getUIPlugin().notifyOnQuit();
+
         TFile killme = new TFile(IZPLApi.TEMPDIR);
         try
         {

+ 5 - 0
iZpl/src/main/java/de/nplusc/izc/iZpl/RCUI/RemoteUI.java

@@ -38,6 +38,11 @@ public class RemoteUI implements UIPlugin
         //NOP, useless on remote UI
     }
 
+    @Override
+    public void notifyOnQuit() {
+
+    }
+
     @Override
     public void setTrackLength(int seconds)
     {

+ 5 - 0
iZplPlugins/JukeBox/src/main/java/de/nplusc/izc/izpl/plugins/jukebox/JukeBoxPlugin.java

@@ -39,6 +39,11 @@ public class JukeBoxPlugin implements UIPlugin, FeaturePlugin
         
     }
 
+    @Override
+    public void notifyOnQuit() {
+        backend.notifyQuit();
+    }
+
     @Override
     public void setTrackLength(int length)
     {

+ 4 - 1
iZplPlugins/JukeBox/src/main/java/de/nplusc/izc/izpl/plugins/jukebox/JukeboxServer.java

@@ -156,7 +156,10 @@ public class JukeboxServer extends WebSocketServer implements PlaybackStatusUpda
         sendUpdate("QUEUE", "");
     }
 
-    
+    public void notifyQuit()
+    {
+        sendUpdate("QUIT", "");
+    }
     
     
     @Override

+ 2 - 0
iZplPlugins/JukeBox/src/main/java/de/nplusc/izc/izpl/plugins/jukebox/PlaybackStatusUpdater.java

@@ -28,4 +28,6 @@ public interface PlaybackStatusUpdater
     void triggerTableRefresh();
     void triggerScheduleRefresh();
     void setPlayStatus(boolean playing);
+
+    default void notifyQuit(){};
 }