Difference between revisions of "ISDBApplication::PlaylistByID"

From MediaMonkey Wiki
Jump to: navigation, 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 in MediaMonkey 4.0.''
+
{{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)

Related Topics