All of these were tested with MediaMonkey 4.0.3 running on Win7 x64.
- Boolean parameters:
ISDBPlayer::get_isShuffle correctly returns VARIANT_BOOL
ISDBPlayer::put_isShuffle fails for VARIANT_TRUE = -1, does work correctly when passing TRUE = 1 instead
- A couple of APIs take SDBxxx** parameters, e.g.
shouldn't that be ISDBAlbumArtList**?
I'm basically doing this (pseudocode):
pl = ISDBApplication::get_PlaylistByID(id)
tracks = pl->get_Tracks()
The call to PlaylistAddTracks never returns, however
is working fine.
The documentation states "The returned value is of the same type as in database"
However, the function does not seem to return int but BSTR values for integer DB fields (e.g. SELECT ID FROM Songs)
- Minor issue: Changing shuffle or repeat status does not redraw the GUI
Here are a couple of feature that I'd like to see in the automation interface:
- volume change notifications
- ability to get the number of items in a playlist without having to call get_Tracks and get_Count, which can be slow for large playlists
- ISDBPlayer in general has several "convenience" functions for the 'now playing' playlist, e.g. changing track order or removing tracks, which would be useful for other playlists as well. Right now one has to call get_PlaylistByID, get_Tracks, get_Item, RemoveTrackNoConfirmation to do that.
- ISDBPlaylist has an AddTrackById method, for the 'now playing' playlist one has to call getSongDataFromId and PlaylistAddTrack