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
295f55c5
Commit
295f55c5
authored
Apr 05, 2013
by
David Fuhrmann
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
macosx: update audio devices menu on-the-fly
Fixes missing updates and state of menu check box
parent
dd306ec4
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
1 addition
and
26 deletions
+1
-26
modules/gui/macosx/MainMenu.m
modules/gui/macosx/MainMenu.m
+1
-26
No files found.
modules/gui/macosx/MainMenu.m
View file @
295f55c5
...
...
@@ -24,7 +24,6 @@
#import "MainMenu.h"
#import <vlc_common.h>
#import <vlc_playlist.h>
#import <CoreAudio/CoreAudio.h>
#import "intf.h"
#import "open.h"
...
...
@@ -46,19 +45,6 @@
#import "ExtensionsManager.h"
#import "ConvertAndSave.h"
static
OSStatus
HardwareListener
(
AudioObjectID
,
UInt32
,
const
AudioObjectPropertyAddress
*
,
void
*
);
static
OSStatus
HardwareListener
(
AudioObjectID
inObjectID
,
UInt32
inNumberAddresses
,
const
AudioObjectPropertyAddress
inAddresses
[],
void
*
inClientData
)
{
VLC_UNUSED
(
inObjectID
);
VLC_UNUSED
(
inNumberAddresses
);
VLC_UNUSED
(
inAddresses
);
// give the core some time update its internal structure for the new device setup
[[
VLCMainMenu
sharedInstance
]
performSelector
:
@selector
(
refreshAudioDeviceList
)
withObject
:
nil
afterDelay
:
.
5
];
return
noErr
;
}
@implementation
VLCMainMenu
static
VLCMainMenu
*
_o_sharedInstance
=
nil
;
...
...
@@ -100,11 +86,6 @@ static VLCMainMenu *_o_sharedInstance = nil;
-
(
void
)
dealloc
{
AudioObjectPropertyAddress
audioDevicesAddress
=
{
kAudioHardwarePropertyDevices
,
kAudioObjectPropertyScopeGlobal
,
kAudioObjectPropertyElementMaster
};
OSStatus
err
=
AudioObjectRemovePropertyListener
(
kAudioObjectSystemObject
,
&
audioDevicesAddress
,
HardwareListener
,
nil
);
if
(
err
!=
noErr
)
msg_Err
(
p_intf
,
"failed to add audio hardware listener (%i)"
,
err
);
[[
NSNotificationCenter
defaultCenter
]
removeObserver
:
self
];
if
(
b_nib_about_loaded
)
...
...
@@ -282,13 +263,6 @@ static VLCMainMenu *_o_sharedInstance = nil;
[
self
setupExtensionsMenu
];
[
self
refreshAudioDeviceList
];
AudioObjectPropertyAddress
audioDevicesAddress
=
{
kAudioHardwarePropertyDevices
,
kAudioObjectPropertyScopeGlobal
,
kAudioObjectPropertyElementMaster
};
OSStatus
err
=
AudioObjectAddPropertyListener
(
kAudioObjectSystemObject
,
&
audioDevicesAddress
,
HardwareListener
,
nil
);
if
(
err
!=
noErr
)
msg_Err
(
p_intf
,
"failed to add audio hardware listener (%i)"
,
err
);
}
-
(
void
)
initStrings
...
...
@@ -1365,6 +1339,7 @@ static VLCMainMenu *_o_sharedInstance = nil;
}
else
if
([
o_title
isEqualToString
:
_NS
(
"Mute"
)])
{
[
o_mi
setState
:
[[
VLCCoreInteraction
sharedInstance
]
mute
]
?
NSOnState
:
NSOffState
];
[
self
setupMenus
];
/* Make sure audio menu is up to date */
[
self
refreshAudioDeviceList
];
}
else
if
([
o_title
isEqualToString
:
_NS
(
"Half Size"
)]
||
[
o_title
isEqualToString
:
_NS
(
"Normal Size"
)]
||
[
o_title
isEqualToString
:
_NS
(
"Double Size"
)]
||
...
...
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