View Issue Details

IDProjectCategoryView StatusLast Update
0003418MMW v4Main Panel/Toolbars/Menuspublic2009-02-20 00:31
Reporterrusty Assigned To 
PriorityimmediateSeverityminorReproducibilityalways
Status closedResolutionfixed 
Fixed in Version3.1 
Summary0003418: Multiple Value Fields: Need clear way of removing tracks and nodes
DescriptionRequirements:
With MM3's support for multiple value fields (e.g. classifications, genres, artists, composers, conductors) there needs to be a clear/consistent way to:
1) Remove tracks from a particular definition (for both single and multi-value fields) via the tree
2) Remove tracks from a particular definition (for both single and multi-value fields) via the tracklist
3) Remove tracks from the library (for both single and multi-value fields) via the tracklist
4) Remove tracks from the computer (for both single and multi-value fields) via the tracklist
5) Remove a particular definition from a field via the tree
MM3 must also:
6) Be clear/consistent re. what tree nodes represent
7) Be easy to use (not force the user into having to spend a lot of time managing their ontology)

Note: the toughest part of achieving these goals is figuring out how to give the user an easy way of managing the ontology (e.g. of getting rid of unneeded auto-created Genres) given that there will be cases where the genres are not displayed in the Tree.

Suggested way of achieving this is (defaults are shown):
1) Extend the configuration options to:
  [x] Remove unused Artists/Composers/Conductors
  [x] Remove unused Albums
  [ ] Remove unused Genres/Classifications

For fields in which the Remove option is enabled, MM will completely remove the definitions i.e. they will not appear in the tree or in dropdown dialogs.:
All fields not specifically shown above, MM will 'clean' unused definitions from the tree and dropdown dialogs.

Thus in the default configuration, the tree and dropdown list will become 'polluted' with undesired Genres & Classifications, but the user can easily fix this by enabling the relevant options.

2) Add context-menu commands to edit the tree nodes for which 'Remove unused' isn't enabled (Optional):
New <node type>...
Remove <node>...

3) For nodes that are multi-value, when the user selects a node and presses the delete key, the options should be changed FROM:
Are you sure you want to delete <x> tracks?
( ) Delete from Library only
(o) Delete from Library and Computer

TO --->

A) In cases when 'remove unused' isn't enabled:
Are you sure you want to delete these <x> tracks? (for single track, just use track name)
 (o) Remove track<s> from '<Genre>' only
      [ ] Remove Genre: '<Genre>' from Library
 ( ) Remove track<s> from Library
      [ ] Delete from the Computer

Note: for a single track prompt should be

B) in cases when 'remove unused' is enabled:
Are you sure you want to delete these <x> tracks? (for single track just use track name)
 (o) Remove track<s> from '<Genre>' only
 ( ) Remove track<s> from the Library
     [ ] Delete track<s> from the Computer

4) When the user selects tracks within a multi-value node and presses the delete key change FROM:
Are you sure you want to delete <x> tracks? (for single track just use track name)
( ) Delete from Library only
(o) Delete from Library and Computer

TO:--->

Are you sure you want to delete these <x> tracks?
 ( ) Remove from '<Genre>' only
 (o) Remove track<s> from the Library
       [ ] Delete track<s> from the Computer

Note: this is almost identical to the dialog that appears when the user deletes tracks from a playlist. If we wanted we could probably rationalize the 2 into a single dialog.
Additional Informationhttp://www.mediamonkey.com/forum/viewtopic.php?t=19775
TagsNo tags attached.
Fixed in build1197

Activities

rusty

2007-08-23 09:17

administrator   ~0010250

Per discussion, for MM 3.0 we'll only implement item 2 since:
-Item 1 is tricky for performance reasons
-Item 3: There are two points of view here:
. -A node is representative of a category and not the tracks in the category. Hence it would be confusing to delete tracks from _category_ B and C if the user selects/deletes the node from Category A (especially if the node was manually created).
. -Nodes are representative of the tracks contained within, except in the case of Playlists, which function more like 'Virtual folders' in outlook. Thus if the user selects/deletes a node, they would expect the tracks to be deleted (especially since the node was auto-created).
-Item 4: Deferred due to time constraints

jiri

2007-08-23 09:32

administrator   ~0010251

Assigning to Petr to implement 2.

rusty

2007-08-23 14:59

administrator   ~0010272

Note: one thing that I'd assumed but didn't explicitly describe:
-Autodeletion of Artist&Album Artist, Artist, Album Artist, Album nodes should work as they did prior to MM3 (i.e. if the option is enabled).

rusty

2007-12-14 03:11

administrator   ~0012508

We somehow neglected this. See:
http://www.mediamonkey.com/forum/viewtopic.php?t=19775

My temptation is to just auto-delete empty genres, but really we should do whatever is simplest that doesn't require new strings.

jiri

2007-12-14 12:51

administrator   ~0012510

Fixed in build 1118.
 - This is handled internally in DB now, Genres are automatically removed when no longer needed.

jiri

2007-12-14 12:52

administrator   ~0012511

Since there was a small change in DB structure, we have to update DB Updater. Assigning to Petr to review this...

petr

2007-12-14 19:53

developer   ~0012520

DBUpgrade is updated. I've made some changes so we don't need to make manual updates in DBUpgrade when any DB structure change.

jiri

2007-12-14 23:15

administrator   ~0012522

Resolving for testing...

rusty

2007-12-16 14:20

administrator   ~0012555

Verified in 1118.

Re-opening for the 3.1--we need to make this consistent with the configuration for Artist/Album Artist (e.g. new config or common config for all three).

rusty

2008-11-19 19:03

administrator   ~0014992

Last edited: 2008-11-19 19:03

Per discussion re. multi-attribute implementation, deleting a track will simply mean that the track is deleted and not removed from a particular Genre. Similarly, when a track is moved, to a Genre or to an Artist, all other instances of the Genre or Artist will be overwritten, unless <ctrl> is pressed, in which case the new Genre or Artist is appended.

This means that the only change required here is item 1)--to extend the functionality of:
[ ] Remove unused Artists
[ ] Remove unused Albums
so that it applies to all other nodes. This can be done in one of 2 ways:

a)
  [x] Remove unused Artists/Composers/Conductors
  [x] Remove unused Albums
  [x] Remove unused Genres/Classifications

b) [x] Automatically remove unused attributes

note: I think that 1b) is the cleaner approach.

jiri

2008-11-21 12:21

administrator   ~0015050

I think that b) makes sense, with the following changes:

1. I would change the text to something like:
 [x] Automatically remove unused attributes (Artist, Album, ...)
so that it's clear what 'attribute' means here.

2. Genres are currently removed automatically and I think that it can remain this way (I'm not even sure how easy it would be to turn it off).

3. Classifications currently aren't removed automatically, and I'd rather keep it this way, because:
 3a. There usually aren't many of them and so it's easy to clean them manually.
 3b. It would be problem to keep default categories (Fast, Slow, etc.) when they don't have any track assigned.

If you agree, please assign to Petr.

petr

2008-11-29 23:43

developer   ~0015258

Will be in 1197

stephen_platt

2009-02-20 00:31

developer   ~0016765

verified 1223