#215010 - 29/04/2004 23:44
Playlist organization. How do you?
|
pooh-bah
Registered: 19/09/2002
Posts: 2494
Loc: East Coast, USA
|
I've been reconsidering my player organization lately. I initially wanted to have a "dual matrix" design: set the ID3 genre tags one way for the search engine, then set the playlist structure a totally different way. This would allow me two different navigation methods with a single set of FIDs.
So, my playlists are follow the design idea "few entries per playlist". There are 6 "super-genres", each containing 2 to 6 "genres", each containing artist names and sometimes "sub-genres", each artist containing their albums. But as I was implementing this, the playlist structure just mirrored the genre tags, so I didn't gain the dual functionality. I never did figure out front-panel search (using no remote), so genre tags never get used.
So now I'm thinking about mood playlists. But to avoid duplicate FIDs, maybe I could put the mood in the genre field. Or, leave the genre field and make NESTED mood playlsts (top level being broad moods, nested levels being more granular; play a top level mood when you're less comitted to a mood, and a more granular one when you feel more specific). Ah, but I'm getting into too much detail.
My question is: What sort of FRONT PANEL functionality does the empeg have that can do my simple genre/artist sorting so I can use playlists for something else? Ok, FAQ me once, FAQ me twice (I really have to figure out SOUPs); but for some reason, I never fully understood "tweaking" a playlist by artist, genre, album, etc. When you press one of those remote control buttons as the playlist is running, what EXACTALY does it do? Enqueue songs? Resort the playlist? Shrink the playlist?
And how do YOU have your music organized?
SE_Sport_Driver: (from the Wish List post) So, do you have all of your tunes listed twice? Once under alphabetical and once under genre? Doesn't that jack up your FID count which puts you in danger of having too large of a database which will hurt the RAM and cache stuff? I'm considering mood playlists, but I'm nervous to duplicate my 6000+ FIDs.
_________________________
- FireFox31 110gig MKIIa (30+80), Eutronix lights, 32 meg stacked RAM, Filener orange gel lens, Greenlights Lit Buttons green set
|
Top
|
|
|
|
#215011 - 30/04/2004 06:59
Re: Playlist organization. How do you?
[Re: FireFox31]
|
carpal tunnel
Registered: 19/01/2002
Posts: 3584
Loc: Columbus, OH
|
Regarding "jack[ing] up your FID count", you could have the same tune on your player 10 times, and there would just be 10 entries in the database pointing to 1 FID (music file on the disk). I think you're confusing the number of FIDS with database entries, and the two are independent of each other (unless you have only one database entry per FID, and then they are roughly linear.)
That said, you can run into problems if your database gets too large, but it'd have to be pretty huge. I'd say go ahead and make your mood playlists. If you run into trouble, you can always remove them.
EDIT: Oh...right...I forgot that each playlist gets a FID too. Still, not too much to worry about...
_________________________
~ John
|
Top
|
|
|
|
#215012 - 30/04/2004 07:24
Re: Playlist organization. How do you?
[Re: FireFox31]
|
carpal tunnel
Registered: 18/01/2000
Posts: 5683
Loc: London, UK
|
I never fully understood "tweaking" a playlist
There are some things to understand here:
A FID. FID stands for File IDentifier. It is a 32-bit number. The low four bits are reserved so, in effect, you can have 2^28 tunes or playlists on your player. These are the files stored in /drive0/fids and /drive1/fids -- /empeg/fids0 and /empeg/fids1 are aliases for these.
FIDs are expressed in hex. This is convenient, because the low four bits of the ID can be expressed as a single hex character.
Each FID is (generally) stored as two separate files. So, for example, a tune might be stored in 2fdc0 and 2fdc1. We generally refer to this as FID 2fdc0. The *0 file contains the MP3 (or FLAC or whatever) data for the tune and the *1 file contains the tags for the file.
Another documented *whatever number is 'F'. The dynamic data for our example FID is referenced by 2fdcf. This never appears in a file anywhere -- it goes onto the dynamic data partition -- it's just a convenient way for emplode and JEmplode to tell the empeg which dynamic data to write to.
The other documented "subfid" (I just made this term up) is the *2 file, which is used for storing the low bitrate version of a file on the Rio Central.
A playlist is also stored as 2 separate files. Again the *1 file contains the tags for the playlist, but this time the *0 file contains a list of the children of that playlist. These can be other playlists, or they can be tunes.
If a tune appears in multiple playlists, its FID will be listed in the *0 file for each of those playlists. It will not appear on the hard disk more than once.
There's some more explanation of this here.
There are other special FIDs. The root playlist is always stored as FID 100 (so it'll be in /drive0/fids/100 and /drive0/fids/101. The "Unattached Items" (now passed into folklore) playlist is always stored as FID 110. Other FIDs below 100 are used for other purposes. See lib/protocol/fids.h in the emptool sources for a list of these.
_________________________
-- roger
|
Top
|
|
|
|
#215013 - 30/04/2004 07:30
Re: Playlist organization. How do you?
[Re: Roger]
|
carpal tunnel
Registered: 18/01/2000
Posts: 5683
Loc: London, UK
|
So, that kinda explains what FIDs are, and starts to explain what a playlist is. I'll state it more explicitly here:
A playlist is simply a list of FIDs. It is stored in a *0 file on the player. Each of those FIDs can be another playlist or a tune.
Onto the next concept:
In memory, the player has what are called the "programme" and the "running order".
When you select a playlist from the menu, the player builds a new programme containing all of the FIDs from that playlist and its children. That's to say, at each step, if a FID refers to a playlist, it grabs the FIDs contained therein, instead. This process is recursive, and it's called "flattening". This results in a list containing the tunes which are descendents of the playlist you chose from the menu. Obviously, if you've got any special playlist attributes turned on (e.g. "ignore as child" or "select percentage" or whatever), this mechanism is changed.
This list of FIDs is stored in the player as the programme.
The running order controls the order in which the items in the programme will be played.
When you turn on/off the shuffle option, it changes the running order, but doesn't change the programme. If you select one of the tweak options, the player simply searches through the running order until it finds a match, and then swaps the order of the entries in the running order.
None of this makes it back to the playlist stored on the disk.
_________________________
-- roger
|
Top
|
|
|
|
#215014 - 30/04/2004 08:21
Re: Playlist organization. How do you?
[Re: FireFox31]
|
veteran
Registered: 21/01/2002
Posts: 1380
Loc: Erie, CO
|
My question is: What sort of FRONT PANEL functionality does the empeg have that can do my simple genre/artist sorting so I can use playlists for something else?
Create as many playlists as you want, you will not hit any performance problems. I currently use 2 soup playlists using Jemplode (see my post here on how to create those playlists) but I could just as easily have 10 more playlists sorting my songs by mood, genre and sub-genre, etc. Those would have to be manual playlists since you can't have multiple genres or such (maybe the comment field could be used for this?) but you get the point. Sort and organize any way you would like.
Ok, FAQ me once, FAQ me twice (I really have to figure out SOUPs); but for some reason, I never fully understood "tweaking" a playlist by artist, genre, album, etc. When you press one of those remote control buttons as the playlist is running, what EXACTALY does it do? Enqueue songs? Resort the playlist? Shrink the playlist?
When you tweak (let's say by Artist) the Empeg searches forward in the current running playlist to find the next matching Artist. Then it SWAPS the next song with the matched one. So say you are listening to song #5 by R.E.M., and song #6 is by Radiohead. You press tweak by Artist. The next song by R.E.M. is #45. The Empeg will take the Radiohead song in #6, put it in slot #45, then take the R.E.M. song and place it in slot #6. If there is no more R.E.M. songs, it will do nothing.
I set up a Popup menu in Hijack to do the Tweak Order functions without the remote.
|
Top
|
|
|
|
#215015 - 30/04/2004 21:32
Re: Playlist organization. How do you?
[Re: Roger]
|
pooh-bah
Registered: 19/09/2002
Posts: 2494
Loc: East Coast, USA
|
Roger, thank you for the excelent explanations. I had no idea about "programme" and "running order"; or the concepts never sunk in when I read them previously.
But two things left me curious. You mention "'ignore as child' or 'select percentage' or whatever". Are these functions documented anywhere? What do they do, specifically?
The other curious thing, I'll reply to cushman's for that.
_________________________
- FireFox31 110gig MKIIa (30+80), Eutronix lights, 32 meg stacked RAM, Filener orange gel lens, Greenlights Lit Buttons green set
|
Top
|
|
|
|
#215016 - 30/04/2004 21:41
Re: Playlist organization. How do you?
[Re: cushman]
|
pooh-bah
Registered: 19/09/2002
Posts: 2494
Loc: East Coast, USA
|
cushman, thanks for the great explanation. So, is the tweak recursive? If I'm listening to REM and press "Artist", does it go through the entire running order and swap each REM song it finds, one after another, to be immediately after the one I'm listening to? So, even if it's on Shuffle, will it stack the shuffled REM songs all back to back, and pick up with the rest of the shuffled playlist after that?
So, what is the proper use for that? Say I'm listening to my shuffle playlist, and I get to an REM song, so I press "Artist", and it then stacks my 9 REM albums back to back in shuffled order after the song I'm listening to. So, after I hear 6 REM songs, I want to go back to the random order (ensuring that I don't re-hear the songs I've already listened to). How is this possible? Or how can I skip to another artist in the group without skipping forward through 9 albums worth of REM tracks?
Tweaking makes me think that mood playlists could be implemented by genre tag quite nicely. Listening to a random playlist and a song that fits the mood comes on, so press Genre and have it grab all the tracks for that mood. But the above question is still looming; how do I get back to normal shuffle (or whatever sort order) mode; how do I undo the tweak?
Thanks again. Now my mind is reeling with a nested inheritance hierarchy for mood playlists, using "exclude as child" or whatever to give me more granular control over higher levels fo the hierarchy... or something.
_________________________
- FireFox31 110gig MKIIa (30+80), Eutronix lights, 32 meg stacked RAM, Filener orange gel lens, Greenlights Lit Buttons green set
|
Top
|
|
|
|
#215017 - 30/04/2004 21:53
Re: Playlist organization. How do you?
[Re: FireFox31]
|
veteran
Registered: 21/01/2002
Posts: 1380
Loc: Erie, CO
|
You can get a good feel of what's happening if you view the Now and Next view on your Empeg. Select all your tunes, shuffle them all, then play around with the tweak order buttons (or Popup menu).
The tweak is not recursive, it will not tweak ALL songs by the artist up next to the current one, it only works on the next song. If you press tweak order more than once it will stack the songs up next to the last one. Mess around with it in Now and Next, just so you get the feel of it.
Really the only way to undo the tweak is to re-load the playlist, but if you have shuffle on they won't be in the same order again. I think the intention was to just tweak a few songs then go back to the random playlist.
|
Top
|
|
|
|
#215018 - 01/05/2004 00:32
Re: Playlist organization. How do you?
[Re: FireFox31]
|
carpal tunnel
Registered: 05/01/2001
Posts: 4903
Loc: Detroit, MI USA
|
The only things in the "genre" playlists are compilation CDs and loose tracks (artists that have fewer than 3 or 4 songs on my player don't get their own "artist" listing).
_________________________
Brad B.
|
Top
|
|
|
|
#215019 - 01/05/2004 02:18
Re: Playlist organization. How do you?
[Re: FireFox31]
|
carpal tunnel
Registered: 18/01/2000
Posts: 5683
Loc: London, UK
|
For the tweak order functions, be sure to also read this.
What do they do, specifically?
See this FAQ entry for "Ignore as child".
If you have PickN selected: when flattening your selection, rather than including the entire content of the playlist, the player picks N items at random. Similarly for PickPercent, but it's done by percentage.
The settings are in the Properties page for each playlist:
Attachments
213961-emplode-playlist-properties.jpg (155 downloads)
_________________________
-- roger
|
Top
|
|
|
|
#215020 - 01/05/2004 08:52
Re: Playlist organization. How do you?
[Re: FireFox31]
|
carpal tunnel
Registered: 20/12/1999
Posts: 31600
Loc: Seattle, WA
|
So, is the tweak recursive? If I'm listening to REM and press "Artist", does it go through the entire running order and swap each REM song it finds, one after another, to be immediately after the one I'm listening to? Yes, but remember that each press of the tweak button only adds one song. If you have 50 upcoming REM songs, you'd have to press the tweak button 50 times to stack them all up.
Tweak is mainly meant for "Oh, that's an REM tune. I want to hear one or two more REM tunes before continuing on with the shuffle."
If you really want to hear all of your REM albums, what you should really do is un-shuffle. Then you can re-shuffle when you get tired of listening to REM.
Say I'm listening to my shuffle playlist, and I get to an REM song, so I press "Artist", and it then stacks my 9 REM albums back to back in shuffled order after the song I'm listening to. So, after I hear 6 REM songs, I want to go back to the random order (ensuring that I don't re-hear the songs I've already listened to). How is this possible? You shouldn't be using the artist tweak to stack up your entire REM collection because it would take so many button presses. You should shuffle and unshuffle instead. However, if you did do what you describe and got tired of REM, you could press and hold the artist tweak button to drop all the REM songs as described here.
Now, in your last thing you said specifically I want to go back to the random order (ensuring that I don't re-hear the songs I've already listened to). When unshuffling and reshuffling like I describe, I really have never had a problem with this. There are enough tunes on my player that in a given sitting, I rarely hear a repeated tune after reshuffling. But if you want to be absolutely religious about it, then simply use the Least Recently Played shuffle mode.
|
Top
|
|
|
|
#215021 - 01/05/2004 11:29
Re: Playlist organization. How do you?
[Re: tfabris]
|
carpal tunnel
Registered: 25/12/2000
Posts: 16706
Loc: Raleigh, NC US
|
I thought that when you did that (unshuffle then reshuffle), the player software remembered what had already been played so that you definitely wouldn't hear songs again. Is that wrong?
_________________________
Bitt Faulk
|
Top
|
|
|
|
#215022 - 01/05/2004 13:22
Re: Playlist organization. How do you?
[Re: wfaulk]
|
carpal tunnel
Registered: 13/07/2000
Posts: 4180
Loc: Cambridge, England
|
I thought that when you did that (unshuffle then reshuffle), the player software remembered what had already been played so that you definitely wouldn't hear songs again. Is that wrong? 'Tain't wrong. Bipartite shuffle is one of those great features that works so well that nobody even knows it exists.
Peter
|
Top
|
|
|
|
#215023 - 02/05/2004 02:50
Re: Playlist organization. How do you?
[Re: peter]
|
carpal tunnel
Registered: 20/12/1999
Posts: 31600
Loc: Seattle, WA
|
<neo> Whoa. </neo>
Okay, why didn't anyone ever tell me about this before?
|
Top
|
|
|
|
#215024 - 02/05/2004 03:08
Re: Playlist organization. How do you?
[Re: peter]
|
pooh-bah
Registered: 13/09/1999
Posts: 2401
Loc: Croatia
|
Bipartite shuffle is one of those great features that works so well that nobody even knows it exists. Indeed.
Remind me: isn't this great feature one that made it into the player software only after some prodding from the BBS populace (the only means of randomizing the content previously being a static playlist property flag)?
One of many reasons empeg is such a marvelous product is that people at empeg towers actually listen to their user base. I keep wondering what the world (at leat technological aspect of it) would look like if Hugo & Co's competence, attitude and dedication were the norm rather than sorely rare exception. But then, somebody has to be the best...
_________________________
Dragi "Bonzi" Raos
Q#5196
MkII #080000376, 18GB green
MkIIa #040103247, 60GB blue
|
Top
|
|
|
|
#215025 - 02/05/2004 06:02
Re: Playlist organization. How do you?
[Re: tfabris]
|
carpal tunnel
Registered: 13/07/2000
Posts: 4180
Loc: Cambridge, England
|
Okay, why didn't anyone ever tell me about this before? Because, Mr Anderson, you didn't need to know. Nor do you need to know that this works differently from Least Recently Played: if you skip a song as soon as it comes on, it doesn't count as "played" for LRP or play-count purposes ('cos you haven't really heard it), but it does count as "played" in the separate flag used for bipartite shuffle: you've just skipped the thing once, it'd be perverse to try and play it to you again straightaway. You don't need to know because all you, as a user, perceive, is that you are lucky about what comes up in reshuffled playlists. You are not lucky, Mr Anderson; we are carefully scripting your "luck", behind the scenes.
(I can't answer bonzi's question about whether it was the BBS that suggested this: it was already done by the time I joined Empeg.)
Peter
|
Top
|
|
|
|
#215026 - 02/05/2004 11:33
Re: Playlist organization. How do you?
[Re: peter]
|
carpal tunnel
Registered: 20/12/1999
Posts: 31600
Loc: Seattle, WA
|
|
Top
|
|
|
|
|
|