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

📄 open.m

📁 VLC Player Source Code
💻 M
📖 第 1 页 / 共 3 页
字号:
        unsigned int i;        o_dic = [NSMutableDictionary dictionaryWithObject: [o_mrl stringValue] forKey: @"ITEM_URL"];        if( [o_file_sub_ckbox state] == NSOnState )        {            module_config_t * p_item;            [o_options addObject: [NSString stringWithFormat: @"sub-file=%@", [o_file_sub_path stringValue]]];            if( [o_file_sub_override state] == NSOnState )            {                [o_options addObject: [NSString stringWithFormat: @"sub-delay=%i", (int)( [o_file_sub_delay intValue] * 10 )]];                [o_options addObject: [NSString stringWithFormat: @"sub-fps=%f", [o_file_sub_fps floatValue]]];            }            [o_options addObject: [NSString stringWithFormat:                    @"subsdec-encoding=%@",                    [o_file_sub_encoding_pop titleOfSelectedItem]]];            [o_options addObject: [NSString stringWithFormat:                    @"subsdec-align=%i",                    [o_file_sub_align_pop indexOfSelectedItem]]];            p_item = config_FindConfig( VLC_OBJECT(p_intf),                                            "freetype-rel-fontsize" );            if ( p_item )            {                [o_options addObject: [NSString stringWithFormat:                    @"freetype-rel-fontsize=%i",                    p_item->pi_list[[o_file_sub_size_pop indexOfSelectedItem]]]];            }        }        if( [o_output_ckbox state] == NSOnState )        {            for (i = 0 ; i < [[o_sout_options getMRL] count] ; i++)            {                [o_options addObject: [NSString stringWithString:                      [[(VLCOutput *)o_sout_options getMRL] objectAtIndex: i]]];            }        }        if( [o_net_timeshift_ckbox state] == NSOnState )        {            [o_options addObject: [NSString stringWithString:                                                @"access-filter=timeshift"]];        }        [o_dic setObject: (NSArray *)[o_options copy] forKey: @"ITEM_OPTIONS"];        if( b_autoplay )            [o_playlist appendArray: [NSArray arrayWithObject: o_dic] atPos: -1 enqueue:NO];        else            [o_playlist appendArray: [NSArray arrayWithObject: o_dic] atPos: -1 enqueue:YES];    }}- (void)tabView:(NSTabView *)o_tv didSelectTabViewItem:(NSTabViewItem *)o_tvi{    NSString *o_label = [o_tvi label];    if( [o_label isEqualToString: _NS("File")] )    {        [self openFilePathChanged: nil];    }    else if( [o_label isEqualToString: _NS("Disc")] )    {        [self openDiscTypeChanged: nil];    }    else if( [o_label isEqualToString: _NS("Network")] )    {        [self openNetInfoChanged: nil];    }    else if( [o_label isEqualToString: _NS("Capture")] )    {        [self openCaptureModeChanged: nil];    }}- (void)openFileGeneric{    [self openFilePathChanged: nil];    [self openTarget: 0];}- (void)openDisc{    [self openDiscTypeChanged: nil];    [self openTarget: 1];}- (void)openNet{    [self openNetInfoChanged: nil];    [self openTarget: 2];}- (void)openCapture{    [self openCaptureModeChanged: nil];    [self showCaptureView: o_capture_label_view];    [self openTarget: 3];}- (void)openFilePathChanged:(NSNotification *)o_notification{    NSString *o_mrl_string;    NSString *o_filename = [o_file_path stringValue];    NSString *o_ext = [o_filename pathExtension];    bool b_stream = [o_file_stream state];    BOOL b_dir = NO;     [[NSFileManager defaultManager] fileExistsAtPath:o_filename isDirectory:&b_dir];    if( b_dir )    {        o_mrl_string = [NSString stringWithFormat: @"dir:%@", o_filename];    }    else if( [o_ext isEqualToString: @"bin"] ||        [o_ext isEqualToString: @"cue"] ||        [o_ext isEqualToString: @"vob"] ||        [o_ext isEqualToString: @"iso"] )    {        o_mrl_string = o_filename;    }    else    {        o_mrl_string = [NSString stringWithFormat: @"%s://%@",                        b_stream ? "stream" : "file",                        o_filename];    }    [o_mrl setStringValue: o_mrl_string];}- (IBAction)openFileBrowse:(id)sender{    NSOpenPanel *o_open_panel = [NSOpenPanel openPanel];     [o_open_panel setAllowsMultipleSelection: NO];    [o_open_panel setCanChooseDirectories: YES];    [o_open_panel setTitle: _NS("Open File")];    [o_open_panel setPrompt: _NS("Open")];    [o_open_panel beginSheetForDirectory:nil        file:nil        types:nil        modalForWindow:[sender window]        modalDelegate: self        didEndSelector: @selector(pathChosenInPanel:                        withReturn:                        contextInfo:)        contextInfo: nil];}- (void)pathChosenInPanel: (NSOpenPanel *) sheet withReturn:(int)returnCode contextInfo:(void  *)contextInfo{    if (returnCode == NSFileHandlingPanelOKButton)    {        NSString *o_filename = [[sheet filenames] objectAtIndex: 0];        [o_file_path setStringValue: o_filename];        [self openFilePathChanged: nil];    }}- (IBAction)openFileStreamChanged:(id)sender{    [self openFilePathChanged: nil];}- (IBAction)openDiscTypeChanged:(id)sender{    NSString *o_type;    BOOL b_device, b_no_menus, b_title_chapter;     [o_disc_device removeAllItems];    b_title_chapter = ![o_disc_dvd_menus state];     o_type = [[o_disc_type selectedCell] title];    if ( [o_type isEqualToString: _NS("VIDEO_TS directory")] )    {        b_device = NO; b_no_menus = YES;    }    else    {        NSArray *o_devices;        NSString *o_disc;        const char *psz_class = NULL;        b_device = YES;        if ( [o_type isEqualToString: _NS("VCD")] )        {            psz_class = kIOCDMediaClass;            o_disc = o_type;            b_no_menus = NO; b_title_chapter = YES;		}        else if ( [o_type isEqualToString: _NS("Audio CD")])        {            psz_class = kIOCDMediaClass;            o_disc = o_type;            b_no_menus = NO; b_title_chapter = NO;        }        else        {            psz_class = kIODVDMediaClass;            o_disc = o_type;            b_no_menus = YES;        }         o_devices = GetEjectableMediaOfClass( psz_class );        if ( o_devices != nil )        {            int i_devices = [o_devices count];             if ( i_devices )            {				for( int i = 0; i < i_devices; i++ )                {                    [o_disc_device                        addItemWithObjectValue: [o_devices objectAtIndex: i]];                }                [o_disc_device selectItemAtIndex: 0];            }            else            {                [o_disc_device setStringValue:                    [NSString stringWithFormat: _NS("No %@s found"), o_disc]];            }        }    }    [o_disc_device setEnabled: b_device];    [o_disc_title setEnabled: b_title_chapter];    [o_disc_title_stp setEnabled: b_title_chapter];    [o_disc_chapter setEnabled: b_title_chapter];    [o_disc_chapter_stp setEnabled: b_title_chapter];    [o_disc_videots_folder setEnabled: !b_device];    [o_disc_videots_btn_browse setEnabled: !b_device];    [o_disc_dvd_menus setEnabled: b_no_menus];    [self openDiscInfoChanged: nil];}- (IBAction)openDiscStepperChanged:(id)sender{    int i_tag = [sender tag];    if( i_tag == 0 )    {        [o_disc_title setIntValue: [o_disc_title_stp intValue]];    }    else if( i_tag == 1 )    {        [o_disc_chapter setIntValue: [o_disc_chapter_stp intValue]];    }    [self openDiscInfoChanged: nil];}- (void)openDiscInfoChanged:(NSNotification *)o_notification{    NSString *o_type;    NSString *o_device;    NSString *o_videots;    NSString *o_mrl_string;    int i_title, i_chapter;    BOOL b_no_menus;    o_type = [[o_disc_type selectedCell] title];    o_device = [o_disc_device stringValue];    i_title = [o_disc_title intValue];    i_chapter = [o_disc_chapter intValue];    o_videots = [o_disc_videots_folder stringValue];    b_no_menus = [o_disc_dvd_menus state];    if ( [o_type isEqualToString: _NS("VCD")] )    {        if ( [o_device isEqualToString:                [NSString stringWithFormat: _NS("No %@s found"), o_type]] )            o_device = @"";        o_mrl_string = [NSString stringWithFormat: @"vcd://%@@%i:%i",                        o_device, i_title, i_chapter];    }    else if ( [o_type isEqualToString: _NS("Audio CD")] )    {        if ( [o_device isEqualToString:                [NSString stringWithFormat: _NS("No %@s found"), o_type]] )            o_device = @"";        o_mrl_string = [NSString stringWithFormat: @"cdda://%@",                        o_device];    }    else if ( [o_type isEqualToString: _NS("DVD")] )    {        if ( [o_device isEqualToString:                [NSString stringWithFormat: _NS("No %@s found"), o_type]] )            o_device = @"";        if ( b_no_menus )            o_mrl_string = [NSString stringWithFormat: @"dvdread://%@@%i:%i-",                            o_device, i_title, i_chapter];        else			o_mrl_string = [NSString stringWithFormat: @"dvdnav://%@",                            o_device];                }    else /* VIDEO_TS folder */    {        if ( b_no_menus )            o_mrl_string = [NSString stringWithFormat: @"dvdread://%@@%i:%i",                            o_videots, i_title, i_chapter];        else			o_mrl_string = [NSString stringWithFormat: @"dvdnav://%@",                            o_videots];                }    [o_mrl setStringValue: o_mrl_string];}- (IBAction)openDiscMenusChanged:(id)sender{    [self openDiscInfoChanged: nil];    [self openDiscTypeChanged: nil];}- (IBAction)openVTSBrowse:(id)sender{    NSOpenPanel *o_open_panel = [NSOpenPanel openPanel];    [o_open_panel setAllowsMultipleSelection: NO];    [o_open_panel setCanChooseFiles: NO];    [o_open_panel setCanChooseDirectories: YES];    [o_open_panel setTitle: _NS("Open VIDEO_TS Directory")];    [o_open_panel setPrompt: _NS("Open")];    if( [o_open_panel runModalForDirectory: nil            file: nil types: nil] == NSOKButton )    {        NSString *o_dirname = [[o_open_panel filenames] objectAtIndex: 0];        [o_disc_videots_folder setStringValue: o_dirname];        [self openDiscInfoChanged: nil];    }}- (void)textFieldWasClicked:(NSNotification *)o_notification{    if( [o_notification object] == o_net_udp_port )        [o_net_mode selectCellAtRow: 0 column: 0];    else if( [o_notification object] == o_net_udpm_addr ||             [o_notification object] == o_net_udpm_port )        [o_net_mode selectCellAtRow: 1 column: 0];    else        [o_net_mode selectCellAtRow: 2 column: 0];    [self openNetInfoChanged: nil];}- (IBAction)openNetModeChanged:(id)sender{    if( [[sender selectedCell] tag] == 0 )        [o_panel makeFirstResponder: o_net_udp_port];    else if ( [[sender selectedCell] tag] == 1 )        [o_panel makeFirstResponder: o_net_udpm_addr];    else        [o_panel makeFirstResponder: o_net_http_url];    [self openNetInfoChanged: nil];}- (IBAction)openNetStepperChanged:(id)sender{

⌨️ 快捷键说明

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