IPB

Welcome Guest ( Log In | Register )

7 Pages V   1 2 3 > »   
Reply to this topicStart new topic
foo_random_pools, Select random groups from the media library
fbuser
post Jan 2 2010, 18:15
Post #1





Group: Developer
Posts: 682
Joined: 26-September 07
Member No.: 47369



foo_random_pools is a foobar2000 component for creating random playlist entries selected and grouped by various pool definitions.

Mainly you can define titleformat expressions for selecting random groups like albums including sorting and filtering from the media library.

Download the latest version: here

This post has been edited by fbuser: Sep 16 2011, 22:50
Go to the top of the page
+Quote Post
Black_Over_Bills...
post Jan 3 2010, 10:01
Post #2





Group: Members
Posts: 124
Joined: 16-April 08
From: England
Member No.: 52832



Thanks for this plugin. I'm finding it really great to use.

Is there any chance of adding, as an option to number of tracks to add, a duration - say 1hr. In this way I could easily configure any number of tracks with a total length of roughly 1 hr. Obviously not exactly the duration but upto.

Thanks.

This post has been edited by Black_Over_Bills_Mothers: Jan 3 2010, 10:01
Go to the top of the page
+Quote Post
Chris Norman
post Jan 3 2010, 13:08
Post #3





Group: Members
Posts: 139
Joined: 3-June 05
From: Cluj-Napoca
Member No.: 22498



Looks like a great idea - going to test it.


--------------------
http://www.vonpell.com
Go to the top of the page
+Quote Post
xbullethammer
post Jan 3 2010, 20:57
Post #4





Group: Members
Posts: 174
Joined: 23-September 08
Member No.: 58561



BRILLIANT!

Finally a way to add random albums to a playlist!


--------------------
<insert signature here>
Go to the top of the page
+Quote Post
realhaiy
post Feb 13 2010, 10:25
Post #5





Group: Members
Posts: 11
Joined: 29-April 06
Member No.: 30176



great plugin!
only one requset: option for preventing adding duplicates
Go to the top of the page
+Quote Post
NullString
post Feb 13 2010, 18:03
Post #6





Group: Members
Posts: 137
Joined: 23-May 06
From: Chile!
Member No.: 31067



THis is goddamn great!
If I want to select 7 random albums I use the group query "%album artist%-%album%, and the query works perfectly. But I want to filter it so I don't get 2 albums from the same album artist, how can I do it?

Also would love to limit the query for filesize instead of group/track count.

GJ!
Go to the top of the page
+Quote Post
Xezzy
post Feb 13 2010, 21:03
Post #7





Group: Members
Posts: 209
Joined: 14-February 08
Member No.: 51306



Yes, limit the playlist by filesize would be great feature, especially for portable mp3 devices...
Go to the top of the page
+Quote Post
fbuser
post Feb 14 2010, 01:11
Post #8





Group: Developer
Posts: 682
Joined: 26-September 07
Member No.: 47369



A limiting by duration or filesize will be probably implemented, but I won't implement any kind of memory for the random pools, which means there will be no chance to prevent duplicates.
Go to the top of the page
+Quote Post
mrinferno
post Feb 14 2010, 15:24
Post #9





Group: Members
Posts: 135
Joined: 19-June 07
Member No.: 44533



just noticed this last night and had a chance to try this morning.
very cool and thanks!!!
adding random albums to a playlist has been something I've always wanted to do with foobar.
this plug-in has lots of possibilities. back to enjoying the randomness...
Go to the top of the page
+Quote Post
foosion
post Feb 14 2010, 15:37
Post #10





Group: FB2K Moderator (Donating)
Posts: 4426
Joined: 24-February 03
Member No.: 5153



Nice idea. I've tried to make it crash, but I wasn't successful so far. wink.gif There are a few things that could be improved (keep in mind that I'm a perfectionist):
Discoverability
  • foo_whatsnew did not pick up the main menu commands after installation, so I suspect you don't enumerate any, when no pool is configured. I suggest to enumerate the "All pools" command always, but make is disabled and greyed, when there are no pools, and to add a "More..." command that opens the preferences page. The menu tree for foo_random_pools would then look like this:
    CODE
    File
      Random pools
        All pools
        [insert configured pools here]
        ---
        More...

Preferences
  • Link the "Help" button to the installed help file.
  • Use new preferences page API from the 1.0 SDK. wink.gif

Dialogs
  • Improve dialog layout. For example, add some horizontal space between buttons. I think Microsoft recommends 7 DLUs.
  • End labels for edit controls with a colon.
  • Improve text for "Don't determine distinct group values" check box. See below for my suggestion.

Here's my suggestion how to modify the "Random pool" dialog with an image and source code. The main reason why I reduced the height of the large edit controls is that it was easiest to show what I wanted that way, Resource Hacker isn't the most convenient tool for editing dialogs. wink.gif

CODE
103 DIALOG 50, 50, 332, 295
STYLE DS_FIXEDSYS | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Random pool"
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
FONT 8, "Ms Shell Dlg 2"
{
CONTROL "", 1018, EDIT, ES_LEFT | ES_AUTOHSCROLL | WS_CHILD | WS_VISIBLE | WS_BORDER | WS_TABSTOP, 51, 11, 274, 12
CONTROL "Determine probability for picking groups based on group size", 1004, BUTTON, BS_AUTOCHECKBOX | BS_MULTILINE | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 5, 76, 253, 14
CONTROL "", 1019, EDIT, ES_LEFT | ES_MULTILINE | ES_AUTOHSCROLL | ES_WANTRETURN | WS_CHILD | WS_VISIBLE | WS_BORDER | WS_VSCROLL | WS_TABSTOP, 51, 28, 274, 45
CONTROL "", 1003, EDIT, ES_LEFT | ES_MULTILINE | ES_AUTOHSCROLL | ES_WANTRETURN | WS_CHILD | WS_VISIBLE | WS_BORDER | WS_VSCROLL | WS_TABSTOP, 51, 93, 274, 45
CONTROL "", 1020, EDIT, ES_LEFT | ES_MULTILINE | ES_AUTOHSCROLL | ES_WANTRETURN | WS_CHILD | WS_VISIBLE | WS_BORDER | WS_VSCROLL | WS_TABSTOP, 51, 143, 274, 45
CONTROL "", 1021, EDIT, ES_LEFT | ES_AUTOHSCROLL | ES_NUMBER | WS_CHILD | WS_VISIBLE | WS_BORDER | WS_TABSTOP, 108, 205, 32, 12
CONTROL "", 1000, EDIT, ES_LEFT | ES_AUTOHSCROLL | ES_NUMBER | WS_CHILD | WS_VISIBLE | WS_BORDER | WS_TABSTOP, 108, 222, 32, 12
CONTROL "", 1041, EDIT, ES_LEFT | ES_AUTOHSCROLL | ES_NUMBER | WS_CHILD | WS_VISIBLE | WS_BORDER | WS_TABSTOP, 108, 239, 32, 12
CONTROL "OK", 1, BUTTON, BS_DEFPUSHBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 220, 276, 51, 14
CONTROL "Cancel", 2, BUTTON, BS_PUSHBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 277, 276, 50, 14
CONTROL "Name:", 1014, STATIC, SS_LEFT | WS_CHILD | WS_VISIBLE | WS_GROUP, 5, 13, 22, 8
CONTROL "Group:", 1015, STATIC, SS_LEFT | WS_CHILD | WS_VISIBLE | WS_GROUP, 5, 30, 38, 8
CONTROL "Filter:", 1016, STATIC, SS_LEFT | WS_CHILD | WS_VISIBLE | WS_GROUP, 5, 144, 20, 8
CONTROL "Priority:", 1017, STATIC, SS_LEFT | WS_CHILD | WS_VISIBLE | WS_GROUP, 5, 207, 38, 8
CONTROL "Sort order:", 1002, STATIC, SS_LEFT | WS_CHILD | WS_VISIBLE | WS_GROUP, 5, 95, 38, 8
CONTROL "Number of groups to add:", 1039, STATIC, SS_LEFT | WS_CHILD | WS_VISIBLE | WS_GROUP, 5, 224, 93, 8
CONTROL "0 = don't consider this pool, when adding items from all pools", -1, STATIC, SS_LEFT | WS_CHILD | WS_VISIBLE | WS_GROUP, 150, 204, 171, 18
CONTROL "Limit number of tracks to add:", 1040, STATIC, SS_LEFT | WS_CHILD | WS_VISIBLE | WS_GROUP, 6, 241, 100, 8
CONTROL "0 = no limit", -1, STATIC, SS_LEFT | WS_CHILD | WS_VISIBLE | WS_GROUP, 150, 241, 171, 8
}


--------------------
http://foosion.foobar2000.org/ - my components for foobar2000
Go to the top of the page
+Quote Post
fbuser
post Feb 14 2010, 16:45
Post #11





Group: Developer
Posts: 682
Joined: 26-September 07
Member No.: 47369



QUOTE (foosion @ Feb 14 2010, 15:37) *
Nice idea. I've tried to make it crash, but I wasn't successful so far. wink.gif
Maybe you have to try harder. smile.gif

QUOTE (foosion @ Feb 14 2010, 15:37) *
There are a few things that could be improved (keep in mind that I'm a perfectionist):
I'm always open to improvement suggestions.

QUOTE (foosion @ Feb 14 2010, 15:37) *
Discoverability
  • foo_whatsnew did not pick up the main menu commands after installation, so I suspect you don't enumerate any, when no pool is configured. I suggest to enumerate the "All pools" command always, but make is disabled and greyed, when there are no pools, and to add a "More..." command that opens the preferences page. The menu tree for foo_random_pools would then look like this:
    CODE
    [code]File
       Random pools
         All pools
         [insert configured pools here]
         ---
         More...
    [/code]
Good point, but I'll add another menu separator after "All pools". This should be possible now with SDK 1.0, at least I found no way to make this with the old SDK.

QUOTE (foosion @ Feb 14 2010, 15:37) *
Preferences
  • Link the "Help" button to the installed help file.
  • Use new preferences page API from the 1.0 SDK. wink.gif
I overlooked the first point, the second one is, of course, already planned.

QUOTE (foosion @ Feb 14 2010, 15:37) *
Dialogs
  • Improve dialog layout. For example, add some horizontal space between buttons. I think Microsoft recommends 7 DLUs.
  • End labels for edit controls with a colon.
  • Improve text for "Don't determine distinct group values" check box. See below for my suggestion.
Personally, I don't like the first two points, but as a plugin should follow the host application, I will change that. For the third point, your text makes it more clear, what is meant, so I will use it. Regarding the dialog layout in general, I wasn't really happy with it by myself and I already got a proposal in a German Foobar200 forum, so I will also change the layout.
Go to the top of the page
+Quote Post
exxecutor
post Feb 14 2010, 17:14
Post #12





Group: Members
Posts: 69
Joined: 9-November 08
Member No.: 62020



Thank you for this component!

However, why is %added% DURING LAST 6 WEEKS an invalid filter expression?
Go to the top of the page
+Quote Post
fbuser
post Feb 14 2010, 18:10
Post #13





Group: Developer
Posts: 682
Joined: 26-September 07
Member No.: 47369



Will be fixed with the next version.
Go to the top of the page
+Quote Post
Fractal_Mortalit...
post Feb 14 2010, 21:05
Post #14





Group: Members
Posts: 374
Joined: 20-June 05
Member No.: 22863



Anyone have any idea how I could rig a script for this in order to draw random pools of albums only from the past week/month/etc. using the %added% tag?


--------------------
http://www.last.fm/user/magnumforce2006
Go to the top of the page
+Quote Post
exxecutor
post Feb 23 2010, 13:54
Post #15





Group: Members
Posts: 69
Joined: 9-November 08
Member No.: 62020



So, I have been using this component for some days and it has become one of the most important to me! I love its "weighted randomness". I am using it with album ratings (calculated outside of foobar with a script I wrote). In my case, the component automatically populates my playlist with random albums but in the long run makes me listen to more great albums than bad ones. It also has great synergy with playlist_attribute's "remove played/skipped tracks".

I think, the preferences page could be improved for the next version. Right now it's pretty inefficient if you want to play around with priorities.
Go to the top of the page
+Quote Post
Xezzy
post Mar 29 2010, 23:48
Post #16





Group: Members
Posts: 209
Joined: 14-February 08
Member No.: 51306



Great component. Is it still under development? Cause its listed as problematic, but its features are really cool.
Go to the top of the page
+Quote Post
fbuser
post Mar 30 2010, 18:51
Post #17





Group: Developer
Posts: 682
Joined: 26-September 07
Member No.: 47369



Thanks for the hint. I'm already using a newer version and never had a crash, so I wasn't aware of it. I requested the crash reports and will look into them.
Go to the top of the page
+Quote Post
mrinferno
post Mar 30 2010, 19:00
Post #18





Group: Members
Posts: 135
Joined: 19-June 07
Member No.: 44533



QUOTE (fbuser @ Mar 30 2010, 13:51) *
Thanks for the hint. I'm already using a newer version and never had a crash, so I wasn't aware of it. I requested the crash reports and will look into them.


cool, glad to hear you're still developing. i've had maybe one crash while running random pools, but i also have foo_uie_lyrics2 which has usually been the source of the crash.

either way, definitely looking forward to trying any new versions of random pools when your ready to release.
using it daily and i'm totally hooked on the ability to populate playlists with random albums!
Go to the top of the page
+Quote Post
NullString
post Mar 30 2010, 19:19
Post #19





Group: Members
Posts: 137
Joined: 23-May 06
From: Chile!
Member No.: 31067



haven't gotten any crashes yet.
this plugin sort of "resurrects" not popular albums in my library, the randomness that mixes known with unknown... damn useful little tool
Go to the top of the page
+Quote Post
Fractal_Mortalit...
post Mar 31 2010, 07:35
Post #20





Group: Members
Posts: 374
Joined: 20-June 05
Member No.: 22863



How does this "weighted randomness" work that some people have been talking about?


--------------------
http://www.last.fm/user/magnumforce2006
Go to the top of the page
+Quote Post
exxecutor
post Mar 31 2010, 08:31
Post #21





Group: Members
Posts: 69
Joined: 9-November 08
Member No.: 62020



QUOTE (Fractal_Mortality @ Mar 31 2010, 07:35) *
How does this "weighted randomness" work that some people have been talking about?


It works best with parameters which are the same for whole albums (like date, genre, album rating). If you want to listen to more new music, create pools like f.i. (the more pools, the better):

Filter: %date% GREATER 2008, Priority: 20
Filter: %date% LESS 2009, Priority: 10
(Group: %album% for all)

After that specify a playlist for the autoadd feature and when the component should add a new album. Now when you listen to this playlist, the component will choose random albums but newer ones twice as often.

EDIT: I'm also looking forward to a new version. Amazing Plugin!

This post has been edited by exxecutor: Mar 31 2010, 08:34
Go to the top of the page
+Quote Post
Fractal_Mortalit...
post Mar 31 2010, 08:48
Post #22





Group: Members
Posts: 374
Joined: 20-June 05
Member No.: 22863



Gotcha, thanks for the explanation


--------------------
http://www.last.fm/user/magnumforce2006
Go to the top of the page
+Quote Post
fbuser
post Apr 4 2010, 22:28
Post #23





Group: Developer
Posts: 682
Joined: 26-September 07
Member No.: 47369



Version 0.0.2 is available. See first post for DL and CL.
Go to the top of the page
+Quote Post
exxecutor
post Apr 4 2010, 23:33
Post #24





Group: Members
Posts: 69
Joined: 9-November 08
Member No.: 62020



Thank you very much! Works great so far.
Go to the top of the page
+Quote Post
mrinferno
post Apr 5 2010, 03:28
Post #25





Group: Members
Posts: 135
Joined: 19-June 07
Member No.: 44533



awesome thanks! looking forward to trying out more thoroughly tomorrow.

just FYI, it appears loading the new version blows away previous settings.

not a biggie for me at all i can easily recreate, just figured i would mention it though.


Go to the top of the page
+Quote Post

7 Pages V   1 2 3 > » 
Reply to this topicStart new topic
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:

 



RSS Lo-Fi Version Time is now: 1st September 2014 - 13:05