View Issue Details

IDProjectCategoryView StatusLast Update
0019287MediaMonkey 5Extensions frameworkpublic2022-09-13 21:41
Reporterzvezdan Assigned To 
PrioritynoneSeverityminorReproducibilityalways
Status closedResolutionfixed 
Fixed in Version5.0.4 
Summary0019287: PlaylistEntries removal methods doesn't update the player info
DescriptionPlaylistEntries removal methods doesn't update the player info (playlistPos stays the same and the color of the playing file doesn't indicate that it is playing anymore), although the file is removed from the Playing list. If you stop and play again, the playing starts from the first track in the list, not from the previously played track as is the case when not removing files with the mentioned methods.

If you have selected several tracks in the Playing list and if you remove any one of them using these methods, the Playing and Selected info in the status bar is not updated, even if you remove all tracks.

app.player.removeSelectedTracksAsync() doesn't have these problems, but it complicates things because I need to store currectly slected state of the playlist entries, then to select the track that I want to remove with setSelected(i, true), then execute the mentioned method and finally to restore back the selected state of the remaining tracks in the Playing list.
Steps To Reproduce1. put several tracks into Playing list;
2. open DevTools / Console;
3. start playing the last track;
4. execute following lines in DevTools:
    a) app.player.playlistPos -> correct
    b) var oPlayingList = app.player.getSongList()
    c) await oPlayingList.modifyAsync(function () {oPlayingList.delete(0)})
    d) app.player.playlistPos -> incorrectly shows the same value as the previous playlistPos line, although the first file is removed from the Playing list.

Instead of c) you could try any of these:
await oPlayingList.modifyAsync(function () {oPlayingList.remove(oPlayingList.getValue(0))})
await oPlayingList.modifyAsync(async function () {await oPlayingList.removeAsync(oPlayingList.getValue(0))})

notifyChanged doesn't help either:
await oPlayingList.modifyAsync(async function () {await oPlayingList.removeAsync(oPlayingList.getValue(0)).then(function () {oPlayingList.notifyChanged()})})
await oPlayingList.modifyAsync(async function () {await oPlayingList.removeAsync(oPlayingList.getValue(0))}).then(function () {oPlayingList.notifyChanged()})

And uitools.refreshView() doesn't help either.
TagsNo tags attached.
Fixed in build2661

Relationships

related to 0019374 closedmichal Performance regression in 5.0.4.2662 when selecting track in Playing panel 

Activities

michal

2022-08-21 17:39

developer   ~0069041

Fixed in build 2661.

peke

2022-08-31 19:59

developer   ~0069126

Verified 2661