#include <vlc_osd.h>
#include <vlc_keys.h>
-/*****************************************************************************
- * VLCAutoGeneratedMenuContent interface
- *****************************************************************************
- * This holds our data for autogenerated menus
- *****************************************************************************/
-@interface VLCAutoGeneratedMenuContent : NSObject
-{
- char *psz_name;
- vlc_object_t * _vlc_object;
- vlc_value_t value;
- int i_type;
-}
-
-- (id)initWithVariableName: (const char *)name
- ofObject: (vlc_object_t *)object
- andValue: (vlc_value_t)value
- ofType: (int)type;
-- (const char *)name;
-- (vlc_value_t)value;
-- (vlc_object_t *)vlcObject;
-- (int)type;
-
-@end
-
#pragma mark -
/*****************************************************************************
* VLCControls implementation
- (id)voutView
{
- id window;
- id voutView = nil;
- id embeddedViewList = [[VLCMain sharedInstance] getEmbeddedList];
- NSEnumerator *enumerator = [[NSApp orderedWindows] objectEnumerator];
- while( !voutView && ( window = [enumerator nextObject] ) )
+ id o_window;
+ id o_voutView = nil;
+ id o_embeddedViewList = [[VLCMain sharedInstance] embeddedList];
+ NSEnumerator *o_enumerator = [[NSApp orderedWindows] objectEnumerator];
+ while( !o_voutView && ( o_window = [o_enumerator nextObject] ) )
{
/* We have an embedded vout */
- if( [embeddedViewList windowContainsEmbedded: window] )
+ if( [o_embeddedViewList windowContainsEmbedded: o_window] )
{
- voutView = [embeddedViewList getViewForWindow: window];
+ o_voutView = [o_embeddedViewList viewForWindow: o_window];
}
/* We have a detached vout */
- else if( [[window className] isEqualToString: @"VLCVoutWindow"] )
+ else if( [[o_window className] isEqualToString: @"VLCVoutWindow"] )
{
- voutView = [window voutView];
+ o_voutView = [o_window voutView];
}
}
- return [[voutView retain] autorelease];
+ return [[o_voutView retain] autorelease];
}
- (IBAction)stop:(id)sender
p_intf->p_sys->b_playmode_update = true;
p_intf->p_sys->b_intf_update = true;
- vlc_object_release( p_playlist );
+ pl_Release( p_intf );
}
/* three little ugly helpers */
{
[o_btn_repeat setImage: o_repeat_single];
[o_btn_repeat setAlternateImage: o_repeat_all];
+ [o_btn_repeat_embed setImage: [NSImage imageNamed:@"sidebarRepeatOneOn"]];
}
- (void)repeatAll
{
[o_btn_repeat setImage: o_repeat_all];
[o_btn_repeat setAlternateImage: o_repeat_off];
+ [o_btn_repeat_embed setImage: [NSImage imageNamed:@"sidebarRepeatOn"]];
}
- (void)repeatOff
{
[o_btn_repeat setImage: o_repeat_off];
[o_btn_repeat setAlternateImage: o_repeat_single];
+ [o_btn_repeat_embed setImage: [NSImage imageNamed:@"sidebarRepeat"]];
}
- (void)shuffle
{
playlist_t *p_playlist = pl_Hold( VLCIntf );
var_Get( p_playlist, "random", &val );
[o_btn_shuffle setState: val.b_bool];
- vlc_object_release( p_playlist );
+ if(val.b_bool)
+ [o_btn_shuffle_embed setImage: [NSImage imageNamed:@"sidebarShuffleOn"]];
+ else
+ [o_btn_shuffle_embed setImage: [NSImage imageNamed:@"sidebarShuffle"]];
+ pl_Release( VLCIntf );
}
- (IBAction)repeatButtonAction:(id)sender
p_intf->p_sys->b_playmode_update = true;
p_intf->p_sys->b_intf_update = true;
- vlc_object_release( p_playlist );
+ pl_Release( p_intf );
}
p_intf->p_sys->b_playmode_update = true;
p_intf->p_sys->b_intf_update = true;
- vlc_object_release( p_playlist );
+ pl_Release( p_intf );
}
- (IBAction)loop:(id)sender
p_intf->p_sys->b_playmode_update = true;
p_intf->p_sys->b_intf_update = true;
- vlc_object_release( p_playlist );
+ pl_Release( p_intf );
}
- (IBAction)forward:(id)sender
[o_vout_view toggleFloatOnTop];
else if( [o_title isEqualToString: _NS("Fit to Screen") ] )
{
- id o_window = [o_vout_view getWindow];
+ id o_window = [o_vout_view voutWindow];
if( ![o_window isZoomed] )
[o_window performZoom:self];
}
case VLC_VAR_VOID:
o_data = [[VLCAutoGeneratedMenuContent alloc] initWithVariableName: psz_variable ofObject: p_object
andValue: val ofType: i_type];
- [o_mi setRepresentedObject: [NSValue valueWithPointer:[o_data retain]]];
+ [o_mi setRepresentedObject: [o_data autorelease]];
break;
case VLC_VAR_BOOL:
o_data = [[VLCAutoGeneratedMenuContent alloc] initWithVariableName: psz_variable ofObject: p_object
andValue: val ofType: i_type];
- [o_mi setRepresentedObject: [NSValue valueWithPointer:[o_data retain]]];
+ [o_mi setRepresentedObject: [o_data autorelease]];
if( !( i_type & VLC_VAR_ISCOMMAND ) )
[o_mi setState: val.b_bool ? TRUE : FALSE ];
break;
o_lmi = [o_menu addItemWithTitle: o_title action: pf_callback keyEquivalent: @""];
o_data = [[VLCAutoGeneratedMenuContent alloc] initWithVariableName: strdup(psz_variable) ofObject: p_object
andValue: another_val ofType: i_type];
- [o_lmi setRepresentedObject: [NSValue valueWithPointer:[o_data retain]]];
+ [o_lmi setRepresentedObject: [o_data autorelease]];
[o_lmi setTarget: self];
if( !strcmp( val.psz_string, val_list.p_list->p_values[i].psz_string ) && !( i_type & VLC_VAR_ISCOMMAND ) )
[NSString stringWithFormat: @"%d",
val_list.p_list->p_values[i].i_int];
- o_lmi = [[o_menu addItemWithTitle: o_title action: pf_callback keyEquivalent: @""] retain ];
+ o_lmi = [o_menu addItemWithTitle: o_title action: pf_callback keyEquivalent: @""];
o_data = [[VLCAutoGeneratedMenuContent alloc] initWithVariableName: strdup(psz_variable) ofObject: p_object
andValue: val_list.p_list->p_values[i] ofType: i_type];
- [o_lmi setRepresentedObject: [NSValue valueWithPointer:[ o_data retain]]];
+ [o_lmi setRepresentedObject: [o_data autorelease]];
[o_lmi setTarget: self];
if( val_list.p_list->p_values[i].i_int == val.i_int && !( i_type & VLC_VAR_ISCOMMAND ) )
/* clean up everything */
if( (i_type & VLC_VAR_TYPE) == VLC_VAR_STRING ) free( val.psz_string );
- var_Change( p_object, psz_variable, VLC_VAR_FREELIST, &val_list, &text_list );
+ var_FreeList( &val_list, &text_list );
}
- (IBAction)toggleVar:(id)sender
{
NSMenuItem *o_mi = (NSMenuItem *)sender;
- VLCAutoGeneratedMenuContent *o_data = [[o_mi representedObject] pointerValue];
+ VLCAutoGeneratedMenuContent *o_data = [o_mi representedObject];
[NSThread detachNewThreadSelector: @selector(toggleVarThread:)
toTarget: self withObject: o_data];
}
}
-- (id)getFSPanel
+- (id)fspanel
{
if( o_fs_panel )
return o_fs_panel;
while( (o_window = [o_enumerator nextObject]))
{
if( [[o_window className] isEqualToString: @"VLCVoutWindow"] ||
- [[[VLCMain sharedInstance] getEmbeddedList]
+ [[[VLCMain sharedInstance] embeddedList]
windowContainsEmbedded: o_window])
{
bEnabled = TRUE;
}
/* Special case for telx menu */
- if( [[o_mi title] isEqualToString: _NS("Normal Size")] );
+ if( [[o_mi title] isEqualToString: _NS("Normal Size")] )
{
NSMenuItem *item = [[o_mi menu] itemWithTitle:_NS("Teletext")];
bool b_telx = p_input && var_GetInteger( p_input, "teletext-es" ) >= 0;
}
if( p_input ) vlc_object_release( p_input );
- vlc_object_release( p_playlist );
+ pl_Release( p_intf );
return( bEnabled );
}
- (void)mouseDown: (NSEvent *)ourEvent
{
if( [ourEvent clickCount] > 1 )
- [[[VLCMain sharedInstance] getControls] goToSpecificTime: nil];
+ [[[VLCMain sharedInstance] controls] goToSpecificTime: nil];
else
[[VLCMain sharedInstance] timeFieldWasClicked: self];
}