Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
V
vlc
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
Commits
7fef8b87
Commit
7fef8b87
authored
Sep 17, 2006
by
Felix Paul Kühne
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
* updated all files to yield the playlist instead of finding it
parent
c77d5dcd
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
199 additions
and
371 deletions
+199
-371
modules/gui/macosx/controls.m
modules/gui/macosx/controls.m
+23
-46
modules/gui/macosx/embeddedwindow.m
modules/gui/macosx/embeddedwindow.m
+1
-6
modules/gui/macosx/extended.m
modules/gui/macosx/extended.m
+2
-4
modules/gui/macosx/intf.m
modules/gui/macosx/intf.m
+46
-64
modules/gui/macosx/playlist.m
modules/gui/macosx/playlist.m
+74
-179
modules/gui/macosx/playlistinfo.m
modules/gui/macosx/playlistinfo.m
+11
-25
modules/gui/macosx/wizard.m
modules/gui/macosx/wizard.m
+42
-47
No files found.
modules/gui/macosx/controls.m
View file @
7fef8b87
...
...
@@ -63,24 +63,21 @@
{
vlc_value_t
val
;
intf_thread_t
*
p_intf
=
VLCIntf
;
playlist_t
*
p_playlist
=
vlc_object_find
(
p_intf
,
VLC_OBJECT_PLAYLIST
,
FIND_ANYWHERE
);
if
(
p_playlist
)
{
vlc_mutex_lock
(
&
p_playlist
->
object_lock
);
if
(
p_playlist
->
i_size
<=
0
)
{
vlc_mutex_unlock
(
&
p_playlist
->
object_lock
);
vlc_object_release
(
p_playlist
);
[
o_main
intfOpenFileGeneric
:
(
id
)
sender
];
}
else
{
vlc_mutex_unlock
(
&
p_playlist
->
object_lock
);
vlc_object_release
(
p_playlist
);
}
playlist_t
*
p_playlist
=
pl_Yield
(
p_intf
);
vlc_mutex_lock
(
&
p_playlist
->
object_lock
);
if
(
p_playlist
->
i_size
<=
0
)
{
vlc_mutex_unlock
(
&
p_playlist
->
object_lock
);
vlc_object_release
(
p_playlist
);
[
o_main
intfOpenFileGeneric
:
(
id
)
sender
];
}
else
{
vlc_mutex_unlock
(
&
p_playlist
->
object_lock
);
vlc_object_release
(
p_playlist
);
}
val
.
i_int
=
config_GetInt
(
p_intf
,
"key-play-pause"
);
var_Set
(
p_intf
->
p_libvlc
,
"key-pressed"
,
val
);
}
...
...
@@ -155,12 +152,7 @@
{
vlc_value_t
val
;
intf_thread_t
*
p_intf
=
VLCIntf
;
playlist_t
*
p_playlist
=
vlc_object_find
(
p_intf
,
VLC_OBJECT_PLAYLIST
,
FIND_ANYWHERE
);
if
(
p_playlist
==
NULL
)
{
return
;
}
playlist_t
*
p_playlist
=
pl_Yield
(
p_intf
);
var_Get
(
p_playlist
,
"random"
,
&
val
);
val
.
b_bool
=
!
val
.
b_bool
;
...
...
@@ -185,12 +177,7 @@
{
vlc_value_t
val
;
intf_thread_t
*
p_intf
=
VLCIntf
;
playlist_t
*
p_playlist
=
vlc_object_find
(
p_intf
,
VLC_OBJECT_PLAYLIST
,
FIND_ANYWHERE
);
if
(
p_playlist
==
NULL
)
{
return
;
}
playlist_t
*
p_playlist
=
pl_Yield
(
p_intf
);
var_Get
(
p_playlist
,
"repeat"
,
&
val
);
if
(
!
val
.
b_bool
)
...
...
@@ -219,12 +206,7 @@
{
vlc_value_t
val
;
intf_thread_t
*
p_intf
=
VLCIntf
;
playlist_t
*
p_playlist
=
vlc_object_find
(
p_intf
,
VLC_OBJECT_PLAYLIST
,
FIND_ANYWHERE
);
if
(
p_playlist
==
NULL
)
{
return
;
}
playlist_t
*
p_playlist
=
pl_Yield
(
p_intf
);
var_Get
(
p_playlist
,
"loop"
,
&
val
);
if
(
!
val
.
b_bool
)
...
...
@@ -345,17 +327,17 @@
}
else
{
playlist_t
*
p_playlist
=
vlc_object_find
(
VLCIntf
,
VLC_OBJECT_PLAYLIST
,
FIND_ANYWHERE
);
playlist_t
*
p_playlist
=
pl_Yield
(
VLCIntf
);
if
(
p_playlist
&&
(
[
o_title
isEqualToString
:
_NS
(
"Fullscreen"
)]
||
[
sender
isKindOfClass
:[
NSButton
class
]]
)
)
if
(
[
o_title
isEqualToString
:
_NS
(
"Fullscreen"
)]
||
[
sender
isKindOfClass
:[
NSButton
class
]]
)
{
vlc_value_t
val
;
var_Get
(
p_playlist
,
"fullscreen"
,
&
val
);
var_Set
(
p_playlist
,
"fullscreen"
,
(
vlc_value_t
)
!
val
.
b_bool
);
}
if
(
p_playlist
)
vlc_object_release
(
(
vlc_object_t
*
)
p_playlist
);
vlc_object_release
(
p_playlist
);
}
}
...
...
@@ -697,14 +679,9 @@
BOOL
bEnabled
=
TRUE
;
vlc_value_t
val
;
intf_thread_t
*
p_intf
=
VLCIntf
;
playlist_t
*
p_playlist
=
vlc_object_find
(
p_intf
,
VLC_OBJECT_PLAYLIST
,
FIND_ANYWHERE
);
playlist_t
*
p_playlist
=
pl_Yield
(
p_intf
);
if
(
p_playlist
!=
NULL
)
{
vlc_mutex_lock
(
&
p_playlist
->
object_lock
);
}
else
return
FALSE
;
vlc_mutex_lock
(
&
p_playlist
->
object_lock
);
#define p_input p_playlist->p_input
...
...
modules/gui/macosx/embeddedwindow.m
View file @
7fef8b87
...
...
@@ -87,12 +87,7 @@
-
(
BOOL
)
windowShouldClose
:(
id
)
sender
{
playlist_t
*
p_playlist
=
vlc_object_find
(
VLCIntf
,
VLC_OBJECT_PLAYLIST
,
FIND_ANYWHERE
);
if
(
p_playlist
==
NULL
)
{
return
NO
;
}
playlist_t
*
p_playlist
=
pl_Yield
(
VLCIntf
);
playlist_Stop
(
p_playlist
);
vlc_object_release
(
p_playlist
);
...
...
modules/gui/macosx/extended.m
View file @
7fef8b87
...
...
@@ -369,8 +369,7 @@ static VLCExtended *_o_sharedInstance = nil;
id
o_window
=
[
NSApp
keyWindow
];
NSArray
*
o_windows
=
[
NSApp
orderedWindows
];
NSEnumerator
*
o_enumerator
=
[
o_windows
objectEnumerator
];
playlist_t
*
p_playlist
=
vlc_object_find
(
VLCIntf
,
VLC_OBJECT_PLAYLIST
,
FIND_ANYWHERE
);
playlist_t
*
p_playlist
=
pl_Yield
(
VLCIntf
);
vout_thread_t
*
p_vout
=
vlc_object_find
(
VLCIntf
,
VLC_OBJECT_VOUT
,
FIND_ANYWHERE
);
vout_thread_t
*
p_real_vout
;
...
...
@@ -848,8 +847,7 @@ static VLCExtended *_o_sharedInstance = nil;
{
/* save the preferences to make sure that our module-changes will up on
* next launch again */
playlist_t
*
p_playlist
=
vlc_object_find
(
VLCIntf
,
VLC_OBJECT_PLAYLIST
,
FIND_ANYWHERE
);
playlist_t
*
p_playlist
=
pl_Yield
(
VLCIntf
);
int
returnedValue
;
NSArray
*
theModules
;
theModules
=
[[
NSArray
alloc
]
initWithObjects
:
@"main"
,
@"headphone"
,
...
...
modules/gui/macosx/intf.m
View file @
7fef8b87
...
...
@@ -456,25 +456,22 @@ static VLCMain *_o_sharedMainInstance = nil;
o_size_with_playlist
=
[
o_window
frame
].
size
;
p_playlist
=
(
playlist_t
*
)
vlc_object_find
(
p_intf
,
VLC_OBJECT_PLAYLIST
,
FIND_ANYWHERE
);
p_playlist
=
pl_Yield
(
p_intf
);
if
(
p_playlist
)
/* Check if we need to start playing */
if
(
p_intf
->
b_play
)
{
/* Check if we need to start playing */
if
(
p_intf
->
b_play
)
{
playlist_LockControl
(
p_playlist
,
PLAYLIST_AUTOPLAY
);
}
var_Create
(
p_playlist
,
"fullscreen"
,
VLC_VAR_BOOL
|
VLC_VAR_DOINHERIT
);
val
.
b_bool
=
VLC_FALSE
;
playlist_LockControl
(
p_playlist
,
PLAYLIST_AUTOPLAY
);
}
var_Create
(
p_playlist
,
"fullscreen"
,
VLC_VAR_BOOL
|
VLC_VAR_DOINHERIT
);
val
.
b_bool
=
VLC_FALSE
;
var_AddCallback
(
p_playlist
,
"fullscreen"
,
FullscreenChanged
,
self
);
var_AddCallback
(
p_playlist
,
"intf-show"
,
ShowController
,
self
);
var_AddCallback
(
p_playlist
,
"fullscreen"
,
FullscreenChanged
,
self
);
var_AddCallback
(
p_playlist
,
"intf-show"
,
ShowController
,
self
);
[
o_embedded_window
setFullscreen
:
var_GetBool
(
p_playlist
,
"fullscreen"
)];
vlc_object_release
(
p_playlist
);
}
[
o_embedded_window
setFullscreen
:
var_GetBool
(
p_playlist
,
"fullscreen"
)];
vlc_object_release
(
p_playlist
);
var_Create
(
p_intf
,
"interaction"
,
VLC_VAR_ADDRESS
);
var_AddCallback
(
p_intf
,
"interaction"
,
InteractCallback
,
self
);
...
...
@@ -741,7 +738,7 @@ static VLCMain *_o_sharedMainInstance = nil;
case
kRemoteButtonVolume_Plus
:
/* there are two events when the plus or minus button is pressed
one when the button is pressed down and one when the button is released */
if
(
pressedDown
)
if
(
pressedDown
)
{
[
o_controls
volumeUp
:
self
];
}
...
...
@@ -749,7 +746,8 @@ static VLCMain *_o_sharedMainInstance = nil;
case
kRemoteButtonVolume_Minus
:
/* there are two events when the plus or minus button is pressed
one when the button is pressed down and one when the button is released */
if
(
pressedDown
)
{
if
(
pressedDown
)
{
[
o_controls
volumeDown
:
self
];
}
break
;
...
...
@@ -763,7 +761,8 @@ static VLCMain *_o_sharedMainInstance = nil;
case
kRemoteButtonLeft_Hold
:
/* simulate an event as long as the user holds the button */
b_left_right_remote_button_hold
=
pressedDown
;
if
(
pressedDown
)
{
if
(
pressedDown
)
{
NSNumber
*
buttonIdentifierNumber
=
[
NSNumber
numberWithInt
:
buttonIdentifier
];
[
self
performSelector
:
@selector
(
triggerMovieStepForRemoteButton
:)
withObject:
buttonIdentifierNumber
];
...
...
@@ -917,11 +916,7 @@ static VLCMain *_o_sharedMainInstance = nil;
-
(
id
)
getPlaylist
{
if
(
o_playlist
)
{
return
o_playlist
;
}
return
nil
;
return
o_playlist
;
}
-
(
id
)
getInfo
...
...
@@ -999,19 +994,15 @@ static VLCMain *_o_sharedMainInstance = nil;
vlc_thread_set_priority
(
p_intf
,
VLC_THREAD_PRIORITY_LOW
);
p_playlist
=
vlc_object_find
(
p_intf
,
VLC_OBJECT_PLAYLIST
,
FIND_ANYWHERE
);
p_playlist
=
pl_Yield
(
p_intf
);
if
(
p_playlist
!=
NULL
)
{
var_AddCallback
(
p_playlist
,
"intf-change"
,
PlaylistChanged
,
self
);
var_AddCallback
(
p_playlist
,
"item-change"
,
PlaylistChanged
,
self
);
var_AddCallback
(
p_playlist
,
"item-append"
,
PlaylistChanged
,
self
);
var_AddCallback
(
p_playlist
,
"item-deleted"
,
PlaylistChanged
,
self
);
var_AddCallback
(
p_playlist
,
"playlist-current"
,
PlaylistChanged
,
self
);
var_AddCallback
(
p_playlist
,
"intf-change"
,
PlaylistChanged
,
self
);
var_AddCallback
(
p_playlist
,
"item-change"
,
PlaylistChanged
,
self
);
var_AddCallback
(
p_playlist
,
"item-append"
,
PlaylistChanged
,
self
);
var_AddCallback
(
p_playlist
,
"item-deleted"
,
PlaylistChanged
,
self
);
var_AddCallback
(
p_playlist
,
"playlist-current"
,
PlaylistChanged
,
self
);
vlc_object_release
(
p_playlist
);
}
vlc_object_release
(
p_playlist
);
while
(
!
p_intf
->
b_die
)
{
...
...
@@ -1073,8 +1064,7 @@ static VLCMain *_o_sharedMainInstance = nil;
vlc_bool_t
b_seekable
=
VLC_FALSE
;
vlc_bool_t
b_chapters
=
VLC_FALSE
;
playlist_t
*
p_playlist
=
vlc_object_find
(
p_intf
,
VLC_OBJECT_PLAYLIST
,
FIND_ANYWHERE
);
playlist_t
*
p_playlist
=
pl_Yield
(
p_intf
);
b_plmul
=
p_playlist
->
i_size
>
1
;
vlc_object_release
(
p_playlist
);
...
...
@@ -1122,8 +1112,7 @@ static VLCMain *_o_sharedMainInstance = nil;
if
(
p_intf
->
p_sys
->
b_fullscreen_update
)
{
playlist_t
*
p_playlist
=
vlc_object_find
(
p_intf
,
VLC_OBJECT_PLAYLIST
,
FIND_ANYWHERE
);
playlist_t
*
p_playlist
=
pl_Yield
(
p_intf
);
var_Get
(
p_playlist
,
"fullscreen"
,
&
val
);
[
o_embedded_window
setFullscreen
:
val
.
b_bool
];
vlc_object_release
(
p_playlist
);
...
...
@@ -1146,11 +1135,11 @@ static VLCMain *_o_sharedMainInstance = nil;
{
NSString
*
o_temp
;
vout_thread_t
*
p_vout
;
playlist_t
*
p_playlist
=
vlc_object_find
(
p_intf
,
VLC_OBJECT_PLAYLIST
,
FIND_ANYWHERE
);
playlist_t
*
p_playlist
=
pl_Yield
(
p_intf
);
if
(
p_playlist
==
NULL
||
p_playlist
->
status
.
p_item
==
NULL
)
if
(
p_playlist
->
status
.
p_item
==
NULL
)
{
vlc_object_release
(
p_playlist
);
return
;
}
o_temp
=
[
NSString
stringWithUTF8String
:
...
...
@@ -1344,12 +1333,8 @@ static VLCMain *_o_sharedMainInstance = nil;
if
(
p_intf
->
p_sys
->
p_input
&&
!
p_intf
->
p_sys
->
p_input
->
b_die
)
{
NSString
*
o_temp
;
playlist_t
*
p_playlist
=
vlc_object_find
(
p_intf
,
VLC_OBJECT_PLAYLIST
,
FIND_ANYWHERE
);
if
(
p_playlist
==
NULL
)
{
return
;
}
playlist_t
*
p_playlist
=
pl_Yield
(
p_intf
);
o_temp
=
[
NSString
stringWithUTF8String
:
p_playlist
->
status
.
p_item
->
p_input
->
psz_name
];
if
(
o_temp
==
NULL
)
...
...
@@ -1536,12 +1521,9 @@ static VLCMain *_o_sharedMainInstance = nil;
#undef p_input
/* Stop playback */
if
(
(
p_playlist
=
vlc_object_find
(
p_intf
,
VLC_OBJECT_PLAYLIST
,
FIND_ANYWHERE
)
)
)
{
playlist_Stop
(
p_playlist
);
vlc_object_release
(
p_playlist
);
}
p_playlist
=
pl_Yield
(
p_intf
);
playlist_Stop
(
p_playlist
);
vlc_object_release
(
p_playlist
);
/* FIXME - Wait here until all vouts are terminated because
libvlc's VLC_CleanUp destroys interfaces before vouts, which isn't
...
...
@@ -1647,7 +1629,7 @@ static VLCMain *_o_sharedMainInstance = nil;
-
(
IBAction
)
intfOpenFile
:(
id
)
sender
{
if
(
!
nib_open_loaded
)
if
(
!
nib_open_loaded
)
{
nib_open_loaded
=
[
NSBundle
loadNibNamed
:
@"Open"
owner
:
self
];
[
o_open
awakeFromNib
];
...
...
@@ -1659,7 +1641,7 @@ static VLCMain *_o_sharedMainInstance = nil;
-
(
IBAction
)
intfOpenFileGeneric
:(
id
)
sender
{
if
(
!
nib_open_loaded
)
if
(
!
nib_open_loaded
)
{
nib_open_loaded
=
[
NSBundle
loadNibNamed
:
@"Open"
owner
:
self
];
[
o_open
awakeFromNib
];
...
...
@@ -1671,7 +1653,7 @@ static VLCMain *_o_sharedMainInstance = nil;
-
(
IBAction
)
intfOpenDisc
:(
id
)
sender
{
if
(
!
nib_open_loaded
)
if
(
!
nib_open_loaded
)
{
nib_open_loaded
=
[
NSBundle
loadNibNamed
:
@"Open"
owner
:
self
];
[
o_open
awakeFromNib
];
...
...
@@ -1683,7 +1665,7 @@ static VLCMain *_o_sharedMainInstance = nil;
-
(
IBAction
)
intfOpenNet
:(
id
)
sender
{
if
(
!
nib_open_loaded
)
if
(
!
nib_open_loaded
)
{
nib_open_loaded
=
[
NSBundle
loadNibNamed
:
@"Open"
owner
:
self
];
[
o_open
awakeFromNib
];
...
...
@@ -1695,7 +1677,7 @@ static VLCMain *_o_sharedMainInstance = nil;
-
(
IBAction
)
showWizard
:(
id
)
sender
{
if
(
!
nib_wizard_loaded
)
if
(
!
nib_wizard_loaded
)
{
nib_wizard_loaded
=
[
NSBundle
loadNibNamed
:
@"Wizard"
owner
:
self
];
[
o_wizard
initStrings
];
...
...
@@ -1713,7 +1695,7 @@ static VLCMain *_o_sharedMainInstance = nil;
{
o_extended
=
[[
VLCExtended
alloc
]
init
];
}
if
(
!
nib_extended_loaded
)
if
(
!
nib_extended_loaded
)
{
nib_extended_loaded
=
[
NSBundle
loadNibNamed
:
@"Extended"
owner
:
self
];
[
o_extended
initStrings
];
...
...
@@ -1729,7 +1711,7 @@ static VLCMain *_o_sharedMainInstance = nil;
{
o_sfilters
=
[[
VLCsFilters
alloc
]
init
];
}
if
(
!
nib_sfilters_loaded
)
if
(
!
nib_sfilters_loaded
)
{
nib_sfilters_loaded
=
[
NSBundle
loadNibNamed
:
@"SFilters"
owner
:
self
];
[
o_sfilters
initStrings
];
...
...
@@ -1742,13 +1724,13 @@ static VLCMain *_o_sharedMainInstance = nil;
-
(
IBAction
)
showBookmarks
:(
id
)
sender
{
/* we need the wizard-nib for the bookmarks's extract functionality */
if
(
!
nib_wizard_loaded
)
if
(
!
nib_wizard_loaded
)
{
nib_wizard_loaded
=
[
NSBundle
loadNibNamed
:
@"Wizard"
owner
:
self
];
[
o_wizard
initStrings
];
}
if
(
!
nib_bookmarks_loaded
)
if
(
!
nib_bookmarks_loaded
)
{
nib_bookmarks_loaded
=
[
NSBundle
loadNibNamed
:
@"Bookmarks"
owner
:
self
];
[
o_bookmarks
showBookmarks
];
...
...
@@ -1759,7 +1741,7 @@ static VLCMain *_o_sharedMainInstance = nil;
-
(
IBAction
)
viewAbout
:(
id
)
sender
{
if
(
!
nib_about_loaded
)
if
(
!
nib_about_loaded
)
{
nib_about_loaded
=
[
NSBundle
loadNibNamed
:
@"About"
owner
:
self
];
[
o_about
showPanel
];
...
...
@@ -1778,7 +1760,7 @@ static VLCMain *_o_sharedMainInstance = nil;
-
(
IBAction
)
checkForUpdate
:(
id
)
sender
{
if
(
!
nib_update_loaded
)
if
(
!
nib_update_loaded
)
{
nib_update_loaded
=
[
NSBundle
loadNibNamed
:
@"Update"
owner
:
self
];
[
o_update
showUpdateWindow
];
...
...
modules/gui/macosx/playlist.m
View file @
7fef8b87
...
...
@@ -114,8 +114,7 @@
}
-
(
void
)
awakeFromNib
{
playlist_t
*
p_playlist
=
vlc_object_find
(
VLCIntf
,
VLC_OBJECT_PLAYLIST
,
FIND_ANYWHERE
);
playlist_t
*
p_playlist
=
pl_Yield
(
VLCIntf
);
[
o_outline_view
setTarget
:
self
];
[
o_outline_view
setDelegate
:
self
];
[
o_outline_view
setDataSource
:
self
];
...
...
@@ -151,10 +150,7 @@
{
int
i_return
=
0
;
playlist_item_t
*
p_item
=
NULL
;
playlist_t
*
p_playlist
=
vlc_object_find
(
VLCIntf
,
VLC_OBJECT_PLAYLIST
,
FIND_ANYWHERE
);
if
(
p_playlist
==
NULL
)
return
0
;
playlist_t
*
p_playlist
=
pl_Yield
(
VLCIntf
);
if
(
outlineView
!=
o_outline_view
)
{
vlc_object_release
(
p_playlist
);
...
...
@@ -185,11 +181,7 @@ NSLog( @"%d children for %s", i_return, p_item->p_input->psz_name );
{
playlist_item_t
*
p_return
=
NULL
,
*
p_item
=
NULL
;
NSValue
*
o_value
;
playlist_t
*
p_playlist
=
vlc_object_find
(
VLCIntf
,
VLC_OBJECT_PLAYLIST
,
FIND_ANYWHERE
);
if
(
p_playlist
==
NULL
)
return
nil
;
playlist_t
*
p_playlist
=
pl_Yield
(
VLCIntf
);
if
(
item
==
nil
)
{
...
...
@@ -206,11 +198,13 @@ NSLog( @"%d children for %s", i_return, p_item->p_input->psz_name );
vlc_object_release
(
p_playlist
);
o_value
=
[
o_outline_dict
objectForKey
:[
NSString
stringWithFormat
:
@"%p"
,
p_return
]];
#if 0
NSLog( @"%s", p_return->p_input->psz_name);
#endif
if
(
o_value
==
nil
)
{
o_value
=
[[
NSValue
valueWithPointer
:
p_return
]
retain
];
NSLog
(
@"error missing
value"
);
msg_Err
(
VLCIntf
,
@"missing playlist item's pointer
value"
);
}
return
o_value
;
}
...
...
@@ -219,10 +213,7 @@ NSLog( @"%d children for %s", i_return, p_item->p_input->psz_name );
-
(
BOOL
)
outlineView
:(
NSOutlineView
*
)
outlineView
isItemExpandable
:(
id
)
item
{
int
i_return
=
0
;
playlist_t
*
p_playlist
=
vlc_object_find
(
VLCIntf
,
VLC_OBJECT_PLAYLIST
,
FIND_ANYWHERE
);
if
(
p_playlist
==
NULL
)
return
NO
;
playlist_t
*
p_playlist
=
pl_Yield
(
VLCIntf
);
if
(
item
==
nil
)
{
...
...
@@ -252,16 +243,10 @@ NSLog( @"expandable" );
{
id
o_value
=
nil
;
intf_thread_t
*
p_intf
=
VLCIntf
;
playlist_t
*
p_playlist
;
playlist_item_t
*
p_item
;
if
(
item
==
nil
||
!
[
item
isKindOfClass
:
[
NSValue
class
]]
)
return
(
@"error"
);
/* Check to see if the playlist is present */
p_playlist
=
vlc_object_find
(
p_intf
,
VLC_OBJECT_PLAYLIST
,
FIND_ANYWHERE
);
if
(
p_playlist
==
NULL
)
return
(
@"error"
);
vlc_object_release
(
p_playlist
);
p_item
=
(
playlist_item_t
*
)[
item
pointerValue
];
if
(
p_item
==
NULL
)
{
...
...
@@ -354,8 +339,7 @@ NSLog( @"expandable" );
-
(
void
)
awakeFromNib
{
playlist_t
*
p_playlist
=
vlc_object_find
(
VLCIntf
,
VLC_OBJECT_PLAYLIST
,
FIND_ANYWHERE
);
playlist_t
*
p_playlist
=
pl_Yield
(
VLCIntf
);
vlc_list_t
*
p_list
=
vlc_list_find
(
p_playlist
,
VLC_OBJECT_MODULE
,
FIND_ANYWHERE
);
...
...
@@ -478,10 +462,7 @@ NSLog( @"expandable" );
[[[[
VLCMain
sharedInstance
]
getWizard
]
getPlaylistWizard
]
reloadOutlineView
];
[[[[
VLCMain
sharedInstance
]
getBookmarks
]
getDataTable
]
reloadData
];
playlist_t
*
p_playlist
=
vlc_object_find
(
VLCIntf
,
VLC_OBJECT_PLAYLIST
,
FIND_ANYWHERE
);
if
(
!
p_playlist
)
return
;
playlist_t
*
p_playlist
=
pl_Yield
(
VLCIntf
);
if
(
p_playlist
->
i_size
>=
2
)
{
...
...
@@ -504,15 +485,9 @@ NSLog( @"expandable" );
-
(
void
)
playModeUpdated
{
playlist_t
*
p_playlist
=
vlc_object_find
(
VLCIntf
,
VLC_OBJECT_PLAYLIST
,
FIND_ANYWHERE
);
playlist_t
*
p_playlist
=
pl_Yield
(
VLCIntf
);
vlc_value_t
val
,
val2
;
if
(
p_playlist
==
NULL
)
{
return
;
}
var_Get
(
p_playlist
,
"loop"
,
&
val2
);
var_Get
(
p_playlist
,
"repeat"
,
&
val
);
if
(
val
.
b_bool
==
VLC_TRUE
)
...
...
@@ -539,14 +514,10 @@ NSLog( @"expandable" );
int
i_row
;
unsigned
int
j
;
playlist_t
*
p_playlist
=
vlc_object_find
(
VLCIntf
,
VLC_OBJECT_PLAYLIST
,
FIND_ANYWHERE
);
playlist_t
*
p_playlist
=
pl_Yield
(
VLCIntf
);
playlist_item_t
*
p_item
,
*
p_temp_item
;
NSMutableArray
*
o_array
=
[
NSMutableArray
array
];
if
(
p_playlist
==
NULL
)
return
;
p_item
=
p_playlist
->
status
.
p_item
;
if
(
p_item
==
NULL
)
{
...
...
@@ -587,7 +558,7 @@ NSLog( @"expandable" );
[
o_outline_view
selectRow
:
i_row
byExtendingSelection
:
NO
];
[
o_outline_view
scrollRowToVisible
:
i_row
];
vlc_object_release
(
p_playlist
);
vlc_object_release
(
p_playlist
);
/* update our info-panel to reflect the new item */
[[[
VLCMain
sharedInstance
]
getInfo
]
updatePanel
];
...
...
@@ -602,15 +573,9 @@ NSLog( @"expandable" );
checkItemExistence
:(
BOOL
)
b_check
{
playlist_t
*
p_playlist
=
vlc_object_find
(
VLCIntf
,
VLC_OBJECT_PLAYLIST
,
FIND_ANYWHERE
);
playlist_t
*
p_playlist
=
pl_Yield
(
VLCIntf
);
playlist_item_t
*
p_temp_item
=
p_item
;
if
(
p_playlist
==
NULL
)
{
return
NO
;
}
if
(
p_node
==
p_item
)
{
vlc_object_release
(
p_playlist
);
...
...
@@ -693,8 +658,7 @@ NSLog( @"expandable" );
-
(
IBAction
)
savePlaylist
:(
id
)
sender
{
intf_thread_t
*
p_intf
=
VLCIntf
;
playlist_t
*
p_playlist
=
vlc_object_find
(
p_intf
,
VLC_OBJECT_PLAYLIST
,
FIND_ANYWHERE
);
playlist_t
*
p_playlist
=
pl_Yield
(
p_intf
);
NSSavePanel
*
o_save_panel
=
[
NSSavePanel
savePanel
];
NSString
*
o_name
=
[
NSString
stringWithFormat
:
@"%@"
,
_NS
(
"Untitled"
)];
...
...
@@ -757,39 +721,35 @@ NSLog( @"expandable" );
-
(
IBAction
)
playItem
:(
id
)
sender
{
intf_thread_t
*
p_intf
=
VLCIntf
;
playlist_t
*
p_playlist
=
vlc_object_find
(
p_intf
,
VLC_OBJECT_PLAYLIST
,
FIND_ANYWHERE
);
playlist_t
*
p_playlist
=
pl_Yield
(
p_intf
);
if
(
p_playlist
!=
NULL
)
{
playlist_item_t
*
p_item
;
playlist_item_t
*
p_node
=
NULL
;
playlist_item_t
*
p_item
;
playlist_item_t
*
p_node
=
NULL
;
p_item
=
[[
o_outline_view
itemAtRow
:[
o_outline_view
selectedRow
]]
pointerValue
];
p_item
=
[[
o_outline_view
itemAtRow
:[
o_outline_view
selectedRow
]]
pointerValue
];
if
(
p_item
)
if
(
p_item
)
{
if
(
p_item
->
i_children
==
-
1
)
{
if
(
p_item
->
i_children
==
-
1
)
{
p_node
=
p_item
->
p_parent
;
p_node
=
p_item
->
p_parent
;
}
else
{
p_node
=
p_item
;
if
(
p_node
->
i_children
>
0
&&
p_node
->
pp_children
[
0
]
->
i_children
==
-
1
)
{
p_item
=
p_node
->
pp_children
[
0
];
}
else
{
p_node
=
p_item
;
if
(
p_node
->
i_children
>
0
&&
p_node
->
pp_children
[
0
]
->
i_children
==
-
1
)
{
p_item
=
p_node
->
pp_children
[
0
];
}
else
{
p_item
=
NULL
;
}
p_item
=
NULL
;
}
playlist_Control
(
p_playlist
,
PLAYLIST_VIEWPLAY
,
p_node
,
p_item
);
}
vlc_object_release
(
p_playlist
);
playlist_Control
(
p_playlist
,
PLAYLIST_VIEWPLAY
,
p_node
,
p_item
);
}
vlc_object_release
(
p_playlist
);
}
/* When called retrieves the selected outlineview row and plays that node or item */
...
...
@@ -798,40 +758,36 @@ NSLog( @"expandable" );
int
i_count
;
NSMutableArray
*
o_to_preparse
;
intf_thread_t
*
p_intf
=
VLCIntf
;
playlist_t
*
p_playlist
=
vlc_object_find
(
p_intf
,
VLC_OBJECT_PLAYLIST
,
FIND_ANYWHERE
);
playlist_t
*
p_playlist
=
pl_Yield
(
p_intf
);
o_to_preparse
=
[
NSMutableArray
arrayWithArray
:[[
o_outline_view
selectedRowEnumerator
]
allObjects
]];
i_count
=
[
o_to_preparse
count
];
if
(
p_playlist
!=
NULL
)
int
i
,
i_row
;
NSNumber
*
o_number
;
playlist_item_t
*
p_item
=
NULL
;
for
(
i
=
0
;
i
<
i_count
;
i
++
)
{
int
i
,
i_row
;
NSNumber
*
o_number
;
playlist_item_t
*
p_item
=
NULL
;
o_number
=
[
o_to_preparse
lastObject
];
i_row
=
[
o_number
intValue
];
p_item
=
[[
o_outline_view
itemAtRow
:
i_row
]
pointerValue
];
[
o_to_preparse
removeObject
:
o_number
];
[
o_outline_view
deselectRow
:
i_row
];
for
(
i
=
0
;
i
<
i_count
;
i
++
)
if
(
p_item
)
{
o_number
=
[
o_to_preparse
lastObject
];
i_row
=
[
o_number
intValue
];
p_item
=
[[
o_outline_view
itemAtRow
:
i_row
]
pointerValue
];
[
o_to_preparse
removeObject
:
o_number
];
[
o_outline_view
deselectRow
:
i_row
];
if
(
p_item
)
if
(
p_item
->
i_children
==
-
1
)
{
if
(
p_item
->
i_children
==
-
1
)
{
playlist_PreparseEnqueue
(
p_playlist
,
p_item
->
p_input
);
}
else
{
msg_Dbg
(
p_intf
,
"preparse of nodes not yet implemented"
);
}
playlist_PreparseEnqueue
(
p_playlist
,
p_item
->
p_input
);
}
else
{
msg_Dbg
(
p_intf
,
"preparse of nodes not yet implemented"
);
}
}
vlc_object_release
(
p_playlist
);
}
vlc_object_release
(
p_playlist
);
[
self
playlistUpdated
];
}
...
...
@@ -839,8 +795,7 @@ NSLog( @"expandable" );
{
NSMenuItem
*
o_mi
=
(
NSMenuItem
*
)
sender
;
NSString
*
o_string
=
[
o_mi
representedObject
];
playlist_t
*
p_playlist
=
vlc_object_find
(
VLCIntf
,
VLC_OBJECT_PLAYLIST
,
FIND_ANYWHERE
);
playlist_t
*
p_playlist
=
pl_Yield
(
VLCIntf
);
if
(
!
playlist_IsServicesDiscoveryLoaded
(
p_playlist
,
[
o_string
cString
]
)
)
playlist_ServicesDiscoveryAdd
(
p_playlist
,
[
o_string
cString
]
);
else
...
...
@@ -868,13 +823,8 @@ NSLog( @"expandable" );
playlist_t
*
p_playlist
;
intf_thread_t
*
p_intf
=
VLCIntf
;
p_playlist
=
vlc_object_find
(
p_intf
,
VLC_OBJECT_PLAYLIST
,
FIND_ANYWHERE
);
p_playlist
=
pl_Yield
(
p_intf
);
if
(
p_playlist
==
NULL
)
{
return
;
}
o_to_delete
=
[
NSMutableArray
arrayWithArray
:[[
o_outline_view
selectedRowEnumerator
]
allObjects
]];
i_count
=
[
o_to_delete
count
];
...
...
@@ -924,15 +874,9 @@ NSLog( @"expandable" );
-
(
void
)
sortNode
:(
int
)
i_mode
{
playlist_t
*
p_playlist
=
vlc_object_find
(
VLCIntf
,
VLC_OBJECT_PLAYLIST
,
FIND_ANYWHERE
);
playlist_t
*
p_playlist
=
pl_Yield
(
VLCIntf
);
playlist_item_t
*
p_item
;
if
(
p_playlist
==
NULL
)
{
return
;
}
if
(
[
o_outline_view
selectedRow
]
>
-
1
)
{
p_item
=
[[
o_outline_view
itemAtRow
:
[
o_outline_view
selectedRow
]]
...
...
@@ -964,13 +908,8 @@ NSLog( @"expandable" );
-
(
input_item_t
*
)
createItem
:(
NSDictionary
*
)
o_one_item
{
intf_thread_t
*
p_intf
=
VLCIntf
;
playlist_t
*
p_playlist
=
vlc_object_find
(
p_intf
,
VLC_OBJECT_PLAYLIST
,
FIND_ANYWHERE
);
playlist_t
*
p_playlist
=
pl_Yield
(
p_intf
);
if
(
p_playlist
==
NULL
)
{
return
NULL
;
}
input_item_t
*
p_input
;
int
i
;
BOOL
b_rem
=
FALSE
,
b_dir
=
FALSE
;
...
...
@@ -1056,12 +995,7 @@ NSLog( @"expandable" );
-
(
void
)
appendArray
:(
NSArray
*
)
o_array
atPos
:(
int
)
i_position
enqueue
:(
BOOL
)
b_enqueue
{
int
i_item
;
playlist_t
*
p_playlist
=
vlc_object_find
(
VLCIntf
,
VLC_OBJECT_PLAYLIST
,
FIND_ANYWHERE
);
if
(
p_playlist
==
NULL
)
{
return
;
}
playlist_t
*
p_playlist
=
pl_Yield
(
VLCIntf
);
for
(
i_item
=
0
;
i_item
<
(
int
)[
o_array
count
];
i_item
++
)
{
...
...
@@ -1100,12 +1034,7 @@ NSLog( @"expandable" );
-
(
void
)
appendNodeArray
:(
NSArray
*
)
o_array
inNode
:(
playlist_item_t
*
)
p_node
atPos
:(
int
)
i_position
enqueue
:(
BOOL
)
b_enqueue
{
int
i_item
;
playlist_t
*
p_playlist
=
vlc_object_find
(
VLCIntf
,
VLC_OBJECT_PLAYLIST
,
FIND_ANYWHERE
);
if
(
p_playlist
==
NULL
)
{
return
;
}
playlist_t
*
p_playlist
=
pl_Yield
(
VLCIntf
);
for
(
i_item
=
0
;
i_item
<
(
int
)[
o_array
count
];
i_item
++
)
{
...
...
@@ -1149,12 +1078,7 @@ NSLog( @"expandable" );
{
intf_thread_t
*
p_intf
=
VLCIntf
;
vlc_value_t
val1
,
val2
;
playlist_t
*
p_playlist
=
vlc_object_find
(
p_intf
,
VLC_OBJECT_PLAYLIST
,
FIND_ANYWHERE
);
if
(
p_playlist
==
NULL
)
{
return
;
}
playlist_t
*
p_playlist
=
pl_Yield
(
p_intf
);
switch
(
[
o_loop_popup
indexOfSelectedItem
]
)
{
...
...
@@ -1193,14 +1117,10 @@ NSLog( @"expandable" );
-
(
NSMutableArray
*
)
subSearchItem
:(
playlist_item_t
*
)
p_item
{
playlist_t
*
p_playlist
=
vlc_object_find
(
VLCIntf
,
VLC_OBJECT_PLAYLIST
,
FIND_ANYWHERE
);
playlist_t
*
p_playlist
=
pl_Yield
(
VLCIntf
);
playlist_item_t
*
p_selected_item
;
int
i_current
,
i_selected_row
;
if
(
!
p_playlist
)
return
NULL
;
i_selected_row
=
[
o_outline_view
selectedRow
];
if
(
i_selected_row
<
0
)
i_selected_row
=
0
;
...
...
@@ -1264,8 +1184,7 @@ NSLog( @"expandable" );
-
(
IBAction
)
searchItem
:(
id
)
sender
{
playlist_t
*
p_playlist
=
vlc_object_find
(
VLCIntf
,
VLC_OBJECT_PLAYLIST
,
FIND_ANYWHERE
);
playlist_t
*
p_playlist
=
pl_Yield
(
VLCIntf
);
id
o_result
;
unsigned
int
i
;
...
...
@@ -1273,9 +1192,6 @@ NSLog( @"expandable" );
b_selected_item_met
=
NO
;
if
(
p_playlist
==
NULL
)
return
;
/*First, only search after the selected item:*
*(b_selected_item_met = NO) */
o_result
=
[
self
subSearchItem
:
p_playlist
->
p_root_category
];
...
...
@@ -1360,12 +1276,7 @@ NSLog( @"expandable" );
int
i_mode
=
0
,
i_type
;
intf_thread_t
*
p_intf
=
VLCIntf
;
playlist_t
*
p_playlist
=
(
playlist_t
*
)
vlc_object_find
(
p_intf
,
VLC_OBJECT_PLAYLIST
,
FIND_ANYWHERE
);
if
(
p_playlist
==
NULL
)
{
return
;
}
playlist_t
*
p_playlist
=
pl_Yield
(
p_intf
);
/* Check whether the selected table column header corresponds to a
sortable table column*/
...
...
@@ -1430,13 +1341,10 @@ NSLog( @"expandable" );
forTableColumn
:(
NSTableColumn
*
)
tableColumn
item
:(
id
)
item
{
playlist_t
*
p_playlist
=
vlc_object_find
(
VLCIntf
,
VLC_OBJECT_PLAYLIST
,
FIND_ANYWHERE
);
playlist_t
*
p_playlist
=
pl_Yield
(
VLCIntf
);
id
o_playing_item
;
if
(
!
p_playlist
)
return
;
o_playing_item
=
[
o_outline_dict
objectForKey
:
[
NSString
stringWithFormat
:
@"%p"
,
p_playlist
->
status
.
p_item
]];
...
...
@@ -1468,15 +1376,9 @@ NSLog( @"expandable" );
NSAutoreleasePool
*
ourPool
=
[[
NSAutoreleasePool
alloc
]
init
];
/* simply adds a new node to the end of the playlist */
playlist_t
*
p_playlist
=
vlc_object_find
(
VLCIntf
,
VLC_OBJECT_PLAYLIST
,
FIND_ANYWHERE
);
playlist_t
*
p_playlist
=
pl_Yield
(
VLCIntf
);
vlc_thread_set_priority
(
p_playlist
,
VLC_THREAD_PRIORITY_LOW
);
if
(
!
p_playlist
)
{
return
;
}
int
ret_v
;
char
*
psz_name
=
NULL
;
playlist_item_t
*
p_item
;
...
...
@@ -1503,10 +1405,10 @@ NSLog( @"expandable" );
-
(
id
)
outlineView
:(
NSOutlineView
*
)
outlineView
child
:(
int
)
index
ofItem
:(
id
)
item
{
id
o_value
=
[
super
outlineView
:
outlineView
child
:
index
ofItem
:
item
];
playlist_t
*
p_playlist
=
vlc_object_find
(
VLCIntf
,
VLC_OBJECT_PLAYLIST
,
FIND_ANYWHERE
);
playlist_t
*
p_playlist
=
pl_Yield
(
VLCIntf
);
if
(
!
p_playlist
)
return
nil
;
/* FIXME: playlist->i_size doesn't provide the correct number of items anymore
* check the playlist API for the fixed function, once zorglub implemented it -- fpk, 9/17/06 */
if
(
p_playlist
->
i_size
>=
2
)
{
...
...
@@ -1528,7 +1430,7 @@ NSLog( @"expandable" );
[
o_outline_dict
setObject
:
o_value
forKey
:[
NSString
stringWithFormat
:
@"%p"
,
[
o_value
pointerValue
]]];
NSLog
(
@"add
item %p"
,
[
o_value
pointerValue
]
);
msg_Dbg
(
VLCIntf
,
"adding
item %p"
,
[
o_value
pointerValue
]
);
return
o_value
;
}
...
...
@@ -1537,16 +1439,13 @@ NSLog( @"add item %p", [o_value pointerValue] );
-
(
BOOL
)
outlineView
:(
NSOutlineView
*
)
outlineView
writeItems
:(
NSArray
*
)
items
toPasteboard
:(
NSPasteboard
*
)
pboard
{
unsigned
int
i
;
playlist_t
*
p_playlist
=
vlc_object_find
(
VLCIntf
,
VLC_OBJECT_PLAYLIST
,
FIND_ANYWHERE
);
playlist_t
*
p_playlist
=
pl_Yield
(
VLCIntf
);
/* First remove the items that were moved during the last drag & drop
operation */
[
o_items_array
removeAllObjects
];
[
o_nodes_array
removeAllObjects
];
if
(
!
p_playlist
)
return
NO
;
for
(
i
=
0
;
i
<
[
items
count
]
;
i
++
)
{
id
o_item
=
[
items
objectAtIndex
:
i
];
...
...
@@ -1584,8 +1483,7 @@ NSLog( @"add item %p", [o_value pointerValue] );
-
(
NSDragOperation
)
outlineView
:(
NSOutlineView
*
)
outlineView
validateDrop
:(
id
<
NSDraggingInfo
>
)
info
proposedItem
:(
id
)
item
proposedChildIndex
:(
int
)
index
{
playlist_t
*
p_playlist
=
vlc_object_find
(
VLCIntf
,
VLC_OBJECT_PLAYLIST
,
FIND_ANYWHERE
);
playlist_t
*
p_playlist
=
pl_Yield
(
VLCIntf
);
NSPasteboard
*
o_pasteboard
=
[
info
draggingPasteboard
];
if
(
!
p_playlist
)
return
NSDragOperationNone
;
...
...
@@ -1626,28 +1524,25 @@ NSLog( @"add item %p", [o_value pointerValue] );
return
NSDragOperationNone
;
}
}
vlc_object_release
(
p_playlist
);
vlc_object_release
(
p_playlist
);
return
NSDragOperationMove
;
}
/* Drop from the Finder */
else
if
(
[[
o_pasteboard
types
]
containsObject
:
NSFilenamesPboardType
]
)
{
vlc_object_release
(
p_playlist
);
vlc_object_release
(
p_playlist
);
return
NSDragOperationGeneric
;
}
vlc_object_release
(
p_playlist
);
vlc_object_release
(
p_playlist
);
return
NSDragOperationNone
;
}
-
(
BOOL
)
outlineView
:(
NSOutlineView
*
)
outlineView
acceptDrop
:(
id
<
NSDraggingInfo
>
)
info
item
:(
id
)
item
childIndex
:(
int
)
index
{
playlist_t
*
p_playlist
=
vlc_object_find
(
VLCIntf
,
VLC_OBJECT_PLAYLIST
,
FIND_ANYWHERE
);
playlist_t
*
p_playlist
=
pl_Yield
(
VLCIntf
);
NSPasteboard
*
o_pasteboard
=
[
info
draggingPasteboard
];
if
(
!
p_playlist
)
return
NO
;
/* Drag & Drop inside the playlist */
if
(
[[
o_pasteboard
types
]
containsObject
:
@"VLCPlaylistItemPboardType"
]
)
{
...
...
@@ -1733,7 +1628,7 @@ NSLog( @"add item %p", [o_value pointerValue] );
[
o_outline_view
selectRow
:
i_row
byExtendingSelection
:
NO
];
[
o_outline_view
scrollRowToVisible
:
i_row
];
vlc_object_release
(
p_playlist
);
vlc_object_release
(
p_playlist
);
return
YES
;
}
...
...
modules/gui/macosx/playlistinfo.m
View file @
7fef8b87
...
...
@@ -135,15 +135,11 @@
else
{
intf_thread_t
*
p_intf
=
VLCIntf
;
playlist_t
*
p_playlist
=
vlc_object_find
(
p_intf
,
VLC_OBJECT_PLAYLIST
,
FIND_ANYWHERE
);
if
(
p_playlist
)
{
p_item
=
p_playlist
->
status
.
p_item
;
vlc_object_release
(
p_playlist
);
}
playlist_t
*
p_playlist
=
pl_Yield
(
p_intf
);
p_item
=
p_playlist
->
status
.
p_item
;
vlc_object_release
(
p_playlist
);
[
self
initPanel
:
sender
];
}
}
...
...
@@ -173,14 +169,10 @@
{
/* make sure that we got the current item and not an outdated one */
intf_thread_t
*
p_intf
=
VLCIntf
;
playlist_t
*
p_playlist
=
vlc_object_find
(
p_intf
,
VLC_OBJECT_PLAYLIST
,
FIND_ANYWHERE
);
playlist_t
*
p_playlist
=
pl_Yield
(
p_intf
);
if
(
p_playlist
)
{
p_item
=
p_playlist
->
status
.
p_item
;
vlc_object_release
(
p_playlist
);
}
p_item
=
p_playlist
->
status
.
p_item
;
vlc_object_release
(
p_playlist
);
/* check whether our item is valid, because we would crash if not */
if
(
!
[
self
isItemInPlaylist
:
p_item
]
)
return
;
...
...
@@ -287,8 +279,7 @@
-
(
IBAction
)
infoOk
:(
id
)
sender
{
intf_thread_t
*
p_intf
=
VLCIntf
;
playlist_t
*
p_playlist
=
vlc_object_find
(
p_intf
,
VLC_OBJECT_PLAYLIST
,
FIND_ANYWHERE
);
playlist_t
*
p_playlist
=
pl_Yield
(
p_intf
);
vlc_value_t
val
;
if
(
[
self
isItemInPlaylist
:
p_item
]
)
...
...
@@ -316,15 +307,9 @@
-
(
BOOL
)
isItemInPlaylist
:(
playlist_item_t
*
)
p_local_item
{
intf_thread_t
*
p_intf
=
VLCIntf
;
playlist_t
*
p_playlist
=
vlc_object_find
(
p_intf
,
VLC_OBJECT_PLAYLIST
,
FIND_ANYWHERE
);
playlist_t
*
p_playlist
=
pl_Yield
(
p_intf
);
int
i
;
if
(
p_playlist
==
NULL
)
{
return
NO
;
}
for
(
i
=
0
;
i
<
p_playlist
->
i_all_size
;
i
++
)
{
if
(
p_playlist
->
pp_all_items
[
i
]
==
p_local_item
)
...
...
@@ -430,7 +415,8 @@ static VLCInfoTreeItem *o_root_item = nil;
}
+
(
VLCInfoTreeItem
*
)
rootItem
{
if
(
o_root_item
==
nil
)
o_root_item
=
[[
VLCInfoTreeItem
alloc
]
initWithName
:
@"main"
value
:
@""
ID
:
0
parent
:
nil
];
if
(
o_root_item
==
nil
)
o_root_item
=
[[
VLCInfoTreeItem
alloc
]
initWithName
:
@"main"
value
:
@""
ID
:
0
parent
:
nil
];
return
o_root_item
;
}
...
...
modules/gui/macosx/wizard.m
View file @
7fef8b87
...
...
@@ -1277,63 +1277,58 @@ static VLCWizard *_o_sharedInstance = nil;
{
intf_thread_t
*
p_intf
=
VLCIntf
;
playlist_t
*
p_playlist
=
(
playlist_t
*
)
vlc_object_find
(
p_intf
,
VLC_OBJECT_PLAYLIST
,
FIND_ANYWHERE
);
if
(
p_playlist
)
playlist_t
*
p_playlist
=
pl_Yield
(
p_intf
);
int
x
=
0
;
int
y
=
[[
o_userSelections
objectForKey
:
@"pathToStrm"
]
count
];
while
(
x
!=
y
)
{
int
x
=
0
;
int
y
=
[[
o_userSelections
objectForKey
:
@"pathToStrm"
]
count
];
while
(
x
!=
y
)
/* we need a temp. variable here to work-around a GCC4-bug */
NSString
*
tempString
=
[
NSString
stringWithFormat
:
\
@"%@ (%i/%i)"
,
_NS
(
"Streaming/Transcoding Wizard"
),
\
(
x
+
1
),
y
];
input_item_t
*
p_input
=
input_ItemNew
(
p_playlist
,
\
[[[
o_userSelections
objectForKey
:
@"pathToStrm"
]
\
objectAtIndex
:
x
]
UTF8String
],
\
[
tempString
UTF8String
]
);
vlc_input_item_AddOption
(
p_input
,
[[[
o_userSelections
\
objectForKey
:
@"opts"
]
objectAtIndex
:
x
]
UTF8String
]);
if
(
!
[[
o_userSelections
objectForKey
:
@"partExtractFrom"
]
\
isEqualToString
:
@""
]
)
{
/* we need a temp. variable here to work-around a GCC4-bug */
NSString
*
tempString
=
[
NSString
stringWithFormat
:
\
@"%@ (%i/%i)"
,
_NS
(
"Streaming/Transcoding Wizard"
),
\
(
x
+
1
),
y
];
input_item_t
*
p_input
=
input_ItemNew
(
p_playlist
,
\
[[[
o_userSelections
objectForKey
:
@"pathToStrm"
]
\
objectAtIndex
:
x
]
UTF8String
],
\
[
tempString
UTF8String
]
);
vlc_input_item_AddOption
(
p_input
,
[[[
o_userSelections
\
objectForKey
:
@"opts"
]
objectAtIndex
:
x
]
UTF8String
]);
if
(
!
[[
o_userSelections
objectForKey
:
@"partExtractFrom"
]
\
isEqualToString
:
@""
]
)
{
vlc_input_item_AddOption
(
p_input
,
[[
NSString
\
stringWithFormat
:
@"start-time=%@"
,
[
o_userSelections
\
objectForKey
:
@"partExtractFrom"
]]
UTF8String
]
);
}
if
(
!
[[
o_userSelections
objectForKey
:
@"partExtractTo"
]
\
isEqualToString
:
@""
]
)
{
vlc_input_item_AddOption
(
p_input
,
[[
NSString
\
stringWithFormat
:
@"stop-time=%@"
,
[
o_userSelections
\
objectForKey
:
@"partExtractTo"
]]
UTF8String
]
);
}
vlc_input_item_AddOption
(
p_input
,
[[
NSString
\
stringWithFormat
:
@"start-time=%@"
,
[
o_userSelections
\
objectForKey
:
@"partExtractFrom"
]]
UTF8String
]
);
}
vlc_input_item_AddOption
(
p_input
,
[[
NSString
stringWithFormat
:
\
@"ttl=%@"
,
[
o_userSelections
objectForKey
:
@"ttl"
]]
\
UTF8String
]
);
if
(
!
[[
o_userSelections
objectForKey
:
@"partExtractTo"
]
\
isEqualToString
:
@""
]
)
{
vlc_input_item_AddOption
(
p_input
,
[[
NSString
\
stringWithFormat
:
@"stop-time=%@"
,
[
o_userSelections
\
objectForKey
:
@"partExtractTo"
]]
UTF8String
]
);
}
playlist_PlaylistAddInput
(
p_playlist
,
p_input
,
PLAYLIST_STOP
,
PLAYLIST_END
);
vlc_input_item_AddOption
(
p_input
,
[[
NSString
stringWithFormat
:
\
@"ttl=%@"
,
[
o_userSelections
objectForKey
:
@"ttl"
]]
\
UTF8String
]
);
if
(
x
==
0
)
{
/* play the first item and add the others afterwards */
playlist_item_t
*
p_item
=
playlist_ItemGetByInput
(
p_playlist
,
p_input
);
playlist_Control
(
p_playlist
,
PLAYLIST_VIEWPLAY
,
NULL
,
p_item
);
}
playlist_PlaylistAddInput
(
p_playlist
,
p_input
,
PLAYLIST_STOP
,
PLAYLIST_END
);
x
+=
1
;
if
(
x
==
0
)
{
/* play the first item and add the others afterwards */
playlist_item_t
*
p_item
=
playlist_ItemGetByInput
(
p_playlist
,
p_input
);
playlist_Control
(
p_playlist
,
PLAYLIST_VIEWPLAY
,
NULL
,
p_item
);
}
vlc_object_release
(
p_playlist
);
}
else
{
msg_Err
(
p_intf
,
"unable to find playlist"
);
x
+=
1
;
}
vlc_object_release
(
p_playlist
);
/* close the window, since we are done */
[
o_wizard_window
close
];
}
...
...
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