Deleting multiple tracks from Auto DJ (any playlist) is buggy
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Mixxx |
Fix Released
|
Medium
|
Mikko Jania | ||
1.8 |
Fix Released
|
Medium
|
Mikko Jania |
Bug Description
If the user has e.g. 4 songs (A, B, C, D) in the Auto DJ and decides to delete them all from the list, the method will only delete A and C.
The problem seems to lie in the method PlaylistTableMo
The methods puts the indices of the tracks that should be deleted into a list and iterates forward through them. So we have the following indices (1, 2, 3, 4). So in the first iteration the methods deletes the track at index 1, which is A. This removes A from the playlist and moves B to the first position, C to the second and D to the third. Now the method deletes the track at index 2, which is now song C.
I suggest sorting the indexes (in case they are not orderd ascending, maybe because of sorting by clicking a table header) and then deleting the tracks in reverse.
I have attached a patch, that does that.
Related branches
Changed in mixxx: | |
status: | Fix Committed → Fix Released |
This is more indepth
load track 01-20 into autodj
Select TRack05 - 08 (4 tracks selected)
Select Remove
Deletes Track05 07 09 11
not 05 06 07 08
my guess would be that the counter is being double incremented in the loop
ie for(a=start; a<start+ count;a+ +) {
do something
a++;
}