View Issue Details

IDProjectCategoryView StatusLast Update
0002068MMW v4Burning / Disc Handlingpublic2005-12-06 05:02
Reporterrusty Assigned To 
PriorityurgentSeverityfeatureReproducibilityalways
Status closedResolutionfixed 
Fixed in Version2.5 
Summary0002068: Burn: Ability to burn playlists and .m3u files
DescriptionAs originally raised in 0000349, the current Data Disk Burning implementation is limited in the sense that it:
a) Doesn't allow the user to easily burn multiple playlists or easily select multiple criteria. This can be rectified via a selection dialog similar to that in the the synchronization dialog.
b) Doesn't allow the user to burn multiple playlists to the CD in a manner that allows them to be played as playlists. This can be rectified via a <Playlist> mask.
c) Doesn't allow the user to easily burn .m3u playlists associated with the selected criteria

The following suggested changes to the Disc Burning Wizard should resolve these limitations:

(1)
-----------------------------------------------------------------------------------
| Data Disc Selections
| Choose which selections, tracks and .m3u files to burn.
-----------------------------------------------------------------------------------
| Selections: . . . . . . . . . . . . . . . . . . . . . . . . Advanced [x]
| |--------------------------------------------------------------------------------
| |. Item . . . . . . . . . . . . . .m3u. . . Track Destination . . . . . . . . . .
| |--------------------------------------------------------------------------------
| |. +Location
| |. +[x] Artist
| |. -[ ] Album
| |. . . . [ ] Album 1 . . . . . . . [o] . . . Default . . . . . . . . . . . . . .
| |. . . . [ ] Album 2 . . . . . . . [o] . . . Default . . . . . . . . . . . . . .
| |. +[ ] Genre
| |. +[x] Playlists
| |. . . [x] Playlist 1
| |. . . [x] Playlist 3
| |. [x] Now Playing . . . . . . . [o] . . . Default (/Music/Playlists/<Playlist>/<Play Order>
| |. [x] Selected Tracks . . . . . [o] . . . Default
| |---------------------------------------------------------------------------------
| Burn .m3u Playlists for: [x] Playlists [x] Genres [ ] Artists [x] Albums
|-----------------------------------------------------------------------------------
[Summary] [Show Checked] . . . . . . . . . . . . . . . . . . . . . . . [Uncheck all]
------------------------------------------------------------------------------------
 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . [Back] [Next]
------------------------------------------------------------------------------------

(2)
------------------------------------------------------------------------------------
|Choose the format for the Disc:
|
| ?Destination?: __/Music/<Artist>/<Album>/<Track#> - <Artist> - <Title>__________^ [>>]
|
| Burn Playlist Tracks to _________/Music/Playlists/<Playlist>/<Play Order>_______^: [>>]
| Burn .m3u Playlists to: __\Playlists\__
|
| Resulting Disc:
| ---------------------------------------------------------------------------------
| |
| |
| |
| |
| |
| |
| |---------------------------------------------------------------------------------
-------------------------------------------------------------------------------------
. __xx__ GB. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . [Back] [Next]
-------------------------------------------------------------------------------------

Notes about screen 1:
This is pretty much identical to the current device synchronization screen, with minor cosmetic changes to match the needs for disc burning. There are a few significant changes though:
a) The order of the columns has been changed to better reflect what is being burned
b) The .m3u column doesn't work via dropdowns. Instead it functions via checkboxes which are far easier to manipulate. There are 3 states to the checkboxes: checked, unchecked, and default (this is a square inside the checkbox)
c) The destination column shows the actual destination in brackets
d) There is a new configuration line that allows the users to choose what .m3u files are generated by MM. e.g. if Genre is enabled, and several 'Artists' with 'Rock' music are selected, an .m3u file for Genre='Rock' is automatically generated and burned. Playlists are burned as follows (this isn't configurable):
Library Playlists to: \<.m3uplaylistdirectory>\Playlists\
Genres to: \<.m3uplaylistdirectory>\Genres\
Artists to: \<.m3uplaylistdirectory>\Artists\<Artist>\
Albums to: \<.m3uplaylistdirectory>\Album
The rationale for this is described in greater detail in bug 0001949.

Notes about screen 2:
 <Playlist> is a new mask element.\
 
c) The 'Burn Playlist Tracks to:' dropdown options are: 1) Default location (causes the destination to be greyed out) 2) Alternate location (causes the new mask to be used instead 3) Both locations (causes the new mask and the default mask to be used)

d) Resulting disc: Shows the resultant disc content (user editable)
e) Size indicator at bottom: Shows up with some kind of warning if content exceeds disc size and 'burn across multiple discs' is disabled. Also, 'next' button should be disabled.
TagsNo tags attached.
Fixed in build921

Activities

Ludek

2005-10-17 20:32

developer   ~0006015

Last edited: 2005-10-20 15:38

I think that another mask called for example <last directory> would be very useful!
This mask would extract the last directory from the song/file source path.

e.g.
A user has bad tagged mp3s and his source is:
E:\mp3\ChillOut\Air\*.mp3
E:\mp3\ChillOut\Zero7\*.mp3
E:\mp3\Bjork\Bjork-Vespertine\*.mp3

and he wants to burn this collection for his friend:

CD:\Air\*.mp3
CD:\Zero7\*.mp3
CD:\Bjork-Vespertine\*.mp3

This would be way how to do it.

Ludek

2005-10-20 15:37

developer   ~0006021

Re. (1)
The burn tree was implemented in build 902, it is prepared for alpha4 testing, but without cosmetic changes that Rusty has specified. The destination column is also missed. All selected in the tree is added to selected on the next page and burned. Marked as resolved for testing, reassign me for further works later.

rusty

2005-10-21 10:31

administrator   ~0006030

I think either I'm missing something or the build is missing something, but I can't find this functionality in 902.

Ludek

2005-10-21 13:03

developer   ~0006037

I discussed with Jiri, he uses a special batch for building which doesn't contain BURNTREE switch on condition. Now, I have removed the condition and BurnTree is switched on! Fixed in build 903.

rusty

2005-10-21 15:20

administrator   ~0006044

Ok, in general, I like the direction that this is heading. The most critical things that need to be updated for the alpha 4 release are:

f) <Playlist> mask, so that when playlists are burned to a DVD it is possible to choose unique directories for each of them.

g) The Location, Artist, Album nodes don't work

h) Add the '[x] Pre-selected tracks' node

i) The summary button doesn't work

i) Change the heading to 'Add content to disc'

Ludek

2005-10-21 16:04

developer   ~0006046

Re. g) The Location, Artist, Album nodes don't work
It should work fine, but if you push 'Show checked' without having checked nothink, expansion isn't possible, but this behaviour is occurs on the synchronization tree too.

Re. i) The summary button doesn't work
I suggest to remove the 'summary' button. I will keep the number of MB below. Are you agree?

Ludek

2005-10-22 17:01

developer   ~0006054

Last edited: 2005-10-22 17:02

Fixed in build 904:
h) Added the '[x] Pre-selected tracks' node
i) Changed the heading to 'Add content to disc'
i) The summary button doesn't work - button removed.

rusty

2005-10-22 22:05

administrator   ~0006056

What about g) <Playlist> mask ? Can this be included in alpha 4?

Ludek

2005-10-24 10:47

developer   ~0006065

Re. g) <Playlist> mask ? Can this be included in alpha 4?
There is one question:
How to apply <Playlist> mask on files selected by using Location, Album or Artist nodes?
There are possibilities of
1) Have a special name for directory(string of characters) created by this mask.
2) Application of this mask will make nothing.

The latter could be more difficult to implement.

rusty

2005-10-24 19:34

administrator   ~0006074

This conversation summarizes a discussion Jiri and I had on the issue:

Jirka: Rusty, re. 2068 f), how should <playlist> work for items not selected as Playlists, like Artists, Albums, etc.?
Rusty: I was thinking that it should just be ignored. I guess the hard part is to figure out which separator needs to be ignored as well.
Jirka: Yes, plus it's usage would be quite limited for just this purpose (and ignored otherwise).
 Rusty: Re. 2068, I guess it depends on whether you think that users want to listen to their playlists via their DVDs. My thinking was that this is a very useful feature (I for one would love to be able to do this e.g. a DVD with a Mellow Music Directory, another directory for Children's stuff, etc.). I think that once our feature set matures, users will use masks that make sense. i.e. they'll only use the <Playlist> mask only for Playlists (much as they might only use a <Composer> mask for Classical music.
.
The only reason we're talking about the need to ignore the mask is because at this point in time we don't have the ability to apply a custom mask for burning playlists. Once we add this functionality (there are 2 possible approaches for adding this a) the same way as you've implemented for portable devices b) the manner specced in the bug) there wouldn't be a need to ignore the mask. i.e. it could just result in 'Unknown' much as <Album> returns 'Unknown' if it is unknown.
(16:26:41) Jirka: Ok, maybe we can try to implement it as you suggest and see...

Ludek

2005-11-04 09:38

developer   ~0006181

Last edited: 2005-11-10 23:28

<playlist> mask is implemented in build 912 (Great think is that it behaves also as <last directory> mask described by me for Location nodes => so the name <playlist> could be changed to <group> or something like this). Try to review, Rusty.

.m3u burning functionality implemented for checked items and .m3u column added to BurnTree in build 912.

User can define own playlist's directory - fixed in build 912.

rusty

2005-11-11 05:22

administrator   ~0006227

Last edited: 2005-11-11 05:23

By testing the <Playlist> Mask in build 912 I learned that it functions as follows:

Mask: \Music\<Playlist>\<Artist>-<Title>

Select Location --> \Music\Dntel\Dntel-(This Is) The Dream Of Evan And Chan (Original Version).mp3
Select Artist --> \Music\Air Supply\Air Supply-All Out of Love.mp3
                --> \Music\Lost in Love\Air Supply-All Out of Love.mp3
Select Album --> \Music\4 Way Street\Crosby Stills Nash and Young-Love the One You're With.mp3
Select Playlist --> \Music\Kids Real Music\Bob Marley-By the Rivers of Babylon.mp3
Pre-select Tracks --> \Music\Pre-selected tracks\Aimee Mann-Goodbye Caroline.mp3

Although this meets the need of allowing users to store tracks by Playlist, it is quite confusing because:
a) The implementation presumes that when the user is choosing tracks, the user is also choosing a directory structure. Anyone looking at the CD will likely be confused about why different tracks are organized differently.
b) There are no directories that communicate what 'Type' of sub-directories are contained within. e.g. Anyone looking at the CD will be confused why '4 Way Street' and 'Kids Real Music' are both in the same directory.
c) The 'Pre-selected' tracks directory is meaningless to anyone who sees the CD.
d) Most importantly, it ignores the users' need to be able to store all tracks in a consistent format. i.e. in the original spec, all selected tracks were stored in a consistent format, but the user had the option of also choosing an altered format for Playlist tracks so as to preserve the tracks within a group of other related tracks in the playlist.

There are 2 possible approaches to fixing this: 1) Reduce the functionality and limit its use to Playlists 2) Improve the current functionality so that it allows different masks to be used depending on the type of grouping, but in a more usable fashion.

Approach 1
----------
Change the UI to something along the following lines...
------------------------------------------------------------
|Choose the format for the Disc:
|
| Disc Format: __/Music/Artist/<Artist>/<Album>/<Artist>-<Title>__________^ [>>]
|
| Burn Playlist Tracks to __/Music/Playlists/<Playlist>/<Play Order>-<Artist>-<Title>_______^: [>>]
| Burn .m3u Playlists to: __\Playlists\__

-->Would result in-->

Select Location --> \Music\Artist\Dntel\Anything is Possible\Dntel-(This Is) The Dream Of Evan And Chan (Original Version).mp3
Select Artist --> \Music\Artist\Air Supply\Lost in Love\Air Supply-All Out of Love.mp3
Select Album --> \Music\Artist\Crosby Stills Nash and Young\4 Way Street\Crosby Stills Nash and Young-Love the One You're With.mp3
Select Playlist --> \Music\Playlists\Kids Real Music\1-Bob Marley-By the Rivers of Babylon.mp3
                --> \Music\Artist\Bob Marley\Unknown\Bob Marley-By the Rivers of Babylon.mp3
Pre-select Tracks --> \Music\Artist\Aimee Mann\The Forgotten Arm\Aimee Mann-Goodbye Caroline.mp3


Approach 2
----------
Change the mask in a manner that it can specify what Mask or Masks are associated with each playlist type, so that the resulting CD would have a layout along the lines described in the section above. By virtue of associating different Masks with each 'Playlist type' the user has much more flexibility than with the solution above, however, I do not believe that this is implementable in an understandable fashion.


Re. .m3u burning, there is a similar problem, I have not yet tested it, however, at first glance, it seems problematic that:
a) playlists are generated based on what checkboxes have been selected (I would have prefered that playlists are generated consistenty based on what the user has defined as important. e.g. if the user wants playlists by Genre, then Genre playlists should be generated regardless of whether the user selected a particular Genre or not. A good implementation is is well described in 0001949.

Ludek

2005-11-14 14:43

developer   ~0006266

Last edited: 2005-11-14 14:49

Re. <playlist> mask - I don't like Approach 1 - Why should be tracks coming from playlists burned twice and have own mask settings?
Better could be :
<playlist> --> 'playlistname' - for playlists
<playlist> --> '' - for the other nodes

if \\ are created in case of the other nodes, the \\ should be eliminate to \.
This should be allways
i.e.
 something\\\something\something --> something\something\something

or mark <playlist> mask as <group> mask for current implementation as I have suggested.

jiri

2005-11-14 15:33

administrator   ~0006267

I tend to agree with Rusty, i.e.:

Change the UI to something along the following lines...
------------------------------------------------------------
|Choose the format for the Disc:
|
| Disc Format: __/Music/Artist/<Artist>/<Album>/<Artist>-<Title>__________^ [>>]
|
| Burn Playlist Tracks to __/Music/Playlists/<Playlist>/<Play Order>-<Artist>-<Title>_______^: [>>]
| Burn .m3u Playlists to: __\Playlists\__


However, I don't think Playlist tracks should result in two instances, they should rather result only in:
\Music\Playlists\Kids Real Music\1-Bob Marley-By the Rivers of Babylon.mp3


There's also ano more modification I'd make: Change Burn Playlist Tracks to: to a check box, so that user could disable it and thus use the same mask for any type of item (without the need to copy the same masks to both editlines).

rusty

2005-11-16 15:15

administrator   ~0006295

Ok, so to summarize:

------------------------------------------------------------
|Choose the format for the Disc:
|
| Disc Format: __/Music/Artist/<Artist>/<Album>/<Artist>-<Title>__________^ [>>]
| [x] Burn Playlist Tracks to __/Music/Playlists/<Playlist>/<Play Order>-<Artist>-<Title>_______^: [>>]
| [x] Burn .m3u Playlists [Options]

...and if the user clicks the [Options] button then they would see:

-------------------------------------------------------------
|Generate .m3u Playlists for:
| [x] Library Playlists
| [ ] Genres
| [ ] Artists
| [ ] Albums
| [ ] Location
| . . Destination directory: _\Playlists\______________
| . . [x] Organize Playlists using ___________________^

Important note re: [x] Burn Playlist Tracks to __/Music/Playlists/<Playlist>/<Play Order>-<Artist>-<Title>_______^: [>>]
The intent of this feature is to allow a second mask to be used specifically for checked playlists. So if the user selects Genre=Rock, we don't want or need /Music/Playlists/Rock/<Play Order>-<Artist>-<Title>.

Ludek

2005-11-17 18:20

developer   ~0006300

Last edited: 2005-11-25 09:08

It has been done according the last 6295 note in build 915.
M3U column has been removed.

rusty

2005-11-24 19:22

administrator   ~0006356

Tested in 915 and it generally works, though there are still a few issues to be resolved:

1) Change default mask:
\Music\Playlists\<Playlist>\<Auto Number>\<Title>
-->
\Music\Playlists\<Playlist>\<Auto Number> - <Title>

2) .m3u Settings dialog should have a 'cancel' button (in case the user makes changes but wants to revert to the previous config).

3) Some minor re-alignment of the UI might make it look a bit cleaner. Suggestions:
 - Indent <Title> so it lines up with Burn above it.
 - Align the Options box with the Combo boxes above

4) Issue: If a track appears in both a playlist and an Artist/Album that has been explicitly selected it should be burned using both masks (to two locations) and no warning given (since it is not a duplicate in the sense described in bug 0002176). Note: I don't believe that this conflicts with Jiri's earlier note about not duplicating the tracks since that makes sense if it has been selected only as a Playlist node or only via another node.

5) <AutoNumber> doesn't generate track numbers beginning with 1! I can't figure it out, but sometimes it starts with '9' other times with '12' etc. There must be a relationship to other tracks that are being burned, but I haven't been able to figure out why the starting number is what it is.

6) .m3u playlists do not appear in the list of items to be burnt which means that the user has no way of validating how their configuration change will affect what is burnt to the CD. Is it possible to present this? If not, we may want to add a small non-editable window to the .m3u settings dialog that illustrates what playlists will result.

7) When the user enables [x] Burn .m3u playlists, the .m3u files are generated incorrectly whenever the playlists are organized using 'subdirectory for each playlist type' (i.e. attempts to play the playlist contains incorrect path links).

8) When the user tries to 'Generate playlists for [x] Artists [x] Albums [x] Location' etc. playlists are generated only based on what the user has selected. e.g. if the user has selected Artist=Abba then a playlist for Abba.m3u is generated, but no playlist for Album: Abba-Gold.m3u is generated . i.e. the new UI has the old functionality so its benefits are absent. What should happen is that .m3u files are generated based on what the user has configured in 'Generate Playlists for...' rather than based on what checkboxes they've selected.

Ludek

2005-11-25 09:06

developer   ~0006364

Last edited: 2005-11-25 15:26

1,2,3,4,5,7 fixed in build 917.

Re 6: Left open: try to ask Jiri for this, cause I prefer have it on the 'BurnTree ' page. e.g. m3u column implemented by me wasn't bad in my opinion.

Re 8: Postponed, I will do this after the weekend.

rusty

2005-11-27 05:25

administrator   ~0006393

1. Verified in 917
2. Verified in 917
3. <Title> is still not aligned properly (it is too far to the left)
4. Verified in 917
5. Verified in 917
6. I'm not sure that I was clear in my description. What I meant is that although the user can see what Library Playlists they've elected to burn, they have no visual feedback anywhere regarding how the .m3u options dialog settings affect the CD. e.g. they won't know what 'prefix for each playlist type' has vs. 'subdirectory for each playlist type'.
7. Not tested.
8. Open
9. In the .m3u options dialog, no node types are selected by default! [x] Library Playlists should be selected by default.
10. Selection of a track using multiple nodes always results in the track appearing multiple times in the list (except when identical tracks are selected via Artist and Album nodes). For example:

If the user selects:
-Artist
. [x]-Air
. . . .-Moon Safari
-Album
. [x]-Moon Safari
-Playlist
. [x]-Moon Safari Playlist
-Location
. [x]/Music/Air/Moon Safari

And used only a 'normal' mask (i.e. no Playlist mask),

-->

Each of the tracks from Moon Safari appear 3 times in the burn list. What should happen is that they appear only once! (i.e. whenever the same track is selected via multiple locations it should still appear only once in the list).

In the above example, if the user enables the Playlist mask, then in the example above, the tracks should appear twice (once for the 'normal' mask and once for the 'Playlist' mask).

Note: The playlist mask should only cause tracks to be written a second time IFF the track has been selected via a Playlist node AND via a node other than the Playlists node.

jiri

2005-11-27 09:22

administrator   ~0006398

3. Seems to be ok to me, it's as in other dialogs and is based on how this component works.
6. I don't think it's a big issue, for now I think it's enough if user can find some info about how m3u files can be organized (in a help file?).

Others should be fixed.

Ludek

2005-11-28 22:33

developer   ~0006416

8) Fixed in build 919
   - Rusty, for more comfortable testing find [LastBurnedM3UPlaylists] directory in your temp folder and you can see the generated m3u playlists without burning it, cause it is generated to this folder immediately after 'Burn' button clicking, but if you have for example no CD in the selected drive then the generated m3u playlists aren't burned. => You can safe your time on this testing.

9) As I know all checkboxes are checked by default, but ok, I have changed it only to [x] Library Playlists, fixed in build 919

10) Fixed in build 919

rusty

2005-12-04 07:38

administrator   ~0006473

6. I still feel that this is a problem since users will not understand the effect of the .m3u settings that they choose. i.e. they'll burn a CD, see that it's incorrect, and then try again. I'll enter a new bug to track this on the assumption that it isn't a trivial fix.

7. To be tested.

8. To be tested

9. This still isn't working correctly--i.e. despite the fact that you've indicated that these defaults are set, when doing a clean install of MM, no defaults are set! i.e. all .m3u options are unchecked.

10. Tested briefly in 919 and seems to be working!

Ludek

2005-12-05 14:54

developer   ~0006486

Last edited: 2005-12-05 14:55

9) You are right. Ok, so only [x] Library Playlists are checked by default as you wanted. Fixed in build 921.

rusty

2005-12-06 05:02

administrator   ~0006497

In general, this is working so I'm going to tag the bug as resolved. There are however a few open issues that I'll describe in separate bugs.

Note re 7)/8): Playlists are still not generated according to the original spec, however, the issue is large enough that it merits its own bug.