Unoffical empeg BBS

Quick Links: Empeg FAQ | RioCar.Org | Hijack | BigDisk Builder | jEmplode | emphatic
Repairs: Repairs

Topic Options
#154348 - 08/04/2003 16:19 New custom shuffle variables.
anonymoose
new poster

Registered: 11/10/2002
Posts: 13
Loc: FL, USA
I've been playing around with custom shuffle modes, and recently found that you can use many variables other than time, year, plays, random, and ctime. I haven't been able to find any mention of this here or on riocar.org. So I asume this is something new to 2.0 final?

Does anyone have a full list of all custom shuffle variables and their possible min/max values?
_________________________
-- John

Top
#154349 - 09/04/2003 04:16 Re: New custom shuffle variables. [Re: anonymoose]
tms13
old hand

Registered: 30/07/2001
Posts: 1115
Loc: Lochcarron and Edinburgh
While we're at it, I think the constants used in the built-in shuffles changed when the variable ranges changed in one of the betas. Can one of the developers check whether the values in the Developer Info on RioCar.Org need changing? Thanks.
_________________________
Toby Speight
030103016 (80GB Mk2a, blue)
030102806 (0GB Mk2a, blue)

Top
#154350 - 09/04/2003 12:17 Re: New custom shuffle variables. [Re: tms13]
anonymoose
new poster

Registered: 11/10/2002
Posts: 13
Loc: FL, USA
As long as any change is just increasing the possible max values, the default shuffles should be ok. Well, except if the range of RANDOM was changed, but that doesn't seem to be the case. It still seems to resolve to between 0 and 32000 or so. Can anyone clarify, is RANDOM 0 to 32000 or is it 0 to 32767 ?

Anyway... Here are the other variables I've been able to find. Some work fine in upper case, some don't. So lowercase used for consistency. Variables with no values, or values beginning with 0, are treated as 0 and can cause weird behavior.

Usage: (-)variable=#
Where # is a positive integer.

length
Track size in bytes.

duration
Track duration in milliseconds.

offset
Offset of first valid MP3 frame, i.e., number of bytes before first valid frame. wave=0, wma=?

samplerate
Track's samplerate in Hz. wave=0, wma=?
Possible values for MP3s: 48000, 44100, and 32000 if stereo. 24000, 22050, and 16000 if mono. The vast majority of MP3s are going to be 44100.

tracknr
Value of "Track #" field.
Track numbers beginning with 0 cause weirdness.

file_id
Value of "Track #" field.
Track numbers beginning with 0 cause weirdness.

pin
Pin number assigned to track.

play_count
Number of times played. Similar to PLAYS, but the value of play_count is the actual play count, where the value of PLAYS appears to be (play count)*(-1). So "shuffle0=Least played,-play_count=1" is the same as "shuffle0=Least played,PLAYS=1"

play_last
Number of seconds between 00:00:00 UTC 1/1/1970 and time last played. Similar to TIME, though TIME = (current time)-(played last)
Functionally "shuffle0=Least recently played,-play_last=1" and "shuffle0=Least recently played,TIME=1" are equivalent, even though the values are not the same.

fid=1
Track's FID number.

bpm=1
Track's beats per minute as calculated by player.

Are there any others? Is there one that evaluates to current time?
_________________________
-- John

Top
#154351 - 09/04/2003 13:24 Re: New custom shuffle variables. [Re: anonymoose]
wfaulk
carpal tunnel

Registered: 25/12/2000
Posts: 16706
Loc: Raleigh, NC US
The only other potentially useful one I see is bitrate. Haven't checked to see if it works yet, though.
_________________________
Bitt Faulk

Top
#154352 - 09/04/2003 13:30 Re: New custom shuffle variables. [Re: wfaulk]
peter
carpal tunnel

Registered: 13/07/2000
Posts: 4172
Loc: Cambridge, England
Bitrate won't work as the strings ("vs204" or whatever) will all come out zero -- the code only looks for digits at the beginning of the string.

There's no support for it in emplode, but you can write any tags you like to the *1 files and they'll be added to the database and available for use in these shuffles. (To avoid colliding with future Empeg-defined ones, start your tags with "x-", as if they were mail headers.) For instance, you could add "x-jolly" tags, rate cheerful songs as 10 and Smiths songs as 0, and shuffle by jolliness.

Peter

Top
#154353 - 09/04/2003 13:34 Re: New custom shuffle variables. [Re: wfaulk]
tonyc
carpal tunnel

Registered: 27/06/1999
Posts: 7058
Loc: Pittsburgh, PA
BPM might be neat. "Give me all my fast songs first." Especially if a little "fuzz" or randomness could be added in so it's not always the fastest song that plays first.
_________________________
- Tony C
my empeg stuff

Top
#154354 - 09/04/2003 21:33 Re: New custom shuffle variables. [Re: tonyc]
canuckInOR
carpal tunnel

Registered: 13/02/2002
Posts: 3212
Loc: Portland, OR
How about a mode that says to order tracks such that the BPM of a track must be within +/- N BPM of the preceding track?

Top
#154355 - 09/04/2003 22:10 Re: New custom shuffle variables. [Re: canuckInOR]
tonyc
carpal tunnel

Registered: 27/06/1999
Posts: 7058
Loc: Pittsburgh, PA
Now we're talkin.
_________________________
- Tony C
my empeg stuff

Top
#154356 - 10/04/2003 02:32 Re: New custom shuffle variables. [Re: canuckInOR]
mdavey
enthusiast

Registered: 06/03/2003
Posts: 269
Loc: Wellingborough, UK
What would be cool... write some BPM analysing code that takes the pre-calculated BPM value and then scans the tune to find the offsets to each beat in realtime. Then cues up the next song so that the beats are in-time, then cross-fades.

Not sure if the player software can speed up and slow down the playback of tunes by just a little. If not, the tolerance (that is, the value of +/- N) will have to be very small.
_________________________
Michael
Ex-owner of stolen empeg #030102741

Top
#154357 - 11/04/2003 00:29 Re: New custom shuffle variables. [Re: tonyc]
anonymoose
new poster

Registered: 11/10/2002
Posts: 13
Loc: FL, USA
This should sort of work like that. (Higher BPMs first)
shuffle0=BPM +/- N,bpm=32768,random=N

I think. I haven't tested it.


Edited by anonymoose (11/04/2003 00:33)
_________________________
-- John

Top
#154358 - 14/04/2003 00:11 Re: New custom shuffle variables. [Re: tonyc]
Brandis
stranger

Registered: 30/03/2000
Posts: 32
Loc: Oklahoma, USA
This idea has much potential for grooviness
_________________________
Chad MKIIa 30Gb Blue

Top
#154359 - 14/04/2003 00:17 Re: New custom shuffle variables. [Re: anonymoose]
Shonky
pooh-bah

Registered: 12/01/2002
Posts: 2009
Loc: Brisbane, Australia
You can add marked as a variable as well.

shuffle0=Marked,marked=32768,random=1

I use this to put all my marked songs at the beginning but shuffled. I use it as a favourites list. i.e. I hear a song I like, I mark it....


I assume marked is just a 0 or 1 depending on whether it's marked or not.
_________________________
Christian
#40104192 120Gb (no longer in my E36 M3, won't fit the E46 M3)

Top
#154360 - 14/04/2003 22:09 Re: New custom shuffle variables. [Re: Shonky]
anonymoose
new poster

Registered: 11/10/2002
Posts: 13
Loc: FL, USA
Whoops, missed that one. I was going by jEmplode and figured it was a text field rather than numerical.

It would be nice if you could set the marked value when marking a track. Have, say 1 = fave track, 99 = I hate this track, 1000 = This track has technical problems, etc.

I wonder if something like this could be added via 3rd party software. Maybe by intercepting the "Mark" button press and displaying a menu with values to choose from. Assuming the marked field is bigger than 1 bit.
_________________________
-- John

Top
#154361 - 15/04/2003 00:51 Re: New custom shuffle variables. [Re: anonymoose]
Roger
carpal tunnel

Registered: 18/01/2000
Posts: 5680
Loc: London, UK
Assuming the marked field is bigger than 1 bit

IIRC, it's not.
_________________________
-- roger

Top
#154362 - 15/04/2003 15:59 Re: New custom shuffle variables. [Re: Roger]
anonymoose
new poster

Registered: 11/10/2002
Posts: 13
Loc: FL, USA
Oh well.

Anyway, while testing the new shuffle variables, I came up with a few custom shuffles that I find useful. I particularly like the last one.

Least often played (5)
shuffle0=LOP5,-play_count=32768,random=-5
Sorted by least often played, randomized in such a way that any track will be within a maximum of about +/-5 plays from previous one. It's a little more randomized than the default LOP shuffle which is about +/-1

Least recently played (24hrs)
shuffle0=LRP24h,-play_last=32768,random=-86400
Sorted by least recently played, randomized in such a way that any track will be within a maximum of +/-24hrs from previous one. This is less randomized than the default LRP shuffle which works out to about +/-12.1 days.
(edit: Changed 9.1 hours to 12.1 days. I forgot that the default shuffle uses TIME which is 32 seconds per tick.)


Least often by least recently played.
shuffle0=LOP by LRP,-play_count=4294967295,-play_last=1
Sorted by least often played. Tracks with the same play count will be ordered by least recently played.

Least often by least recently played (24hrs)
shuffle0=LOP by LRP24h,-play_count=1099533745246,-play_last=256,random=-675
Sorted least often played. Tracks with the same play count will be shuffled the same as "LRP24h,-play_last=32768,-random=86400"

Least recently played - playcount adjusted
shuffle0=LRP Play adjusted,-play_last=32768,-play_count=2831155200,random=-1
Sorted by least recently played, and each play count moves track's last play date forward 24 hours.
So, a track last played on April 10 with a play count of 6 will act like it was last played on April 16.
And a track last played on April 12 with a play count of 1 will act like it was last played on April 13, etc.
Tracks that have never been played are played first in random order.


Edited by anonymoose (15/04/2003 17:38)
_________________________
-- John

Top
#154363 - 15/04/2003 16:07 Re: New custom shuffle variables. [Re: anonymoose]
tonyc
carpal tunnel

Registered: 27/06/1999
Posts: 7058
Loc: Pittsburgh, PA
Wow! Great hacking. I'll have to try those out.
_________________________
- Tony C
my empeg stuff

Top