Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
V
vlc-2-2
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Redmine
Redmine
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
videolan
vlc-2-2
Commits
cf37037f
Commit
cf37037f
authored
Aug 08, 2011
by
Felix Paul Kühne
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
macosx: prepared fullscreen support and clean-up
parent
4cfebf25
Changes
11
Show whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
1888 additions
and
204 deletions
+1888
-204
extras/package/macosx/Resources/English.lproj/MainMenu.nib/designable.nib
...acosx/Resources/English.lproj/MainMenu.nib/designable.nib
+1272
-107
extras/package/macosx/Resources/English.lproj/MainMenu.nib/keyedobjects.nib
...osx/Resources/English.lproj/MainMenu.nib/keyedobjects.nib
+0
-0
modules/gui/macosx/CoreInteraction.m
modules/gui/macosx/CoreInteraction.m
+4
-14
modules/gui/macosx/MainMenu.h
modules/gui/macosx/MainMenu.h
+5
-0
modules/gui/macosx/MainMenu.m
modules/gui/macosx/MainMenu.m
+64
-13
modules/gui/macosx/MainWindow.h
modules/gui/macosx/MainWindow.h
+34
-3
modules/gui/macosx/MainWindow.m
modules/gui/macosx/MainWindow.m
+476
-3
modules/gui/macosx/controls.h
modules/gui/macosx/controls.h
+0
-3
modules/gui/macosx/controls.m
modules/gui/macosx/controls.m
+0
-46
modules/gui/macosx/intf.h
modules/gui/macosx/intf.h
+3
-1
modules/gui/macosx/intf.m
modules/gui/macosx/intf.m
+30
-14
No files found.
extras/package/macosx/Resources/English.lproj/MainMenu.nib/designable.nib
View file @
cf37037f
...
...
@@ -2,9 +2,9 @@
<archive
type=
"com.apple.InterfaceBuilder3.Cocoa.XIB"
version=
"7.10"
>
<data>
<int
key=
"IBDocument.SystemTarget"
>
1040
</int>
<string
key=
"IBDocument.SystemVersion"
>
11
A511a
</string>
<string
key=
"IBDocument.SystemVersion"
>
11
C26
</string>
<string
key=
"IBDocument.InterfaceBuilderVersion"
>
851
</string>
<string
key=
"IBDocument.AppKitVersion"
>
1138
</string>
<string
key=
"IBDocument.AppKitVersion"
>
1138
.11
</string>
<string
key=
"IBDocument.HIToolboxVersion"
>
566.00
</string>
<object
class=
"NSMutableDictionary"
key=
"IBDocument.PluginVersions"
>
<bool
key=
"EncodedWithXMLCoder"
>
YES
</bool>
...
...
@@ -21,14 +21,14 @@
</object>
<object
class=
"NSMutableArray"
key=
"IBDocument.EditedObjectIDs"
>
<bool
key=
"EncodedWithXMLCoder"
>
YES
</bool>
<integer
value=
"283"
/>
<integer
value=
"2730"
/>
<integer
value=
"1617"
/>
<integer
value=
"4596"
/>
<integer
value=
"1617"
/>
<integer
value=
"4722"
/>
<integer
value=
"915"
/>
<integer
value=
"283"
/>
<integer
value=
"24"
/>
<integer
value=
"334"
/>
<integer
value=
"4682"
/>
<integer
value=
"4722"
/>
</object>
<object
class=
"NSArray"
key=
"IBDocument.PluginDependencies"
>
<bool
key=
"EncodedWithXMLCoder"
>
YES
</bool>
...
...
@@ -4698,54 +4698,6 @@ LCAuLi4</string>
</object>
<int
key=
"connectionID"
>
1187
</int>
</object>
<object
class=
"IBConnectionRecord"
>
<object
class=
"IBActionConnection"
key=
"connection"
>
<string
key=
"label"
>
windowAction:
</string>
<reference
key=
"source"
ref=
"113811151"
/>
<reference
key=
"destination"
ref=
"306486441"
/>
</object>
<int
key=
"connectionID"
>
1502
</int>
</object>
<object
class=
"IBConnectionRecord"
>
<object
class=
"IBActionConnection"
key=
"connection"
>
<string
key=
"label"
>
windowAction:
</string>
<reference
key=
"source"
ref=
"113811151"
/>
<reference
key=
"destination"
ref=
"848898341"
/>
</object>
<int
key=
"connectionID"
>
1503
</int>
</object>
<object
class=
"IBConnectionRecord"
>
<object
class=
"IBActionConnection"
key=
"connection"
>
<string
key=
"label"
>
windowAction:
</string>
<reference
key=
"source"
ref=
"113811151"
/>
<reference
key=
"destination"
ref=
"633479871"
/>
</object>
<int
key=
"connectionID"
>
1504
</int>
</object>
<object
class=
"IBConnectionRecord"
>
<object
class=
"IBActionConnection"
key=
"connection"
>
<string
key=
"label"
>
windowAction:
</string>
<reference
key=
"source"
ref=
"113811151"
/>
<reference
key=
"destination"
ref=
"606474125"
/>
</object>
<int
key=
"connectionID"
>
1505
</int>
</object>
<object
class=
"IBConnectionRecord"
>
<object
class=
"IBActionConnection"
key=
"connection"
>
<string
key=
"label"
>
windowAction:
</string>
<reference
key=
"source"
ref=
"113811151"
/>
<reference
key=
"destination"
ref=
"898223493"
/>
</object>
<int
key=
"connectionID"
>
1506
</int>
</object>
<object
class=
"IBConnectionRecord"
>
<object
class=
"IBActionConnection"
key=
"connection"
>
<string
key=
"label"
>
windowAction:
</string>
<reference
key=
"source"
ref=
"113811151"
/>
<reference
key=
"destination"
ref=
"115305473"
/>
</object>
<int
key=
"connectionID"
>
1520
</int>
</object>
<object
class=
"IBConnectionRecord"
>
<object
class=
"IBActionConnection"
key=
"connection"
>
<string
key=
"label"
>
random:
</string>
...
...
@@ -4930,14 +4882,6 @@ LCAuLi4</string>
</object>
<int
key=
"connectionID"
>
2246
</int>
</object>
<object
class=
"IBConnectionRecord"
>
<object
class=
"IBActionConnection"
key=
"connection"
>
<string
key=
"label"
>
windowAction:
</string>
<reference
key=
"source"
ref=
"113811151"
/>
<reference
key=
"destination"
ref=
"288132578"
/>
</object>
<int
key=
"connectionID"
>
2252
</int>
</object>
<object
class=
"IBConnectionRecord"
>
<object
class=
"IBOutletConnection"
key=
"connection"
>
<string
key=
"label"
>
o_mi_services
</string>
...
...
@@ -5154,14 +5098,6 @@ LCAuLi4</string>
</object>
<int
key=
"connectionID"
>
2727
</int>
</object>
<object
class=
"IBConnectionRecord"
>
<object
class=
"IBActionConnection"
key=
"connection"
>
<string
key=
"label"
>
windowAction:
</string>
<reference
key=
"source"
ref=
"113811151"
/>
<reference
key=
"destination"
ref=
"788765547"
/>
</object>
<int
key=
"connectionID"
>
2735
</int>
</object>
<object
class=
"IBConnectionRecord"
>
<object
class=
"IBActionConnection"
key=
"connection"
>
<string
key=
"label"
>
play:
</string>
...
...
@@ -5218,14 +5154,6 @@ LCAuLi4</string>
</object>
<int
key=
"connectionID"
>
2753
</int>
</object>
<object
class=
"IBConnectionRecord"
>
<object
class=
"IBActionConnection"
key=
"connection"
>
<string
key=
"label"
>
windowAction:
</string>
<reference
key=
"source"
ref=
"113811151"
/>
<reference
key=
"destination"
ref=
"1070274380"
/>
</object>
<int
key=
"connectionID"
>
2754
</int>
</object>
<object
class=
"IBConnectionRecord"
>
<object
class=
"IBActionConnection"
key=
"connection"
>
<string
key=
"label"
>
showMessagesPanel:
</string>
...
...
@@ -7186,6 +7114,78 @@ LCAuLi4</string>
</object>
<int
key=
"connectionID"
>
4738
</int>
</object>
<object
class=
"IBConnectionRecord"
>
<object
class=
"IBActionConnection"
key=
"connection"
>
<string
key=
"label"
>
resizeVideoWindow:
</string>
<reference
key=
"source"
ref=
"651263286"
/>
<reference
key=
"destination"
ref=
"306486441"
/>
</object>
<int
key=
"connectionID"
>
4741
</int>
</object>
<object
class=
"IBConnectionRecord"
>
<object
class=
"IBActionConnection"
key=
"connection"
>
<string
key=
"label"
>
resizeVideoWindow:
</string>
<reference
key=
"source"
ref=
"651263286"
/>
<reference
key=
"destination"
ref=
"848898341"
/>
</object>
<int
key=
"connectionID"
>
4742
</int>
</object>
<object
class=
"IBConnectionRecord"
>
<object
class=
"IBActionConnection"
key=
"connection"
>
<string
key=
"label"
>
resizeVideoWindow:
</string>
<reference
key=
"source"
ref=
"651263286"
/>
<reference
key=
"destination"
ref=
"633479871"
/>
</object>
<int
key=
"connectionID"
>
4743
</int>
</object>
<object
class=
"IBConnectionRecord"
>
<object
class=
"IBActionConnection"
key=
"connection"
>
<string
key=
"label"
>
resizeVideoWindow:
</string>
<reference
key=
"source"
ref=
"651263286"
/>
<reference
key=
"destination"
ref=
"115305473"
/>
</object>
<int
key=
"connectionID"
>
4744
</int>
</object>
<object
class=
"IBConnectionRecord"
>
<object
class=
"IBActionConnection"
key=
"connection"
>
<string
key=
"label"
>
toggleFullscreen:
</string>
<reference
key=
"source"
ref=
"651263286"
/>
<reference
key=
"destination"
ref=
"606474125"
/>
</object>
<int
key=
"connectionID"
>
4745
</int>
</object>
<object
class=
"IBConnectionRecord"
>
<object
class=
"IBActionConnection"
key=
"connection"
>
<string
key=
"label"
>
floatOnTop:
</string>
<reference
key=
"source"
ref=
"651263286"
/>
<reference
key=
"destination"
ref=
"898223493"
/>
</object>
<int
key=
"connectionID"
>
4746
</int>
</object>
<object
class=
"IBConnectionRecord"
>
<object
class=
"IBActionConnection"
key=
"connection"
>
<string
key=
"label"
>
createVideoSnapshot:
</string>
<reference
key=
"source"
ref=
"651263286"
/>
<reference
key=
"destination"
ref=
"288132578"
/>
</object>
<int
key=
"connectionID"
>
4747
</int>
</object>
<object
class=
"IBConnectionRecord"
>
<object
class=
"IBActionConnection"
key=
"connection"
>
<string
key=
"label"
>
toggleFullscreen:
</string>
<reference
key=
"source"
ref=
"651263286"
/>
<reference
key=
"destination"
ref=
"788765547"
/>
</object>
<int
key=
"connectionID"
>
4748
</int>
</object>
<object
class=
"IBConnectionRecord"
>
<object
class=
"IBActionConnection"
key=
"connection"
>
<string
key=
"label"
>
createVideoSnapshot:
</string>
<reference
key=
"source"
ref=
"651263286"
/>
<reference
key=
"destination"
ref=
"1070274380"
/>
</object>
<int
key=
"connectionID"
>
4749
</int>
</object>
</object>
<object
class=
"IBMutableOrderedSet"
key=
"objectRecords"
>
<object
class=
"NSArray"
key=
"orderedObjects"
>
...
...
@@ -11028,14 +11028,14 @@ LCAuLi4</string>
<boolean
value=
"YES"
/>
<string>
com.apple.InterfaceBuilder.CocoaPlugin
</string>
<boolean
value=
"YES"
/>
<string>
{{
373, 736
}, {468, 20}}
</string>
<string>
{{
85, 668
}, {468, 20}}
</string>
<string>
com.apple.InterfaceBuilder.CocoaPlugin
</string>
<boolean
value=
"YES"
/>
<string>
com.apple.InterfaceBuilder.CocoaPlugin
</string>
<boolean
value=
"YES"
/>
<string>
com.apple.InterfaceBuilder.CocoaPlugin
</string>
<boolean
value=
"YES"
/>
<string>
{{
608, 373
}, {208, 363}}
</string>
<string>
{{
364, 305
}, {208, 363}}
</string>
<string>
com.apple.InterfaceBuilder.CocoaPlugin
</string>
<boolean
value=
"YES"
/>
<string>
com.apple.InterfaceBuilder.CocoaPlugin
</string>
...
...
@@ -11448,7 +11448,7 @@ LCAuLi4</string>
</object>
</object>
<nil
key=
"sourceID"
/>
<int
key=
"maxID"
>
474
0
</int>
<int
key=
"maxID"
>
474
9
</int>
</object>
<object
class=
"IBClassDescriber"
key=
"IBDocument.Classes"
>
<object
class=
"NSMutableArray"
key=
"referencedPartialClassDescriptions"
>
...
...
@@ -14169,38 +14169,1203 @@ LCAuLi4</string>
<object
class=
"NSMutableArray"
key=
"referencedPartialClassDescriptionsV3.1+"
>
<bool
key=
"EncodedWithXMLCoder"
>
YES
</bool>
<object
class=
"IBPartialClassDescription"
>
<string
key=
"className"
>
NSObject
</string>
<object
class=
"IBClassDescriptionSource"
key=
"sourceIdentifier"
id=
"647024034"
>
<string
key=
"majorKey"
>
IBDocumentRelativeSource
</string>
<string
key=
"minorKey"
>
../../../../contrib/hosts/x86_64-apple-darwin10/Sparkle/Sparkle.framework/Headers/SUUpdater.h
</string>
</object>
</object>
<object
class=
"IBPartialClassDescription"
>
<string
key=
"className"
>
SUUpdater
</string>
<string
key=
"className"
>
VLCMainMenu
</string>
<string
key=
"superclassName"
>
NSObject
</string>
<object
class=
"NSMutableDictionary"
key=
"actions"
>
<string
key=
"NS.key.0"
>
checkForUpdates:
</string>
<string
key=
"NS.object.0"
>
id
</string>
<bool
key=
"EncodedWithXMLCoder"
>
YES
</bool>
<object
class=
"NSArray"
key=
"dict.sortedKeys"
>
<bool
key=
"EncodedWithXMLCoder"
>
YES
</bool>
<string>
clearRecentItems:
</string>
<string>
createVideoSnapshot:
</string>
<string>
floatOnTop:
</string>
<string>
intfOpenCapture:
</string>
<string>
intfOpenDisc:
</string>
<string>
intfOpenFile:
</string>
<string>
intfOpenFileGeneric:
</string>
<string>
intfOpenNet:
</string>
<string>
openDocumentation:
</string>
<string>
openDonate:
</string>
<string>
openForum:
</string>
<string>
openReadMe:
</string>
<string>
openWebsite:
</string>
<string>
resizeVideoWindow:
</string>
<string>
setPlaybackRate:
</string>
<string>
showAudioEffects:
</string>
<string>
showBookmarks:
</string>
<string>
showInformationPanel:
</string>
<string>
showLicense:
</string>
<string>
showTrackSynchronization:
</string>
<string>
showVideoEffects:
</string>
<string>
showWizard:
</string>
<string>
toggleFullscreen:
</string>
<string>
toggleVar:
</string>
<string>
viewAbout:
</string>
<string>
viewErrorsAndWarnings:
</string>
<string>
viewHelp:
</string>
<string>
viewPreferences:
</string>
</object>
<object
class=
"NSMutableArray"
key=
"dict.values"
>
<bool
key=
"EncodedWithXMLCoder"
>
YES
</bool>
<string>
id
</string>
<string>
id
</string>
<string>
id
</string>
<string>
id
</string>
<string>
id
</string>
<string>
id
</string>
<string>
id
</string>
<string>
id
</string>
<string>
id
</string>
<string>
id
</string>
<string>
id
</string>
<string>
id
</string>
<string>
id
</string>
<string>
id
</string>
<string>
id
</string>
<string>
id
</string>
<string>
id
</string>
<string>
id
</string>
<string>
id
</string>
<string>
id
</string>
<string>
id
</string>
<string>
id
</string>
<string>
id
</string>
<string>
id
</string>
<string>
id
</string>
<string>
id
</string>
<string>
id
</string>
<string>
id
</string>
</object>
</object>
<object
class=
"NSMutableDictionary"
key=
"actionInfosByName"
>
<string
key=
"NS.key.0"
>
checkForUpdates:
</string>
<object
class=
"IBActionInfo"
key=
"NS.object.0"
>
<string
key=
"name"
>
checkForUpdates:
</string>
<bool
key=
"EncodedWithXMLCoder"
>
YES
</bool>
<object
class=
"NSArray"
key=
"dict.sortedKeys"
>
<bool
key=
"EncodedWithXMLCoder"
>
YES
</bool>
<string>
clearRecentItems:
</string>
<string>
createVideoSnapshot:
</string>
<string>
floatOnTop:
</string>
<string>
intfOpenCapture:
</string>
<string>
intfOpenDisc:
</string>
<string>
intfOpenFile:
</string>
<string>
intfOpenFileGeneric:
</string>
<string>
intfOpenNet:
</string>
<string>
openDocumentation:
</string>
<string>
openDonate:
</string>
<string>
openForum:
</string>
<string>
openReadMe:
</string>
<string>
openWebsite:
</string>
<string>
resizeVideoWindow:
</string>
<string>
setPlaybackRate:
</string>
<string>
showAudioEffects:
</string>
<string>
showBookmarks:
</string>
<string>
showInformationPanel:
</string>
<string>
showLicense:
</string>
<string>
showTrackSynchronization:
</string>
<string>
showVideoEffects:
</string>
<string>
showWizard:
</string>
<string>
toggleFullscreen:
</string>
<string>
toggleVar:
</string>
<string>
viewAbout:
</string>
<string>
viewErrorsAndWarnings:
</string>
<string>
viewHelp:
</string>
<string>
viewPreferences:
</string>
</object>
<object
class=
"NSMutableArray"
key=
"dict.values"
>
<bool
key=
"EncodedWithXMLCoder"
>
YES
</bool>
<object
class=
"IBActionInfo"
>
<string
key=
"name"
>
clearRecentItems:
</string>
<string
key=
"candidateClassName"
>
id
</string>
</object>
<object
class=
"IBActionInfo"
>
<string
key=
"name"
>
createVideoSnapshot:
</string>
<string
key=
"candidateClassName"
>
id
</string>
</object>
<object
class=
"NSMutableDictionary"
key=
"outlets
"
>
<string
key=
"NS.key.0"
>
delegate
</string>
<string
key=
"NS.object.0
"
>
id
</string>
<object
class=
"IBActionInfo
"
>
<string
key=
"name"
>
floatOnTop:
</string>
<string
key=
"candidateClassName
"
>
id
</string>
</object>
<object
class=
"NSMutableDictionary"
key=
"toOneOutletInfosByName"
>
<string
key=
"NS.key.0"
>
delegate
</string>
<object
class=
"IBToOneOutletInfo"
key=
"NS.object.0"
>
<string
key=
"name"
>
delegate
</string>
<object
class=
"IBActionInfo"
>
<string
key=
"name"
>
intfOpenCapture:
</string>
<string
key=
"candidateClassName"
>
id
</string>
</object>
<object
class=
"IBActionInfo"
>
<string
key=
"name"
>
intfOpenDisc:
</string>
<string
key=
"candidateClassName"
>
id
</string>
</object>
<object
class=
"IBActionInfo"
>
<string
key=
"name"
>
intfOpenFile:
</string>
<string
key=
"candidateClassName"
>
id
</string>
</object>
<object
class=
"IBActionInfo"
>
<string
key=
"name"
>
intfOpenFileGeneric:
</string>
<string
key=
"candidateClassName"
>
id
</string>
</object>
<object
class=
"IBActionInfo"
>
<string
key=
"name"
>
intfOpenNet:
</string>
<string
key=
"candidateClassName"
>
id
</string>
</object>
<object
class=
"IBActionInfo"
>
<string
key=
"name"
>
openDocumentation:
</string>
<string
key=
"candidateClassName"
>
id
</string>
</object>
<object
class=
"IBActionInfo"
>
<string
key=
"name"
>
openDonate:
</string>
<string
key=
"candidateClassName"
>
id
</string>
</object>
<object
class=
"IBActionInfo"
>
<string
key=
"name"
>
openForum:
</string>
<string
key=
"candidateClassName"
>
id
</string>
</object>
<object
class=
"IBActionInfo"
>
<string
key=
"name"
>
openReadMe:
</string>
<string
key=
"candidateClassName"
>
id
</string>
</object>
<object
class=
"IBActionInfo"
>
<string
key=
"name"
>
openWebsite:
</string>
<string
key=
"candidateClassName"
>
id
</string>
</object>
<object
class=
"IBActionInfo"
>
<string
key=
"name"
>
resizeVideoWindow:
</string>
<string
key=
"candidateClassName"
>
id
</string>
</object>
<object
class=
"IBActionInfo"
>
<string
key=
"name"
>
setPlaybackRate:
</string>
<string
key=
"candidateClassName"
>
id
</string>
</object>
<object
class=
"IBActionInfo"
>
<string
key=
"name"
>
showAudioEffects:
</string>
<string
key=
"candidateClassName"
>
id
</string>
</object>
<object
class=
"IBActionInfo"
>
<string
key=
"name"
>
showBookmarks:
</string>
<string
key=
"candidateClassName"
>
id
</string>
</object>
<object
class=
"IBActionInfo"
>
<string
key=
"name"
>
showInformationPanel:
</string>
<string
key=
"candidateClassName"
>
id
</string>
</object>
<object
class=
"IBActionInfo"
>
<string
key=
"name"
>
showLicense:
</string>
<string
key=
"candidateClassName"
>
id
</string>
</object>
<object
class=
"IBActionInfo"
>
<string
key=
"name"
>
showTrackSynchronization:
</string>
<string
key=
"candidateClassName"
>
id
</string>
</object>
<object
class=
"IBActionInfo"
>
<string
key=
"name"
>
showVideoEffects:
</string>
<string
key=
"candidateClassName"
>
id
</string>
</object>
<object
class=
"IBActionInfo"
>
<string
key=
"name"
>
showWizard:
</string>
<string
key=
"candidateClassName"
>
id
</string>
</object>
<object
class=
"IBActionInfo"
>
<string
key=
"name"
>
toggleFullscreen:
</string>
<string
key=
"candidateClassName"
>
id
</string>
</object>
<object
class=
"IBActionInfo"
>
<string
key=
"name"
>
toggleVar:
</string>
<string
key=
"candidateClassName"
>
id
</string>
</object>
<object
class=
"IBActionInfo"
>
<string
key=
"name"
>
viewAbout:
</string>
<string
key=
"candidateClassName"
>
id
</string>
</object>
<object
class=
"IBActionInfo"
>
<string
key=
"name"
>
viewErrorsAndWarnings:
</string>
<string
key=
"candidateClassName"
>
id
</string>
</object>
<object
class=
"IBActionInfo"
>
<string
key=
"name"
>
viewHelp:
</string>
<string
key=
"candidateClassName"
>
id
</string>
</object>
<object
class=
"IBActionInfo"
>
<string
key=
"name"
>
viewPreferences:
</string>
<string
key=
"candidateClassName"
>
id
</string>
</object>
</object>
</object>
<object
class=
"NSMutableDictionary"
key=
"outlets"
>
<bool
key=
"EncodedWithXMLCoder"
>
YES
</bool>
<object
class=
"NSArray"
key=
"dict.sortedKeys"
>
<bool
key=
"EncodedWithXMLCoder"
>
YES
</bool>
<string>
o_about
</string>
<string>
o_audioeffects
</string>
<string>
o_bookmarks
</string>
<string>
o_dmi_mute
</string>
<string>
o_dmi_next
</string>
<string>
o_dmi_play
</string>
<string>
o_dmi_previous
</string>
<string>
o_dmi_stop
</string>
<string>
o_mi_about
</string>
<string>
o_mi_addSub
</string>
<string>
o_mi_add_intf
</string>
<string>
o_mi_aspect_ratio
</string>
<string>
o_mi_audioeffects
</string>
<string>
o_mi_audiotrack
</string>
<string>
o_mi_bookmarks
</string>
<string>
o_mi_bring_atf
</string>
<string>
o_mi_bwd
</string>
<string>
o_mi_channels
</string>
<string>
o_mi_chapter
</string>
<string>
o_mi_checkForUpdate
</string>
<string>
o_mi_clear
</string>
<string>
o_mi_close_window
</string>
<string>
o_mi_controller
</string>
<string>
o_mi_copy
</string>
<string>
o_mi_crop
</string>
<string>
o_mi_cut
</string>
<string>
o_mi_deinterlace
</string>
<string>
o_mi_deinterlace_mode
</string>
<string>
o_mi_device
</string>
<string>
o_mi_documentation
</string>
<string>
o_mi_donation
</string>
<string>
o_mi_double_window
</string>
<string>
o_mi_errorsAndWarnings
</string>
<string>
o_mi_ffmpeg_pp
</string>
<string>
o_mi_fittoscreen
</string>
<string>
o_mi_floatontop
</string>
<string>
o_mi_forum
</string>
<string>
o_mi_fullscreen
</string>
<string>
o_mi_fwd
</string>
<string>
o_mi_half_window
</string>
<string>
o_mi_help
</string>
<string>
o_mi_hide
</string>
<string>
o_mi_hide_others
</string>
<string>
o_mi_info
</string>
<string>
o_mi_license
</string>
<string>
o_mi_loop
</string>
<string>
o_mi_messages
</string>
<string>
o_mi_minimize
</string>
<string>
o_mi_mute
</string>
<string>
o_mi_next
</string>
<string>
o_mi_normal_window
</string>
<string>
o_mi_open_capture
</string>
<string>
o_mi_open_disc
</string>
<string>
o_mi_open_file
</string>
<string>
o_mi_open_generic
</string>
<string>
o_mi_open_net
</string>
<string>
o_mi_open_recent
</string>
<string>
o_mi_open_recent_cm
</string>
<string>
o_mi_open_wizard
</string>
<string>
o_mi_paste
</string>
<string>
o_mi_play
</string>
<string>
o_mi_player
</string>
<string>
o_mi_playlist
</string>
<string>
o_mi_prefs
</string>
<string>
o_mi_previous
</string>
<string>
o_mi_program
</string>
<string>
o_mi_quit
</string>
<string>
o_mi_quitAfterPB
</string>
<string>
o_mi_random
</string>
<string>
o_mi_rate
</string>
<string>
o_mi_rate_faster_lbl
</string>
<string>
o_mi_rate_fld
</string>
<string>
o_mi_rate_lbl
</string>
<string>
o_mi_rate_lbl_gray
</string>
<string>
o_mi_rate_normal_lbl
</string>
<string>
o_mi_rate_sld
</string>
<string>
o_mi_rate_slower_lbl
</string>
<string>
o_mi_rate_view
</string>
<string>
o_mi_readme
</string>
<string>
o_mi_repeat
</string>
<string>
o_mi_screen
</string>
<string>
o_mi_select_all
</string>
<string>
o_mi_services
</string>
<string>
o_mi_show_all
</string>
<string>
o_mi_snapshot
</string>
<string>
o_mi_stop
</string>
<string>
o_mi_subtitle
</string>
<string>
o_mi_teletext
</string>
<string>
o_mi_teletext_blue
</string>
<string>
o_mi_teletext_green
</string>
<string>
o_mi_teletext_index
</string>
<string>
o_mi_teletext_red
</string>
<string>
o_mi_teletext_transparent
</string>
<string>
o_mi_teletext_yellow
</string>
<string>
o_mi_title
</string>
<string>
o_mi_trackSynchronization
</string>
<string>
o_mi_videoeffects
</string>
<string>
o_mi_videotrack
</string>
<string>
o_mi_visual
</string>
<string>
o_mi_vol_down
</string>
<string>
o_mi_vol_up
</string>
<string>
o_mi_website
</string>
<string>
o_mu_add_intf
</string>
<string>
o_mu_aspect_ratio
</string>
<string>
o_mu_audio
</string>
<string>
o_mu_audiotrack
</string>
<string>
o_mu_channels
</string>
<string>
o_mu_chapter
</string>
<string>
o_mu_controls
</string>
<string>
o_mu_crop
</string>
<string>
o_mu_deinterlace
</string>
<string>
o_mu_deinterlace_mode
</string>
<string>
o_mu_device
</string>
<string>
o_mu_edit
</string>
<string>
o_mu_ffmpeg_pp
</string>
<string>
o_mu_file
</string>
<string>
o_mu_help
</string>
<string>
o_mu_program
</string>
<string>
o_mu_screen
</string>
<string>
o_mu_subtitle
</string>
<string>
o_mu_title
</string>
<string>
o_mu_video
</string>
<string>
o_mu_videotrack
</string>
<string>
o_mu_visual
</string>
<string>
o_mu_window
</string>
<string>
o_trackSynchronization
</string>
<string>
o_videoeffects
</string>
<string>
o_vmi_fullscreen
</string>
<string>
o_vmi_mute
</string>
<string>
o_vmi_next
</string>
<string>
o_vmi_play
</string>
<string>
o_vmi_prev
</string>
<string>
o_vmi_snapshot
</string>
<string>
o_vmi_stop
</string>
<string>
o_vmi_voldown
</string>
<string>
o_vmi_volup
</string>
<string>
o_vout_menu
</string>
</object>
<object
class=
"NSMutableArray"
key=
"dict.values"
>
<bool
key=
"EncodedWithXMLCoder"
>
YES
</bool>
<string>
id
</string>
<string>
id
</string>
<string>
id
</string>
<string>
NSMenuItem
</string>
<string>
NSMenuItem
</string>
<string>
NSMenuItem
</string>
<string>
NSMenuItem
</string>
<string>
NSMenuItem
</string>
<string>
NSMenuItem
</string>
<string>
NSMenuItem
</string>
<string>
NSMenuItem
</string>
<string>
NSMenuItem
</string>
<string>
NSMenuItem
</string>
<string>
NSMenuItem
</string>
<string>
NSMenuItem
</string>
<string>
NSMenuItem
</string>
<string>
NSMenuItem
</string>
<string>
NSMenuItem
</string>
<string>
NSMenuItem
</string>
<string>
NSMenuItem
</string>
<string>
NSMenuItem
</string>
<string>
NSMenuItem
</string>
<string>
NSMenuItem
</string>
<string>
NSMenuItem
</string>
<string>
NSMenuItem
</string>
<string>
NSMenuItem
</string>
<string>
NSMenuItem
</string>
<string>
NSMenuItem
</string>
<string>
NSMenuItem
</string>
<string>
NSMenuItem
</string>
<string>
NSMenuItem
</string>
<string>
NSMenuItem
</string>
<string>
NSMenuItem
</string>
<string>
NSMenuItem
</string>
<string>
NSMenuItem
</string>
<string>
NSMenuItem
</string>
<string>
NSMenuItem
</string>
<string>
NSMenuItem
</string>
<string>
NSMenuItem
</string>
<string>
NSMenuItem
</string>
<string>
NSMenuItem
</string>
<string>
NSMenuItem
</string>
<string>
NSMenuItem
</string>
<string>
NSMenuItem
</string>
<string>
NSMenuItem
</string>
<string>
NSMenuItem
</string>
<string>
NSMenuItem
</string>
<string>
NSMenuItem
</string>
<string>
NSMenuItem
</string>
<string>
NSMenuItem
</string>
<string>
NSMenuItem
</string>
<string>
NSMenuItem
</string>
<string>
NSMenuItem
</string>
<string>
NSMenuItem
</string>
<string>
NSMenuItem
</string>
<string>
NSMenuItem
</string>
<string>
NSMenuItem
</string>
<string>
NSMenuItem
</string>
<string>
NSMenuItem
</string>
<string>
NSMenuItem
</string>
<string>
NSMenuItem
</string>
<string>
NSMenuItem
</string>
<string>
NSMenuItem
</string>
<string>
NSMenuItem
</string>
<string>
NSMenuItem
</string>
<string>
NSMenuItem
</string>
<string>
NSMenuItem
</string>
<string>
NSMenuItem
</string>
<string>
NSMenuItem
</string>
<string>
NSMenuItem
</string>
<string>
id
</string>
<string>
id
</string>
<string>
id
</string>
<string>
id
</string>
<string>
id
</string>
<string>
id
</string>
<string>
id
</string>
<string>
NSView
</string>
<string>
NSMenuItem
</string>
<string>
NSMenuItem
</string>
<string>
NSMenuItem
</string>
<string>
NSMenuItem
</string>
<string>
NSMenuItem
</string>
<string>
NSMenuItem
</string>
<string>
NSMenuItem
</string>
<string>
NSMenuItem
</string>
<string>
NSMenuItem
</string>
<string>
NSMenuItem
</string>
<string>
NSMenuItem
</string>
<string>
NSMenuItem
</string>
<string>
NSMenuItem
</string>
<string>
NSMenuItem
</string>
<string>
NSMenuItem
</string>
<string>
NSMenuItem
</string>
<string>
NSMenuItem
</string>
<string>
NSMenuItem
</string>
<string>
NSMenuItem
</string>
<string>
NSMenuItem
</string>
<string>
NSMenuItem
</string>
<string>
NSMenuItem
</string>
<string>
NSMenuItem
</string>
<string>
NSMenuItem
</string>
<string>
NSMenu
</string>
<string>
NSMenu
</string>
<string>
NSMenu
</string>
<string>
NSMenu
</string>
<string>
NSMenu
</string>
<string>
NSMenu
</string>
<string>
NSMenu
</string>
<string>
NSMenu
</string>
<string>
NSMenu
</string>
<string>
NSMenu
</string>
<string>
NSMenu
</string>
<string>
NSMenu
</string>
<string>
NSMenu
</string>
<string>
NSMenu
</string>
<string>
NSMenu
</string>
<string>
NSMenu
</string>
<string>
NSMenu
</string>
<string>
NSMenu
</string>
<string>
NSMenu
</string>
<string>
NSMenu
</string>
<string>
NSMenu
</string>
<string>
NSMenu
</string>
<string>
NSMenu
</string>
<string>
id
</string>
<string>
id
</string>
<string>
NSMenuItem
</string>
<string>
NSMenuItem
</string>
<string>
NSMenuItem
</string>
<string>
NSMenuItem
</string>
<string>
NSMenuItem
</string>
<string>
NSMenuItem
</string>
<string>
NSMenuItem
</string>
<string>
NSMenuItem
</string>
<string>
NSMenuItem
</string>
<string>
NSMenu
</string>
</object>
</object>
<object
class=
"NSMutableDictionary"
key=
"toOneOutletInfosByName"
>
<bool
key=
"EncodedWithXMLCoder"
>
YES
</bool>
<object
class=
"NSArray"
key=
"dict.sortedKeys"
>
<bool
key=
"EncodedWithXMLCoder"
>
YES
</bool>
<string>
o_about
</string>
<string>
o_audioeffects
</string>
<string>
o_bookmarks
</string>
<string>
o_dmi_mute
</string>
<string>
o_dmi_next
</string>
<string>
o_dmi_play
</string>
<string>
o_dmi_previous
</string>
<string>
o_dmi_stop
</string>
<string>
o_mi_about
</string>
<string>
o_mi_addSub
</string>
<string>
o_mi_add_intf
</string>
<string>
o_mi_aspect_ratio
</string>
<string>
o_mi_audioeffects
</string>
<string>
o_mi_audiotrack
</string>
<string>
o_mi_bookmarks
</string>
<string>
o_mi_bring_atf
</string>
<string>
o_mi_bwd
</string>
<string>
o_mi_channels
</string>
<string>
o_mi_chapter
</string>
<string>
o_mi_checkForUpdate
</string>
<string>
o_mi_clear
</string>
<string>
o_mi_close_window
</string>
<string>
o_mi_controller
</string>
<string>
o_mi_copy
</string>
<string>
o_mi_crop
</string>
<string>
o_mi_cut
</string>
<string>
o_mi_deinterlace
</string>
<string>
o_mi_deinterlace_mode
</string>
<string>
o_mi_device
</string>
<string>
o_mi_documentation
</string>
<string>
o_mi_donation
</string>
<string>
o_mi_double_window
</string>
<string>
o_mi_errorsAndWarnings
</string>
<string>
o_mi_ffmpeg_pp
</string>
<string>
o_mi_fittoscreen
</string>
<string>
o_mi_floatontop
</string>
<string>
o_mi_forum
</string>
<string>
o_mi_fullscreen
</string>
<string>
o_mi_fwd
</string>
<string>
o_mi_half_window
</string>
<string>
o_mi_help
</string>
<string>
o_mi_hide
</string>
<string>
o_mi_hide_others
</string>
<string>
o_mi_info
</string>
<string>
o_mi_license
</string>
<string>
o_mi_loop
</string>
<string>
o_mi_messages
</string>
<string>
o_mi_minimize
</string>
<string>
o_mi_mute
</string>
<string>
o_mi_next
</string>
<string>
o_mi_normal_window
</string>
<string>
o_mi_open_capture
</string>
<string>
o_mi_open_disc
</string>
<string>
o_mi_open_file
</string>
<string>
o_mi_open_generic
</string>
<string>
o_mi_open_net
</string>
<string>
o_mi_open_recent
</string>
<string>
o_mi_open_recent_cm
</string>
<string>
o_mi_open_wizard
</string>
<string>
o_mi_paste
</string>
<string>
o_mi_play
</string>
<string>
o_mi_player
</string>
<string>
o_mi_playlist
</string>
<string>
o_mi_prefs
</string>
<string>
o_mi_previous
</string>
<string>
o_mi_program
</string>
<string>
o_mi_quit
</string>
<string>
o_mi_quitAfterPB
</string>
<string>
o_mi_random
</string>
<string>
o_mi_rate
</string>
<string>
o_mi_rate_faster_lbl
</string>
<string>
o_mi_rate_fld
</string>
<string>
o_mi_rate_lbl
</string>
<string>
o_mi_rate_lbl_gray
</string>
<string>
o_mi_rate_normal_lbl
</string>
<string>
o_mi_rate_sld
</string>
<string>
o_mi_rate_slower_lbl
</string>
<string>
o_mi_rate_view
</string>
<string>
o_mi_readme
</string>
<string>
o_mi_repeat
</string>
<string>
o_mi_screen
</string>
<string>
o_mi_select_all
</string>
<string>
o_mi_services
</string>
<string>
o_mi_show_all
</string>
<string>
o_mi_snapshot
</string>
<string>
o_mi_stop
</string>
<string>
o_mi_subtitle
</string>
<string>
o_mi_teletext
</string>
<string>
o_mi_teletext_blue
</string>
<string>
o_mi_teletext_green
</string>
<string>
o_mi_teletext_index
</string>
<string>
o_mi_teletext_red
</string>
<string>
o_mi_teletext_transparent
</string>
<string>
o_mi_teletext_yellow
</string>
<string>
o_mi_title
</string>
<string>
o_mi_trackSynchronization
</string>
<string>
o_mi_videoeffects
</string>
<string>
o_mi_videotrack
</string>
<string>
o_mi_visual
</string>
<string>
o_mi_vol_down
</string>
<string>
o_mi_vol_up
</string>
<string>
o_mi_website
</string>
<string>
o_mu_add_intf
</string>
<string>
o_mu_aspect_ratio
</string>
<string>
o_mu_audio
</string>
<string>
o_mu_audiotrack
</string>
<string>
o_mu_channels
</string>
<string>
o_mu_chapter
</string>
<string>
o_mu_controls
</string>
<string>
o_mu_crop
</string>
<string>
o_mu_deinterlace
</string>
<string>
o_mu_deinterlace_mode
</string>
<string>
o_mu_device
</string>
<string>
o_mu_edit
</string>
<string>
o_mu_ffmpeg_pp
</string>
<string>
o_mu_file
</string>
<string>
o_mu_help
</string>
<string>
o_mu_program
</string>
<string>
o_mu_screen
</string>
<string>
o_mu_subtitle
</string>
<string>
o_mu_title
</string>
<string>
o_mu_video
</string>
<string>
o_mu_videotrack
</string>
<string>
o_mu_visual
</string>
<string>
o_mu_window
</string>
<string>
o_trackSynchronization
</string>
<string>
o_videoeffects
</string>
<string>
o_vmi_fullscreen
</string>
<string>
o_vmi_mute
</string>
<string>
o_vmi_next
</string>
<string>
o_vmi_play
</string>
<string>
o_vmi_prev
</string>
<string>
o_vmi_snapshot
</string>
<string>
o_vmi_stop
</string>
<string>
o_vmi_voldown
</string>
<string>
o_vmi_volup
</string>
<string>
o_vout_menu
</string>
</object>
<object
class=
"NSMutableArray"
key=
"dict.values"
>
<bool
key=
"EncodedWithXMLCoder"
>
YES
</bool>
<object
class=
"IBToOneOutletInfo"
>
<string
key=
"name"
>
o_about
</string>
<string
key=
"candidateClassName"
>
id
</string>
</object>
<object
class=
"IBToOneOutletInfo"
>
<string
key=
"name"
>
o_audioeffects
</string>
<string
key=
"candidateClassName"
>
id
</string>
</object>
<object
class=
"IBToOneOutletInfo"
>
<string
key=
"name"
>
o_bookmarks
</string>
<string
key=
"candidateClassName"
>
id
</string>
</object>
<object
class=
"IBToOneOutletInfo"
>
<string
key=
"name"
>
o_dmi_mute
</string>
<string
key=
"candidateClassName"
>
NSMenuItem
</string>
</object>
<object
class=
"IBToOneOutletInfo"
>
<string
key=
"name"
>
o_dmi_next
</string>
<string
key=
"candidateClassName"
>
NSMenuItem
</string>
</object>
<object
class=
"IBToOneOutletInfo"
>
<string
key=
"name"
>
o_dmi_play
</string>
<string
key=
"candidateClassName"
>
NSMenuItem
</string>
</object>
<object
class=
"IBToOneOutletInfo"
>
<string
key=
"name"
>
o_dmi_previous
</string>
<string
key=
"candidateClassName"
>
NSMenuItem
</string>
</object>
<object
class=
"IBToOneOutletInfo"
>
<string
key=
"name"
>
o_dmi_stop
</string>
<string
key=
"candidateClassName"
>
NSMenuItem
</string>
</object>
<object
class=
"IBToOneOutletInfo"
>
<string
key=
"name"
>
o_mi_about
</string>
<string
key=
"candidateClassName"
>
NSMenuItem
</string>
</object>
<object
class=
"IBToOneOutletInfo"
>
<string
key=
"name"
>
o_mi_addSub
</string>
<string
key=
"candidateClassName"
>
NSMenuItem
</string>
</object>
<object
class=
"IBToOneOutletInfo"
>
<string
key=
"name"
>
o_mi_add_intf
</string>
<string
key=
"candidateClassName"
>
NSMenuItem
</string>
</object>
<object
class=
"IBToOneOutletInfo"
>
<string
key=
"name"
>
o_mi_aspect_ratio
</string>
<string
key=
"candidateClassName"
>
NSMenuItem
</string>
</object>
<object
class=
"IBToOneOutletInfo"
>
<string
key=
"name"
>
o_mi_audioeffects
</string>
<string
key=
"candidateClassName"
>
NSMenuItem
</string>
</object>
<object
class=
"IBToOneOutletInfo"
>
<string
key=
"name"
>
o_mi_audiotrack
</string>
<string
key=
"candidateClassName"
>
NSMenuItem
</string>
</object>
<object
class=
"IBToOneOutletInfo"
>
<string
key=
"name"
>
o_mi_bookmarks
</string>
<string
key=
"candidateClassName"
>
NSMenuItem
</string>
</object>
<object
class=
"IBToOneOutletInfo"
>
<string
key=
"name"
>
o_mi_bring_atf
</string>
<string
key=
"candidateClassName"
>
NSMenuItem
</string>
</object>
<object
class=
"IBToOneOutletInfo"
>
<string
key=
"name"
>
o_mi_bwd
</string>
<string
key=
"candidateClassName"
>
NSMenuItem
</string>
</object>
<object
class=
"IBToOneOutletInfo"
>
<string
key=
"name"
>
o_mi_channels
</string>
<string
key=
"candidateClassName"
>
NSMenuItem
</string>
</object>
<object
class=
"IBToOneOutletInfo"
>
<string
key=
"name"
>
o_mi_chapter
</string>
<string
key=
"candidateClassName"
>
NSMenuItem
</string>
</object>
<object
class=
"IBToOneOutletInfo"
>
<string
key=
"name"
>
o_mi_checkForUpdate
</string>
<string
key=
"candidateClassName"
>
NSMenuItem
</string>
</object>
<object
class=
"IBToOneOutletInfo"
>
<string
key=
"name"
>
o_mi_clear
</string>
<string
key=
"candidateClassName"
>
NSMenuItem
</string>
</object>
<object
class=
"IBToOneOutletInfo"
>
<string
key=
"name"
>
o_mi_close_window
</string>
<string
key=
"candidateClassName"
>
NSMenuItem
</string>
</object>
<object
class=
"IBToOneOutletInfo"
>
<string
key=
"name"
>
o_mi_controller
</string>
<string
key=
"candidateClassName"
>
NSMenuItem
</string>
</object>
<object
class=
"IBToOneOutletInfo"
>
<string
key=
"name"
>
o_mi_copy
</string>
<string
key=
"candidateClassName"
>
NSMenuItem
</string>
</object>
<object
class=
"IBToOneOutletInfo"
>
<string
key=
"name"
>
o_mi_crop
</string>
<string
key=
"candidateClassName"
>
NSMenuItem
</string>
</object>
<object
class=
"IBToOneOutletInfo"
>
<string
key=
"name"
>
o_mi_cut
</string>
<string
key=
"candidateClassName"
>
NSMenuItem
</string>
</object>
<object
class=
"IBToOneOutletInfo"
>
<string
key=
"name"
>
o_mi_deinterlace
</string>
<string
key=
"candidateClassName"
>
NSMenuItem
</string>
</object>
<object
class=
"IBToOneOutletInfo"
>
<string
key=
"name"
>
o_mi_deinterlace_mode
</string>
<string
key=
"candidateClassName"
>
NSMenuItem
</string>
</object>
<object
class=
"IBToOneOutletInfo"
>
<string
key=
"name"
>
o_mi_device
</string>
<string
key=
"candidateClassName"
>
NSMenuItem
</string>
</object>
<object
class=
"IBToOneOutletInfo"
>
<string
key=
"name"
>
o_mi_documentation
</string>
<string
key=
"candidateClassName"
>
NSMenuItem
</string>
</object>
<object
class=
"IBToOneOutletInfo"
>
<string
key=
"name"
>
o_mi_donation
</string>
<string
key=
"candidateClassName"
>
NSMenuItem
</string>
</object>
<object
class=
"IBToOneOutletInfo"
>
<string
key=
"name"
>
o_mi_double_window
</string>
<string
key=
"candidateClassName"
>
NSMenuItem
</string>
</object>
<object
class=
"IBToOneOutletInfo"
>
<string
key=
"name"
>
o_mi_errorsAndWarnings
</string>
<string
key=
"candidateClassName"
>
NSMenuItem
</string>
</object>
<object
class=
"IBToOneOutletInfo"
>
<string
key=
"name"
>
o_mi_ffmpeg_pp
</string>
<string
key=
"candidateClassName"
>
NSMenuItem
</string>
</object>
<object
class=
"IBToOneOutletInfo"
>
<string
key=
"name"
>
o_mi_fittoscreen
</string>
<string
key=
"candidateClassName"
>
NSMenuItem
</string>
</object>
<object
class=
"IBToOneOutletInfo"
>
<string
key=
"name"
>
o_mi_floatontop
</string>
<string
key=
"candidateClassName"
>
NSMenuItem
</string>
</object>
<object
class=
"IBToOneOutletInfo"
>
<string
key=
"name"
>
o_mi_forum
</string>
<string
key=
"candidateClassName"
>
NSMenuItem
</string>
</object>
<object
class=
"IBToOneOutletInfo"
>
<string
key=
"name"
>
o_mi_fullscreen
</string>
<string
key=
"candidateClassName"
>
NSMenuItem
</string>
</object>
<object
class=
"IBToOneOutletInfo"
>
<string
key=
"name"
>
o_mi_fwd
</string>
<string
key=
"candidateClassName"
>
NSMenuItem
</string>
</object>
<object
class=
"IBToOneOutletInfo"
>
<string
key=
"name"
>
o_mi_half_window
</string>
<string
key=
"candidateClassName"
>
NSMenuItem
</string>
</object>
<object
class=
"IBToOneOutletInfo"
>
<string
key=
"name"
>
o_mi_help
</string>
<string
key=
"candidateClassName"
>
NSMenuItem
</string>
</object>
<object
class=
"IBToOneOutletInfo"
>
<string
key=
"name"
>
o_mi_hide
</string>
<string
key=
"candidateClassName"
>
NSMenuItem
</string>
</object>
<object
class=
"IBToOneOutletInfo"
>
<string
key=
"name"
>
o_mi_hide_others
</string>
<string
key=
"candidateClassName"
>
NSMenuItem
</string>
</object>
<object
class=
"IBToOneOutletInfo"
>
<string
key=
"name"
>
o_mi_info
</string>
<string
key=
"candidateClassName"
>
NSMenuItem
</string>
</object>
<object
class=
"IBToOneOutletInfo"
>
<string
key=
"name"
>
o_mi_license
</string>
<string
key=
"candidateClassName"
>
NSMenuItem
</string>
</object>
<object
class=
"IBToOneOutletInfo"
>
<string
key=
"name"
>
o_mi_loop
</string>
<string
key=
"candidateClassName"
>
NSMenuItem
</string>
</object>
<object
class=
"IBToOneOutletInfo"
>
<string
key=
"name"
>
o_mi_messages
</string>
<string
key=
"candidateClassName"
>
NSMenuItem
</string>
</object>
<object
class=
"IBToOneOutletInfo"
>
<string
key=
"name"
>
o_mi_minimize
</string>
<string
key=
"candidateClassName"
>
NSMenuItem
</string>
</object>
<object
class=
"IBToOneOutletInfo"
>
<string
key=
"name"
>
o_mi_mute
</string>
<string
key=
"candidateClassName"
>
NSMenuItem
</string>
</object>
<object
class=
"IBToOneOutletInfo"
>
<string
key=
"name"
>
o_mi_next
</string>
<string
key=
"candidateClassName"
>
NSMenuItem
</string>
</object>
<object
class=
"IBToOneOutletInfo"
>
<string
key=
"name"
>
o_mi_normal_window
</string>
<string
key=
"candidateClassName"
>
NSMenuItem
</string>
</object>
<object
class=
"IBToOneOutletInfo"
>
<string
key=
"name"
>
o_mi_open_capture
</string>
<string
key=
"candidateClassName"
>
NSMenuItem
</string>
</object>
<object
class=
"IBToOneOutletInfo"
>
<string
key=
"name"
>
o_mi_open_disc
</string>
<string
key=
"candidateClassName"
>
NSMenuItem
</string>
</object>
<object
class=
"IBToOneOutletInfo"
>
<string
key=
"name"
>
o_mi_open_file
</string>
<string
key=
"candidateClassName"
>
NSMenuItem
</string>
</object>
<object
class=
"IBToOneOutletInfo"
>
<string
key=
"name"
>
o_mi_open_generic
</string>
<string
key=
"candidateClassName"
>
NSMenuItem
</string>
</object>
<object
class=
"IBToOneOutletInfo"
>
<string
key=
"name"
>
o_mi_open_net
</string>
<string
key=
"candidateClassName"
>
NSMenuItem
</string>
</object>
<object
class=
"IBToOneOutletInfo"
>
<string
key=
"name"
>
o_mi_open_recent
</string>
<string
key=
"candidateClassName"
>
NSMenuItem
</string>
</object>
<object
class=
"IBToOneOutletInfo"
>
<string
key=
"name"
>
o_mi_open_recent_cm
</string>
<string
key=
"candidateClassName"
>
NSMenuItem
</string>
</object>
<object
class=
"IBToOneOutletInfo"
>
<string
key=
"name"
>
o_mi_open_wizard
</string>
<string
key=
"candidateClassName"
>
NSMenuItem
</string>
</object>
<object
class=
"IBToOneOutletInfo"
>
<string
key=
"name"
>
o_mi_paste
</string>
<string
key=
"candidateClassName"
>
NSMenuItem
</string>
</object>
<object
class=
"IBToOneOutletInfo"
>
<string
key=
"name"
>
o_mi_play
</string>
<string
key=
"candidateClassName"
>
NSMenuItem
</string>
</object>
<object
class=
"IBToOneOutletInfo"
>
<string
key=
"name"
>
o_mi_player
</string>
<string
key=
"candidateClassName"
>
NSMenuItem
</string>
</object>
<object
class=
"IBToOneOutletInfo"
>
<string
key=
"name"
>
o_mi_playlist
</string>
<string
key=
"candidateClassName"
>
NSMenuItem
</string>
</object>
<object
class=
"IBToOneOutletInfo"
>
<string
key=
"name"
>
o_mi_prefs
</string>
<string
key=
"candidateClassName"
>
NSMenuItem
</string>
</object>
<object
class=
"IBToOneOutletInfo"
>
<string
key=
"name"
>
o_mi_previous
</string>
<string
key=
"candidateClassName"
>
NSMenuItem
</string>
</object>
<object
class=
"IBToOneOutletInfo"
>
<string
key=
"name"
>
o_mi_program
</string>
<string
key=
"candidateClassName"
>
NSMenuItem
</string>
</object>
<object
class=
"IBToOneOutletInfo"
>
<string
key=
"name"
>
o_mi_quit
</string>
<string
key=
"candidateClassName"
>
NSMenuItem
</string>
</object>
<object
class=
"IBToOneOutletInfo"
>
<string
key=
"name"
>
o_mi_quitAfterPB
</string>
<string
key=
"candidateClassName"
>
NSMenuItem
</string>
</object>
<object
class=
"IBToOneOutletInfo"
>
<string
key=
"name"
>
o_mi_random
</string>
<string
key=
"candidateClassName"
>
NSMenuItem
</string>
</object>
<object
class=
"IBToOneOutletInfo"
>
<string
key=
"name"
>
o_mi_rate
</string>
<string
key=
"candidateClassName"
>
NSMenuItem
</string>
</object>
<object
class=
"IBToOneOutletInfo"
>
<string
key=
"name"
>
o_mi_rate_faster_lbl
</string>
<string
key=
"candidateClassName"
>
id
</string>
</object>
<object
class=
"IBToOneOutletInfo"
>
<string
key=
"name"
>
o_mi_rate_fld
</string>
<string
key=
"candidateClassName"
>
id
</string>
</object>
<object
class=
"IBToOneOutletInfo"
>
<string
key=
"name"
>
o_mi_rate_lbl
</string>
<string
key=
"candidateClassName"
>
id
</string>
</object>
<object
class=
"IBToOneOutletInfo"
>
<string
key=
"name"
>
o_mi_rate_lbl_gray
</string>
<string
key=
"candidateClassName"
>
id
</string>
</object>
<object
class=
"IBToOneOutletInfo"
>
<string
key=
"name"
>
o_mi_rate_normal_lbl
</string>
<string
key=
"candidateClassName"
>
id
</string>
</object>
<object
class=
"IBToOneOutletInfo"
>
<string
key=
"name"
>
o_mi_rate_sld
</string>
<string
key=
"candidateClassName"
>
id
</string>
</object>
<object
class=
"IBToOneOutletInfo"
>
<string
key=
"name"
>
o_mi_rate_slower_lbl
</string>
<string
key=
"candidateClassName"
>
id
</string>
</object>
<object
class=
"IBToOneOutletInfo"
>
<string
key=
"name"
>
o_mi_rate_view
</string>
<string
key=
"candidateClassName"
>
NSView
</string>
</object>
<object
class=
"IBToOneOutletInfo"
>
<string
key=
"name"
>
o_mi_readme
</string>
<string
key=
"candidateClassName"
>
NSMenuItem
</string>
</object>
<object
class=
"IBToOneOutletInfo"
>
<string
key=
"name"
>
o_mi_repeat
</string>
<string
key=
"candidateClassName"
>
NSMenuItem
</string>
</object>
<object
class=
"IBToOneOutletInfo"
>
<string
key=
"name"
>
o_mi_screen
</string>
<string
key=
"candidateClassName"
>
NSMenuItem
</string>
</object>
<object
class=
"IBToOneOutletInfo"
>
<string
key=
"name"
>
o_mi_select_all
</string>
<string
key=
"candidateClassName"
>
NSMenuItem
</string>
</object>
<object
class=
"IBToOneOutletInfo"
>
<string
key=
"name"
>
o_mi_services
</string>
<string
key=
"candidateClassName"
>
NSMenuItem
</string>
</object>
<object
class=
"IBToOneOutletInfo"
>
<string
key=
"name"
>
o_mi_show_all
</string>
<string
key=
"candidateClassName"
>
NSMenuItem
</string>
</object>
<object
class=
"IBToOneOutletInfo"
>
<string
key=
"name"
>
o_mi_snapshot
</string>
<string
key=
"candidateClassName"
>
NSMenuItem
</string>
</object>
<object
class=
"IBToOneOutletInfo"
>
<string
key=
"name"
>
o_mi_stop
</string>
<string
key=
"candidateClassName"
>
NSMenuItem
</string>
</object>
<object
class=
"IBToOneOutletInfo"
>
<string
key=
"name"
>
o_mi_subtitle
</string>
<string
key=
"candidateClassName"
>
NSMenuItem
</string>
</object>
<object
class=
"IBToOneOutletInfo"
>
<string
key=
"name"
>
o_mi_teletext
</string>
<string
key=
"candidateClassName"
>
NSMenuItem
</string>
</object>
<object
class=
"IBToOneOutletInfo"
>
<string
key=
"name"
>
o_mi_teletext_blue
</string>
<string
key=
"candidateClassName"
>
NSMenuItem
</string>
</object>
<object
class=
"IBToOneOutletInfo"
>
<string
key=
"name"
>
o_mi_teletext_green
</string>
<string
key=
"candidateClassName"
>
NSMenuItem
</string>
</object>
<object
class=
"IBToOneOutletInfo"
>
<string
key=
"name"
>
o_mi_teletext_index
</string>
<string
key=
"candidateClassName"
>
NSMenuItem
</string>
</object>
<object
class=
"IBToOneOutletInfo"
>
<string
key=
"name"
>
o_mi_teletext_red
</string>
<string
key=
"candidateClassName"
>
NSMenuItem
</string>
</object>
<object
class=
"IBToOneOutletInfo"
>
<string
key=
"name"
>
o_mi_teletext_transparent
</string>
<string
key=
"candidateClassName"
>
NSMenuItem
</string>
</object>
<object
class=
"IBToOneOutletInfo"
>
<string
key=
"name"
>
o_mi_teletext_yellow
</string>
<string
key=
"candidateClassName"
>
NSMenuItem
</string>
</object>
<object
class=
"IBToOneOutletInfo"
>
<string
key=
"name"
>
o_mi_title
</string>
<string
key=
"candidateClassName"
>
NSMenuItem
</string>
</object>
<object
class=
"IBToOneOutletInfo"
>
<string
key=
"name"
>
o_mi_trackSynchronization
</string>
<string
key=
"candidateClassName"
>
NSMenuItem
</string>
</object>
<object
class=
"IBToOneOutletInfo"
>
<string
key=
"name"
>
o_mi_videoeffects
</string>
<string
key=
"candidateClassName"
>
NSMenuItem
</string>
</object>
<object
class=
"IBToOneOutletInfo"
>
<string
key=
"name"
>
o_mi_videotrack
</string>
<string
key=
"candidateClassName"
>
NSMenuItem
</string>
</object>
<object
class=
"IBToOneOutletInfo"
>
<string
key=
"name"
>
o_mi_visual
</string>
<string
key=
"candidateClassName"
>
NSMenuItem
</string>
</object>
<object
class=
"IBToOneOutletInfo"
>
<string
key=
"name"
>
o_mi_vol_down
</string>
<string
key=
"candidateClassName"
>
NSMenuItem
</string>
</object>
<object
class=
"IBToOneOutletInfo"
>
<string
key=
"name"
>
o_mi_vol_up
</string>
<string
key=
"candidateClassName"
>
NSMenuItem
</string>
</object>
<object
class=
"IBToOneOutletInfo"
>
<string
key=
"name"
>
o_mi_website
</string>
<string
key=
"candidateClassName"
>
NSMenuItem
</string>
</object>
<object
class=
"IBToOneOutletInfo"
>
<string
key=
"name"
>
o_mu_add_intf
</string>
<string
key=
"candidateClassName"
>
NSMenu
</string>
</object>
<object
class=
"IBToOneOutletInfo"
>
<string
key=
"name"
>
o_mu_aspect_ratio
</string>
<string
key=
"candidateClassName"
>
NSMenu
</string>
</object>
<object
class=
"IBToOneOutletInfo"
>
<string
key=
"name"
>
o_mu_audio
</string>
<string
key=
"candidateClassName"
>
NSMenu
</string>
</object>
<object
class=
"IBToOneOutletInfo"
>
<string
key=
"name"
>
o_mu_audiotrack
</string>
<string
key=
"candidateClassName"
>
NSMenu
</string>
</object>
<object
class=
"IBToOneOutletInfo"
>
<string
key=
"name"
>
o_mu_channels
</string>
<string
key=
"candidateClassName"
>
NSMenu
</string>
</object>
<object
class=
"IBToOneOutletInfo"
>
<string
key=
"name"
>
o_mu_chapter
</string>
<string
key=
"candidateClassName"
>
NSMenu
</string>
</object>
<object
class=
"IBToOneOutletInfo"
>
<string
key=
"name"
>
o_mu_controls
</string>
<string
key=
"candidateClassName"
>
NSMenu
</string>
</object>
<object
class=
"IBToOneOutletInfo"
>
<string
key=
"name"
>
o_mu_crop
</string>
<string
key=
"candidateClassName"
>
NSMenu
</string>
</object>
<object
class=
"IBToOneOutletInfo"
>
<string
key=
"name"
>
o_mu_deinterlace
</string>
<string
key=
"candidateClassName"
>
NSMenu
</string>
</object>
<object
class=
"IBToOneOutletInfo"
>
<string
key=
"name"
>
o_mu_deinterlace_mode
</string>
<string
key=
"candidateClassName"
>
NSMenu
</string>
</object>
<object
class=
"IBToOneOutletInfo"
>
<string
key=
"name"
>
o_mu_device
</string>
<string
key=
"candidateClassName"
>
NSMenu
</string>
</object>
<object
class=
"IBToOneOutletInfo"
>
<string
key=
"name"
>
o_mu_edit
</string>
<string
key=
"candidateClassName"
>
NSMenu
</string>
</object>
<object
class=
"IBToOneOutletInfo"
>
<string
key=
"name"
>
o_mu_ffmpeg_pp
</string>
<string
key=
"candidateClassName"
>
NSMenu
</string>
</object>
<object
class=
"IBToOneOutletInfo"
>
<string
key=
"name"
>
o_mu_file
</string>
<string
key=
"candidateClassName"
>
NSMenu
</string>
</object>
<object
class=
"IBToOneOutletInfo"
>
<string
key=
"name"
>
o_mu_help
</string>
<string
key=
"candidateClassName"
>
NSMenu
</string>
</object>
<object
class=
"IBToOneOutletInfo"
>
<string
key=
"name"
>
o_mu_program
</string>
<string
key=
"candidateClassName"
>
NSMenu
</string>
</object>
<object
class=
"IBToOneOutletInfo"
>
<string
key=
"name"
>
o_mu_screen
</string>
<string
key=
"candidateClassName"
>
NSMenu
</string>
</object>
<object
class=
"IBToOneOutletInfo"
>
<string
key=
"name"
>
o_mu_subtitle
</string>
<string
key=
"candidateClassName"
>
NSMenu
</string>
</object>
<object
class=
"IBToOneOutletInfo"
>
<string
key=
"name"
>
o_mu_title
</string>
<string
key=
"candidateClassName"
>
NSMenu
</string>
</object>
<object
class=
"IBToOneOutletInfo"
>
<string
key=
"name"
>
o_mu_video
</string>
<string
key=
"candidateClassName"
>
NSMenu
</string>
</object>
<object
class=
"IBToOneOutletInfo"
>
<string
key=
"name"
>
o_mu_videotrack
</string>
<string
key=
"candidateClassName"
>
NSMenu
</string>
</object>
<object
class=
"IBToOneOutletInfo"
>
<string
key=
"name"
>
o_mu_visual
</string>
<string
key=
"candidateClassName"
>
NSMenu
</string>
</object>
<object
class=
"IBToOneOutletInfo"
>
<string
key=
"name"
>
o_mu_window
</string>
<string
key=
"candidateClassName"
>
NSMenu
</string>
</object>
<object
class=
"IBToOneOutletInfo"
>
<string
key=
"name"
>
o_trackSynchronization
</string>
<string
key=
"candidateClassName"
>
id
</string>
</object>
<object
class=
"IBToOneOutletInfo"
>
<string
key=
"name"
>
o_videoeffects
</string>
<string
key=
"candidateClassName"
>
id
</string>
</object>
<object
class=
"IBToOneOutletInfo"
>
<string
key=
"name"
>
o_vmi_fullscreen
</string>
<string
key=
"candidateClassName"
>
NSMenuItem
</string>
</object>
<object
class=
"IBToOneOutletInfo"
>
<string
key=
"name"
>
o_vmi_mute
</string>
<string
key=
"candidateClassName"
>
NSMenuItem
</string>
</object>
<object
class=
"IBToOneOutletInfo"
>
<string
key=
"name"
>
o_vmi_next
</string>
<string
key=
"candidateClassName"
>
NSMenuItem
</string>
</object>
<object
class=
"IBToOneOutletInfo"
>
<string
key=
"name"
>
o_vmi_play
</string>
<string
key=
"candidateClassName"
>
NSMenuItem
</string>
</object>
<object
class=
"IBToOneOutletInfo"
>
<string
key=
"name"
>
o_vmi_prev
</string>
<string
key=
"candidateClassName"
>
NSMenuItem
</string>
</object>
<object
class=
"IBToOneOutletInfo"
>
<string
key=
"name"
>
o_vmi_snapshot
</string>
<string
key=
"candidateClassName"
>
NSMenuItem
</string>
</object>
<object
class=
"IBToOneOutletInfo"
>
<string
key=
"name"
>
o_vmi_stop
</string>
<string
key=
"candidateClassName"
>
NSMenuItem
</string>
</object>
<object
class=
"IBToOneOutletInfo"
>
<string
key=
"name"
>
o_vmi_voldown
</string>
<string
key=
"candidateClassName"
>
NSMenuItem
</string>
</object>
<object
class=
"IBToOneOutletInfo"
>
<string
key=
"name"
>
o_vmi_volup
</string>
<string
key=
"candidateClassName"
>
NSMenuItem
</string>
</object>
<object
class=
"IBToOneOutletInfo"
>
<string
key=
"name"
>
o_vout_menu
</string>
<string
key=
"candidateClassName"
>
NSMenu
</string>
</object>
</object>
</object>
<object
class=
"IBClassDescriptionSource"
key=
"sourceIdentifier"
>
<string
key=
"majorKey"
>
IBDocumentRelativeSource
</string>
<string
key=
"minorKey"
>
../../../../../modules/gui/macosx/MainMenu.h
</string>
</object>
<reference
key=
"sourceIdentifier"
ref=
"647024034"
/>
</object>
<object
class=
"IBPartialClassDescription"
>
<string
key=
"className"
>
VLCMainWindow
</string>
...
...
extras/package/macosx/Resources/English.lproj/MainMenu.nib/keyedobjects.nib
View file @
cf37037f
No preview for this file type
modules/gui/macosx/CoreInteraction.m
View file @
cf37037f
...
...
@@ -263,20 +263,10 @@ static VLCCoreInteraction *_o_sharedInstance = nil;
input_thread_t
*
p_input
=
pl_CurrentInput
(
VLCIntf
);
if
(
p_input
!=
NULL
)
{
vout_thread_t
*
p_vout
=
input_GetVout
(
p_input
);
if
(
p_vout
!=
NULL
)
{
id
o_vout_view
=
[
self
voutView
];
if
(
o_vout_view
)
[
o_vout_view
toggleFullscreen
];
vlc_object_release
(
p_vout
);
}
else
{
playlist_t
*
p_playlist
=
pl_Get
(
VLCIntf
);
var_ToggleBool
(
p_playlist
,
"fullscreen"
);
}
vlc_object_release
(
p_input
);
}
}
...
...
modules/gui/macosx/MainMenu.h
View file @
cf37037f
...
...
@@ -209,6 +209,11 @@
-
(
IBAction
)
setPlaybackRate
:(
id
)
sender
;
-
(
void
)
updatePlaybackRate
;
-
(
IBAction
)
toggleFullscreen
:(
id
)
sender
;
-
(
IBAction
)
resizeVideoWindow
:(
id
)
sender
;
-
(
IBAction
)
floatOnTop
:(
id
)
sender
;
-
(
IBAction
)
createVideoSnapshot
:(
id
)
sender
;
-
(
IBAction
)
showWizard
:(
id
)
sender
;
-
(
IBAction
)
showVideoEffects
:(
id
)
sender
;
-
(
IBAction
)
showAudioEffects
:(
id
)
sender
;
...
...
modules/gui/macosx/MainMenu.m
View file @
cf37037f
...
...
@@ -39,6 +39,7 @@
#import "playlistinfo.h"
#import "vout.h"
#import "CoreInteraction.h"
#import "MainWindow.h"
@implementation
VLCMainMenu
static
VLCMainMenu
*
_o_sharedInstance
=
nil
;
...
...
@@ -560,6 +561,68 @@ static VLCMainMenu *_o_sharedInstance = nil;
[
o_mi_rate_sld
setIntValue
:
i
];
}
#pragma mark -
#pragma video menu
-
(
IBAction
)
toggleFullscreen
:(
id
)
sender
{
[[
VLCCoreInteraction
sharedInstance
]
toggleFullscreen
];
}
-
(
IBAction
)
resizeVideoWindow
:(
id
)
sender
{
input_thread_t
*
p_input
=
pl_CurrentInput
(
VLCIntf
);
if
(
p_input
)
{
vout_thread_t
*
p_vout
=
getVout
();
if
(
p_vout
)
{
if
(
sender
==
o_mi_half_window
)
var_SetFloat
(
p_vout
,
"zoom"
,
0
.
5
);
else
if
(
sender
==
o_mi_normal_window
)
var_SetFloat
(
p_vout
,
"zoom"
,
1
.
0
);
else
if
(
sender
==
o_mi_double_window
)
var_SetFloat
(
p_vout
,
"zoom"
,
2
.
0
);
else
{
if
(
!
[[
VLCMainWindow
sharedInstance
]
isZoomed
])
[[
VLCMainWindow
sharedInstance
]
performZoom
:
sender
];
}
vlc_object_release
(
p_vout
);
}
vlc_object_release
(
p_input
);
}
}
-
(
IBAction
)
floatOnTop
:(
id
)
sender
{
input_thread_t
*
p_input
=
pl_CurrentInput
(
VLCIntf
);
if
(
p_input
)
{
vout_thread_t
*
p_vout
=
getVout
();
if
(
p_vout
)
{
var_ToggleBool
(
p_vout
,
"video-on-top"
);
vlc_object_release
(
p_vout
);
}
vlc_object_release
(
p_input
);
}
}
-
(
IBAction
)
createVideoSnapshot
:(
id
)
sender
{
input_thread_t
*
p_input
=
pl_CurrentInput
(
VLCIntf
);
if
(
p_input
)
{
vout_thread_t
*
p_vout
=
getVout
();
if
(
p_vout
)
{
var_TriggerCallback
(
p_vout
,
"video-snapshot"
);
vlc_object_release
(
p_vout
);
}
vlc_object_release
(
p_input
);
}
}
#pragma mark -
#pragma mark Panels
...
...
@@ -1132,9 +1195,6 @@ static VLCMainMenu *_o_sharedInstance = nil;
[
o_title
isEqualToString
:
_NS
(
"Fullscreen"
)]
||
[
o_title
isEqualToString
:
_NS
(
"Float on Top"
)]
)
{
id
o_window
;
NSArray
*
o_windows
=
[
NSApp
orderedWindows
];
NSEnumerator
*
o_enumerator
=
[
o_windows
objectEnumerator
];
bEnabled
=
FALSE
;
if
(
p_input
!=
NULL
)
...
...
@@ -1148,16 +1208,7 @@ static VLCMainMenu *_o_sharedInstance = nil;
[
o_mi
setState
:
val
.
b_bool
?
NSOnState
:
NSOffState
];
}
while
(
(
o_window
=
[
o_enumerator
nextObject
]))
{
if
(
[[
o_window
className
]
isEqualToString
:
@"VLCVoutWindow"
]
||
[[[
VLCMain
sharedInstance
]
embeddedList
]
windowContainsEmbedded:
o_window
])
{
bEnabled
=
TRUE
;
break
;
}
}
vlc_object_release
(
(
vlc_object_t
*
)
p_vout
);
}
...
...
modules/gui/macosx/MainWindow.h
View file @
cf37037f
...
...
@@ -29,7 +29,11 @@
#import <vlc_input.h>
#import "misc.h"
@interface
VLCMainWindow
:
NSWindow
<
PXSourceListDataSource
,
PXSourceListDelegate
,
NSWindowDelegate
>
{
#ifndef MAC_OS_X_VERSION_10_6
@protocol
NSAnimationDelegate
<
NSObject
>
@end
#endif
@interface
VLCMainWindow
:
NSWindow
<
PXSourceListDataSource
,
PXSourceListDelegate
,
NSWindowDelegate
,
NSAnimationDelegate
>
{
IBOutlet
id
o_play_btn
;
IBOutlet
id
o_bwd_btn
;
IBOutlet
id
o_fwd_btn
;
...
...
@@ -90,6 +94,19 @@
BOOL
just_triggered_next
;
BOOL
just_triggered_previous
;
NSMutableArray
*
o_sidebaritems
;
VLCWindow
*
o_fullscreen_window
;
NSViewAnimation
*
o_fullscreen_anim1
;
NSViewAnimation
*
o_fullscreen_anim2
;
NSViewAnimation
*
o_makekey_anim
;
NSView
*
o_temp_view
;
/* set to yes if we are fullscreen and all animations are over */
BOOL
b_fullscreen
;
BOOL
b_window_is_invisible
;
NSRecursiveLock
*
o_animation_lock
;
NSSize
nativeVideoSize
;
NSInteger
i_originalLevel
;
}
+
(
VLCMainWindow
*
)
sharedInstance
;
...
...
@@ -106,8 +123,6 @@
-
(
IBAction
)
fullscreen
:(
id
)
sender
;
-
(
IBAction
)
dropzoneButtonAction
:(
id
)
sender
;
-
(
id
)
videoView
;
-
(
void
)
setVideoplayEnabled
;
-
(
void
)
showDropZone
;
-
(
void
)
hideDropZone
;
-
(
void
)
updateTimeSlider
;
...
...
@@ -123,6 +138,22 @@
-
(
void
)
drawFancyGradientEffectForTimeSlider
;
-
(
id
)
videoView
;
-
(
void
)
setVideoplayEnabled
;
-
(
void
)
resizeWindow
;
-
(
void
)
setNativeVideoSize
:(
NSSize
)
size
;
/* fullscreen handling */
-
(
BOOL
)
isFullscreen
;
-
(
void
)
lockFullscreenAnimation
;
-
(
void
)
unlockFullscreenAnimation
;
-
(
void
)
enterFullscreen
;
-
(
void
)
leaveFullscreen
;
-
(
void
)
leaveFullscreenAndFadeOut
:
(
BOOL
)
fadeout
;
-
(
void
)
hasEndedFullscreen
;
-
(
void
)
hasBecomeFullscreen
;
-
(
void
)
setFrameOnMainThread
:(
NSData
*
)
packedargs
;
@end
@interface
VLCProgressBarGradientEffect
:
NSView
{
...
...
modules/gui/macosx/MainWindow.m
View file @
cf37037f
...
...
@@ -208,10 +208,12 @@ static VLCMainWindow *_o_sharedInstance = nil;
[
self
setDelegate
:
self
];
[
self
setExcludedFromWindowsMenu
:
YES
];
// Set that here as IB seems to be buggy
[
self
setContentMinSize
:
NSMakeSize
(
4
00
.,
288
.)];
[
self
setContentMinSize
:
NSMakeSize
(
5
00
.,
288
.)];
[
self
setTitle
:
_NS
(
"VLC media player"
)];
[
o_playlist_btn
setEnabled
:
NO
];
[
o_video_view
setFrame
:
[
o_split_view
frame
]];
o_temp_view
=
[[
NSView
alloc
]
init
];
[
o_temp_view
setAutoresizingMask
:
NSViewHeightSizable
|
NSViewWidthSizable
];
/* reset the interface */
[
self
updateVolumeSlider
];
...
...
@@ -555,8 +557,8 @@ static VLCMainWindow *_o_sharedInstance = nil;
-
(
IBAction
)
fullscreen
:(
id
)
sender
{
NSLog
(
@"fullscreen mode not yet implemented"
)
;
[
[
VLCCoreInteraction
sharedInstance
]
toggle
Fullscreen
];
//?! [[VLCCoreInteraction sharedInstance] toggleFullscreen]
;
[
self
enter
Fullscreen
];
}
-
(
IBAction
)
dropzoneButtonAction
:(
id
)
sender
...
...
@@ -815,6 +817,477 @@ static VLCMainWindow *_o_sharedInstance = nil;
[
o_playlist_btn
setEnabled
:
[[
VLCMain
sharedInstance
]
activeVideoPlayback
]];
}
-
(
void
)
resizeWindow
{
if
(
!
b_fullscreen
)
{
NSPoint
topleftbase
;
NSPoint
topleftscreen
;
NSRect
new_frame
;
topleftbase
.
x
=
0
;
topleftbase
.
y
=
[
self
frame
].
size
.
height
;
topleftscreen
=
[
self
convertBaseToScreen
:
topleftbase
];
/* Calculate the window's new size */
new_frame
.
size
.
width
=
[
self
frame
].
size
.
width
-
[
o_video_view
frame
].
size
.
width
+
nativeVideoSize
.
width
;
new_frame
.
size
.
height
=
[
self
frame
].
size
.
height
-
[
o_video_view
frame
].
size
.
height
+
nativeVideoSize
.
height
;
new_frame
.
origin
.
x
=
topleftscreen
.
x
;
new_frame
.
origin
.
y
=
topleftscreen
.
y
-
new_frame
.
size
.
height
;
[[
self
animator
]
setFrame
:
new_frame
display
:
YES
];
}
}
-
(
void
)
setNativeVideoSize
:(
NSSize
)
size
{
if
(
size
.
width
!=
nativeVideoSize
.
width
||
size
.
height
!=
nativeVideoSize
.
height
)
{
nativeVideoSize
=
size
;
[
self
resizeWindow
];
}
}
#pragma mark -
#pragma mark Fullscreen support
-
(
BOOL
)
isFullscreen
{
return
b_fullscreen
;
}
-
(
void
)
lockFullscreenAnimation
{
[
o_animation_lock
lock
];
}
-
(
void
)
unlockFullscreenAnimation
{
[
o_animation_lock
unlock
];
}
-
(
void
)
enterFullscreen
{
NSMutableDictionary
*
dict1
,
*
dict2
;
NSScreen
*
screen
;
NSRect
screen_rect
;
NSRect
rect
;
vout_thread_t
*
p_vout
=
getVout
();
BOOL
blackout_other_displays
=
config_GetInt
(
VLCIntf
,
"macosx-black"
);
if
(
p_vout
)
screen
=
[
NSScreen
screenWithDisplayID
:(
CGDirectDisplayID
)
var_GetInteger
(
p_vout
,
"video-device"
)];
[
self
lockFullscreenAnimation
];
if
(
!
screen
)
{
msg_Dbg
(
VLCIntf
,
"chosen screen isn't present, using current screen for fullscreen mode"
);
screen
=
[
self
screen
];
}
if
(
!
screen
)
{
msg_Dbg
(
VLCIntf
,
"Using deepest screen"
);
screen
=
[
NSScreen
deepestScreen
];
}
if
(
p_vout
)
vlc_object_release
(
p_vout
);
screen_rect
=
[
screen
frame
];
[
o_fullscreen_btn
setState
:
YES
];
[
NSCursor
setHiddenUntilMouseMoves
:
YES
];
if
(
blackout_other_displays
)
[
screen
blackoutOtherScreens
];
/* Make sure we don't see the window flashes in float-on-top mode */
i_originalLevel
=
[
self
level
];
[
self
setLevel
:
NSNormalWindowLevel
];
/* Only create the o_fullscreen_window if we are not in the middle of the zooming animation */
if
(
!
o_fullscreen_window
)
{
/* We can't change the styleMask of an already created NSWindow, so we create another window, and do eye catching stuff */
rect
=
[[
o_video_view
superview
]
convertRect
:
[
o_video_view
frame
]
toView
:
nil
];
/* Convert to Window base coord */
rect
.
origin
.
x
+=
[
self
frame
].
origin
.
x
;
rect
.
origin
.
y
+=
[
self
frame
].
origin
.
y
;
o_fullscreen_window
=
[[
VLCWindow
alloc
]
initWithContentRect
:
rect
styleMask
:
NSBorderlessWindowMask
backing
:
NSBackingStoreBuffered
defer
:
YES
];
[
o_fullscreen_window
setBackgroundColor
:
[
NSColor
blackColor
]];
[
o_fullscreen_window
setCanBecomeKeyWindow
:
YES
];
if
(
!
[
self
isVisible
]
||
[
self
alphaValue
]
==
0
.
0
)
{
/* We don't animate if we are not visible, instead we
* simply fade the display */
CGDisplayFadeReservationToken
token
;
if
(
blackout_other_displays
)
{
CGAcquireDisplayFadeReservation
(
kCGMaxDisplayReservationInterval
,
&
token
);
CGDisplayFade
(
token
,
0
.
5
,
kCGDisplayBlendNormal
,
kCGDisplayBlendSolidColor
,
0
,
0
,
0
,
YES
);
}
if
([
screen
isMainScreen
])
SetSystemUIMode
(
kUIModeAllHidden
,
kUIOptionAutoShowMenuBar
);
[[
o_video_view
superview
]
replaceSubview
:
o_dropzone_view
with
:
o_temp_view
];
[
o_temp_view
setFrame
:[
o_video_view
frame
]];
[
o_fullscreen_window
setContentView
:
o_video_view
];
[
o_fullscreen_window
makeKeyAndOrderFront
:
self
];
[
o_fullscreen_window
orderFront
:
self
animate
:
YES
];
[
o_fullscreen_window
setFrame
:
screen_rect
display
:
YES
];
if
(
blackout_other_displays
)
{
CGDisplayFade
(
token
,
0
.
3
,
kCGDisplayBlendSolidColor
,
kCGDisplayBlendNormal
,
0
,
0
,
0
,
NO
);
CGReleaseDisplayFadeReservation
(
token
);
}
/* Will release the lock */
[
self
hasBecomeFullscreen
];
return
;
}
/* Make sure we don't see the o_video_view disappearing of the screen during this operation */
NSDisableScreenUpdates
();
[[
o_video_view
superview
]
replaceSubview
:
o_video_view
with
:
o_temp_view
];
[
o_temp_view
setFrame
:[
o_video_view
frame
]];
[
o_fullscreen_window
setContentView
:
o_video_view
];
[
o_fullscreen_window
makeKeyAndOrderFront
:
self
];
NSEnableScreenUpdates
();
}
/* We are in fullscreen (and no animation is running) */
if
(
b_fullscreen
)
{
/* Make sure we are hidden */
[
super
orderOut
:
self
];
[
self
unlockFullscreenAnimation
];
return
;
}
if
(
o_fullscreen_anim1
)
{
[
o_fullscreen_anim1
stopAnimation
];
[
o_fullscreen_anim1
release
];
}
if
(
o_fullscreen_anim2
)
{
[
o_fullscreen_anim2
stopAnimation
];
[
o_fullscreen_anim2
release
];
}
if
([
screen
isMainScreen
])
SetSystemUIMode
(
kUIModeAllHidden
,
kUIOptionAutoShowMenuBar
);
dict1
=
[[
NSMutableDictionary
alloc
]
initWithCapacity
:
2
];
dict2
=
[[
NSMutableDictionary
alloc
]
initWithCapacity
:
3
];
[
dict1
setObject
:
self
forKey
:
NSViewAnimationTargetKey
];
[
dict1
setObject
:
NSViewAnimationFadeOutEffect
forKey
:
NSViewAnimationEffectKey
];
[
dict2
setObject
:
o_fullscreen_window
forKey
:
NSViewAnimationTargetKey
];
[
dict2
setObject
:[
NSValue
valueWithRect
:[
o_fullscreen_window
frame
]]
forKey
:
NSViewAnimationStartFrameKey
];
[
dict2
setObject
:[
NSValue
valueWithRect
:
screen_rect
]
forKey
:
NSViewAnimationEndFrameKey
];
/* Strategy with NSAnimation allocation:
- Keep at most 2 animation at a time
- leaveFullscreen/enterFullscreen are the only responsible for releasing and alloc-ing
*/
o_fullscreen_anim1
=
[[
NSViewAnimation
alloc
]
initWithViewAnimations
:[
NSArray
arrayWithObject
:
dict1
]];
o_fullscreen_anim2
=
[[
NSViewAnimation
alloc
]
initWithViewAnimations
:[
NSArray
arrayWithObject
:
dict2
]];
[
dict1
release
];
[
dict2
release
];
[
o_fullscreen_anim1
setAnimationBlockingMode
:
NSAnimationNonblocking
];
[
o_fullscreen_anim1
setDuration
:
0
.
3
];
[
o_fullscreen_anim1
setFrameRate
:
30
];
[
o_fullscreen_anim2
setAnimationBlockingMode
:
NSAnimationNonblocking
];
[
o_fullscreen_anim2
setDuration
:
0
.
2
];
[
o_fullscreen_anim2
setFrameRate
:
30
];
[
o_fullscreen_anim2
setDelegate
:
self
];
[
o_fullscreen_anim2
startWhenAnimation
:
o_fullscreen_anim1
reachesProgress
:
1
.
0
];
[
o_fullscreen_anim1
startAnimation
];
/* fullscreenAnimation will be unlocked when animation ends */
}
-
(
void
)
hasBecomeFullscreen
{
[
o_fullscreen_window
makeFirstResponder
:
o_video_view
];
[
o_fullscreen_window
makeKeyWindow
];
[
o_fullscreen_window
setAcceptsMouseMovedEvents
:
TRUE
];
/* tell the fspanel to move itself to front next time it's triggered */
[[[[
VLCMain
sharedInstance
]
controls
]
fspanel
]
setVoutWasUpdated
:
(
int
)[[
o_fullscreen_window
screen
]
displayID
]];
if
([
self
isVisible
])
[
super
orderOut
:
self
];
[[[[
VLCMain
sharedInstance
]
controls
]
fspanel
]
setActive
:
nil
];
b_fullscreen
=
YES
;
[
self
unlockFullscreenAnimation
];
}
-
(
void
)
leaveFullscreen
{
[
self
leaveFullscreenAndFadeOut
:
NO
];
}
-
(
void
)
leaveFullscreenAndFadeOut
:
(
BOOL
)
fadeout
{
NSMutableDictionary
*
dict1
,
*
dict2
;
NSRect
frame
;
BOOL
blackout_other_displays
=
config_GetInt
(
VLCIntf
,
"macosx-black"
);
[
self
lockFullscreenAnimation
];
b_fullscreen
=
NO
;
[
o_fullscreen_btn
setState
:
NO
];
/* We always try to do so */
[
NSScreen
unblackoutScreens
];
/* Don't do anything if o_fullscreen_window is already closed */
if
(
!
o_fullscreen_window
)
{
[
self
unlockFullscreenAnimation
];
return
;
}
if
(
fadeout
)
{
/* We don't animate if we are not visible, instead we
* simply fade the display */
CGDisplayFadeReservationToken
token
;
if
(
blackout_other_displays
)
{
CGAcquireDisplayFadeReservation
(
kCGMaxDisplayReservationInterval
,
&
token
);
CGDisplayFade
(
token
,
0
.
3
,
kCGDisplayBlendNormal
,
kCGDisplayBlendSolidColor
,
0
,
0
,
0
,
YES
);
}
[[[[
VLCMain
sharedInstance
]
controls
]
fspanel
]
setNonActive
:
nil
];
SetSystemUIMode
(
kUIModeNormal
,
kUIOptionAutoShowMenuBar
);
/* Will release the lock */
[
self
hasEndedFullscreen
];
/* Our window is hidden, and might be faded. We need to workaround that, so note it
* here */
b_window_is_invisible
=
YES
;
if
(
blackout_other_displays
)
{
CGDisplayFade
(
token
,
0
.
5
,
kCGDisplayBlendSolidColor
,
kCGDisplayBlendNormal
,
0
,
0
,
0
,
NO
);
CGReleaseDisplayFadeReservation
(
token
);
}
return
;
}
[
self
setAlphaValue
:
0
.
0
];
[
self
orderFront
:
self
];
[[[[
VLCMain
sharedInstance
]
controls
]
fspanel
]
setNonActive
:
nil
];
SetSystemUIMode
(
kUIModeNormal
,
kUIOptionAutoShowMenuBar
);
if
(
o_fullscreen_anim1
)
{
[
o_fullscreen_anim1
stopAnimation
];
[
o_fullscreen_anim1
release
];
}
if
(
o_fullscreen_anim2
)
{
[
o_fullscreen_anim2
stopAnimation
];
[
o_fullscreen_anim2
release
];
}
frame
=
[[
o_temp_view
superview
]
convertRect
:
[
o_temp_view
frame
]
toView
:
nil
];
/* Convert to Window base coord */
frame
.
origin
.
x
+=
[
self
frame
].
origin
.
x
;
frame
.
origin
.
y
+=
[
self
frame
].
origin
.
y
;
dict2
=
[[
NSMutableDictionary
alloc
]
initWithCapacity
:
2
];
[
dict2
setObject
:
self
forKey
:
NSViewAnimationTargetKey
];
[
dict2
setObject
:
NSViewAnimationFadeInEffect
forKey
:
NSViewAnimationEffectKey
];
o_fullscreen_anim2
=
[[
NSViewAnimation
alloc
]
initWithViewAnimations
:[
NSArray
arrayWithObjects
:
dict2
,
nil
]];
[
dict2
release
];
[
o_fullscreen_anim2
setAnimationBlockingMode
:
NSAnimationNonblocking
];
[
o_fullscreen_anim2
setDuration
:
0
.
3
];
[
o_fullscreen_anim2
setFrameRate
:
30
];
[
o_fullscreen_anim2
setDelegate
:
self
];
dict1
=
[[
NSMutableDictionary
alloc
]
initWithCapacity
:
3
];
[
dict1
setObject
:
o_fullscreen_window
forKey
:
NSViewAnimationTargetKey
];
[
dict1
setObject
:[
NSValue
valueWithRect
:[
o_fullscreen_window
frame
]]
forKey
:
NSViewAnimationStartFrameKey
];
[
dict1
setObject
:[
NSValue
valueWithRect
:
frame
]
forKey
:
NSViewAnimationEndFrameKey
];
o_fullscreen_anim1
=
[[
NSViewAnimation
alloc
]
initWithViewAnimations
:[
NSArray
arrayWithObjects
:
dict1
,
nil
]];
[
dict1
release
];
[
o_fullscreen_anim1
setAnimationBlockingMode
:
NSAnimationNonblocking
];
[
o_fullscreen_anim1
setDuration
:
0
.
2
];
[
o_fullscreen_anim1
setFrameRate
:
30
];
[
o_fullscreen_anim2
startWhenAnimation
:
o_fullscreen_anim1
reachesProgress
:
1
.
0
];
/* Make sure o_fullscreen_window is the frontmost window */
[
o_fullscreen_window
orderFront
:
self
];
[
o_fullscreen_anim1
startAnimation
];
/* fullscreenAnimation will be unlocked when animation ends */
}
-
(
void
)
hasEndedFullscreen
{
/* This function is private and should be only triggered at the end of the fullscreen change animation */
/* Make sure we don't see the o_video_view disappearing of the screen during this operation */
NSDisableScreenUpdates
();
[
o_video_view
retain
];
[
o_video_view
removeFromSuperviewWithoutNeedingDisplay
];
[[
o_temp_view
superview
]
replaceSubview
:
o_temp_view
with
:
o_video_view
];
[
o_video_view
release
];
[
o_video_view
setFrame
:[
o_temp_view
frame
]];
[
self
makeFirstResponder
:
o_video_view
];
if
([
self
isVisible
])
[
super
makeKeyAndOrderFront
:
self
];
/* our version contains a workaround */
[
o_fullscreen_window
orderOut
:
self
];
NSEnableScreenUpdates
();
[
o_fullscreen_window
release
];
o_fullscreen_window
=
nil
;
[
self
setLevel
:
i_originalLevel
];
[
self
unlockFullscreenAnimation
];
}
-
(
void
)
animationDidEnd
:(
NSAnimation
*
)
animation
{
NSArray
*
viewAnimations
;
if
(
o_makekey_anim
==
animation
)
{
[
o_makekey_anim
release
];
return
;
}
if
([
animation
currentValue
]
<
1
.
0
)
return
;
/* Fullscreen ended or started (we are a delegate only for leaveFullscreen's/enterFullscren's anim2) */
viewAnimations
=
[
o_fullscreen_anim2
viewAnimations
];
if
([
viewAnimations
count
]
>=
1
&&
[[[
viewAnimations
objectAtIndex
:
0
]
objectForKey
:
NSViewAnimationEffectKey
]
isEqualToString
:
NSViewAnimationFadeInEffect
])
{
/* Fullscreen ended */
[
self
hasEndedFullscreen
];
}
else
{
/* Fullscreen started */
[
self
hasBecomeFullscreen
];
}
}
-
(
void
)
orderOut
:
(
id
)
sender
{
[
super
orderOut
:
sender
];
/* Make sure we leave fullscreen */
[
self
leaveFullscreenAndFadeOut
:
YES
];
}
-
(
void
)
makeKeyAndOrderFront
:
(
id
)
sender
{
/* Hack
* when we exit fullscreen and fade out, we may endup in
* having a window that is faded. We can't have it fade in unless we
* animate again. */
if
(
!
b_window_is_invisible
)
{
/* Make sure we don't do it too much */
[
super
makeKeyAndOrderFront
:
sender
];
return
;
}
[
super
setAlphaValue
:
0
.
0
f
];
[
super
makeKeyAndOrderFront
:
sender
];
NSMutableDictionary
*
dict
=
[[
NSMutableDictionary
alloc
]
initWithCapacity
:
2
];
[
dict
setObject
:
self
forKey
:
NSViewAnimationTargetKey
];
[
dict
setObject
:
NSViewAnimationFadeInEffect
forKey
:
NSViewAnimationEffectKey
];
o_makekey_anim
=
[[
NSViewAnimation
alloc
]
initWithViewAnimations
:[
NSArray
arrayWithObject
:
dict
]];
[
dict
release
];
[
o_makekey_anim
setAnimationBlockingMode
:
NSAnimationNonblocking
];
[
o_makekey_anim
setDuration
:
0
.
1
];
[
o_makekey_anim
setFrameRate
:
30
];
[
o_makekey_anim
setDelegate
:
self
];
[
o_makekey_anim
startAnimation
];
b_window_is_invisible
=
NO
;
/* fullscreenAnimation will be unlocked when animation ends */
}
/* Make sure setFrame gets executed on main thread especially if we are animating.
* (Thus we won't block the video output thread) */
-
(
void
)
setFrame
:(
NSRect
)
frame
display
:(
BOOL
)
display
animate
:(
BOOL
)
animate
{
struct
{
NSRect
frame
;
BOOL
display
;
BOOL
animate
;}
args
;
NSData
*
packedargs
;
args
.
frame
=
frame
;
args
.
display
=
display
;
args
.
animate
=
animate
;
packedargs
=
[
NSData
dataWithBytes
:
&
args
length
:
sizeof
(
args
)];
[
self
performSelectorOnMainThread
:
@selector
(
setFrameOnMainThread
:)
withObject:
packedargs
waitUntilDone
:
YES
];
}
-
(
void
)
setFrameOnMainThread
:(
NSData
*
)
packedargs
{
struct
args
{
NSRect
frame
;
BOOL
display
;
BOOL
animate
;
}
*
args
=
(
struct
args
*
)[
packedargs
bytes
];
if
(
args
->
animate
)
{
/* Make sure we don't block too long and set up a non blocking animation */
NSDictionary
*
dict
=
[
NSDictionary
dictionaryWithObjectsAndKeys
:
self
,
NSViewAnimationTargetKey
,
[
NSValue
valueWithRect
:[
self
frame
]],
NSViewAnimationStartFrameKey
,
[
NSValue
valueWithRect
:
args
->
frame
],
NSViewAnimationEndFrameKey
,
nil
];
NSViewAnimation
*
anim
=
[[
NSViewAnimation
alloc
]
initWithViewAnimations
:[
NSArray
arrayWithObject
:
dict
]];
[
dict
release
];
[
anim
setAnimationBlockingMode
:
NSAnimationNonblocking
];
[
anim
setDuration
:
0
.
4
];
[
anim
setFrameRate
:
30
];
[
anim
startAnimation
];
}
else
{
[
super
setFrame
:
args
->
frame
display
:
args
->
display
animate
:
args
->
animate
];
}
}
#pragma mark -
#pragma mark Side Bar Data handling
/* taken under BSD-new from the PXSourceList sample project, adapted for VLC */
...
...
modules/gui/macosx/controls.h
View file @
cf37037f
...
...
@@ -63,9 +63,6 @@
-
(
IBAction
)
volumeSliderUpdated
:(
id
)
sender
;
-
(
IBAction
)
showPosition
:
(
id
)
sender
;
-
(
IBAction
)
toogleFullscreen
:(
id
)
sender
;
-
(
BOOL
)
isFullscreen
;
-
(
IBAction
)
windowAction
:(
id
)
sender
;
-
(
IBAction
)
telxTransparent
:(
id
)
sender
;
-
(
IBAction
)
telxNavLink
:(
id
)
sender
;
...
...
modules/gui/macosx/controls.m
View file @
cf37037f
...
...
@@ -186,52 +186,6 @@
return
NO
;
}
-
(
IBAction
)
windowAction
:(
id
)
sender
{
NSString
*
o_title
=
[
sender
title
];
input_thread_t
*
p_input
=
pl_CurrentInput
(
VLCIntf
);
if
(
p_input
!=
NULL
)
{
vout_thread_t
*
p_vout
=
input_GetVout
(
p_input
);
if
(
p_vout
!=
NULL
)
{
id
o_vout_view
=
[[
VLCCoreInteraction
sharedInstance
]
voutView
];
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
voutWindow
];
if
(
!
[
o_window
isZoomed
]
)
[
o_window
performZoom
:
self
];
}
else
if
(
[
o_title
isEqualToString
:
_NS
(
"Snapshot"
)
]
)
{
[
o_vout_view
snapshot
];
}
else
{
[[
VLCCoreInteraction
sharedInstance
]
toggleFullscreen
];
}
}
vlc_object_release
(
(
vlc_object_t
*
)
p_vout
);
}
else
{
[[
VLCCoreInteraction
sharedInstance
]
toggleFullscreen
];
}
vlc_object_release
(
p_input
);
}
}
-
(
IBAction
)
telxTransparent
:(
id
)
sender
{
vlc_object_t
*
p_vbi
;
...
...
modules/gui/macosx/intf.h
View file @
cf37037f
...
...
@@ -108,7 +108,7 @@ struct intf_sys_t
BOOL
nib_bookmarks_loaded
;
/* Bookmarks nibfile */
BOOL
b_active_videoplayback
;
IBOutlet
id
o_mainwindow
;
/* VLCMainWindow */
id
o_mainwindow
;
/* VLCMainWindow */
IBOutlet
VLCControls
*
o_controls
;
/* VLCControls */
IBOutlet
VLCPlaylist
*
o_playlist
;
/* VLCPlaylist */
...
...
@@ -159,6 +159,7 @@ struct intf_sys_t
-
(
id
)
wizard
;
-
(
id
)
embeddedList
;
-
(
id
)
getVideoViewAtPositionX
:
(
int
*
)
pi_x
Y
:
(
int
*
)
pi_y
withWidth
:
(
unsigned
int
*
)
pi_width
andHeight
:
(
unsigned
int
*
)
pi_height
;
-
(
void
)
setNativeVideoSize
:(
NSSize
)
size
;
-
(
id
)
coreDialogProvider
;
-
(
id
)
eyeTVController
;
-
(
id
)
appleRemoteController
;
...
...
@@ -172,6 +173,7 @@ struct intf_sys_t
-
(
NSString
*
)
VLCKeyToString
:(
NSString
*
)
theString
;
-
(
unsigned
int
)
VLCModifiersToCocoa
:(
NSString
*
)
theString
;
-
(
void
)
updateCurrentlyUsedHotkeys
;
-
(
void
)
fullscreenChanged
;
-
(
void
)
PlaylistItemChanged
;
-
(
void
)
playbackStatusUpdated
;
-
(
void
)
playbackModeUpdated
;
...
...
modules/gui/macosx/intf.m
View file @
cf37037f
...
...
@@ -132,7 +132,6 @@ int WindowOpen( vout_window_t *p_wnd, const vout_window_cfg_t *cfg )
return
VLC_EGENERIC
;
}
msg_Dbg
(
p_wnd
,
"looking for video view"
);
int
i_x
=
cfg
->
x
;
int
i_y
=
cfg
->
y
;
unsigned
i_width
=
cfg
->
width
;
...
...
@@ -145,6 +144,7 @@ int WindowOpen( vout_window_t *p_wnd, const vout_window_cfg_t *cfg )
return
VLC_EGENERIC
;
}
[[
VLCMain
sharedInstance
]
setNativeVideoSize
:
NSMakeSize
(
cfg
->
width
,
cfg
->
height
)];
[[
VLCMain
sharedInstance
]
setActiveVideoPlayback
:
YES
];
p_wnd
->
control
=
WindowControl
;
p_wnd
->
sys
=
(
vout_window_sys_t
*
)
VLCIntf
;
...
...
@@ -158,7 +158,12 @@ static int WindowControl( vout_window_t *p_wnd, int i_query, va_list args )
if
(
i_query
==
VOUT_WINDOW_SET_STATE
)
NSLog
(
@"WindowControl:VOUT_WINDOW_SET_STATE"
);
else
if
(
i_query
==
VOUT_WINDOW_SET_SIZE
)
{
NSLog
(
@"WindowControl:VOUT_WINDOW_SET_SIZE"
);
unsigned
int
i_width
=
va_arg
(
args
,
unsigned
int
);
unsigned
int
i_height
=
va_arg
(
args
,
unsigned
int
);
[[
VLCMain
sharedInstance
]
setNativeVideoSize
:
NSMakeSize
(
i_width
,
i_height
)];
}
else
if
(
i_query
==
VOUT_WINDOW_SET_FULLSCREEN
)
NSLog
(
@"WindowControl:VOUT_WINDOW_SET_FULLSCREEN"
);
else
...
...
@@ -340,7 +345,7 @@ static int VolumeUpdated( vlc_object_t *p_this, const char *psz_var,
vlc_value_t
oldval
,
vlc_value_t
new_val
,
void
*
param
)
{
NSAutoreleasePool
*
o_pool
=
[[
NSAutoreleasePool
alloc
]
init
];
[[
VLCMain
sharedInstance
]
updateVolume
];
[[
VLCMain
sharedInstance
]
performSelectorOnMainThread
:
@selector
(
updateVolume
)
withObject
:
nil
waitUntilDone
:
NO
];
[
o_pool
release
];
return
VLC_SUCCESS
;
...
...
@@ -357,12 +362,7 @@ static int ShowController( vlc_object_t *p_this, const char *psz_variable,
intf_thread_t
*
p_intf
=
VLCIntf
;
if
(
p_intf
&&
p_intf
->
p_sys
)
{
NSAutoreleasePool
*
o_pool
=
[[
NSAutoreleasePool
alloc
]
init
];
if
(
[[[
VLCCoreInteraction
sharedInstance
]
voutView
]
isFullscreen
]
&&
config_GetInt
(
VLCIntf
,
"macosx-fspanel"
)
)
[[[[
VLCMain
sharedInstance
]
controls
]
fspanel
]
fadeIn
];
else
[[
VLCMainWindow
sharedInstance
]
makeKeyAndOrderFront
:
nil
];
[
o_pool
release
];
NSLog
(
@"fixme! we should implement ShowController here"
);
}
return
VLC_SUCCESS
;
}
...
...
@@ -375,8 +375,12 @@ static int FullscreenChanged( vlc_object_t *p_this, const char *psz_variable,
vlc_value_t
old_val
,
vlc_value_t
new_val
,
void
*
param
)
{
intf_thread_t
*
p_intf
=
VLCIntf
;
if
(
p_intf
&&
p_intf
->
p_sys
)
NSLog
(
@"we should update fullscreen state"
);
//FIXME
if
(
p_intf
)
{
NSAutoreleasePool
*
o_pool
=
[[
NSAutoreleasePool
alloc
]
init
];
[[
VLCMain
sharedInstance
]
fullscreenChanged
];
[
o_pool
release
];
}
return
VLC_SUCCESS
;
}
...
...
@@ -1229,6 +1233,14 @@ unsigned int CocoaKeyToVLC( unichar i_key )
#pragma mark -
#pragma mark Interface updaters
-
(
void
)
fullscreenChanged
{
if
(
!
[
o_mainwindow
isFullscreen
]
)
[
o_mainwindow
performSelectorOnMainThread
:
@selector
(
enterFullscreen
)
withObject
:
nil
waitUntilDone
:
NO
];
else
[
o_mainwindow
performSelectorOnMainThread
:
@selector
(
leaveFullscreen
)
withObject
:
nil
waitUntilDone
:
NO
];
}
-
(
void
)
PlaylistItemChanged
{
input_thread_t
*
p_input
;
...
...
@@ -1240,7 +1252,8 @@ unsigned int CocoaKeyToVLC( unichar i_key )
[
o_mainmenu
setRateControlsEnabled
:
YES
];
vlc_object_release
(
p_input
);
}
else
[
o_mainmenu
setRateControlsEnabled
:
NO
];
else
[
o_mainmenu
setRateControlsEnabled
:
NO
];
[
o_playlist
updateRowSelection
];
[
o_mainwindow
updateWindow
];
...
...
@@ -1441,6 +1454,11 @@ unsigned int CocoaKeyToVLC( unichar i_key )
return
videoView
;
}
-
(
void
)
setNativeVideoSize
:(
NSSize
)
size
{
[
o_mainwindow
setNativeVideoSize
:
size
];
}
-
(
id
)
embeddedList
{
if
(
o_embedded_list
)
...
...
@@ -1748,10 +1766,8 @@ unsigned int CocoaKeyToVLC( unichar i_key )
-
(
IBAction
)
saveDebugLog
:(
id
)
sender
{
NS
Open
Panel
*
saveFolderPanel
=
[[
NSSavePanel
alloc
]
init
];
NS
Save
Panel
*
saveFolderPanel
=
[[
NSSavePanel
alloc
]
init
];
[
saveFolderPanel
setCanChooseDirectories
:
NO
];
[
saveFolderPanel
setCanChooseFiles
:
YES
];
[
saveFolderPanel
setCanSelectHiddenExtension
:
NO
];
[
saveFolderPanel
setCanCreateDirectories
:
YES
];
[
saveFolderPanel
setAllowedFileTypes
:
[
NSArray
arrayWithObject
:
@"rtfd"
]];
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment