]> git.sesse.net Git - vlc/blobdiff - src/interface/interface.c
Try to fix Windows packaging.
[vlc] / src / interface / interface.c
index 650c61f3613e7432a078846adc9ef66aedb513a7..3cdd819b21052697dff9f53750fd2e6c470d3ebf 100644 (file)
  * Preamble
  *****************************************************************************/
 
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#endif
+
 #include <vlc/vlc.h>
 
 #include <vlc_aout.h>
 
 #include "vlc_interface.h"
 #include "modules/modules.h" // Gruik!
+#include "libvlc.h"
 
 /*****************************************************************************
  * Local prototypes
  *****************************************************************************/
 static void RunInterface( intf_thread_t *p_intf );
 
-static int SwitchIntfCallback( vlc_object_t *, char const *,
-                               vlc_value_t , vlc_value_t , void * );
 static int AddIntfCallback( vlc_object_t *, char const *,
                             vlc_value_t , vlc_value_t , void * );
 
@@ -83,33 +86,31 @@ intf_thread_t* __intf_Create( vlc_object_t *p_this, const char *psz_module,
     p_intf->pf_request_window = NULL;
     p_intf->pf_release_window = NULL;
     p_intf->pf_control_window = NULL;
-    p_intf->b_play = VLC_FALSE;
-    p_intf->b_interaction = VLC_FALSE;
-    p_intf->b_should_run_on_first_thread = VLC_FALSE;
+    p_intf->b_play = false;
+    p_intf->b_interaction = false;
+    p_intf->b_should_run_on_first_thread = false;
 
     for( i = 0 ; i< i_options; i++ )
-    {
-        var_OptionParse( p_intf, ppsz_options[i] );
-    }
+        var_OptionParse( p_this, ppsz_options[i], true );
 
     /* Choose the best module */
     p_intf->psz_intf = strdup( psz_module );
-    p_intf->p_module = module_Need( p_intf, "interface", psz_module, VLC_FALSE );
+    p_intf->p_module = module_Need( p_intf, "interface", psz_module, false );
 
     if( p_intf->p_module == NULL )
     {
         msg_Err( p_intf, "no suitable interface module" );
         free( p_intf->psz_intf );
-        vlc_object_destroy( p_intf );
+        vlc_object_release( p_intf );
         return NULL;
     }
 
     /* Initialize structure */
-    p_intf->b_menu        = VLC_FALSE;
-    p_intf->b_menu_change = VLC_FALSE;
+    p_intf->b_menu        = false;
+    p_intf->b_menu_change = false;
 
     /* Initialize mutexes */
-    vlc_mutex_init( p_intf, &p_intf->change_lock );
+    vlc_mutex_init( &p_intf->change_lock );
 
     /* Attach interface to its parent object */
     vlc_object_attach( p_intf, p_this );
@@ -144,7 +145,7 @@ int intf_RunThread( intf_thread_t *p_intf )
     
     /* Run the interface in a separate thread */
     if( vlc_thread_create( p_intf, "interface", RunInterface,
-                           VLC_THREAD_PRIORITY_LOW, VLC_FALSE ) )
+                           VLC_THREAD_PRIORITY_LOW, false ) )
     {
         msg_Err( p_intf, "cannot spawn interface thread" );
         return VLC_EGENERIC;
@@ -190,7 +191,7 @@ void intf_Destroy( intf_thread_t *p_intf )
     vlc_mutex_destroy( &p_intf->change_lock );
 
     /* Free structure */
-    vlc_object_destroy( p_intf );
+    vlc_object_release( p_intf );
 }
 
 
@@ -201,49 +202,9 @@ void intf_Destroy( intf_thread_t *p_intf )
  *****************************************************************************/
 static void RunInterface( intf_thread_t *p_intf )
 {
-    static const char *ppsz_interfaces[] =
-    {
-        "skins2", "Skins 2",
-#ifndef WIN32
-        "wxwidgets", "wxWidgets",
-#endif
-        NULL, NULL
-    };
-    const char **ppsz_parser;
-
-    vlc_list_t *p_list;
-    int i;
     vlc_value_t val, text;
     char *psz_intf;
 
-    /* Variable used for interface switching */
-    p_intf->psz_switch_intf = NULL;
-    var_Create( p_intf, "intf-switch", VLC_VAR_STRING |
-                VLC_VAR_HASCHOICE | VLC_VAR_ISCOMMAND );
-    text.psz_string = _("Switch interface");
-    var_Change( p_intf, "intf-switch", VLC_VAR_SETTEXT, &text, NULL );
-
-    /* Only fill the list with available modules */
-    p_list = vlc_list_find( p_intf, VLC_OBJECT_MODULE, FIND_ANYWHERE );
-    for( ppsz_parser = ppsz_interfaces; *ppsz_parser; ppsz_parser += 2 )
-    {
-        for( i = 0; i < p_list->i_count; i++ )
-        {
-            module_t *p_module = (module_t *)p_list->p_values[i].p_object;
-            if( !strcmp( p_module->psz_object_name, ppsz_parser[0] ) )
-            {
-                val.psz_string = (char *)ppsz_parser[0];
-                text.psz_string = (char *)_(ppsz_parser[1]);
-                var_Change( p_intf, "intf-switch", VLC_VAR_ADDCHOICE,
-                            &val, &text );
-                break;
-            }
-        }
-    }
-    vlc_list_release( p_list );
-
-    var_AddCallback( p_intf, "intf-switch", SwitchIntfCallback, NULL );
-
     /* Variable used for interface spawning */
     var_Create( p_intf, "intf-add", VLC_VAR_STRING |
                 VLC_VAR_HASCHOICE | VLC_VAR_ISCOMMAND );
@@ -273,7 +234,7 @@ static void RunInterface( intf_thread_t *p_intf )
         p_intf->pf_run( p_intf );
 
         /* Reset play on start status */
-        p_intf->b_play = VLC_FALSE;
+        p_intf->b_play = false;
 
         if( !p_intf->psz_switch_intf )
         {
@@ -288,8 +249,8 @@ static void RunInterface( intf_thread_t *p_intf )
         p_intf->psz_switch_intf = NULL;
 
         vlc_mutex_lock( &p_intf->object_lock );
-        p_intf->b_die = VLC_FALSE; /* FIXME */
-        p_intf->b_dead = VLC_FALSE;
+        p_intf->b_die = false; /* FIXME */
+        p_intf->b_dead = false;
 
         vlc_mutex_unlock( &p_intf->object_lock );
 
@@ -299,20 +260,6 @@ static void RunInterface( intf_thread_t *p_intf )
     while( p_intf->p_module );
 }
 
-static int SwitchIntfCallback( vlc_object_t *p_this, char const *psz_cmd,
-                         vlc_value_t oldval, vlc_value_t newval, void *p_data )
-{
-    intf_thread_t *p_intf = (intf_thread_t *)p_this;
-    (void)psz_cmd; (void)oldval; (void)p_data;
-
-    p_intf->psz_switch_intf =
-        malloc( strlen(newval.psz_string) + sizeof(",none") );
-    sprintf( p_intf->psz_switch_intf, "%s,none", newval.psz_string );
-    vlc_object_kill( p_intf );
-
-    return VLC_SUCCESS;
-}
-
 static int AddIntfCallback( vlc_object_t *p_this, char const *psz_cmd,
                          vlc_value_t oldval, vlc_value_t newval, void *p_data )
 {