• Status Closed
  • Percent Complete
  • Task Type Patches
  • Category Music playback
  • Assigned To No-one
  • Operating System All players
  • Severity Low
  • Priority Very Low
  • Reported Version
  • Due in Version Undecided
  • Due Date Undecided
  • Votes 4
  • Private
Attached to Project: Rockbox
Opened by Porphyr - 2007-04-02
Last edited by pondlife - 2007-12-21

FS#6960 - Random (album) selection in Database

I implemented something because I desparately wanted random album selection.
My code simply adds another menu item called “<Random>” to each level of the Database lookup tree, just beneath the “<All tracks>” entry. This entry just randomly selects one of the actual menu entries from below it. (This adds some flexibility to my original request - you now can select music from a random year, a random genre, …. basicly everything)

Now I know that the code is not ready for integration into the main source - it should probably be configurable - it definitivly lacks i18n.
I don’t know who decides which code goes into the main source and which not; if there is interest to integrate this kind of functionality, I am ready to finish the missing stuff to make it ready for integration.

However, for me it works for me.
I read some similiar requests in the forum - maybe it would help others, too.

Closed by  pondlife
2007-12-21 13:32
Reason for closing:  Accepted
Additional comments about closing:   Warning: Undefined array key "typography" in /home/rockbox/flyspray/plugins/dokuwiki/inc/parserutils.php on line 371 Warning: Undefined array key "camelcase" in /home/rockbox/flyspray/plugins/dokuwiki/inc/parserutils.php on line 407


I think the idea is that you do the work and then they say, “ah, this patch seems worthy of our time” Asking if they want it isn’t the right way. They want us to make something good! then make it easy for them to implement.

Hmmm. Dunno who is “us” and “they” - don’t know if I want to belong to either…

As I said the code does almost what I want from it - If someone else wants it: fine - if not: fine, too - I don’t really care.

If somebody wants this code - fine! I am ready to continue the work to make it easier to integrate. If nobody wants it on the other hand - I am fine, too.

The next thing I’ll probably focus is to make the <Random> option configurable in the tagnavi.config.

Although I can’t lend a hand coding, I’d say that this is an interesting feature, there are a lot of rockbox users that just want to randomly play something. But having the feature to randomly play a folder from the current list sounds cool. I would probably start using the database more ;) .

Thanks for the encouragement. You could help me still if you try out this patch and give me suggestion on what you like /dislike / want to have changed.

Minor update: I need to call srand - otherwise the random selection will be very deterministic… I also tried to make the <Random> entry configurable in the tagnavi.config. However, after this, my rockbox did not boot :-(

So here is the patch for real random selection (with srand - without the broken config stuff)

That looks interesting. I will investigate it soon when I have some time.

Actually, this feature was one of the main reasons for choosing an iPod. Surprisingly many players do not offer random album selection…

Anyway, the next things I am targetting at are:
- Allow to skip the title display at the end of a filter chain (i.e. if I have selected an album, I normally want to start listening with the first track)
- Suppress the <All tracks> item on the first level (does not make much sense without any filters applied)
- Make the <Random> item switchable in the tagnavi.conf

Unfortunately, my experiments most of the time lead to locking up the Rockbox - I still don’t have a clue what I did wrong :-(

Small addition: Now displays the randomly chosen title instead of “<Random>” as statusbar title.

just wanted to say that I have tried out this patch and that it’s a very neat feature. It’s like putting your albums on shuffle but still gives you some degree of control. I could see this being a valuable tool for making a playlist from a large collection. Keep up the good work

Hi there, Using this patch with the Evil G 5-02-07 Ice Build, and I believe this patch has caused a breakdown in the database.

I have tried building the database several times now, and this results in freezing or glitching when I try to access the Database OR the filetree after initialization.

Try using it with a plain SVN build and retest.

japc commented on 2007-09-04 22:50

Nice one. Will try it as soon as I have the time.

Anonymous Submitter commented on 2007-09-07 13:45

Can you change the patch so, that it add the options not only when browsing artits, but also Album Artists? Thanks

Quotation from the original posting

"My code simply adds another menu item called "<Random>" to each level of the Database lookup tree, just beneath the "<All tracks>" entry."

This is not just random album selection, it allows you to select randomly whatever you like (random year, random genre, random … anything, and also random album artist). Just try it out!

Anonymous Submitter commented on 2007-09-07 15:08

No, there are no “Random” or “All tracks” when I browser by album arist at all!

Anonymous Submitter commented on 2007-09-07 15:10

Ok, nevermind. It’s there, I could swear it wasn’t when I looked last time lol.

Anonymous Submitter commented on 2007-09-22 14:21

Hey, it would be nice, if when I select “all tracks” it would sort the tracks not alphabetical, but by album and tracknumber.

To the devs: I think this patch is very interesting and would love to see it accepted into svn. Since it had been on the tracker for a while, I would like to know what hold against its inclusion: the lack of customization option? unacceptable implementation? or simply code/feature bloat? or something else?

To porphyr: You mentioned that you tried including the option in tagnavi files; do you mind elaborate on what you did exactly? I’m interested in trying to do this, and it is always nice to know what had been done. I read through tagtree.c a bit and I think I have an idea how to do it.

I like this patch, and would like to see it committed. One small improvement that could be made would be to suppress the <Random> entry if there is only a single option available.

I vote for commit too.


Available keyboard shortcuts


Task Details

Task Editing