]> git.sesse.net Git - vlc/blobdiff - projects/mozilla/vlcplugin.h
macosx/framework: Make sure base SDK is set to 10.5.
[vlc] / projects / mozilla / vlcplugin.h
index 403a7274cc0c742f3db2145f966bfdaedfbf0a73..b2614d816c6e95a3d8dd58d3eba08a1a0a08016a 100644 (file)
@@ -92,7 +92,8 @@ public:
     {
         if( !libvlc_media_player )
         {
-             libvlc_exception_raise(ex,"no mediaplayer");
+             libvlc_exception_raise(ex);
+             libvlc_printerr("no mediaplayer");
         }
         return libvlc_media_player;
     }
@@ -107,18 +108,14 @@ public:
     NPClass*            getScriptClass()
                             { return p_scriptClass; };
 
-    void                setLog(libvlc_log_t *log)
-                            { libvlc_log = log; };
-    libvlc_log_t*       getLog()
-                            { return libvlc_log; };
-#if XP_WIN
+#if defined(XP_WIN)
     WNDPROC             getWindowProc()
                             { return pf_wndproc; };
     void                setWindowProc(WNDPROC wndproc)
                             { pf_wndproc = wndproc; };
 #endif
 
-#if XP_UNIX
+#if defined(XP_UNIX)
     int                 setSize(unsigned width, unsigned height);
     Window              getVideoWindow()
                             { return npvideo; };
@@ -145,32 +142,63 @@ public:
     int      b_stream;
     int      b_autoplay;
     int      b_toolbar;
+    char *   psz_text;
     char *   psz_target;
 
-    bool playlist_select(int,libvlc_exception_t *);
+    void playlist_play(libvlc_exception_t *ex)
+    {
+        if( libvlc_media_player||playlist_select(0,ex) )
+            libvlc_media_player_play(libvlc_media_player,ex);
+    }
+    void playlist_play_item(int idx,libvlc_exception_t *ex)
+    {
+        if( playlist_select(idx,ex) )
+            libvlc_media_player_play(libvlc_media_player,ex);
+    }
+    void playlist_stop(libvlc_exception_t *ex)
+    {
+        if( libvlc_media_player )
+            libvlc_media_player_stop(libvlc_media_player,ex);
+    }
+    void playlist_next(libvlc_exception_t *ex)
+    {
+        if( playlist_select(playlist_index+1,ex) )
+            libvlc_media_player_play(libvlc_media_player,ex);
+    }
+    void playlist_prev(libvlc_exception_t *ex)
+    {
+        if( playlist_select(playlist_index-1,ex) )
+            libvlc_media_player_play(libvlc_media_player,ex);
+    }
+    void playlist_pause(libvlc_exception_t *ex)
+    {
+        if( libvlc_media_player )
+            libvlc_media_player_pause(libvlc_media_player,ex);
+    }
+    int playlist_isplaying(libvlc_exception_t *ex)
+    {
+        int is_playing = 0;
+        if( libvlc_media_player )
+            is_playing = libvlc_media_player_is_playing(
+                                libvlc_media_player, ex );
+        return is_playing;
+    }
 
     int playlist_add( const char *, libvlc_exception_t * );
     int playlist_add_extended_untrusted( const char *, const char *, int,
                                 const char **, libvlc_exception_t * );
-    void playlist_play( libvlc_exception_t * );
-    void playlist_play_item( int, libvlc_exception_t * );
-    void playlist_stop( libvlc_exception_t * );
-    void playlist_next( libvlc_exception_t * );
-    void playlist_prev( libvlc_exception_t * );
-    void playlist_pause( libvlc_exception_t * );
     void playlist_delete_item( int, libvlc_exception_t * );
-
     void playlist_clear( libvlc_exception_t * );
-    int playlist_count( libvlc_exception_t * );
-    int playlist_isplaying( libvlc_exception_t * );
+    int  playlist_count( libvlc_exception_t * );
 
     void toggle_fullscreen( libvlc_exception_t * );
     void set_fullscreen( int, libvlc_exception_t * );
     int  get_fullscreen( libvlc_exception_t * );
 
-    int  player_has_vout( libvlc_exception_t * );
+    bool  player_has_vout( libvlc_exception_t * );
 
 private:
+    bool playlist_select(int,libvlc_exception_t *);
     void set_player_window( libvlc_exception_t * );
 
     /* VLC reference */
@@ -178,7 +206,6 @@ private:
     libvlc_instance_t   *libvlc_instance;
     libvlc_media_list_t *libvlc_media_list;
     libvlc_media_player_t *libvlc_media_player;
-    libvlc_log_t        *libvlc_log;
     NPClass             *p_scriptClass;
 
     /* browser reference */
@@ -187,10 +214,10 @@ private:
 
     /* display settings */
     NPWindow  npwindow;
-#if XP_WIN
+#if defined(XP_WIN)
     WNDPROC   pf_wndproc;
 #endif
-#if XP_UNIX
+#if defined(XP_UNIX)
     unsigned int     i_width, i_height;
     unsigned int     i_tb_width, i_tb_height;
     Window           npvideo, npcontrol;