ISDBApplication::PlaylistByID: Difference between revisions
Jump to navigation
Jump to search
(Added example for not returning root node when playlist is not found) |
m (introduced → template) |
||
Line 14: | Line 14: | ||
'''WARNING:''' Also if no playlist with the specified ''ID'' exists, the (virtual) root playlist will be returned. Be aware of this fact, especially if you are planning to remove a playlist. Making an error could remove the root, and so all playlists. | '''WARNING:''' Also if no playlist with the specified ''ID'' exists, the (virtual) root playlist will be returned. Be aware of this fact, especially if you are planning to remove a playlist. Making an error could remove the root, and so all playlists. | ||
{{Introduced|4.0}} | |||
===Example code=== | ===Example code=== |
Latest revision as of 20:57, 20 April 2013
CoClass SDBApplication, Interface ISDBApplication
Property Get PlaylistByID(ID As Long) As ISDBPlaylist
Parameters
Name | Type | Description |
---|---|---|
ID | Long | ID of the playlist to get (use -1 to get root of all playlists) |
Property description
Retrieves SDBPlaylist object of the given playlist ID.
Call method with -1 as the argument to get the (virtual) root playlist node. Then you can use its ChildPlaylists property to get all the first-level playlists.
WARNING: Also if no playlist with the specified ID exists, the (virtual) root playlist will be returned. Be aware of this fact, especially if you are planning to remove a playlist. Making an error could remove the root, and so all playlists.
Introduced in MediaMonkey version 4.0.
Example code
' Safe PlaylistByID wrapper - returns Nothing when playlist with given ID is not found
Sub SafePlaylistByID(ID)
Dim RootList : Set RootList = SDB.PlaylistByID(-1) ' Get root node
SafePlaylistByID = SDB.PlaylistByID(ID) ' Get playlist by ID
If SafePlaylistByID Is RootList Then
SafePlaylistByID = Nothing ' Do not return playlist when nothing was found
End If
End Sub
Example for playlist nodes iteration:
Dim Playlist : Set Playlist = SDB.PlaylistByID(-1) ' Playlist represents the root (virtual) playlist
Dim List : Set List = Playlist.ChildPlaylists ' List represents a list of all first-level playlists
Dim i, itm
For i = 0 To List.Count - 1 ' For all (first-level) playlists in List...
Set itm = List.Item(i) ' ... print out the number of child playlists and tracks
fout.WriteLine itm.Title & " (" & CStr(itm.ChildPlaylists.Count) & "/" & CStr(itm.Tracks.Count) & ")"
Next
' in this case, fout represents a TextStream object (not shown here)