+
+ pl_Release( VLCIntf );
+ }
+
+}
+
+- (IBAction)telxTransparent:(id)sender
+{
+ intf_thread_t * p_intf = VLCIntf;
+ vlc_object_t *p_vbi;
+ p_vbi = (vlc_object_t *) vlc_object_find_name( p_intf,
+ "zvbi", FIND_ANYWHERE );
+ if( p_vbi )
+ {
+ var_SetBool( p_vbi, "vbi-opaque", [sender state] );
+ [sender setState: ![sender state]];
+ vlc_object_release( p_vbi );
+ }
+}
+
+- (IBAction)telxNavLink:(id)sender
+{
+ intf_thread_t * p_intf = VLCIntf;
+ vlc_object_t *p_vbi;
+ int i_page = 0;
+
+ if( [[sender title] isEqualToString: _NS("Index")] )
+ i_page = 'i' << 16;
+ else if( [[sender title] isEqualToString: _NS("Red")] )
+ i_page = 'r' << 16;
+ else if( [[sender title] isEqualToString: _NS("Green")] )
+ i_page = 'g' << 16;
+ else if( [[sender title] isEqualToString: _NS("Yellow")] )
+ i_page = 'y' << 16;
+ else if( [[sender title] isEqualToString: _NS("Blue")] )
+ i_page = 'b' << 16;
+ if( i_page == 0 ) return;
+
+ p_vbi = (vlc_object_t *) vlc_object_find_name( p_intf,
+ "zvbi", FIND_ANYWHERE );
+ if( p_vbi )
+ {
+ var_SetInteger( p_vbi, "vbi-page", i_page );
+ vlc_object_release( p_vbi );
+ }
+}
+
+- (IBAction)addSubtitleFile:(id)sender
+{
+ NSInteger i_returnValue = 0;
+ input_thread_t * p_input = pl_CurrentInput( VLCIntf );
+ if( !p_input ) return;
+
+ input_item_t *p_item = input_GetItem( p_input );
+ if( !p_item ) return;
+
+ char *path = input_item_GetURI( p_item );
+ if( !path ) path = strdup( "" );
+
+ NSOpenPanel * openPanel = [NSOpenPanel openPanel];
+ [openPanel setCanChooseFiles: YES];
+ [openPanel setCanChooseDirectories: NO];
+ [openPanel setAllowsMultipleSelection: YES];
+ i_returnValue = [openPanel runModalForDirectory: [NSString stringWithUTF8String: path] file: nil types: [NSArray arrayWithObjects: @"cdg",@"@idx",@"srt",@"sub",@"utf",@"ass",@"ssa",@"aqt",@"jss",@"psb",@"rt",@"smi", nil]];
+ free( path );
+
+ if( i_returnValue == NSOKButton )
+ {
+ NSUInteger c = 0;
+ if( !p_input ) return;
+
+ c = [[openPanel filenames] count];
+ NSLog( @"count: %i", c );
+ for (int i = 0; [[openPanel filenames] count] > i ; i++)
+ {
+ msg_Dbg( VLCIntf, "loading subs from %s", [[[openPanel filenames] objectAtIndex: i] UTF8String] );
+ if( input_AddSubtitle( p_input, [[[openPanel filenames] objectAtIndex: i] UTF8String], TRUE ) )
+ msg_Warn( VLCIntf, "unable to load subtitles from '%s'",
+ [[[openPanel filenames] objectAtIndex: i] UTF8String] );
+ i++;
+ }
+ }
+}
+
+- (void)scrollWheel:(NSEvent *)theEvent
+{
+ intf_thread_t * p_intf = VLCIntf;
+ float f_yabsvalue = [theEvent deltaY] > 0.0f ? [theEvent deltaY] : -[theEvent deltaY];
+ float f_xabsvalue = [theEvent deltaX] > 0.0f ? [theEvent deltaX] : -[theEvent deltaX];
+ int i, i_yvlckey, i_xvlckey;
+
+ if ([theEvent deltaY] < 0.0f)
+ i_yvlckey = KEY_MOUSEWHEELDOWN;
+ else
+ i_yvlckey = KEY_MOUSEWHEELUP;
+
+ if ([theEvent deltaX] < 0.0f)
+ i_xvlckey = KEY_MOUSEWHEELRIGHT;
+ else
+ i_xvlckey = KEY_MOUSEWHEELLEFT;
+
+ /* Send multiple key event, depending on the intensity of the event */
+ for (i = 0; i < (int)(f_yabsvalue/4.+1.) && f_yabsvalue > 0.05 ; i++)
+ var_SetInteger( p_intf->p_libvlc, "key-pressed", i_yvlckey );
+
+ /* Prioritize Y event (sound volume) over X event */
+ if (f_yabsvalue < 0.05)
+ {
+ for (i = 0; i < (int)(f_xabsvalue/6.+1.) && f_xabsvalue > 0.05; i++)
+ var_SetInteger( p_intf->p_libvlc, "key-pressed", i_xvlckey );