* intf.m: MacOS X interface plugin
*****************************************************************************
* Copyright (C) 2002-2003 VideoLAN
- * $Id: intf.m,v 1.53 2003/02/09 19:28:43 massiot Exp $
+ * $Id: intf.m,v 1.57 2003/02/13 14:16:41 hartman Exp $
*
* Authors: Jon Lech Johansen <jon-vl@nanocrew.net>
* Christophe Massiot <massiot@via.ecp.fr>
if( p_playlist != NULL )
{
- vlc_mutex_lock( &p_playlist->object_lock );
+ vlc_value_t val;
+ if( var_Get( (vlc_object_t *)p_playlist, "intf-change", &val )
+ >= 0 && val.b_bool )
+ {
+ p_intf->p_sys->b_playlist_update = 1;
+ p_intf->p_sys->b_intf_update = VLC_TRUE;
+ }
+
+ vlc_mutex_lock( &p_playlist->object_lock );
+
[self manage: p_playlist];
-
+
vlc_mutex_unlock( &p_playlist->object_lock );
vlc_object_release( p_playlist );
}
p_intf->p_sys->b_chapter_update = 1;
p_intf->p_sys->b_audio_update = 1;
p_intf->p_sys->b_spu_update = 1;
+ p_intf->p_sys->b_current_title_update = 1;
p_intf->p_sys->i_part = 0;
p_playlist->p_input->stream.b_changed = 0;
+
msg_Dbg( p_intf, "stream has changed, refreshing interface" );
}
else
}
vlc_mutex_lock( &p_playlist->object_lock );
+
+ if ( p_intf->p_sys->b_playlist_update )
+ {
+ vlc_value_t val;
+ val.b_bool = 0;
+
+ var_Set( (vlc_object_t *)p_playlist, "intf-change", val );
+ [o_playlist playlistUpdated];
+ p_intf->p_sys->b_playlist_update = VLC_FALSE;
+ }
#define p_input p_playlist->p_input
{
vlc_mutex_lock( &p_input->stream.stream_lock );
}
+
+ if( p_intf->p_sys->b_current_title_update )
+ {
+ id o_awindow = [NSApp keyWindow];
+ NSArray *o_windows = [NSApp windows];
+ NSEnumerator *o_enumerator = [o_windows objectEnumerator];
+
+ while ((o_awindow = [o_enumerator nextObject]))
+ {
+ if( [[o_awindow className] isEqualToString: @"VLCWindow"] )
+ {
+ vlc_mutex_unlock( &p_playlist->object_lock );
+ [o_awindow updateTitle];
+ vlc_mutex_lock( &p_playlist->object_lock );
+ }
+ }
+ vlc_mutex_unlock( &p_playlist->object_lock );
+ [o_playlist updateState];
+ vlc_mutex_lock( &p_playlist->object_lock );
+ p_intf->p_sys->b_current_title_update = FALSE;
+ }
if( p_intf->p_sys->b_intf_update )
{
- (IBAction)openCrashLog:(id)sender
{
- NSString * o_path = [@"~/Library/Logs/CrashReporter/vlc.crash.log"
+ NSString * o_path = [@"~/Library/Logs/CrashReporter/VLC.crash.log"
stringByExpandingTildeInPath];