vlc | branch: master | Felix Paul Kühne <[email protected]> | Mon Aug 19 12:59:37 
2019 +0200| [33ee620840ad5acc23168383e88c2f4c781ebd72] | committer: Felix Paul 
Kühne

macosx: expand vout menu

This adds ES management and recording.

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=33ee620840ad5acc23168383e88c2f4c781ebd72
---

 modules/gui/macosx/UI/MainMenu.xib     | 32 ++++++++++++++++++++++++++++++++
 modules/gui/macosx/menus/VLCMainMenu.h |  8 ++++++++
 modules/gui/macosx/menus/VLCMainMenu.m | 25 +++++++++++++++++++------
 3 files changed, 59 insertions(+), 6 deletions(-)

diff --git a/modules/gui/macosx/UI/MainMenu.xib 
b/modules/gui/macosx/UI/MainMenu.xib
index ea72fd3f1e..6afda1b692 100644
--- a/modules/gui/macosx/UI/MainMenu.xib
+++ b/modules/gui/macosx/UI/MainMenu.xib
@@ -156,6 +156,14 @@
                 <outlet property="vol_down" destination="1065" 
id="iI9-ay-pAs"/>
                 <outlet property="vol_up" destination="1064" id="8I9-3j-p1J"/>
                 <outlet property="voutMenu" destination="2730" 
id="ZHq-j3-Ggd"/>
+                <outlet property="voutMenuAudiotrack" destination="n8w-vf-ZVR" 
id="b8A-Vn-Xoe"/>
+                <outlet property="voutMenuAudiotrackMenu" 
destination="y7z-2t-aNd" id="fzG-vh-4te"/>
+                <outlet property="voutMenuOpenSubtitleFile" 
destination="dqb-Ht-ibF" id="4Y5-vb-c51"/>
+                <outlet property="voutMenuRecord" destination="LA2-yH-mAD" 
id="SJJ-ZD-ee1"/>
+                <outlet property="voutMenuSubtitlestrack" 
destination="5H6-1N-Hjz" id="LdO-F9-cTL"/>
+                <outlet property="voutMenuSubtitlestrackMenu" 
destination="juF-Df-Fzd" id="exR-TY-zmI"/>
+                <outlet property="voutMenuVideotrack" destination="mqn-dW-9kE" 
id="Y9j-G3-FF3"/>
+                <outlet property="voutMenuVideotrackMenu" 
destination="UmV-y6-gd3" id="RqR-qO-YSj"/>
                 <outlet property="voutMenufullscreen" destination="2732" 
id="NC7-qA-BIE"/>
                 <outlet property="voutMenumute" destination="2743" 
id="k5B-Oz-GjX"/>
                 <outlet property="voutMenunext" destination="2739" 
id="CkI-w1-GZo"/>
@@ -875,6 +883,12 @@
                         <action selector="stop:" target="-2" id="3I6-RI-EYq"/>
                     </connections>
                 </menuItem>
+                <menuItem title="Record" enabled="NO" id="LA2-yH-mAD">
+                    <modifierMask key="keyEquivalentModifierMask"/>
+                    <connections>
+                        <action selector="toggleRecord:" target="-2" 
id="hpP-Ik-xWJ"/>
+                    </connections>
+                </menuItem>
                 <menuItem isSeparatorItem="YES" id="2737">
                     <modifierMask key="keyEquivalentModifierMask" 
command="YES"/>
                 </menuItem>
@@ -909,6 +923,23 @@
                 <menuItem isSeparatorItem="YES" id="2738">
                     <modifierMask key="keyEquivalentModifierMask" 
command="YES"/>
                 </menuItem>
+                <menuItem title="Audio track" id="n8w-vf-ZVR">
+                    <menu key="submenu" title="Audio track" id="y7z-2t-aNd"/>
+                </menuItem>
+                <menuItem title="Video track" id="mqn-dW-9kE">
+                    <menu key="submenu" title="Video track" id="UmV-y6-gd3"/>
+                </menuItem>
+                <menuItem title="Open File..." id="dqb-Ht-ibF">
+                    <connections>
+                        <action selector="addSubtitleFile:" target="-2" 
id="YXj-Mu-ank"/>
+                    </connections>
+                </menuItem>
+                <menuItem title="Subtitle track" id="5H6-1N-Hjz">
+                    <menu key="submenu" title="Subtitle track" 
id="juF-Df-Fzd"/>
+                </menuItem>
+                <menuItem isSeparatorItem="YES" id="K9n-42-WrB">
+                    <modifierMask key="keyEquivalentModifierMask" 
command="YES"/>
+                </menuItem>
                 <menuItem title="Fullscreen" id="2732">
                     <connections>
                         <action selector="toggleFullscreen:" target="-2" 
id="7fK-95-1OE"/>
@@ -923,6 +954,7 @@
                     </connections>
                 </menuItem>
             </items>
+            <point key="canvasLocation" x="-35" y="361"/>
         </menu>
         <customView id="4596" userLabel="Rate Menu View">
             <rect key="frame" x="0.0" y="0.0" width="307" height="53"/>
diff --git a/modules/gui/macosx/menus/VLCMainMenu.h 
b/modules/gui/macosx/menus/VLCMainMenu.h
index c5b8c2ad8a..1892e8d088 100644
--- a/modules/gui/macosx/menus/VLCMainMenu.h
+++ b/modules/gui/macosx/menus/VLCMainMenu.h
@@ -197,11 +197,19 @@
 @property (readwrite, strong) IBOutlet NSMenu *voutMenu;
 @property (readwrite, strong) IBOutlet NSMenuItem *voutMenuplay;
 @property (readwrite, strong) IBOutlet NSMenuItem *voutMenustop;
+@property (readwrite, strong) IBOutlet NSMenuItem *voutMenuRecord;
 @property (readwrite, strong) IBOutlet NSMenuItem *voutMenuprev;
 @property (readwrite, strong) IBOutlet NSMenuItem *voutMenunext;
 @property (readwrite, strong) IBOutlet NSMenuItem *voutMenuvolup;
 @property (readwrite, strong) IBOutlet NSMenuItem *voutMenuvoldown;
 @property (readwrite, strong) IBOutlet NSMenuItem *voutMenumute;
+@property (readwrite, strong) IBOutlet NSMenuItem *voutMenuAudiotrack;
+@property (readwrite, strong) IBOutlet NSMenu *voutMenuAudiotrackMenu;
+@property (readwrite, strong) IBOutlet NSMenuItem *voutMenuVideotrack;
+@property (readwrite, strong) IBOutlet NSMenu *voutMenuVideotrackMenu;
+@property (readwrite, strong) IBOutlet NSMenuItem *voutMenuOpenSubtitleFile;
+@property (readwrite, strong) IBOutlet NSMenuItem *voutMenuSubtitlestrack;
+@property (readwrite, strong) IBOutlet NSMenu *voutMenuSubtitlestrackMenu;
 @property (readwrite, strong) IBOutlet NSMenuItem *voutMenufullscreen;
 @property (readwrite, strong) IBOutlet NSMenuItem *voutMenusnapshot;
 
diff --git a/modules/gui/macosx/menus/VLCMainMenu.m 
b/modules/gui/macosx/menus/VLCMainMenu.m
index ebbe0296b4..2a20fc8406 100644
--- a/modules/gui/macosx/menus/VLCMainMenu.m
+++ b/modules/gui/macosx/menus/VLCMainMenu.m
@@ -502,6 +502,13 @@ typedef NS_ENUM(NSInteger, VLCObjectType) {
     [_voutMenuvolup setTitle: _NS("Volume Up")];
     [_voutMenuvoldown setTitle: _NS("Volume Down")];
     [_voutMenumute setTitle: _NS("Mute")];
+    [_voutMenuAudiotrack setTitle: _NS("Audio Track")];
+    [_voutMenuAudiotrackMenu setTitle: _NS("Audio Track")];
+    [_voutMenuVideotrack setTitle: _NS("Video Track")];
+    [_voutMenuVideotrackMenu setTitle: _NS("Video Track")];
+    [_voutMenuOpenSubtitleFile setTitle:_NS("Add Subtitle File...")];
+    [_voutMenuSubtitlestrack setTitle: _NS("Subtitles Track")];
+    [_voutMenuSubtitlestrackMenu setTitle: _NS("Subtitles Track")];
     [_voutMenufullscreen setTitle: _NS("Fullscreen")];
     [_voutMenusnapshot setTitle: _NS("Snapshot")];
 }
@@ -713,6 +720,7 @@ typedef NS_ENUM(NSInteger, VLCObjectType) {
 - (void)setSubtitleMenuEnabled:(BOOL)b_enabled
 {
     [_openSubtitleFile setEnabled: b_enabled];
+    [_voutMenuOpenSubtitleFile setEnabled: b_enabled];
     if (b_enabled) {
         [_subtitle_bgopacityLabel_gray setHidden: YES];
         [_subtitle_bgopacityLabel setHidden: NO];
@@ -836,7 +844,9 @@ typedef NS_ENUM(NSInteger, VLCObjectType) {
 
 - (void)updateRecordState
 {
-    [_record setState:_playerController.enableRecording];
+    NSControlStateValue state = _playerController.enableRecording ? NSOnState 
: NSOffState;
+    [_record setState:state];
+    [_voutMenuRecord setState:state];
 }
 
 - (IBAction)setPlaybackRate:(id)sender
@@ -891,17 +901,20 @@ typedef NS_ENUM(NSInteger, VLCObjectType) {
     NSArray *tracks = _playerController.audioTracks;
     NSUInteger numberOfTracks = tracks.count;
     [self rebuildTracksMenu:_audiotrackMenu withMetadata:tracks 
count:numberOfTracks category:AUDIO_ES];
-    _audiotrack.enabled = numberOfTracks > 0 ? YES : NO;
+    [self rebuildTracksMenu:_voutMenuAudiotrackMenu withMetadata:tracks 
count:numberOfTracks category:AUDIO_ES];
+    _voutMenuAudiotrack.enabled = _audiotrack.enabled = numberOfTracks > 0 ? 
YES : NO;
 
     tracks = _playerController.videoTracks;
     numberOfTracks = tracks.count;
     [self rebuildTracksMenu:_videotrackMenu withMetadata:tracks 
count:numberOfTracks category:VIDEO_ES];
-    _videotrack.enabled = numberOfTracks > 0 ? YES : NO;
+    [self rebuildTracksMenu:_voutMenuVideotrackMenu withMetadata:tracks 
count:numberOfTracks category:VIDEO_ES];
+    _voutMenuVideotrack.enabled = _videotrack.enabled = numberOfTracks > 0 ? 
YES : NO;
 
     tracks = _playerController.subtitleTracks;
     numberOfTracks = tracks.count;
     [self rebuildTracksMenu:_subtitle_tracksMenu withMetadata:tracks 
count:numberOfTracks category:SPU_ES];
-    _subtitle_track.enabled = numberOfTracks > 0 ? YES : NO;
+    [self rebuildTracksMenu:_voutMenuSubtitlestrackMenu withMetadata:tracks 
count:numberOfTracks category:SPU_ES];
+    _voutMenuSubtitlestrack.enabled = _subtitle_track.enabled = numberOfTracks 
> 0 ? YES : NO;
 }
 
 - (void)rebuildTracksMenu:(NSMenu *)menu
@@ -1787,7 +1800,7 @@ typedef NS_ENUM(NSInteger, VLCObjectType) {
                mi == _voutMenunext      ||
                mi == _dockMenunext) {
         enabled = _playlistController.hasNextPlaylistItem;
-    } else if (mi == _record) {
+    } else if (mi == _record || mi == _voutMenuRecord) {
         enabled = _playerController.recordable;
     } else if (mi == _random) {
         enum vlc_playlist_playback_order playbackOrder = [_playlistController 
playbackOrder];
@@ -1829,7 +1842,7 @@ typedef NS_ENUM(NSInteger, VLCObjectType) {
             vout_Release(p_vout);
         }
 
-    } else if (mi == _openSubtitleFile) {
+    } else if (mi == _openSubtitleFile || mi == _voutMenuOpenSubtitleFile) {
         enabled = YES;
     } else {
         NSMenuItem *_parent = [mi parentItem];

_______________________________________________
vlc-commits mailing list
[email protected]
https://mailman.videolan.org/listinfo/vlc-commits

Reply via email to