Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
Steve Lhomme
VLC
Commits
ffbc405d
Commit
ffbc405d
authored
Jul 22, 2015
by
Felix Paul Kühne
Browse files
macosx/playlist: improve callbacks
parent
3c745c8b
Changes
1
Hide whitespace changes
Inline
Side-by-side
modules/gui/macosx/PLModel.m
View file @
ffbc405d
...
...
@@ -29,6 +29,7 @@
#import "ControlsBar.h"
#import "MainMenu.h"
#import "playlistinfo.h"
#import "MainWindow.h"
#ifdef HAVE_CONFIG_H
# import "config.h"
...
...
@@ -44,7 +45,8 @@ static int PLItemUpdated(vlc_object_t *p_this, const char *psz_var,
vlc_value_t
oldval
,
vlc_value_t
new_val
,
void
*
param
)
{
@autoreleasepool
{
[[[
VLCMain
sharedInstance
]
playlist
]
performSelectorOnMainThread
:
@selector
(
plItemUpdated
)
withObject
:
nil
waitUntilDone
:
NO
];
PLModel
*
model
=
(
__bridge
PLModel
*
)
param
;
[
model
performSelectorOnMainThread
:
@selector
(
plItemUpdated
)
withObject
:
nil
waitUntilDone
:
NO
];
return
VLC_SUCCESS
;
}
...
...
@@ -56,7 +58,8 @@ static int PLItemAppended(vlc_object_t *p_this, const char *psz_var,
@autoreleasepool
{
playlist_add_t
*
p_add
=
new_val
.
p_address
;
NSArray
*
o_val
=
[
NSArray
arrayWithObjects
:[
NSNumber
numberWithInt
:
p_add
->
i_node
],
[
NSNumber
numberWithInt
:
p_add
->
i_item
],
nil
];
[[[
VLCMain
sharedInstance
]
playlist
]
performSelectorOnMainThread
:
@selector
(
plItemAppended
:)
withObject
:
o_val
waitUntilDone
:
NO
];
PLModel
*
model
=
(
__bridge
PLModel
*
)
param
;
[
model
performSelectorOnMainThread
:
@selector
(
plItemAppended
:)
withObject
:
o_val
waitUntilDone
:
NO
];
return
VLC_SUCCESS
;
}
...
...
@@ -67,7 +70,8 @@ static int PLItemRemoved(vlc_object_t *p_this, const char *psz_var,
{
@autoreleasepool
{
NSNumber
*
o_val
=
[
NSNumber
numberWithInt
:
new_val
.
i_int
];
[[[
VLCMain
sharedInstance
]
playlist
]
performSelectorOnMainThread
:
@selector
(
plItemRemoved
:)
withObject
:
o_val
waitUntilDone
:
NO
];
PLModel
*
model
=
(
__bridge
PLModel
*
)
param
;
[
model
performSelectorOnMainThread
:
@selector
(
plItemRemoved
:)
withObject
:
o_val
waitUntilDone
:
NO
];
return
VLC_SUCCESS
;
}
...
...
@@ -77,7 +81,8 @@ static int PlaybackModeUpdated(vlc_object_t *p_this, const char *psz_var,
vlc_value_t
oldval
,
vlc_value_t
new_val
,
void
*
param
)
{
@autoreleasepool
{
[[[
VLCMain
sharedInstance
]
playlist
]
performSelectorOnMainThread
:
@selector
(
playbackModeUpdated
)
withObject
:
nil
waitUntilDone
:
NO
];
PLModel
*
model
=
(
__bridge
PLModel
*
)
param
;
[
model
performSelectorOnMainThread
:
@selector
(
playbackModeUpdated
)
withObject
:
nil
waitUntilDone
:
NO
];
return
VLC_SUCCESS
;
}
...
...
@@ -88,7 +93,8 @@ static int VolumeUpdated(vlc_object_t *p_this, const char *psz_var,
{
@autoreleasepool
{
dispatch_async
(
dispatch_get_main_queue
(),
^
{
[[[
VLCMain
sharedInstance
]
mainWindow
]
updateVolumeSlider
];
VLCMainWindow
*
mainWindow
=
(
__bridge
VLCMainWindow
*
)
param
;
[
mainWindow
updateVolumeSlider
];
});
return
VLC_SUCCESS
;
...
...
@@ -127,8 +133,8 @@ static int VolumeUpdated(vlc_object_t *p_this, const char *psz_var,
var_AddCallback
(
p_playlist
,
"random"
,
PlaybackModeUpdated
,
(
__bridge
void
*
)
self
);
var_AddCallback
(
p_playlist
,
"repeat"
,
PlaybackModeUpdated
,
(
__bridge
void
*
)
self
);
var_AddCallback
(
p_playlist
,
"loop"
,
PlaybackModeUpdated
,
(
__bridge
void
*
)
self
);
var_AddCallback
(
p_playlist
,
"volume"
,
VolumeUpdated
,
(
__bridge
void
*
)
self
);
var_AddCallback
(
p_playlist
,
"mute"
,
VolumeUpdated
,
(
__bridge
void
*
)
self
);
var_AddCallback
(
p_playlist
,
"volume"
,
VolumeUpdated
,
(
__bridge
void
*
)
[[
VLCMain
sharedInstance
]
mainWindow
]
);
var_AddCallback
(
p_playlist
,
"mute"
,
VolumeUpdated
,
(
__bridge
void
*
)
[[
VLCMain
sharedInstance
]
mainWindow
]
);
PL_LOCK
;
_rootItem
=
[[
PLItem
alloc
]
initWithPlaylistItem
:
root
];
...
...
@@ -147,8 +153,8 @@ static int VolumeUpdated(vlc_object_t *p_this, const char *psz_var,
var_DelCallback
(
p_playlist
,
"random"
,
PlaybackModeUpdated
,
(
__bridge
void
*
)
self
);
var_DelCallback
(
p_playlist
,
"repeat"
,
PlaybackModeUpdated
,
(
__bridge
void
*
)
self
);
var_DelCallback
(
p_playlist
,
"loop"
,
PlaybackModeUpdated
,
(
__bridge
void
*
)
self
);
var_DelCallback
(
p_playlist
,
"volume"
,
VolumeUpdated
,
(
__bridge
void
*
)
self
);
var_DelCallback
(
p_playlist
,
"mute"
,
VolumeUpdated
,
(
__bridge
void
*
)
self
);
var_DelCallback
(
p_playlist
,
"volume"
,
VolumeUpdated
,
(
__bridge
void
*
)
[[
VLCMain
sharedInstance
]
mainWindow
]
);
var_DelCallback
(
p_playlist
,
"mute"
,
VolumeUpdated
,
(
__bridge
void
*
)
[[
VLCMain
sharedInstance
]
mainWindow
]
);
}
-
(
void
)
changeRootItem
:(
playlist_item_t
*
)
p_root
;
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new 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