Opened 13 years ago

Closed 12 years ago

#3550 closed patch (fixed)

MythMusic has duplicate entries under "All My Music" after applying a filter

Reported by: anonymous Owned by: stuartm
Priority: minor Milestone: 0.21
Component: mythmusic Version: head
Severity: medium Keywords:
Cc: Ticket locked: no

Description

Say I'm listening to a track by a artist called ARTIST. If I hit 'f', select "Tracks by this artist" then navigate to "All My Music", I will see 2 entries of "Artists (A B C D E)". The first one will contain only "ARTIST" and the second one will contain all of the artists between [A-E] including "ARTIST". The reason for this is that when the filter is applied, the metadata for all tracks except those by "ARTIST" get setVisible set to false. In Playlist::fillSongsFromSonglist, the following code executes:

if(filter) {

all_available_music->buildTree(); all_available_music->sortTree();

}

AllMusic::buildTree() will only add entries for "ARTIST" because they will be the only tracks where isVisible() returns true. What this *doesn't* do is first clear the tree data previously stored in all_available_music, meaning that the duplicate appears.

The attach file fixes this as well as ticket #3536

Attachments (1)

mythmusic-debug.patch (4.0 KB) - added by Daniel Burr 13 years ago.
Fix Duplicate Entry in All My Music

Download all attachments as: .zip

Change History (4)

Changed 13 years ago by Daniel Burr

Attachment: mythmusic-debug.patch added

Fix Duplicate Entry in All My Music

comment:1 Changed 13 years ago by stuartm

Milestone: unknown0.21
Owner: changed from Isaac Richards to stuartm

comment:2 Changed 13 years ago by stuartm

Type: defectpatch

comment:3 Changed 12 years ago by stuartm

Resolution: fixed
Status: newclosed

(In [13798]) Fixes #3550 and #3536

Applies patch by Daniel Burr to fix issues with the music tree and filters. These problems only appear in "Show entire music tree" mode, so that probably explains why they haven't been spotted before.

Note: See TracTickets for help on using tickets.