⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 controls.m

📁 uclinux 下的vlc播放器源代码
💻 M
📖 第 1 页 / 共 3 页
字号:
    var_Get( p_playlist, "loop", &val );    if (!val.b_bool)    {        var_Set( p_playlist, "repeat", val );    }    val.b_bool = !val.b_bool;    var_Set( p_playlist, "loop", val );    if( val.b_bool )    {        vout_OSDMessage( p_intf, DEFAULT_CHAN, _( "Repeat All" ) );        config_PutInt( p_playlist, "loop", 1 );    }    else    {        vout_OSDMessage( p_intf, DEFAULT_CHAN, _( "Repeat Off" ) );        config_PutInt( p_playlist, "loop", 0 );    }    p_intf->p_sys->b_playmode_update = VLC_TRUE;    p_intf->p_sys->b_intf_update = VLC_TRUE;    vlc_object_release( p_playlist );}- (IBAction)forward:(id)sender{    vlc_value_t val;    intf_thread_t * p_intf = VLCIntf;    val.i_int = config_GetInt( p_intf, "key-jump+short" );    var_Set( p_intf->p_vlc, "key-pressed", val );}- (IBAction)backward:(id)sender{    vlc_value_t val;    intf_thread_t * p_intf = VLCIntf;    val.i_int = config_GetInt( p_intf, "key-jump-short" );    var_Set( p_intf->p_vlc, "key-pressed", val );}- (IBAction)volumeUp:(id)sender{    vlc_value_t val;    intf_thread_t * p_intf = VLCIntf;    val.i_int = config_GetInt( p_intf, "key-vol-up" );    var_Set( p_intf->p_vlc, "key-pressed", val );    /* Manage volume status */    [o_main manageVolumeSlider];}- (IBAction)volumeDown:(id)sender{    vlc_value_t val;    intf_thread_t * p_intf = VLCIntf;    val.i_int = config_GetInt( p_intf, "key-vol-down" );    var_Set( p_intf->p_vlc, "key-pressed", val );    /* Manage volume status */    [o_main manageVolumeSlider];}- (IBAction)mute:(id)sender{    vlc_value_t val;    intf_thread_t * p_intf = VLCIntf;    val.i_int = config_GetInt( p_intf, "key-vol-mute" );    var_Set( p_intf->p_vlc, "key-pressed", val );    /* Manage volume status */    [o_main manageVolumeSlider];}- (IBAction)volumeSliderUpdated:(id)sender{    intf_thread_t * p_intf = VLCIntf;    audio_volume_t i_volume = (audio_volume_t)[sender intValue];    int i_volume_step = 0;    i_volume_step = config_GetInt( p_intf->p_vlc, "volume-step" );    aout_VolumeSet( p_intf, i_volume * i_volume_step );    /* Manage volume status */    [o_main manageVolumeSlider];}- (IBAction)windowAction:(id)sender{    NSString *o_title = [sender title];    vout_thread_t *p_vout = vlc_object_find( VLCIntf, VLC_OBJECT_VOUT,                                              FIND_ANYWHERE );    if( p_vout != NULL )    {        id o_vout_view = [self getVoutView];        if( o_vout_view )        {            if( [o_title isEqualToString: _NS("Half Size") ] )                [o_vout_view scaleWindowWithFactor: 0.5 animate: YES];            else if( [o_title isEqualToString: _NS("Normal Size") ] )                [o_vout_view scaleWindowWithFactor: 1.0 animate: YES];            else if( [o_title isEqualToString: _NS("Double Size") ] )                [o_vout_view scaleWindowWithFactor: 2.0 animate: YES];            else if( [o_title isEqualToString: _NS("Float on Top") ] )                [o_vout_view toggleFloatOnTop];            else if( [o_title isEqualToString: _NS("Fit to Screen") ] )            {                id o_window = [o_vout_view getWindow];                if( ![o_window isZoomed] )                    [o_window performZoom:self];            }            else if( [o_title isEqualToString: _NS("Snapshot") ] )            {                [o_vout_view snapshot];            }            else            {                [o_vout_view toggleFullscreen];            }        }        vlc_object_release( (vlc_object_t *)p_vout );    }    else    {        playlist_t * p_playlist = vlc_object_find( VLCIntf, VLC_OBJECT_PLAYLIST,                                              FIND_ANYWHERE );        if( p_playlist && ( [o_title isEqualToString: _NS("Fullscreen")] ||            [sender isKindOfClass:[NSButton class]] ) )        {            vlc_value_t val;            var_Get( p_playlist, "fullscreen", &val );            var_Set( p_playlist, "fullscreen", (vlc_value_t)!val.b_bool );        }        if( p_playlist ) vlc_object_release( (vlc_object_t *)p_playlist );    }}- (BOOL)keyEvent:(NSEvent *)o_event{    BOOL eventHandled = NO;    unichar key = [[o_event charactersIgnoringModifiers] characterAtIndex: 0];    if( key )    {        vout_thread_t *p_vout = vlc_object_find( VLCIntf, VLC_OBJECT_VOUT,                                              FIND_ANYWHERE );        if( p_vout != NULL )        {            /* Escape */            if( key == (unichar) 0x1b )            {                id o_vout_view = [self getVoutView];                if( o_vout_view && [o_vout_view isFullscreen] )                {                    [o_vout_view toggleFullscreen];                    eventHandled = YES;                }            }            else if( key == ' ' )            {                [self play:self];                eventHandled = YES;            }            vlc_object_release( (vlc_object_t *)p_vout );        }    }    return eventHandled;}- (void)setupVarMenuItem:(NSMenuItem *)o_mi                    target:(vlc_object_t *)p_object                    var:(const char *)psz_variable                    selector:(SEL)pf_callback{    vlc_value_t val, text;    int i_type = var_Type( p_object, psz_variable );    switch( i_type & VLC_VAR_TYPE )    {    case VLC_VAR_VOID:    case VLC_VAR_BOOL:    case VLC_VAR_VARIABLE:    case VLC_VAR_STRING:    case VLC_VAR_INTEGER:        break;    default:        /* Variable doesn't exist or isn't handled */        return;    }        /* Make sure we want to display the variable */    if( i_type & VLC_VAR_HASCHOICE )    {        var_Change( p_object, psz_variable, VLC_VAR_CHOICESCOUNT, &val, NULL );        if( val.i_int == 0 ) return;        if( (i_type & VLC_VAR_TYPE) != VLC_VAR_VARIABLE && val.i_int == 1 )            return;    }        /* Get the descriptive name of the variable */    var_Change( p_object, psz_variable, VLC_VAR_GETTEXT, &text, NULL );    [o_mi setTitle: [[VLCMain sharedInstance] localizedString: text.psz_string ?                                        text.psz_string : strdup( psz_variable ) ]];    var_Get( p_object, psz_variable, &val );    if( i_type & VLC_VAR_HASCHOICE )    {        NSMenu *o_menu = [o_mi submenu];        [self setupVarMenu: o_menu forMenuItem: o_mi target:p_object                        var:psz_variable selector:pf_callback];                if( text.psz_string ) free( text.psz_string );        return;    }    VLCMenuExt *o_data;    switch( i_type & VLC_VAR_TYPE )    {    case VLC_VAR_VOID:        o_data = [[VLCMenuExt alloc] initWithVar: psz_variable Object: p_object->i_object_id                Value: val ofType: i_type];        [o_mi setRepresentedObject: [NSValue valueWithPointer:[o_data retain]]];        break;    case VLC_VAR_BOOL:        o_data = [[VLCMenuExt alloc] initWithVar: psz_variable Object: p_object->i_object_id                Value: val ofType: i_type];        [o_mi setRepresentedObject: [NSValue valueWithPointer:[o_data retain]]];        if( !( i_type & VLC_VAR_ISCOMMAND ) )            [o_mi setState: val.b_bool ? TRUE : FALSE ];        break;    default:        if( 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 );}- (void)setupVarMenu:(NSMenu *)o_menu                    forMenuItem: (NSMenuItem *)o_parent                    target:(vlc_object_t *)p_object                    var:(const char *)psz_variable                    selector:(SEL)pf_callback{    vlc_value_t val, val_list, text_list;    int i_type, i, i_nb_items;    /* remove previous items */    i_nb_items = [o_menu numberOfItems];    for( i = 0; i < i_nb_items; i++ )    {        [o_menu removeItemAtIndex: 0];    }    /* Check the type of the object variable */    i_type = var_Type( p_object, psz_variable );    /* Make sure we want to display the variable */    if( i_type & VLC_VAR_HASCHOICE )    {        var_Change( p_object, psz_variable, VLC_VAR_CHOICESCOUNT, &val, NULL );        if( val.i_int == 0 ) return;        if( (i_type & VLC_VAR_TYPE) != VLC_VAR_VARIABLE && val.i_int == 1 )            return;    }    else    {        return;    }    switch( i_type & VLC_VAR_TYPE )    {    case VLC_VAR_VOID:    case VLC_VAR_BOOL:    case VLC_VAR_VARIABLE:    case VLC_VAR_STRING:    case VLC_VAR_INTEGER:        break;    default:        /* Variable doesn't exist or isn't handled */        return;    }    if( var_Get( p_object, psz_variable, &val ) < 0 )    {        return;    }    if( var_Change( p_object, psz_variable, VLC_VAR_GETLIST,                    &val_list, &text_list ) < 0 )    {        if( (i_type & VLC_VAR_TYPE) == VLC_VAR_STRING ) free( val.psz_string );        return;    }    /* make (un)sensitive */    [o_parent setEnabled: ( val_list.p_list->i_count > 1 )];    for( i = 0; i < val_list.p_list->i_count; i++ )    {        vlc_value_t another_val;        NSMenuItem * o_lmi;        NSString *o_title = @"";        VLCMenuExt *o_data;        switch( i_type & VLC_VAR_TYPE )        {        case VLC_VAR_STRING:            another_val.psz_string =                strdup(val_list.p_list->p_values[i].psz_string);            o_title = [[VLCMain sharedInstance] localizedString: text_list.p_list->p_values[i].psz_string ?                text_list.p_list->p_values[i].psz_string : val_list.p_list->p_values[i].psz_string ];            o_lmi = [o_menu addItemWithTitle: o_title action: pf_callback keyEquivalent: @""];            o_data = [[VLCMenuExt alloc] initWithVar: strdup(psz_variable) Object: p_object->i_object_id                    Value: another_val ofType: i_type];            [o_lmi setRepresentedObject: [NSValue valueWithPointer:[o_data retain]]];            [o_lmi setTarget: self];            if( !strcmp( val.psz_string, val_list.p_list->p_values[i].psz_string ) && !( i_type & VLC_VAR_ISCOMMAND ) )                [o_lmi setState: TRUE ];            break;        case VLC_VAR_INTEGER:             o_title = text_list.p_list->p_values[i].psz_string ?                                 [[VLCMain sharedInstance] localizedString: strdup( text_list.p_list->p_values[i].psz_string )] :                                 [NSString stringWithFormat: @"%d",

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -