Use playlist loop libvlc facility
authorFilippo Carone <littlejohn@videolan.org>
Sun, 15 Oct 2006 10:54:15 +0000 (10:54 +0000)
committerFilippo Carone <littlejohn@videolan.org>
Sun, 15 Oct 2006 10:54:15 +0000 (10:54 +0000)
org/videolan/jvlc/Playlist.java
org/videolan/jvlc/PlaylistIntf.java

index 0d007ef..8262643 100644 (file)
@@ -1,5 +1,5 @@
  /*****************************************************************************
- * PlaylistIntf.java: The playlist interface
+ * Playlist.java: PlaylistIntf implementation class
  *****************************************************************************
  *
  * Copyright (C) 1998-2006 the VideoLAN team
@@ -49,7 +49,7 @@ public class Playlist implements PlaylistIntf {
     
     native private int _itemsCount();
     native private int _isRunning();
-    
+    native private void _setLoop(boolean loop);
 
 
     public synchronized void play(int id, String[] options) throws VLCException {
@@ -66,7 +66,13 @@ public class Playlist implements PlaylistIntf {
 
     public synchronized void stop() throws VLCException {
         _stop();
-
+//        do {
+//             try {
+//                             Thread.sleep(50);
+//                     } catch (InterruptedException e) {
+//                             e.printStackTrace();
+//                     }
+//        } while (isRunning());
     }
 
     public boolean isRunning() throws VLCException {
@@ -108,7 +114,16 @@ public class Playlist implements PlaylistIntf {
         _deleteItem(itemID);
     }
     
+    public synchronized void setLoop(boolean loop) {
+       _setLoop(loop);
+    }
+    
     public long getInstance() throws VLCException {
         return libvlcInstance;
     }
+
+       public void setPause(boolean pause) throws VLCException {
+               // TODO Auto-generated method stub              
+       }
+
 }
index cd45cb8..46dad03 100644 (file)
 package org.videolan.jvlc;
 
 public interface PlaylistIntf {
-    /**
+
+       /**
+        * Plays the item specified in id, with options. At the moment options
+        * has no effect and can be safely set to null.
      * @param id The ID to play
-     * @param options Options to play the item withs
+     * @param options Options to play the item with
      */
     void play(int id, String[] options) throws VLCException;
     
     /**
-     * Plays the current item
+     * Plays the current item in the playlist.
      */
     void play() throws VLCException;
     
@@ -46,38 +49,59 @@ public interface PlaylistIntf {
      */
     void togglePause() throws VLCException;
     
+    
     /**
-     * Stops the playlist.
+     * Pauses the currently playing item if pause value is true. Plays it
+     * otherwise. If you set pause to true and the current item is already
+     * playing, this has no effect.
+     * 
+     * @param pause
+     * @throws VLCException
+     */
+    void setPause(boolean pause) throws VLCException;
+    
+    /**
+     * Stops the currently playing item. Differently from pause, stopping
+     * an item destroys any information related to the item.
      */
     void stop() throws VLCException;
     
     /**
-     * @return True if playlist is not stopped
+     * This function returns true if the current item has not been stopped.
+     * @return True if the current item has not been stopped
      */
     boolean isRunning() throws VLCException;
     
     /**
+     * TODO: this should return the number of items added with add, with no
+     * respect to videolan internal playlist.
+     * 
+     * Returns the number of items in the playlist. Beware that this number
+     * could be bigger than the number of times add() has been called.
+     * 
      * @return Current number of items in the playlist
      */
     int itemsCount() throws VLCException;
     
     /**
-     * Move to next item
+     * Move to next item in the playlist and play it.
      */
     void next() throws VLCException;
     
     /**
-     * Move to previous item
+     * Move to previous item in the playlist and play it.
      */
     void prev() throws VLCException;
     
     /**
-     * Clear the playlist
+     * Clear the playlist which becomes empty after this call.
      */
     void clear() throws VLCException;
     
     /**
-     * Add a new item in the playlist
+     * TODO: document the kind of items that can be added.
+     * Add a new item in the playlist.
+     * 
      * @param uri Location of the item
      * @param name Name of the item
      * @return The item ID
@@ -89,5 +113,8 @@ public interface PlaylistIntf {
      */
     void addExtended();
     
-
+    /**
+     * @param loop
+     */
+    void setLoop(boolean loop);
 }