Commit 621be0e2 authored by Felix Paul Kühne's avatar Felix Paul Kühne

macosx: backport [b20a12f3], updated news

parent 4d0438ba
...@@ -5,8 +5,16 @@ Decoders: ...@@ -5,8 +5,16 @@ Decoders:
* Fix issues in subtitles, especially SSA ones * Fix issues in subtitles, especially SSA ones
* Various fixes on theora and ogg * Various fixes on theora and ogg
Mac OS: Mac OS X Interface:
* Fix a crash when updating VLC * Fixed a crash when updating VLC
* Added the ability to play 2nd media in sync to the primary item (input-slave)
* Added the "Quit after Playback" feature
Mac OS X Port:
* Full 64bit runtime compatibility on both Mac OS X 10.5 and 10.6
- no support for Goom and SDL
- limited text rendering support
- This port is still considered as EXPERIMENTAL despite its binary release.
Changes between 1.0.0 and 1.0.1: Changes between 1.0.0 and 1.0.1:
......
{ <?xml version="1.0" encoding="UTF-8"?>
IBClasses = ( <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
{ <plist version="1.0">
CLASS = FirstResponder; <dict>
LANGUAGE = ObjC; <key>IBClasses</key>
SUPERCLASS = NSObject; <array>
}, <dict>
{ <key>ACTIONS</key>
CLASS = NSApplication; <dict>
LANGUAGE = ObjC; <key>expandMRLfieldAction</key>
SUPERCLASS = NSResponder; <string>id</string>
}, <key>eyetvGetPlugin</key>
{ <string>id</string>
CLASS = NSObject; <key>eyetvLaunch</key>
LANGUAGE = ObjC; <string>id</string>
}, <key>eyetvSwitchChannel</key>
{ <string>id</string>
ACTIONS = { <key>inputSlaveAction</key>
expandMRLfieldAction = id; <string>id</string>
eyetvGetPlugin = id; <key>openCaptureModeChanged</key>
eyetvLaunch = id; <string>id</string>
eyetvSwitchChannel = id; <key>openDisc</key>
openCaptureModeChanged = id; <string>id</string>
openDisc = id; <key>openDiscMenusChanged</key>
openDiscMenusChanged = id; <string>id</string>
openDiscStepperChanged = id; <key>openDiscStepperChanged</key>
openDiscTypeChanged = id; <string>id</string>
openFile = id; <key>openDiscTypeChanged</key>
openFileBrowse = id; <string>id</string>
openFileGeneric = id; <key>openFile</key>
openFileStreamChanged = id; <string>id</string>
openNet = id; <key>openFileBrowse</key>
openNetModeChanged = id; <string>id</string>
openNetStepperChanged = id; <key>openFileGeneric</key>
openNetUDPButtonAction = id; <string>id</string>
openVTSBrowse = id; <key>openFileStreamChanged</key>
panelCancel = id; <string>id</string>
panelOk = id; <key>openNet</key>
screenStepperChanged = id; <string>id</string>
subCloseSheet = id; <key>openNetModeChanged</key>
subDelayStepperChanged = id; <string>id</string>
subFileBrowse = id; <key>openNetStepperChanged</key>
subFpsStepperChanged = id; <string>id</string>
subOverride = id; <key>openNetUDPButtonAction</key>
subSettings = id; <string>id</string>
subsChanged = id; <key>openVTSBrowse</key>
}; <string>id</string>
CLASS = VLCOpen; <key>panelCancel</key>
LANGUAGE = ObjC; <string>id</string>
OUTLETS = { <key>panelOk</key>
"o_btn_cancel" = id; <string>id</string>
"o_btn_ok" = id; <key>screenStepperChanged</key>
"o_capture_label_view" = id; <string>id</string>
"o_capture_lbl" = id; <key>subCloseSheet</key>
"o_capture_long_lbl" = id; <string>id</string>
"o_capture_mode_pop" = id; <key>subDelayStepperChanged</key>
"o_currentCaptureView" = id; <string>id</string>
"o_disc_chapter" = id; <key>subFileBrowse</key>
"o_disc_chapter_lbl" = id; <string>id</string>
"o_disc_chapter_stp" = id; <key>subFpsStepperChanged</key>
"o_disc_device" = id; <string>id</string>
"o_disc_device_lbl" = id; <key>subOverride</key>
"o_disc_dvd_menus" = id; <string>id</string>
"o_disc_title" = id; <key>subSettings</key>
"o_disc_title_lbl" = id; <string>id</string>
"o_disc_title_stp" = id; <key>subsChanged</key>
"o_disc_type" = id; <string>id</string>
"o_disc_videots_btn_browse" = id; </dict>
"o_disc_videots_folder" = id; <key>CLASS</key>
"o_eyetv_channels_pop" = id; <string>VLCOpen</string>
"o_eyetv_chn_bgbar" = id; <key>LANGUAGE</key>
"o_eyetv_chn_status_txt" = id; <string>ObjC</string>
"o_eyetv_currentChannel_lbl" = id; <key>OUTLETS</key>
"o_eyetv_getPlugin_btn" = id; <dict>
"o_eyetv_launchEyeTV_btn" = id; <key>o_btn_cancel</key>
"o_eyetv_nextProgram_btn" = id; <string>id</string>
"o_eyetv_noInstanceLong_lbl" = id; <key>o_btn_ok</key>
"o_eyetv_noInstance_lbl" = id; <string>id</string>
"o_eyetv_notLaunched_view" = id; <key>o_capture_label_view</key>
"o_eyetv_previousProgram_btn" = id; <string>id</string>
"o_eyetv_running_view" = id; <key>o_capture_lbl</key>
"o_file_btn_browse" = id; <string>id</string>
"o_file_path" = id; <key>o_capture_long_lbl</key>
"o_file_stream" = id; <string>id</string>
"o_file_sub_align_lbl" = id; <key>o_capture_mode_pop</key>
"o_file_sub_align_pop" = id; <string>id</string>
"o_file_sub_btn_browse" = id; <key>o_currentCaptureView</key>
"o_file_sub_btn_settings" = id; <string>id</string>
"o_file_sub_ckbox" = id; <key>o_disc_chapter</key>
"o_file_sub_delay" = id; <string>id</string>
"o_file_sub_delay_lbl" = id; <key>o_disc_chapter_lbl</key>
"o_file_sub_delay_stp" = id; <string>id</string>
"o_file_sub_encoding_lbl" = id; <key>o_disc_chapter_stp</key>
"o_file_sub_encoding_pop" = id; <string>id</string>
"o_file_sub_file_box" = id; <key>o_disc_device</key>
"o_file_sub_font_box" = id; <string>id</string>
"o_file_sub_fps" = id; <key>o_disc_device_lbl</key>
"o_file_sub_fps_lbl" = id; <string>id</string>
"o_file_sub_fps_stp" = id; <key>o_disc_dvd_menus</key>
"o_file_sub_ok_btn" = id; <string>id</string>
"o_file_sub_override" = id; <key>o_disc_title</key>
"o_file_sub_path" = id; <string>id</string>
"o_file_sub_sheet" = id; <key>o_disc_title_lbl</key>
"o_file_sub_size_lbl" = id; <string>id</string>
"o_file_sub_size_pop" = id; <key>o_disc_title_stp</key>
"o_mrl" = id; <string>id</string>
"o_mrl_btn" = id; <key>o_disc_type</key>
"o_mrl_lbl" = id; <string>id</string>
"o_mrl_view" = id; <key>o_disc_videots_btn_browse</key>
"o_net_help_lbl" = id; <string>id</string>
"o_net_help_udp_lbl" = id; <key>o_disc_videots_folder</key>
"o_net_http_url" = id; <string>id</string>
"o_net_http_url_lbl" = id; <key>o_eyetv_channels_pop</key>
"o_net_mode" = id; <string>id</string>
"o_net_openUDP_btn" = id; <key>o_eyetv_chn_bgbar</key>
"o_net_udp_address_lbl" = id; <string>id</string>
"o_net_udp_cancel_btn" = id; <key>o_eyetv_chn_status_txt</key>
"o_net_udp_mode_lbl" = id; <string>id</string>
"o_net_udp_ok_btn" = id; <key>o_eyetv_currentChannel_lbl</key>
"o_net_udp_panel" = id; <string>id</string>
"o_net_udp_port" = id; <key>o_eyetv_getPlugin_btn</key>
"o_net_udp_port_lbl" = id; <string>id</string>
"o_net_udp_port_stp" = id; <key>o_eyetv_launchEyeTV_btn</key>
"o_net_udp_protocol_lbl" = id; <string>id</string>
"o_net_udp_protocol_mat" = id; <key>o_eyetv_nextProgram_btn</key>
"o_net_udpm_addr" = id; <string>id</string>
"o_net_udpm_addr_lbl" = id; <key>o_eyetv_noInstanceLong_lbl</key>
"o_net_udpm_port" = id; <string>id</string>
"o_net_udpm_port_lbl" = id; <key>o_eyetv_noInstance_lbl</key>
"o_net_udpm_port_stp" = id; <string>id</string>
"o_output_ckbox" = id; <key>o_eyetv_notLaunched_view</key>
"o_panel" = id; <string>id</string>
"o_playlist" = id; <key>o_eyetv_previousProgram_btn</key>
"o_screen_follow_mouse_ckb" = id; <string>id</string>
"o_screen_fps_fld" = id; <key>o_eyetv_running_view</key>
"o_screen_fps_lbl" = id; <string>id</string>
"o_screen_fps_stp" = id; <key>o_file_btn_browse</key>
"o_screen_height_fld" = id; <string>id</string>
"o_screen_height_lbl" = id; <key>o_file_path</key>
"o_screen_height_stp" = id; <string>id</string>
"o_screen_lbl" = id; <key>o_file_slave_ckbox</key>
"o_screen_left_fld" = id; <string>id</string>
"o_screen_left_lbl" = id; <key>o_file_slave_filename_txt</key>
"o_screen_left_stp" = id; <string>id</string>
"o_screen_long_lbl" = id; <key>o_file_slave_select_btn</key>
"o_screen_top_fld" = id; <string>id</string>
"o_screen_top_lbl" = id; <key>o_file_stream</key>
"o_screen_top_stp" = id; <string>id</string>
"o_screen_view" = id; <key>o_file_sub_align_lbl</key>
"o_screen_width_fld" = id; <string>id</string>
"o_screen_width_lbl" = id; <key>o_file_sub_align_pop</key>
"o_screen_width_stp" = id; <string>id</string>
"o_sout_options" = id; <key>o_file_sub_btn_browse</key>
"o_tabview" = id; <string>id</string>
}; <key>o_file_sub_btn_settings</key>
SUPERCLASS = NSObject; <string>id</string>
}, <key>o_file_sub_ckbox</key>
{ <string>id</string>
CLASS = VLCOpenTextField; <key>o_file_sub_delay</key>
LANGUAGE = ObjC; <string>id</string>
SUPERCLASS = NSTextField; <key>o_file_sub_delay_lbl</key>
}, <string>id</string>
{ <key>o_file_sub_delay_stp</key>
ACTIONS = { <string>id</string>
announceChanged = id; <key>o_file_sub_encoding_lbl</key>
outputChanged = id; <string>id</string>
outputCloseSheet = id; <key>o_file_sub_encoding_pop</key>
outputFileBrowse = id; <string>id</string>
outputInfoChanged = id; <key>o_file_sub_file_box</key>
outputMethodChanged = id; <string>id</string>
outputSettings = id; <key>o_file_sub_font_box</key>
streamPortStepperChanged = id; <string>id</string>
streamTTLStepperChanged = id; <key>o_file_sub_fps</key>
transcodeChanged = id; <string>id</string>
transcodeInfoChanged = id; <key>o_file_sub_fps_lbl</key>
}; <string>id</string>
CLASS = VLCOutput; <key>o_file_sub_fps_stp</key>
LANGUAGE = ObjC; <string>id</string>
OUTLETS = { <key>o_file_sub_ok_btn</key>
"o_btn_browse" = id; <string>id</string>
"o_btn_ok" = id; <key>o_file_sub_override</key>
"o_channel_name" = id; <string>id</string>
"o_channel_name_lbl" = id; <key>o_file_sub_path</key>
"o_display" = id; <string>id</string>
"o_dump_chkbox" = id; <key>o_file_sub_sheet</key>
"o_file_chkbox" = id; <string>id</string>
"o_file_field" = id; <key>o_file_sub_size_lbl</key>
"o_http_chkbox" = id; <string>id</string>
"o_method" = id; <key>o_file_sub_size_pop</key>
"o_misc_lbl" = id; <string>id</string>
"o_mux_lbl" = id; <key>o_mrl</key>
"o_mux_selector" = id; <string>id</string>
"o_open_panel" = id; <key>o_mrl_btn</key>
"o_options_lbl" = id; <string>id</string>
"o_output_ckbox" = id; <key>o_mrl_lbl</key>
"o_output_settings" = id; <string>id</string>
"o_output_sheet" = id; <key>o_mrl_view</key>
"o_rtsp_chkbox" = id; <string>id</string>
"o_sap_chkbox" = id; <key>o_net_help_lbl</key>
"o_sdp_url" = id; <string>id</string>
"o_sdp_url_lbl" = id; <key>o_net_help_udp_lbl</key>
"o_stream_address" = id; <string>id</string>
"o_stream_address_lbl" = id; <key>o_net_http_url</key>
"o_stream_port" = id; <string>id</string>
"o_stream_port_lbl" = id; <key>o_net_http_url_lbl</key>
"o_stream_port_stp" = id; <string>id</string>
"o_stream_ttl" = id; <key>o_net_mode</key>
"o_stream_ttl_lbl" = id; <string>id</string>
"o_stream_ttl_stp" = id; <key>o_net_openUDP_btn</key>
"o_stream_type" = id; <string>id</string>
"o_stream_type_lbl" = id; <key>o_net_udp_address_lbl</key>
"o_transcode_audio_bitrate" = id; <string>id</string>
"o_transcode_audio_bitrate_lbl" = id; <key>o_net_udp_cancel_btn</key>
"o_transcode_audio_channels" = id; <string>id</string>
"o_transcode_audio_channels_lbl" = id; <key>o_net_udp_mode_lbl</key>
"o_transcode_audio_chkbox" = id; <string>id</string>
"o_transcode_audio_selector" = id; <key>o_net_udp_ok_btn</key>
"o_transcode_lbl" = id; <string>id</string>
"o_transcode_video_bitrate" = id; <key>o_net_udp_panel</key>
"o_transcode_video_bitrate_lbl" = id; <string>id</string>
"o_transcode_video_chkbox" = id; <key>o_net_udp_port</key>
"o_transcode_video_scale" = id; <string>id</string>
"o_transcode_video_scale_lbl" = id; <key>o_net_udp_port_lbl</key>
"o_transcode_video_selector" = id; <string>id</string>
}; <key>o_net_udp_port_stp</key>
SUPERCLASS = NSObject; <string>id</string>
}, <key>o_net_udp_protocol_lbl</key>
{ <string>id</string>
ACTIONS = { <key>o_net_udp_protocol_mat</key>
addNode = id; <string>id</string>
deleteItem = id; <key>o_net_udpm_addr</key>
downloadCoverArt = id; <string>id</string>
playItem = id; <key>o_net_udpm_addr_lbl</key>
preparseItem = id; <string>id</string>
recursiveExpandNode = id; <key>o_net_udpm_port</key>
revealItemInFinder = id; <string>id</string>
savePlaylist = id; <key>o_net_udpm_port_lbl</key>
searchItem = id; <string>id</string>
selectAll = id; <key>o_net_udpm_port_stp</key>
servicesChange = id; <string>id</string>
sortNodeByAuthor = id; <key>o_output_ckbox</key>
sortNodeByName = id; <string>id</string>
}; <key>o_panel</key>
CLASS = VLCPlaylist; <string>id</string>
LANGUAGE = ObjC; <key>o_playlist</key>
OUTLETS = { <string>id</string>
"o_btn_addNode" = id; <key>o_screen_follow_mouse_ckb</key>
"o_btn_playlist" = id; <string>id</string>
"o_controller" = id; <key>o_screen_fps_fld</key>
"o_ctx_menu" = id; <string>id</string>
"o_mi_addNode" = id; <key>o_screen_fps_lbl</key>
"o_mi_delete" = id; <string>id</string>
"o_mi_dl_cover_art" = id; <key>o_screen_fps_stp</key>
"o_mi_info" = id; <string>id</string>
"o_mi_play" = id; <key>o_screen_height_fld</key>
"o_mi_preparse" = id; <string>id</string>
"o_mi_recursive_expand" = id; <key>o_screen_height_lbl</key>
"o_mi_revealInFinder" = id; <string>id</string>
"o_mi_save_playlist" = id; <key>o_screen_height_stp</key>
"o_mi_selectall" = id; <string>id</string>
"o_mi_services" = id; <key>o_screen_lbl</key>
"o_mi_sort_author" = id; <string>id</string>
"o_mi_sort_name" = id; <key>o_screen_left_fld</key>
"o_mm_mi_revealInFinder" = id; <string>id</string>
"o_mm_mi_services" = id; <key>o_screen_left_lbl</key>
"o_mm_mu_services" = id; <string>id</string>
"o_mu_services" = id; <key>o_screen_left_stp</key>
"o_playlist_view" = id; <string>id</string>
"o_playlist_wizard" = id; <key>o_screen_long_lbl</key>
"o_save_accessory_popup" = id; <string>id</string>
"o_save_accessory_text" = id; <key>o_screen_top_fld</key>
"o_save_accessory_view" = id; <string>id</string>
"o_search_field" = id; <key>o_screen_top_lbl</key>
"o_status_field" = id; <string>id</string>
"o_tc_sortColumn" = id; <key>o_screen_top_stp</key>
}; <string>id</string>
SUPERCLASS = VLCPlaylistCommon; <key>o_screen_view</key>
}, <string>id</string>
{ <key>o_screen_width_fld</key>
CLASS = VLCPlaylistCommon; <string>id</string>
LANGUAGE = ObjC; <key>o_screen_width_lbl</key>
OUTLETS = { <string>id</string>
"o_outline_view" = id; <key>o_screen_width_stp</key>
"o_tc_author" = id; <string>id</string>
"o_tc_duration" = id; <key>o_sout_options</key>
"o_tc_name" = id; <string>id</string>
}; <key>o_tabview</key>
SUPERCLASS = NSObject; <string>id</string>
} </dict>
); <key>SUPERCLASS</key>
IBVersion = 1; <string>NSObject</string>
} </dict>
\ No newline at end of file <dict>
<key>CLASS</key>
<string>VLCPlaylistCommon</string>
<key>LANGUAGE</key>
<string>ObjC</string>
<key>OUTLETS</key>
<dict>
<key>o_outline_view</key>
<string>id</string>
<key>o_tc_author</key>
<string>id</string>
<key>o_tc_duration</key>
<string>id</string>
<key>o_tc_name</key>
<string>id</string>
</dict>
<key>SUPERCLASS</key>
<string>NSObject</string>
</dict>
<dict>
<key>CLASS</key>
<string>VLCOpenTextField</string>
<key>LANGUAGE</key>
<string>ObjC</string>
<key>SUPERCLASS</key>
<string>NSTextField</string>
</dict>
<dict>
<key>CLASS</key>
<string>NSApplication</string>
<key>LANGUAGE</key>
<string>ObjC</string>
<key>SUPERCLASS</key>
<string>NSResponder</string>
</dict>
<dict>
<key>ACTIONS</key>
<dict>
<key>announceChanged</key>
<string>id</string>
<key>outputChanged</key>
<string>id</string>
<key>outputCloseSheet</key>
<string>id</string>
<key>outputFileBrowse</key>
<string>id</string>
<key>outputInfoChanged</key>
<string>id</string>
<key>outputMethodChanged</key>
<string>id</string>
<key>outputSettings</key>
<string>id</string>
<key>streamPortStepperChanged</key>
<string>id</string>
<key>streamTTLStepperChanged</key>
<string>id</string>
<key>transcodeChanged</key>
<string>id</string>
<key>transcodeInfoChanged</key>
<string>id</string>
</dict>
<key>CLASS</key>
<string>VLCOutput</string>
<key>LANGUAGE</key>
<string>ObjC</string>
<key>OUTLETS</key>
<dict>
<key>o_btn_browse</key>
<string>id</string>
<key>o_btn_ok</key>
<string>id</string>
<key>o_channel_name</key>
<string>id</string>
<key>o_channel_name_lbl</key>
<string>id</string>
<key>o_display</key>
<string>id</string>
<key>o_dump_chkbox</key>
<string>id</string>
<key>o_file_chkbox</key>
<string>id</string>
<key>o_file_field</key>
<string>id</string>
<key>o_http_chkbox</key>
<string>id</string>
<key>o_method</key>
<string>id</string>
<key>o_misc_lbl</key>
<string>id</string>
<key>o_mux_lbl</key>
<string>id</string>
<key>o_mux_selector</key>
<string>id</string>
<key>o_open_panel</key>
<string>id</string>
<key>o_options_lbl</key>
<string>id</string>
<key>o_output_ckbox</key>
<string>id</string>
<key>o_output_settings</key>
<string>id</string>
<key>o_output_sheet</key>
<string>id</string>
<key>o_rtsp_chkbox</key>
<string>id</string>
<key>o_sap_chkbox</key>
<string>id</string>
<key>o_sdp_url</key>
<string>id</string>
<key>o_sdp_url_lbl</key>
<string>id</string>
<key>o_stream_address</key>
<string>id</string>
<key>o_stream_address_lbl</key>
<string>id</string>
<key>o_stream_port</key>
<string>id</string>
<key>o_stream_port_lbl</key>
<string>id</string>
<key>o_stream_port_stp</key>
<string>id</string>
<key>o_stream_ttl</key>
<string>id</string>
<key>o_stream_ttl_lbl</key>
<string>id</string>
<key>o_stream_ttl_stp</key>
<string>id</string>
<key>o_stream_type</key>
<string>id</string>
<key>o_stream_type_lbl</key>
<string>id</string>
<key>o_transcode_audio_bitrate</key>
<string>id</string>
<key>o_transcode_audio_bitrate_lbl</key>
<string>id</string>
<key>o_transcode_audio_channels</key>
<string>id</string>
<key>o_transcode_audio_channels_lbl</key>
<string>id</string>
<key>o_transcode_audio_chkbox</key>
<string>id</string>
<key>o_transcode_audio_selector</key>
<string>id</string>
<key>o_transcode_lbl</key>
<string>id</string>
<key>o_transcode_video_bitrate</key>
<string>id</string>
<key>o_transcode_video_bitrate_lbl</key>
<string>id</string>
<key>o_transcode_video_chkbox</key>
<string>id</string>
<key>o_transcode_video_scale</key>
<string>id</string>
<key>o_transcode_video_scale_lbl</key>
<string>id</string>
<key>o_transcode_video_selector</key>
<string>id</string>
</dict>
<key>SUPERCLASS</key>
<string>NSObject</string>
</dict>
<dict>
<key>CLASS</key>
<string>FirstResponder</string>
<key>LANGUAGE</key>
<string>ObjC</string>
<key>SUPERCLASS</key>
<string>NSObject</string>
</dict>
<dict>
<key>CLASS</key>
<string>NSObject</string>
<key>LANGUAGE</key>
<string>ObjC</string>
</dict>
<dict>
<key>ACTIONS</key>
<dict>
<key>addNode</key>
<string>id</string>
<key>deleteItem</key>
<string>id</string>
<key>downloadCoverArt</key>
<string>id</string>
<key>playItem</key>
<string>id</string>
<key>preparseItem</key>
<string>id</string>
<key>recursiveExpandNode</key>
<string>id</string>
<key>revealItemInFinder</key>
<string>id</string>
<key>savePlaylist</key>
<string>id</string>
<key>searchItem</key>
<string>id</string>
<key>selectAll</key>
<string>id</string>
<key>servicesChange</key>
<string>id</string>
<key>sortNodeByAuthor</key>
<string>id</string>
<key>sortNodeByName</key>
<string>id</string>
</dict>
<key>CLASS</key>
<string>VLCPlaylist</string>
<key>LANGUAGE</key>
<string>ObjC</string>
<key>OUTLETS</key>
<dict>
<key>o_btn_addNode</key>
<string>id</string>
<key>o_btn_playlist</key>
<string>id</string>
<key>o_controller</key>
<string>id</string>
<key>o_ctx_menu</key>
<string>id</string>
<key>o_mi_addNode</key>
<string>id</string>
<key>o_mi_delete</key>
<string>id</string>
<key>o_mi_dl_cover_art</key>
<string>id</string>
<key>o_mi_info</key>
<string>id</string>
<key>o_mi_play</key>
<string>id</string>
<key>o_mi_preparse</key>
<string>id</string>
<key>o_mi_recursive_expand</key>
<string>id</string>
<key>o_mi_revealInFinder</key>
<string>id</string>
<key>o_mi_save_playlist</key>
<string>id</string>
<key>o_mi_selectall</key>
<string>id</string>
<key>o_mi_services</key>
<string>id</string>
<key>o_mi_sort_author</key>
<string>id</string>
<key>o_mi_sort_name</key>
<string>id</string>
<key>o_mm_mi_revealInFinder</key>
<string>id</string>
<key>o_mm_mi_services</key>
<string>id</string>
<key>o_mm_mu_services</key>
<string>id</string>
<key>o_mu_services</key>
<string>id</string>
<key>o_playlist_view</key>
<string>id</string>
<key>o_playlist_wizard</key>
<string>id</string>
<key>o_save_accessory_popup</key>
<string>id</string>
<key>o_save_accessory_text</key>
<string>id</string>
<key>o_save_accessory_view</key>
<string>id</string>
<key>o_search_field</key>
<string>id</string>
<key>o_status_field</key>
<string>id</string>
<key>o_tc_sortColumn</key>
<string>id</string>
</dict>
<key>SUPERCLASS</key>
<string>VLCPlaylistCommon</string>
</dict>
</array>
<key>IBVersion</key>
<string>1</string>
</dict>
</plist>
...@@ -2,31 +2,22 @@ ...@@ -2,31 +2,22 @@
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0"> <plist version="1.0">
<dict> <dict>
<key>IBDocumentLocation</key>
<string>129 203 356 240 0 0 1280 778 </string>
<key>IBEditorPositions</key>
<dict>
<key>2297</key>
<string>366 401 548 264 0 0 1280 778 </string>
<key>2346</key>
<string>366 401 548 264 0 0 1280 778 </string>
<key>2837</key>
<string>353 528 573 94 0 0 1280 778 </string>
</dict>
<key>IBFramework Version</key> <key>IBFramework Version</key>
<string>489.0</string> <string>677</string>
<key>IBLastKnownRelativeProjectPath</key>
<string>../../vlc.xcodeproj</string>
<key>IBOldestOS</key> <key>IBOldestOS</key>
<integer>5</integer> <integer>5</integer>
<key>IBOpenObjects</key> <key>IBOpenObjects</key>
<array> <array>
<integer>2792</integer>
<integer>636</integer>
<integer>2297</integer>
<integer>2837</integer> <integer>2837</integer>
<integer>636</integer>
<integer>2346</integer> <integer>2346</integer>
<integer>2297</integer>
<integer>2792</integer>
</array> </array>
<key>IBSystem Version</key> <key>IBSystem Version</key>
<string>9G55</string> <string>9L30</string>
<key>targetFramework</key> <key>targetFramework</key>
<string>IBCocoaFramework</string> <string>IBCocoaFramework</string>
</dict> </dict>
......
...@@ -44,6 +44,7 @@ NSArray *GetEjectableMediaOfClass( const char *psz_class ); ...@@ -44,6 +44,7 @@ NSArray *GetEjectableMediaOfClass( const char *psz_class );
IBOutlet id o_btn_ok; IBOutlet id o_btn_ok;
IBOutlet id o_btn_cancel; IBOutlet id o_btn_cancel;
/* bottom-line items */
IBOutlet id o_output_ckbox; IBOutlet id o_output_ckbox;
IBOutlet id o_sout_options; IBOutlet id o_sout_options;
...@@ -51,6 +52,9 @@ NSArray *GetEjectableMediaOfClass( const char *psz_class ); ...@@ -51,6 +52,9 @@ NSArray *GetEjectableMediaOfClass( const char *psz_class );
IBOutlet id o_file_path; IBOutlet id o_file_path;
IBOutlet id o_file_btn_browse; IBOutlet id o_file_btn_browse;
IBOutlet id o_file_stream; IBOutlet id o_file_stream;
IBOutlet id o_file_slave_ckbox;
IBOutlet id o_file_slave_select_btn;
IBOutlet id o_file_slave_filename_txt;
/* open disc */ /* open disc */
IBOutlet id o_disc_type; IBOutlet id o_disc_type;
...@@ -157,6 +161,7 @@ NSArray *GetEjectableMediaOfClass( const char *psz_class ); ...@@ -157,6 +161,7 @@ NSArray *GetEjectableMediaOfClass( const char *psz_class );
BOOL b_autoplay; BOOL b_autoplay;
id o_currentCaptureView; id o_currentCaptureView;
NSString *o_file_slave_path;
intf_thread_t * p_intf; intf_thread_t * p_intf;
} }
...@@ -167,6 +172,7 @@ NSArray *GetEjectableMediaOfClass( const char *psz_class ); ...@@ -167,6 +172,7 @@ NSArray *GetEjectableMediaOfClass( const char *psz_class );
- (void)tabView:(NSTabView *)o_tv didSelectTabViewItem:(NSTabViewItem *)o_tvi; - (void)tabView:(NSTabView *)o_tv didSelectTabViewItem:(NSTabViewItem *)o_tvi;
- (void)textFieldWasClicked:(NSNotification *)o_notification; - (void)textFieldWasClicked:(NSNotification *)o_notification;
- (IBAction)expandMRLfieldAction:(id)sender; - (IBAction)expandMRLfieldAction:(id)sender;
- (IBAction)inputSlaveAction:(id)sender;
- (void)openFileGeneric; - (void)openFileGeneric;
- (void)openFilePathChanged:(NSNotification *)o_notification; - (void)openFilePathChanged:(NSNotification *)o_notification;
......
...@@ -160,6 +160,13 @@ static VLCOpen *_o_sharedMainInstance = nil; ...@@ -160,6 +160,13 @@ static VLCOpen *_o_sharedMainInstance = nil;
return _o_sharedMainInstance; return _o_sharedMainInstance;
} }
- (void)dealloc
{
if( o_file_slave_path )
[o_file_slave_path release];
[super dealloc];
}
- (void)awakeFromNib - (void)awakeFromNib
{ {
[o_panel setTitle: _NS("Open Source")]; [o_panel setTitle: _NS("Open Source")];
...@@ -175,6 +182,9 @@ static VLCOpen *_o_sharedMainInstance = nil; ...@@ -175,6 +182,9 @@ static VLCOpen *_o_sharedMainInstance = nil;
[o_file_btn_browse setTitle: _NS("Browse...")]; [o_file_btn_browse setTitle: _NS("Browse...")];
[o_file_stream setTitle: _NS("Treat as a pipe rather than as a file")]; [o_file_stream setTitle: _NS("Treat as a pipe rather than as a file")];
[o_file_slave_ckbox setTitle: _NS("Play another media synchronously")];
[o_file_slave_select_btn setTitle: _NS("Choose...")];
[o_file_slave_filename_txt setStringValue: @""];
[o_disc_device_lbl setStringValue: _NS("Device name")]; [o_disc_device_lbl setStringValue: _NS("Device name")];
[o_disc_title_lbl setStringValue: _NS("Title")]; [o_disc_title_lbl setStringValue: _NS("Title")];
...@@ -409,6 +419,8 @@ static VLCOpen *_o_sharedMainInstance = nil; ...@@ -409,6 +419,8 @@ static VLCOpen *_o_sharedMainInstance = nil;
[[(VLCOutput *)o_sout_options mrl] objectAtIndex: i]]]; [[(VLCOutput *)o_sout_options mrl] objectAtIndex: i]]];
} }
} }
if( [o_file_slave_ckbox state] && o_file_slave_path )
[o_options addObject: [NSString stringWithFormat: @"input-slave=%@", o_file_slave_path]];
if( [[[o_tabview selectedTabViewItem] label] isEqualToString: _NS("Capture")] ) if( [[[o_tabview selectedTabViewItem] label] isEqualToString: _NS("Capture")] )
{ {
if( [[[o_capture_mode_pop selectedItem] title] isEqualToString: _NS("Screen")] ) if( [[[o_capture_mode_pop selectedItem] title] isEqualToString: _NS("Screen")] )
...@@ -486,6 +498,35 @@ static VLCOpen *_o_sharedMainInstance = nil; ...@@ -486,6 +498,35 @@ static VLCOpen *_o_sharedMainInstance = nil;
[o_panel displayIfNeeded]; [o_panel displayIfNeeded];
} }
- (IBAction)inputSlaveAction:(id)sender
{
if( sender == o_file_slave_ckbox )
[o_file_slave_select_btn setEnabled: [o_file_slave_ckbox state]];
else
{
NSOpenPanel *o_open_panel;
o_open_panel = [NSOpenPanel openPanel];
[o_open_panel setCanChooseFiles: YES];
[o_open_panel setCanChooseDirectories: NO];
if( [o_open_panel runModalForDirectory: nil file: nil types: nil] == NSOKButton )
{
if( o_file_slave_path )
[o_file_slave_path release];
o_file_slave_path = [[o_open_panel filenames] objectAtIndex: 0];
[o_file_slave_path retain];
}
else
[o_file_slave_filename_txt setStringValue: @""];
}
if( o_file_slave_path )
{
NSFileWrapper *o_file_wrapper;
o_file_wrapper = [[NSFileWrapper alloc] initWithPath: o_file_slave_path];
[o_file_slave_filename_txt setStringValue: [NSString stringWithFormat: @"\"%@\"", [o_file_wrapper preferredFilename]]];
[o_file_wrapper release];
}
}
- (void)openFileGeneric - (void)openFileGeneric
{ {
[self openFilePathChanged: nil]; [self openFilePathChanged: nil];
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment