diff --git a/extras/package/macosx/Resources/English.lproj/MainMenu.xib b/extras/package/macosx/Resources/English.lproj/MainMenu.xib
index 33f9ba746b..298deb590d 100644
--- a/extras/package/macosx/Resources/English.lproj/MainMenu.xib
+++ b/extras/package/macosx/Resources/English.lproj/MainMenu.xib
@@ -21,10 +21,10 @@
+
5408
+
+
+
+ toggleAtoBloop:
+
+
+
+ 5411
+
@@ -10597,6 +10622,7 @@ LCAuLi4
+
@@ -11113,6 +11139,11 @@ LCAuLi4
+
+ 5409
+
+
+
@@ -11927,6 +11958,7 @@ LCAuLi4
5335.IBPluginDependency
5335.IBViewBoundsToFrameTransform
5339.IBPluginDependency
+ 5409.IBPluginDependency
56.IBPluginDependency
56.ImportedFromIB2
57.IBEditorWindowLastContentRect
@@ -11988,7 +12020,7 @@ LCAuLi4
com.apple.InterfaceBuilder.CocoaPlugin
- {{771, 542}, {197, 173}}
+ {{743, 801}, {197, 173}}
com.apple.InterfaceBuilder.CocoaPlugin
com.apple.InterfaceBuilder.CocoaPlugin
@@ -12013,7 +12045,7 @@ LCAuLi4
com.apple.InterfaceBuilder.CocoaPlugin
- {{957, 552}, {251, 163}}
+ {{929, 811}, {251, 163}}
com.apple.InterfaceBuilder.CocoaPlugin
com.apple.InterfaceBuilder.CocoaPlugin
@@ -12122,7 +12154,7 @@ LCAuLi4
com.apple.InterfaceBuilder.CocoaPlugin
- {{600, 612}, {137, 103}}
+ {{572, 871}, {137, 103}}
com.apple.InterfaceBuilder.CocoaPlugin
{{528, 635}, {604, 310}}
@@ -12178,7 +12210,7 @@ LCAuLi4
com.apple.InterfaceBuilder.CocoaPlugin
- {{886, 432}, {243, 283}}
+ {{858, 691}, {243, 283}}
com.apple.InterfaceBuilder.CocoaPlugin
com.apple.InterfaceBuilder.CocoaPlugin
@@ -12730,7 +12762,7 @@ LCAuLi4
com.apple.InterfaceBuilder.CocoaPlugin
com.apple.InterfaceBuilder.CocoaPlugin
- {{644, 352}, {222, 363}}
+ {{666, 591}, {222, 383}}
com.apple.InterfaceBuilder.CocoaPlugin
com.apple.InterfaceBuilder.CocoaPlugin
@@ -12785,7 +12817,7 @@ LCAuLi4
com.apple.InterfaceBuilder.CocoaPlugin
com.apple.InterfaceBuilder.CocoaPlugin
- {{594, 642}, {260, 73}}
+ {{616, 901}, {260, 73}}
com.apple.InterfaceBuilder.CocoaPlugin
com.apple.InterfaceBuilder.CocoaPlugin
com.apple.InterfaceBuilder.CocoaPlugin
@@ -12898,6 +12930,7 @@ LCAuLi4
com.apple.InterfaceBuilder.CocoaPlugin
com.apple.InterfaceBuilder.CocoaPlugin
+ com.apple.InterfaceBuilder.CocoaPlugin
{{329, 186}, {267, 263}}
com.apple.InterfaceBuilder.CocoaPlugin
@@ -12910,7 +12943,7 @@ LCAuLi4
com.apple.InterfaceBuilder.CocoaPlugin
- {{558, 472}, {297, 243}}
+ {{530, 731}, {297, 243}}
com.apple.InterfaceBuilder.CocoaPlugin
com.apple.InterfaceBuilder.CocoaPlugin
@@ -12954,7 +12987,7 @@ LCAuLi4
- 5408
+ 5411
@@ -16002,6 +16035,1320 @@ LCAuLi4
+
+ YES
+
+ VLCMainMenu
+ NSObject
+
+ YES
+
+ YES
+ createVideoSnapshot:
+ floatOnTop:
+ intfOpenCapture:
+ intfOpenDisc:
+ intfOpenFile:
+ intfOpenFileGeneric:
+ intfOpenNet:
+ openDocumentation:
+ openDonate:
+ openForum:
+ openReadMe:
+ openWebsite:
+ resizeVideoWindow:
+ setPlaybackRate:
+ showAudioEffects:
+ showBookmarks:
+ showConvertAndSave:
+ showInformationPanel:
+ showLicense:
+ showTrackSynchronization:
+ showVideoEffects:
+ showWizard:
+ toggleAtoBloop:
+ toggleFullscreen:
+ toggleFullscreenDevice:
+ toggleJumpButtons:
+ togglePlaylistColumnTable:
+ togglePlaymodeButtons:
+ toggleRecord:
+ toggleVar:
+ viewAbout:
+ viewErrorsAndWarnings:
+ viewHelp:
+ viewPreferences:
+
+
+ YES
+ id
+ id
+ id
+ id
+ id
+ id
+ id
+ id
+ id
+ id
+ id
+ id
+ id
+ id
+ id
+ id
+ id
+ id
+ id
+ id
+ id
+ id
+ id
+ id
+ id
+ id
+ id
+ id
+ id
+ id
+ id
+ id
+ id
+ id
+
+
+
+ YES
+
+ YES
+ createVideoSnapshot:
+ floatOnTop:
+ intfOpenCapture:
+ intfOpenDisc:
+ intfOpenFile:
+ intfOpenFileGeneric:
+ intfOpenNet:
+ openDocumentation:
+ openDonate:
+ openForum:
+ openReadMe:
+ openWebsite:
+ resizeVideoWindow:
+ setPlaybackRate:
+ showAudioEffects:
+ showBookmarks:
+ showConvertAndSave:
+ showInformationPanel:
+ showLicense:
+ showTrackSynchronization:
+ showVideoEffects:
+ showWizard:
+ toggleAtoBloop:
+ toggleFullscreen:
+ toggleFullscreenDevice:
+ toggleJumpButtons:
+ togglePlaylistColumnTable:
+ togglePlaymodeButtons:
+ toggleRecord:
+ toggleVar:
+ viewAbout:
+ viewErrorsAndWarnings:
+ viewHelp:
+ viewPreferences:
+
+
+ YES
+
+ createVideoSnapshot:
+ id
+
+
+ floatOnTop:
+ id
+
+
+ intfOpenCapture:
+ id
+
+
+ intfOpenDisc:
+ id
+
+
+ intfOpenFile:
+ id
+
+
+ intfOpenFileGeneric:
+ id
+
+
+ intfOpenNet:
+ id
+
+
+ openDocumentation:
+ id
+
+
+ openDonate:
+ id
+
+
+ openForum:
+ id
+
+
+ openReadMe:
+ id
+
+
+ openWebsite:
+ id
+
+
+ resizeVideoWindow:
+ id
+
+
+ setPlaybackRate:
+ id
+
+
+ showAudioEffects:
+ id
+
+
+ showBookmarks:
+ id
+
+
+ showConvertAndSave:
+ id
+
+
+ showInformationPanel:
+ id
+
+
+ showLicense:
+ id
+
+
+ showTrackSynchronization:
+ id
+
+
+ showVideoEffects:
+ id
+
+
+ showWizard:
+ id
+
+
+ toggleAtoBloop:
+ id
+
+
+ toggleFullscreen:
+ id
+
+
+ toggleFullscreenDevice:
+ id
+
+
+ toggleJumpButtons:
+ id
+
+
+ togglePlaylistColumnTable:
+ id
+
+
+ togglePlaymodeButtons:
+ id
+
+
+ toggleRecord:
+ id
+
+
+ toggleVar:
+ id
+
+
+ viewAbout:
+ id
+
+
+ viewErrorsAndWarnings:
+ id
+
+
+ viewHelp:
+ id
+
+
+ viewPreferences:
+ id
+
+
+
+
+ YES
+
+ YES
+ o_about
+ o_audioeffects
+ o_bookmarks
+ o_convertandsave
+ o_dmi_mute
+ o_dmi_next
+ o_dmi_play
+ o_dmi_previous
+ o_dmi_stop
+ o_extMgr
+ o_mi_AtoBloop
+ o_mi_about
+ o_mi_addSub
+ o_mi_add_intf
+ o_mi_aspect_ratio
+ o_mi_audioeffects
+ o_mi_audiotrack
+ o_mi_bookmarks
+ o_mi_bring_atf
+ o_mi_bwd
+ o_mi_channels
+ o_mi_chapter
+ o_mi_checkForUpdate
+ o_mi_clear
+ o_mi_close_window
+ o_mi_controller
+ o_mi_convertandsave
+ o_mi_copy
+ o_mi_crop
+ o_mi_cut
+ o_mi_deinterlace
+ o_mi_deinterlace_mode
+ o_mi_device
+ o_mi_documentation
+ o_mi_donation
+ o_mi_double_window
+ o_mi_errorsAndWarnings
+ o_mi_extensions
+ o_mi_ffmpeg_pp
+ o_mi_fittoscreen
+ o_mi_floatontop
+ o_mi_forum
+ o_mi_fullscreen
+ o_mi_fwd
+ o_mi_half_window
+ o_mi_help
+ o_mi_hide
+ o_mi_hide_others
+ o_mi_info
+ o_mi_license
+ o_mi_loop
+ o_mi_messages
+ o_mi_minimize
+ o_mi_mute
+ o_mi_next
+ o_mi_normal_window
+ o_mi_open_capture
+ o_mi_open_disc
+ o_mi_open_file
+ o_mi_open_generic
+ o_mi_open_net
+ o_mi_open_recent
+ o_mi_open_wizard
+ o_mi_paste
+ o_mi_play
+ o_mi_player
+ o_mi_playlist
+ o_mi_prefs
+ o_mi_previous
+ o_mi_program
+ o_mi_quit
+ o_mi_quitAfterPB
+ o_mi_random
+ o_mi_rate
+ o_mi_rate_faster_lbl
+ o_mi_rate_fld
+ o_mi_rate_lbl
+ o_mi_rate_lbl_gray
+ o_mi_rate_normal_lbl
+ o_mi_rate_sld
+ o_mi_rate_slower_lbl
+ o_mi_rate_view
+ o_mi_readme
+ o_mi_record
+ o_mi_repeat
+ o_mi_screen
+ o_mi_select_all
+ o_mi_services
+ o_mi_show_all
+ o_mi_snapshot
+ o_mi_stop
+ o_mi_subtitle
+ o_mi_teletext
+ o_mi_teletext_blue
+ o_mi_teletext_green
+ o_mi_teletext_index
+ o_mi_teletext_red
+ o_mi_teletext_transparent
+ o_mi_teletext_yellow
+ o_mi_title
+ o_mi_toggleJumpButtons
+ o_mi_togglePlaymodeButtons
+ o_mi_trackSynchronization
+ o_mi_videoeffects
+ o_mi_videotrack
+ o_mi_visual
+ o_mi_vol_down
+ o_mi_vol_up
+ o_mi_website
+ o_mu_add_intf
+ o_mu_aspect_ratio
+ o_mu_audio
+ o_mu_audiotrack
+ o_mu_channels
+ o_mu_chapter
+ o_mu_controls
+ o_mu_crop
+ o_mu_deinterlace
+ o_mu_deinterlace_mode
+ o_mu_device
+ o_mu_edit
+ o_mu_extensions
+ o_mu_ffmpeg_pp
+ o_mu_file
+ o_mu_help
+ o_mu_playlistTableColumns
+ o_mu_program
+ o_mu_screen
+ o_mu_subtitle
+ o_mu_title
+ o_mu_video
+ o_mu_videotrack
+ o_mu_view
+ o_mu_visual
+ o_mu_window
+ o_trackSynchronization
+ o_videoeffects
+ o_vmi_fullscreen
+ o_vmi_mute
+ o_vmi_next
+ o_vmi_play
+ o_vmi_prev
+ o_vmi_snapshot
+ o_vmi_stop
+ o_vmi_voldown
+ o_vmi_volup
+ o_vout_menu
+
+
+ YES
+ id
+ id
+ id
+ id
+ NSMenuItem
+ NSMenuItem
+ NSMenuItem
+ NSMenuItem
+ NSMenuItem
+ id
+ NSMenuItem
+ NSMenuItem
+ NSMenuItem
+ NSMenuItem
+ NSMenuItem
+ NSMenuItem
+ NSMenuItem
+ NSMenuItem
+ NSMenuItem
+ NSMenuItem
+ NSMenuItem
+ NSMenuItem
+ NSMenuItem
+ NSMenuItem
+ NSMenuItem
+ NSMenuItem
+ NSMenuItem
+ NSMenuItem
+ NSMenuItem
+ NSMenuItem
+ NSMenuItem
+ NSMenuItem
+ NSMenuItem
+ NSMenuItem
+ NSMenuItem
+ NSMenuItem
+ NSMenuItem
+ NSMenuItem
+ NSMenuItem
+ NSMenuItem
+ NSMenuItem
+ NSMenuItem
+ NSMenuItem
+ NSMenuItem
+ NSMenuItem
+ NSMenuItem
+ NSMenuItem
+ NSMenuItem
+ NSMenuItem
+ NSMenuItem
+ NSMenuItem
+ NSMenuItem
+ NSMenuItem
+ NSMenuItem
+ NSMenuItem
+ NSMenuItem
+ NSMenuItem
+ NSMenuItem
+ NSMenuItem
+ NSMenuItem
+ NSMenuItem
+ NSMenuItem
+ NSMenuItem
+ NSMenuItem
+ NSMenuItem
+ NSMenuItem
+ NSMenuItem
+ NSMenuItem
+ NSMenuItem
+ NSMenuItem
+ NSMenuItem
+ NSMenuItem
+ NSMenuItem
+ NSMenuItem
+ id
+ id
+ id
+ id
+ id
+ id
+ id
+ NSView
+ NSMenuItem
+ NSMenuItem
+ NSMenuItem
+ NSMenuItem
+ NSMenuItem
+ NSMenuItem
+ NSMenuItem
+ NSMenuItem
+ NSMenuItem
+ NSMenuItem
+ NSMenuItem
+ NSMenuItem
+ NSMenuItem
+ NSMenuItem
+ NSMenuItem
+ NSMenuItem
+ NSMenuItem
+ NSMenuItem
+ NSMenuItem
+ NSMenuItem
+ NSMenuItem
+ NSMenuItem
+ NSMenuItem
+ NSMenuItem
+ NSMenuItem
+ NSMenuItem
+ NSMenuItem
+ NSMenu
+ NSMenu
+ NSMenu
+ NSMenu
+ NSMenu
+ NSMenu
+ NSMenu
+ NSMenu
+ NSMenu
+ NSMenu
+ NSMenu
+ NSMenu
+ NSMenu
+ NSMenu
+ NSMenu
+ NSMenu
+ NSMenu
+ NSMenu
+ NSMenu
+ NSMenu
+ NSMenu
+ NSMenu
+ NSMenu
+ NSMenu
+ NSMenu
+ NSMenu
+ id
+ id
+ NSMenuItem
+ NSMenuItem
+ NSMenuItem
+ NSMenuItem
+ NSMenuItem
+ NSMenuItem
+ NSMenuItem
+ NSMenuItem
+ NSMenuItem
+ NSMenu
+
+
+
+ YES
+
+ YES
+ o_about
+ o_audioeffects
+ o_bookmarks
+ o_convertandsave
+ o_dmi_mute
+ o_dmi_next
+ o_dmi_play
+ o_dmi_previous
+ o_dmi_stop
+ o_extMgr
+ o_mi_AtoBloop
+ o_mi_about
+ o_mi_addSub
+ o_mi_add_intf
+ o_mi_aspect_ratio
+ o_mi_audioeffects
+ o_mi_audiotrack
+ o_mi_bookmarks
+ o_mi_bring_atf
+ o_mi_bwd
+ o_mi_channels
+ o_mi_chapter
+ o_mi_checkForUpdate
+ o_mi_clear
+ o_mi_close_window
+ o_mi_controller
+ o_mi_convertandsave
+ o_mi_copy
+ o_mi_crop
+ o_mi_cut
+ o_mi_deinterlace
+ o_mi_deinterlace_mode
+ o_mi_device
+ o_mi_documentation
+ o_mi_donation
+ o_mi_double_window
+ o_mi_errorsAndWarnings
+ o_mi_extensions
+ o_mi_ffmpeg_pp
+ o_mi_fittoscreen
+ o_mi_floatontop
+ o_mi_forum
+ o_mi_fullscreen
+ o_mi_fwd
+ o_mi_half_window
+ o_mi_help
+ o_mi_hide
+ o_mi_hide_others
+ o_mi_info
+ o_mi_license
+ o_mi_loop
+ o_mi_messages
+ o_mi_minimize
+ o_mi_mute
+ o_mi_next
+ o_mi_normal_window
+ o_mi_open_capture
+ o_mi_open_disc
+ o_mi_open_file
+ o_mi_open_generic
+ o_mi_open_net
+ o_mi_open_recent
+ o_mi_open_wizard
+ o_mi_paste
+ o_mi_play
+ o_mi_player
+ o_mi_playlist
+ o_mi_prefs
+ o_mi_previous
+ o_mi_program
+ o_mi_quit
+ o_mi_quitAfterPB
+ o_mi_random
+ o_mi_rate
+ o_mi_rate_faster_lbl
+ o_mi_rate_fld
+ o_mi_rate_lbl
+ o_mi_rate_lbl_gray
+ o_mi_rate_normal_lbl
+ o_mi_rate_sld
+ o_mi_rate_slower_lbl
+ o_mi_rate_view
+ o_mi_readme
+ o_mi_record
+ o_mi_repeat
+ o_mi_screen
+ o_mi_select_all
+ o_mi_services
+ o_mi_show_all
+ o_mi_snapshot
+ o_mi_stop
+ o_mi_subtitle
+ o_mi_teletext
+ o_mi_teletext_blue
+ o_mi_teletext_green
+ o_mi_teletext_index
+ o_mi_teletext_red
+ o_mi_teletext_transparent
+ o_mi_teletext_yellow
+ o_mi_title
+ o_mi_toggleJumpButtons
+ o_mi_togglePlaymodeButtons
+ o_mi_trackSynchronization
+ o_mi_videoeffects
+ o_mi_videotrack
+ o_mi_visual
+ o_mi_vol_down
+ o_mi_vol_up
+ o_mi_website
+ o_mu_add_intf
+ o_mu_aspect_ratio
+ o_mu_audio
+ o_mu_audiotrack
+ o_mu_channels
+ o_mu_chapter
+ o_mu_controls
+ o_mu_crop
+ o_mu_deinterlace
+ o_mu_deinterlace_mode
+ o_mu_device
+ o_mu_edit
+ o_mu_extensions
+ o_mu_ffmpeg_pp
+ o_mu_file
+ o_mu_help
+ o_mu_playlistTableColumns
+ o_mu_program
+ o_mu_screen
+ o_mu_subtitle
+ o_mu_title
+ o_mu_video
+ o_mu_videotrack
+ o_mu_view
+ o_mu_visual
+ o_mu_window
+ o_trackSynchronization
+ o_videoeffects
+ o_vmi_fullscreen
+ o_vmi_mute
+ o_vmi_next
+ o_vmi_play
+ o_vmi_prev
+ o_vmi_snapshot
+ o_vmi_stop
+ o_vmi_voldown
+ o_vmi_volup
+ o_vout_menu
+
+
+ YES
+
+ o_about
+ id
+
+
+ o_audioeffects
+ id
+
+
+ o_bookmarks
+ id
+
+
+ o_convertandsave
+ id
+
+
+ o_dmi_mute
+ NSMenuItem
+
+
+ o_dmi_next
+ NSMenuItem
+
+
+ o_dmi_play
+ NSMenuItem
+
+
+ o_dmi_previous
+ NSMenuItem
+
+
+ o_dmi_stop
+ NSMenuItem
+
+
+ o_extMgr
+ id
+
+
+ o_mi_AtoBloop
+ NSMenuItem
+
+
+ o_mi_about
+ NSMenuItem
+
+
+ o_mi_addSub
+ NSMenuItem
+
+
+ o_mi_add_intf
+ NSMenuItem
+
+
+ o_mi_aspect_ratio
+ NSMenuItem
+
+
+ o_mi_audioeffects
+ NSMenuItem
+
+
+ o_mi_audiotrack
+ NSMenuItem
+
+
+ o_mi_bookmarks
+ NSMenuItem
+
+
+ o_mi_bring_atf
+ NSMenuItem
+
+
+ o_mi_bwd
+ NSMenuItem
+
+
+ o_mi_channels
+ NSMenuItem
+
+
+ o_mi_chapter
+ NSMenuItem
+
+
+ o_mi_checkForUpdate
+ NSMenuItem
+
+
+ o_mi_clear
+ NSMenuItem
+
+
+ o_mi_close_window
+ NSMenuItem
+
+
+ o_mi_controller
+ NSMenuItem
+
+
+ o_mi_convertandsave
+ NSMenuItem
+
+
+ o_mi_copy
+ NSMenuItem
+
+
+ o_mi_crop
+ NSMenuItem
+
+
+ o_mi_cut
+ NSMenuItem
+
+
+ o_mi_deinterlace
+ NSMenuItem
+
+
+ o_mi_deinterlace_mode
+ NSMenuItem
+
+
+ o_mi_device
+ NSMenuItem
+
+
+ o_mi_documentation
+ NSMenuItem
+
+
+ o_mi_donation
+ NSMenuItem
+
+
+ o_mi_double_window
+ NSMenuItem
+
+
+ o_mi_errorsAndWarnings
+ NSMenuItem
+
+
+ o_mi_extensions
+ NSMenuItem
+
+
+ o_mi_ffmpeg_pp
+ NSMenuItem
+
+
+ o_mi_fittoscreen
+ NSMenuItem
+
+
+ o_mi_floatontop
+ NSMenuItem
+
+
+ o_mi_forum
+ NSMenuItem
+
+
+ o_mi_fullscreen
+ NSMenuItem
+
+
+ o_mi_fwd
+ NSMenuItem
+
+
+ o_mi_half_window
+ NSMenuItem
+
+
+ o_mi_help
+ NSMenuItem
+
+
+ o_mi_hide
+ NSMenuItem
+
+
+ o_mi_hide_others
+ NSMenuItem
+
+
+ o_mi_info
+ NSMenuItem
+
+
+ o_mi_license
+ NSMenuItem
+
+
+ o_mi_loop
+ NSMenuItem
+
+
+ o_mi_messages
+ NSMenuItem
+
+
+ o_mi_minimize
+ NSMenuItem
+
+
+ o_mi_mute
+ NSMenuItem
+
+
+ o_mi_next
+ NSMenuItem
+
+
+ o_mi_normal_window
+ NSMenuItem
+
+
+ o_mi_open_capture
+ NSMenuItem
+
+
+ o_mi_open_disc
+ NSMenuItem
+
+
+ o_mi_open_file
+ NSMenuItem
+
+
+ o_mi_open_generic
+ NSMenuItem
+
+
+ o_mi_open_net
+ NSMenuItem
+
+
+ o_mi_open_recent
+ NSMenuItem
+
+
+ o_mi_open_wizard
+ NSMenuItem
+
+
+ o_mi_paste
+ NSMenuItem
+
+
+ o_mi_play
+ NSMenuItem
+
+
+ o_mi_player
+ NSMenuItem
+
+
+ o_mi_playlist
+ NSMenuItem
+
+
+ o_mi_prefs
+ NSMenuItem
+
+
+ o_mi_previous
+ NSMenuItem
+
+
+ o_mi_program
+ NSMenuItem
+
+
+ o_mi_quit
+ NSMenuItem
+
+
+ o_mi_quitAfterPB
+ NSMenuItem
+
+
+ o_mi_random
+ NSMenuItem
+
+
+ o_mi_rate
+ NSMenuItem
+
+
+ o_mi_rate_faster_lbl
+ id
+
+
+ o_mi_rate_fld
+ id
+
+
+ o_mi_rate_lbl
+ id
+
+
+ o_mi_rate_lbl_gray
+ id
+
+
+ o_mi_rate_normal_lbl
+ id
+
+
+ o_mi_rate_sld
+ id
+
+
+ o_mi_rate_slower_lbl
+ id
+
+
+ o_mi_rate_view
+ NSView
+
+
+ o_mi_readme
+ NSMenuItem
+
+
+ o_mi_record
+ NSMenuItem
+
+
+ o_mi_repeat
+ NSMenuItem
+
+
+ o_mi_screen
+ NSMenuItem
+
+
+ o_mi_select_all
+ NSMenuItem
+
+
+ o_mi_services
+ NSMenuItem
+
+
+ o_mi_show_all
+ NSMenuItem
+
+
+ o_mi_snapshot
+ NSMenuItem
+
+
+ o_mi_stop
+ NSMenuItem
+
+
+ o_mi_subtitle
+ NSMenuItem
+
+
+ o_mi_teletext
+ NSMenuItem
+
+
+ o_mi_teletext_blue
+ NSMenuItem
+
+
+ o_mi_teletext_green
+ NSMenuItem
+
+
+ o_mi_teletext_index
+ NSMenuItem
+
+
+ o_mi_teletext_red
+ NSMenuItem
+
+
+ o_mi_teletext_transparent
+ NSMenuItem
+
+
+ o_mi_teletext_yellow
+ NSMenuItem
+
+
+ o_mi_title
+ NSMenuItem
+
+
+ o_mi_toggleJumpButtons
+ NSMenuItem
+
+
+ o_mi_togglePlaymodeButtons
+ NSMenuItem
+
+
+ o_mi_trackSynchronization
+ NSMenuItem
+
+
+ o_mi_videoeffects
+ NSMenuItem
+
+
+ o_mi_videotrack
+ NSMenuItem
+
+
+ o_mi_visual
+ NSMenuItem
+
+
+ o_mi_vol_down
+ NSMenuItem
+
+
+ o_mi_vol_up
+ NSMenuItem
+
+
+ o_mi_website
+ NSMenuItem
+
+
+ o_mu_add_intf
+ NSMenu
+
+
+ o_mu_aspect_ratio
+ NSMenu
+
+
+ o_mu_audio
+ NSMenu
+
+
+ o_mu_audiotrack
+ NSMenu
+
+
+ o_mu_channels
+ NSMenu
+
+
+ o_mu_chapter
+ NSMenu
+
+
+ o_mu_controls
+ NSMenu
+
+
+ o_mu_crop
+ NSMenu
+
+
+ o_mu_deinterlace
+ NSMenu
+
+
+ o_mu_deinterlace_mode
+ NSMenu
+
+
+ o_mu_device
+ NSMenu
+
+
+ o_mu_edit
+ NSMenu
+
+
+ o_mu_extensions
+ NSMenu
+
+
+ o_mu_ffmpeg_pp
+ NSMenu
+
+
+ o_mu_file
+ NSMenu
+
+
+ o_mu_help
+ NSMenu
+
+
+ o_mu_playlistTableColumns
+ NSMenu
+
+
+ o_mu_program
+ NSMenu
+
+
+ o_mu_screen
+ NSMenu
+
+
+ o_mu_subtitle
+ NSMenu
+
+
+ o_mu_title
+ NSMenu
+
+
+ o_mu_video
+ NSMenu
+
+
+ o_mu_videotrack
+ NSMenu
+
+
+ o_mu_view
+ NSMenu
+
+
+ o_mu_visual
+ NSMenu
+
+
+ o_mu_window
+ NSMenu
+
+
+ o_trackSynchronization
+ id
+
+
+ o_videoeffects
+ id
+
+
+ o_vmi_fullscreen
+ NSMenuItem
+
+
+ o_vmi_mute
+ NSMenuItem
+
+
+ o_vmi_next
+ NSMenuItem
+
+
+ o_vmi_play
+ NSMenuItem
+
+
+ o_vmi_prev
+ NSMenuItem
+
+
+ o_vmi_snapshot
+ NSMenuItem
+
+
+ o_vmi_stop
+ NSMenuItem
+
+
+ o_vmi_voldown
+ NSMenuItem
+
+
+ o_vmi_volup
+ NSMenuItem
+
+
+ o_vout_menu
+ NSMenu
+
+
+
+
+ IBDocumentRelativeSource
+ ../../../../../modules/gui/macosx/MainMenu.h
+
+
+
YES
diff --git a/modules/gui/macosx/CoreInteraction.h b/modules/gui/macosx/CoreInteraction.h
index 066a109c20..f992d1ad48 100644
--- a/modules/gui/macosx/CoreInteraction.h
+++ b/modules/gui/macosx/CoreInteraction.h
@@ -27,6 +27,7 @@
@interface VLCCoreInteraction : NSObject {
int i_currentPlaybackRate;
+ mtime_t timeA, timeB;
}
+ (VLCCoreInteraction *)sharedInstance;
@property (readwrite) int volume;
@@ -61,6 +62,8 @@
- (void)repeatAll;
- (void)repeatOff;
- (void)shuffle;
+- (void)setAtoB;
+- (void)updateAtoB;
- (void)volumeUp;
- (void)volumeDown;
diff --git a/modules/gui/macosx/CoreInteraction.m b/modules/gui/macosx/CoreInteraction.m
index 334e076aa7..d0e4e2adb0 100644
--- a/modules/gui/macosx/CoreInteraction.m
+++ b/modules/gui/macosx/CoreInteraction.m
@@ -417,6 +417,39 @@ static VLCCoreInteraction *_o_sharedInstance = nil;
}
}
+- (void)setAtoB
+{
+ if (!timeA) {
+ input_thread_t * p_input = pl_CurrentInput(VLCIntf);
+ if (p_input) {
+ timeA = var_GetTime(p_input, "time");
+ vlc_object_release(p_input);
+ }
+ } else if (!timeB) {
+ input_thread_t * p_input = pl_CurrentInput(VLCIntf);
+ if (p_input) {
+ timeB = var_GetTime(p_input, "time");
+ vlc_object_release(p_input);
+ }
+ } else {
+ timeA = 0;
+ timeB = 0;
+ }
+}
+
+- (void)updateAtoB
+{
+ if (timeB) {
+ input_thread_t * p_input = pl_CurrentInput(VLCIntf);
+ if (p_input) {
+ mtime_t currentTime = var_GetTime(p_input, "time");
+ if ( currentTime >= timeB || currentTime < timeA)
+ var_SetTime(p_input, "time", timeA);
+ vlc_object_release(p_input);
+ }
+ }
+}
+
- (void)volumeUp
{
intf_thread_t *p_intf = VLCIntf;
diff --git a/modules/gui/macosx/MainMenu.h b/modules/gui/macosx/MainMenu.h
index eb295af8c3..ace9c0fd3e 100644
--- a/modules/gui/macosx/MainMenu.h
+++ b/modules/gui/macosx/MainMenu.h
@@ -102,6 +102,7 @@
IBOutlet NSMenuItem * o_mi_random;
IBOutlet NSMenuItem * o_mi_repeat;
IBOutlet NSMenuItem * o_mi_loop;
+ IBOutlet NSMenuItem * o_mi_AtoBloop;
IBOutlet NSMenuItem * o_mi_quitAfterPB;
IBOutlet NSMenuItem * o_mi_fwd;
IBOutlet NSMenuItem * o_mi_bwd;
@@ -231,6 +232,7 @@
- (void)updateRecordState:(BOOL)b_value;
- (IBAction)setPlaybackRate:(id)sender;
- (void)updatePlaybackRate;
+- (IBAction)toggleAtoBloop:(id)sender;
- (IBAction)toggleFullscreen:(id)sender;
- (IBAction)resizeVideoWindow:(id)sender;
diff --git a/modules/gui/macosx/MainMenu.m b/modules/gui/macosx/MainMenu.m
index 6619e7d594..df3a74fe91 100644
--- a/modules/gui/macosx/MainMenu.m
+++ b/modules/gui/macosx/MainMenu.m
@@ -320,6 +320,7 @@ static VLCMainMenu *_o_sharedInstance = nil;
[o_mi_random setTitle: _NS("Random")];
[o_mi_repeat setTitle: _NS("Repeat One")];
[o_mi_loop setTitle: _NS("Repeat All")];
+ [o_mi_AtoBloop setTitle: _NS("A→B Loop")];
[o_mi_quitAfterPB setTitle: _NS("Quit after Playback")];
[o_mi_fwd setTitle: _NS("Step Forward")];
[o_mi_bwd setTitle: _NS("Step Backward")];
@@ -693,6 +694,11 @@ static VLCMainMenu *_o_sharedInstance = nil;
[o_mi_rate_sld setIntValue: i];
}
+- (IBAction)toggleAtoBloop:(id)sender
+{
+ [[VLCCoreInteraction sharedInstance] setAtoB];
+}
+
#pragma mark -
#pragma mark video menu
diff --git a/modules/gui/macosx/intf.m b/modules/gui/macosx/intf.m
index 898b123117..f809686477 100644
--- a/modules/gui/macosx/intf.m
+++ b/modules/gui/macosx/intf.m
@@ -1328,6 +1328,7 @@ static VLCMain *_o_sharedMainInstance = nil;
- (void)updatePlaybackPosition
{
[o_mainwindow updateTimeSlider];
+ [[VLCCoreInteraction sharedInstance] updateAtoB];
}
- (void)updateVolume