Virtual CD currently has several functions (as perceived by users): 1) Means of cataloguing songs that are in CD collection and on hard drive, without creating duplicate listings 2) Means of saving files to a specified directory, in a specified format, allowing users to easily create mixes for special occasions that can in turn be exported to portable devices and/or cd burners At the moment, Virtual CD supports both of these functions to some extent, but functionality in both cases is somewhat limited as there are several issues that prevent these functions from being executed to their full potential: Function 1) ---------- Issues: a) There are several cases, in which users need to track CDs and songs, however, the current caching functionality doesn't support all of them: i) Have song (mp3) but not CD - this is supported/works well (via song/artist/etc. nodes) ii) Have cd but not song - this is supported/works well (via same nodes as i) + location node) iii)Have cd and then get song from CD - this is supported/works well by 'caching' the song from the CD iv) Have cd and then get song from elsewhere - this isn't supported. If the user has the CD, and then gets an MP3 of the same song, there doesn't appear to be any way to eliminate the duplicate records that result v) Have song in collection and then get CD - this isn't supported--there doesn't seem to be a way of indicating that a song is the same as one on the CD, and thus there are duplicate entries vi) Have a song from a CD that is owned, but then lose the CD --this isn't supported, as there doesn't seem to be a (understandable??) means of changing a song that is cached, to one that is just part of the library. b) There are several nodes used to represent the concepts of: 0) CD that isn't in Library: appears in 'My Computer' node, but not in the 'Locations' node i) Inserted CD that has been added to Library: appears in 'Locations' node but in a confusing manner: -CDs are represented in the same hierarchy as CD Drives (bug #206) ii) Uninserted CD that is part of Library: appears in 'Locations' node but in a confusing manner: -CD Label is often missing (bug#206) iii) Song that is 'cached': Always appears in the 'Virtual CD' node. This is confusing because: -Only some of the cached songs appear sub to /Locations/CD and yet a different set appear in the 'Virtual CD' node c) If the user wants to change the attributes of a song that is in the 'Cache' it is unclear what they are actually changing (bug #82). e.g.: i) One song in the cache is 'One thing leads to another', Path: c:/Mymusic/thefixx/The Fixx - One Thing.mp3 -If the user deletes, moves, changes the properties of this song, What are they changing?? In fact it appears that they're changing the original file which was copied to the cache!! ii)A second song in the cache is 'One thing leads to another', Path: [-]\Track01.cd -If the user deletes, moves, changes the properties of this song, what are they changing?? It's anyone's guess?! The net result of the current implementation is that the user is forced into a mode of operation in which they _must_ add CDs to their collection, then create virtual CDs, and then eliminate any duplicates that may arise because they already have certain songs. Any other order is incompatible with the current design. Moreover, concepts such as 'virtual cds' are not needed for this basic functionality. The functionality _is_ extremely useful, but needs to be radically simplified into something that the average user can understand intuitively. What follows is how I think the usecases should transpire: 1) To add song to Library from CD (no real changes here): -User inserts CD -Album info is looked up automatically (bug #157) -User selects a song from '/My Computer/CD xxxx/, right clicks it, and Rips the contents (bugs #86, #130) -->Songs appear in expected nodes as they do today 2) To add a CD to the Library but no songs (some changes here): -User inserts CD -Album info is looked up automatically (bug #157) -User clicks 'Add to Library' (bug #206) --->CD label is added next to the physical D:/ node (currently doesn't work -- bug #206) --->CD Album entry for that particular CD is added sub to a '/CD Albums/' node (bug #206) -If no album info was available, the CD is added, but most fields are empty for the user to edit 3) To add songs from a CD that is already catalogued sub to '/CD Albums/' (big changes here): -User inserts CD -->The /Location/D: node is filled with the correct label and contents (since the CD is already in the library) -->The previously greyed-out node/contents of the /CD Albums/CD xxxx becomes black (bug #206) -User Selects one or more of the songs from the CD, and clicks 'Rip CD' -->Rip CD dialog appears as defined in bug 130, except that the dialog has an additional checkbox: [x] Associate with CD Album: xxxx -->When the song is ripped, it is associated with the Album to which it belongs, and is represented in: -/Locations/CD Albums/CD xxxx in black (not greyed out) -the nodes in which 'normal' songs would otherwise appear Note: it does _not_ appear in a 'Virtual CD' node 4) To add songs obtained from somewhere else to a CD that is already catalogued sub to '/CD Albums/ (some changes here) -User drags the file from some location in the library to the /CD Albums/CD xxxx node -If file artist/title is a 'close' match, the attributes of the song are changed and the file is 'cached' in the album i.e. --> the track appears black instead of greyed out -If the file artist/title isn't a 'close' match, the user is informed that 'The Track is not part of the CD Album xxxx. Do you want to add it to the album anyhow? If user clicks 'Yes' then it is added as the last track in the album. 5) To add songs that are already in the user's collection to a new CD, the user must add the CD to the library (described in 2)) and then perform the same actions described in 4). 6) Disassociate a song from an Album (some changes here): -There are multiple ways of accomplishing this: i) Drag and Drop: User drags the 'black' file from /CD Albums/CD xxxx node to the Library/Title/Artist/Album/Genre or Year nodes ii)In the properties panel, uncheck [ ] Associate with CD Album xxxx either action results in: --->Song that was previously black becomes greyed out in /CD Albums/CD xxxx node 7) Delete an Album: Delete the CD Album from /CD Albums/CD xxxx by deleting the node -->'Are you sure you want to delete x songs?' [Yes] --> /Location/CD Albums/CD xxx is deleted, along with all the songs that were 'cached' IMPORTANT: Throughout these 7 portions of the usecase, the term Virtual CD is _not_ used. It doesn't need to be used because there's no value in introducing a new term when existing terminology adequately represents what is happening. Moreover, in all cases, songs are represented in the listview exactly as they are i.e.: -When a song has been 'associated', the song's actual path/filename are shown so that it is clear that what is being shown is simply a song from the db, the only difference being that it is one that is part of a particular CD Album that the user possesses. Function 2) ---------- At the moment there are several issues preventing the user from easily creating 'Virtual CDs' of _any_ content, that could be later used for: -export to devices -export to burner -temporary store for later import into the main area of the collection a) Only a single Virtual CD & Queue can be created, when, in fact, it's likely that the user may want to create different ones for different projects (#209) b) The base directory must be predefined, as must be the conversion format, when in fact the user will want to use different ones for different projects (#209) c) Songs that are copied to the virtual cd aren't correctly identified with their path, so the user is unclear where they are actually stored--problematic when the user is using a specified directory for the purposes of a project (they're unsure of whether or not they're actually saving files to the correct directory and/or what files are being edited). The usecase should proceed as follows: 1) User want to create a mix to export to other device: -User copies files from My Computer/D: to Virtual CD Queue -->Songs appear in Queue, and in the DB (greyed out if CD is missing). They do _not_ appear in the /Location/CD Album directory unless the user explicitly adds the album. -User copies files from any location in the library to Virtual CD Queue -->Songs appear in Queue, and originals in the DB remain. -User saves songs from the Queue to the Virtual CD -->A dialog appears that allows the user to configure directory, mask, compression, and to accept all of these parameters before saving (same as Rip CD dialog, except that there's no option to associate to a CD) IMPORTANT: -when files are displayed in the Virtual CD, their actual path should be shown, as should their source (Library/CD/HD) -the VCD node should be moved sub to Location since it is effectively a 'place' to temporarily store files NOTE: The above usecase is fairly similar to the current VCD implementation except that: -There's no tie-in to physical CD Albums -There's no Property for a virtual CD--the virtual CD is effectively a place on the HD -To move files from the VCD to the collection, the user simply drags the file(s) from the VCD folder to a 'real' physical location on the drive -The usecase above doesn't deal with how to create a new Virtual CD. I haven't fully thought this through, but it could work like this: -No virtual CDs exist by default -Save to virtual CD would have subcommand>New, and existing VCDs -If the user selects New, a 'New' node would be created (or 'NewX' if 'New' already existed) -Dialog would pop up, user selects 'OK', songs would be saved to the chosen node. Related Bugs: 082 Cache / Preview minor 03-27 Unclear how to move songs from cache into the library 080 Cache / Preview tweak 02-26 Save to Virtual CD --> redundant Freedb query 206 Main Panel major 03-25 Library/Locations/CD nodes are confusing/inconsistent 066 Player feature 03-25 Player: CD Detection Wizard 212 Cache / Preview minor 03-24 Unclear what is being deleted when user deletes a VCD/Preview song 210 Cache / Preview minor 03-24 Drag and Drop to Virtual CD or Virtual CD Queue doesn't work 209 Cache / Preview feature 03-24 Problems caching from HD