From MediaMonkey Wiki
Jump to: navigation, search

CoClass SDBApplication, Interface ISDBApplication

Property Get PlaylistByID(ID As Long) As ISDBPlaylist


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) & ")"

' in this case, fout represents a TextStream object (not shown here)

Related Topics