intf_thread_t * p_intf = VLCIntf;
playlist_t * p_playlist = pl_Yield( p_intf );
- vlc_mutex_lock( &p_playlist->object_lock );
+ vlc_object_lock( p_playlist );
if( playlist_IsEmpty( p_playlist ) )
{
- vlc_mutex_unlock( &p_playlist->object_lock );
+ vlc_object_unlock( p_playlist );
vlc_object_release( p_playlist );
[o_main intfOpenFileGeneric: (id)sender];
}
else
{
- vlc_mutex_unlock( &p_playlist->object_lock );
+ vlc_object_unlock( p_playlist );
vlc_object_release( p_playlist );
}
return o_vout_view;
}
-
- (IBAction)stop:(id)sender
{
vlc_value_t val;
intf_thread_t * p_intf = VLCIntf;
val.i_int = config_GetInt( p_intf, "key-stop" );
var_Set( p_intf->p_libvlc, "key-pressed", val );
+ /* Close the window directly, because we do know that there
+ * won't be anymore video. It's currently waiting a bit. */
+ [[[self getVoutView] window] orderOut:self];
}
- (IBAction)faster:(id)sender
config_PutInt( p_playlist, "random", 0 );
}
- p_intf->p_sys->b_playmode_update = VLC_TRUE;
- p_intf->p_sys->b_intf_update = VLC_TRUE;
+ p_intf->p_sys->b_playmode_update = true;
+ p_intf->p_sys->b_intf_update = true;
vlc_object_release( p_playlist );
}
[self repeatOne];
/* prepare core communication */
- repeating.b_bool = VLC_TRUE;
- looping.b_bool = VLC_FALSE;
+ repeating.b_bool = true;
+ looping.b_bool = false;
config_PutInt( p_playlist, "repeat", 1 );
config_PutInt( p_playlist, "loop", 0 );
[self repeatAll];
/* prepare core communication */
- repeating.b_bool = VLC_FALSE;
- looping.b_bool = VLC_TRUE;
+ repeating.b_bool = false;
+ looping.b_bool = true;
config_PutInt( p_playlist, "repeat", 0 );
config_PutInt( p_playlist, "loop", 1 );
[self repeatOff];
/* prepare core communication */
- repeating.b_bool = VLC_FALSE;
- looping.b_bool = VLC_FALSE;
+ repeating.b_bool = false;
+ looping.b_bool = false;
config_PutInt( p_playlist, "repeat", 0 );
config_PutInt( p_playlist, "loop", 0 );
/* communicate with core and the main intf loop */
var_Set( p_playlist, "repeat", repeating );
var_Set( p_playlist, "loop", looping );
- p_intf->p_sys->b_playmode_update = VLC_TRUE;
- p_intf->p_sys->b_intf_update = VLC_TRUE;
+ p_intf->p_sys->b_playmode_update = true;
+ p_intf->p_sys->b_intf_update = true;
vlc_object_release( p_playlist );
}
config_PutInt( p_playlist, "repeat", 0 );
}
- p_intf->p_sys->b_playmode_update = VLC_TRUE;
- p_intf->p_sys->b_intf_update = VLC_TRUE;
+ p_intf->p_sys->b_playmode_update = true;
+ p_intf->p_sys->b_intf_update = true;
vlc_object_release( p_playlist );
}
config_PutInt( p_playlist, "loop", 0 );
}
- p_intf->p_sys->b_playmode_update = VLC_TRUE;
- p_intf->p_sys->b_intf_update = VLC_TRUE;
+ p_intf->p_sys->b_playmode_update = true;
+ p_intf->p_sys->b_intf_update = true;
vlc_object_release( p_playlist );
}
}
else
{
+ playlist_t * p_playlist = pl_Yield( VLCIntf );
+ /* Fullscreen state for next time will be saved here too */
[o_vout_view toggleFullscreen];
}
}
var_Set( p_playlist, "fullscreen", (vlc_value_t)!val.b_bool );
}
- vlc_object_release( p_playlist );
+ pl_Release( VLCIntf );
}
}
[self setupVarMenu: o_menu forMenuItem: o_mi target:p_object
var:psz_variable selector:pf_callback];
- if( text.psz_string ) free( text.psz_string );
+ free( text.psz_string );
return;
}
break;
default:
- if( text.psz_string ) free( text.psz_string );
+ free( text.psz_string );
return;
}
if( ( i_type & VLC_VAR_TYPE ) == VLC_VAR_STRING ) free( val.psz_string );
- if( text.psz_string ) free( text.psz_string );
+ free( text.psz_string );
}
var_Set( p_object, strdup([o_data name]), [o_data value] );
vlc_object_release( p_object );
[o_pool release];
- return VLC_TRUE;
+ return true;
}
[o_pool release];
return VLC_EGENERIC;
vlc_value_t val;
intf_thread_t * p_intf = VLCIntf;
playlist_t * p_playlist = pl_Yield( p_intf );
-
- vlc_mutex_lock( &p_playlist->object_lock );
-
-#define p_input p_playlist->p_input
+ input_thread_t * p_input = playlist_CurrentInput( p_playlist );
if( [[o_mi title] isEqualToString: _NS("Faster")] ||
[[o_mi title] isEqualToString: _NS("Slower")] )
[[o_mi title] isEqualToString: _NS("Next")] )
{
/** \todo fix i_size use */
+ PL_LOCK;
bEnabled = p_playlist->items.i_size > 1;
+ PL_UNLOCK;
}
else if( [[o_mi title] isEqualToString: _NS("Random")] )
{
break;
}
}
+
vlc_object_release( (vlc_object_t *)p_vout );
}
- else if( [[o_mi title] isEqualToString: _NS("Fullscreen")] )
+ if( [[o_mi title] isEqualToString: _NS("Fullscreen")] )
{
var_Get( p_playlist, "fullscreen", &val );
[o_mi setState: val.b_bool];
[o_main setupMenus]; /* Make sure video menu is up to date */
}
- vlc_mutex_unlock( &p_playlist->object_lock );
+ if( p_input ) vlc_object_release( p_input );
vlc_object_release( p_playlist );
return( bEnabled );