Skip to main content
Topic: Extended Playlist Generator (Read 77540 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Extended Playlist Generator

Allright, 0.8.1 has been released and with that the new playlist generator component including it's sources.

Thanks to zZzZzZz for creating this nice little tool upon the request of a few users.

However now it seems it is time for someone else to pick up the sources and develop this a bit further.

The playlistgenerator itself is included in the special installer and has a nice new intuitive syntax for parsing the database.  The sources are included in the new SDK available for download at the usual place.

Well now to the ideas I had in mind to maybe make this a bit more flexible.

Actually the only three things I really would like to see to make this a lot more powerfull, would be to

A)
Have the possibility to define the output playlist name already in the generator. A small extra input field for that should suffice.  Similar to the "format value from other fields function in the masstagger. Obviously there should be an option to overwrite existing playlist in case it already exists.

B) Have the ability to create several playlists in the playlist generator and generate them simultaniously.  Then on top of that beeing able to save these as a script, similar to the saving feature in the masstagger.

C)
Have the ability to define the way incoming files are sorted.

Together with the already powerfull database this would make for some quite new and interesting ways of playlist management.  Ie, with a simple run of the generator it would be possible to smartly update all playlists.

Hopefully someone will find it worth it to work on this and and give us another powerfull FB2K tool 

Extended Playlist Generator

Reply #1
picmixer - Great points.

In addition to these I would like to see the generator be able to create random generated playlists with a cap on the length of these based on minutes (for audio cd's), and/or size (data cd's, or smaller portables). This would be very handy in my case.

And thanks Peter for making this. Very well done. 

Extended Playlist Generator

Reply #2
Not really meaning to be ungrateful, but why the overlap between this and Database search or Extended search?  The ohly difference I see is that this component supports logical operations and such.  I guess I don't understand why either of these other two components wasn't enhanced, instead of creating another component.

I anxiously await the return flames...
Santa is very jolly because he knows where all the bad girls live.  - Dennis Miller

Extended Playlist Generator

Reply #3
Simply because this component got started out of the idea to spawn something new I would say.  It just lies out the basics for many new possibilities.

Also both extended search and dbsearch lack the ability to save scripts, which is where ultimately I would like to see this going.

Furthermore foo_dbsearch is a third party component and it's development is independend from the official components anyway.  This is why the overlap between extended search and dbsearch.  Personally I prefer foo_dbsearch for most things.

Off course I assume any third party plugins could now make use of the new features if their authors want to implement them.

Extended Playlist Generator

Reply #4
OK.  I started making the changes... it will probably be another day before I can post it back to you...

I started with combining the "Search What" drop down from Extended Search, and adding a drop down for the query field (with history).  This much I have done.

I'll play around with the sort order field (Item C), and playlist name field (Item A) tomorrow.  I'm new to the SDK to it's slow going.

I don't quite understand how Item B would work.  And I'll have to think about MachineHeads idea longer.

Also, I don't have VC6, only .NET (VC7), so I can't produce a final version.  I can produce a version you can play around with though.

One more thing... what is the standard way of extending a component?  That is, should I create a new component (ex. foo_playlistgen_ex), or just keep the same name in this case?
Santa is very jolly because he knows where all the bad girls live.  - Dennis Miller

Extended Playlist Generator

Reply #5
Quote
OK.  I started making the changes... it will probably be another day before I can post it back to you...

Nice to see that someone is picking up on this already.   

Quote
I don't quite understand how Item B would work.


Do you mean you are not sure how to implement this, or that my explanations where unclear?   

Quote
One more thing... what is the standard way of extending a component? That is, should I create a new component (ex. foo_playlistgen_ex), or just keep the same name in this case?


I assume it would be a good idea to use a different name then the original playlistgen.  Simply to avoid different components with the same name floating around.  Basically as the author of the plugin you are free to choose any name you like.  As long as it has the foo_ prefix of course.

Also you might be able to figure out some more about scripts saving etc., by having a look at the masstagger sources.  Sorry am no programmer myself, so I can't help you to much there. 

Extended Playlist Generator

Reply #6
Quote
Do you mean you are not sure how to implement this, or that my explanations where unclear?


I am unclear about what Item B does.  i.e., Can you give me a longer description of why/how you would use it, steps, etc...
Santa is very jolly because he knows where all the bad girls live.  - Dennis Miller

Extended Playlist Generator

Reply #7
Yes sure 

The idea would be to be able to add several playlists to be generated to the playlistgen in one instance of it.  Similar to the feature of adding several operations to the masstagger at once and then run them simultaniously.

Ie, start with an empty playlist generator window. And then one by one you can add the playlists that you want to be generated.

First you add playlist one and it's rules, second you enter playlist two and it's rules, third playlist three, etc.

Then upon clicking run, all of the playlists can be generated at once.  A very good bonus on top of that would be if one could save these sets as preset files, so that one could call back on them anytime.

Extended Playlist Generator

Reply #8
or even more advanced features(smart playlists):

make the query-field a drop-down menu, containing search-criterias like(with rg-info, without rg-info, new files, top 50/100 played files, files with missing standard-tags(artist/album/title), and so on.

Maybe instead leave the query-files as it is and add a dropdown-menu below it named "additional search-criterias". That way you could enter own keywords AND filter by one of the above mentioned criterias at the same time.

This plugin has very high potential and could easily become one of the most used features of fb2k.

- Lyx
I am arrogant and I can afford it because I deliver.

Extended Playlist Generator

Reply #9
 Cool, very nice.

Seems tboehrer's version is already available here

Thought I'd keep replys in this thread to keep things in one place.

Looks very promising so far. Defining playlist name and overwriting existing playlists works exactly the way I would have liked to.

Also like your new options of where to search "search what".  Never thought about that one, but could be very useful for some people.

Great work, keep it on    Can't believe how quick that was either.

And many thanks for putting in the time and effort.

EDIT:
One thing you might want to think about is wether you find it useful to add a preferences page at some point.  This could be interesting if you ever add the sort by incoming files feature, etc

Extended Playlist Generator

Reply #10
Thanks.  I'll do more... I have to do my paying job for a bit.  I'm keep getting comments like "Get to work Tracy", and "Stop playing", and "We've talked about this before, but you must keep your pants on at work".

Crazy talk.
Santa is very jolly because he knows where all the bad girls live.  - Dennis Miller

Extended Playlist Generator

Reply #11
Next, I'm probably going to do:

1) Custom sort order option
2) MachineHead's idea of limiting the list by size/time/etc...

After that, I'd like to do a simpler version of what you (picmixer) asked for:

3) I'd like to have the notion of "presets".  This would allow you to save the query (along with the other options) to a named preset (ex. "Pre-1980 Rock", or "90's Pop").  Additionally, I want a menu item that causes a dialog with a single drop down containing the list of presets.  Pick a preset from the list and hit OK, and BAM!, you have your playlist.
Santa is very jolly because he knows where all the bad girls live.  - Dennis Miller

Extended Playlist Generator

Reply #12
Quote
Thanks.  I'll do more... I have to do my paying job for a bit.  I'm keep getting comments like "Get to work Tracy", and "Stop playing", and "We've talked about this before, but you must keep your pants on at work".

Crazy talk.

LOL

Well by no way this should get between you and your paying job.  Although don't let me think about this twice. I might change my mind   

Really like it so far (geez, how many times have I said this now  ) and can't wait to see further updates.

Extended Playlist Generator

Reply #13
here's some features I would like to see in an adv pl

- a preference page where you have a list of playlists names to generate with the filter string
- an item menu "generate playlists list"
  * it would either create the missing playlists and/or clear and redo the playlists already created

. option to generate playlists everytime you open foobar2000 (after of course a scan of your media directory set in the db section) to catch the new stuff
. option to regenerate playlists every X hours (or on a set date, etc. ... ) (this could be fulfilled though with the scheduler plugin avaible now)

that's what I need of an advanced playlist generator... blah

nIRV

Extended Playlist Generator

Reply #14
New version at: Playlist generator - Extended


Version 1.1:

1) Added support for custom sorting
2) Added size and time limit options
3) Changed menu name to include ellipses
4) Corrected tab order
5) Changed dialog title to include number of matches, megabytes, and duration
Santa is very jolly because he knows where all the bad girls live.  - Dennis Miller

Extended Playlist Generator

Reply #15
Just played around with this and it's absolutely great.

Everything seems to work flawless.  Drop down menu for previously entered items is a very nice feature. 

Predefining length or data size of playlist works very nice as well.

Still secretely hoping for that multiple playlist feature one day    But so far I am absolutely impressed.

Hope you didn't get to much of that crazy talk  and it didn't get in the way of work.

Extended Playlist Generator

Reply #16
Thought of a few more additions that could possibly be useful with this.

String(?) that identifies if track/album has replay gain applied or not.

Something to identify all tracks that have a rating, if in use. While maybe not common, it could help for keeping track of favorites, etc.

And thanks again tboehrer for the additions already implemented.

Extended Playlist Generator

Reply #17
Right now, you can check for missing tags by using title formatting.  For example, if you want to check for missing replaygain, you can use the query of:

Code: [Select]
%__replaygain_track_gain% IS ?


This will actually work for any tag.

The next version, whenever I get more things added, will allow the same thing without having to use title formatting.  But, the above method works fine.

As for the rating, I would assume you're using some tag, RATING for example, and I would guess you could use something like:

Code: [Select]
rating GREATER 3


to find tracks rated higher than 3.  Just a guess since I don't tend to do that, and I'm not sure how you are doing it.
Santa is very jolly because he knows where all the bad girls live.  - Dennis Miller

Extended Playlist Generator

Reply #18
Yes, without the title formatting would be key here.

As for the ratings, exactly what I had in mind.

And I believe TRACKRATING instead of RATING would probably be better. Of course, I'm only going by that because I use UpNorth's formatting and this keys on that particular tag to show rated songs.

Extended Playlist Generator

Reply #19
New minor update 1.1.1:

1.1.1:

1) Added ability to access tech info field without having to use title formatting. for example:
   instead of %__codec% IS mp3, you can use __codec IS MP3

2) Added MISSING operator.  ex. "__replaygain_track_gain MISSING"

3) Fixed bug with calling database_unlock without having first called database_lock


Other Notes:
The query "field MISSING" operates the same as "%field% IS ?", that is, a missing tag, or a tag with no data will match.
Santa is very jolly because he knows where all the bad girls live.  - Dennis Miller

Extended Playlist Generator

Reply #20
Well as usual started playing around with this straight away and the new features are very nice.

Especially the missing operator quite nifty. Makes it very easy to spot tracks withought replaygain or genre tags , etc.

Coming along really great I think.

Thanks for the time and effort you've put into this again 

Extended Playlist Generator

Reply #21
would it be possible to add a dropdown-menu containing some presets in easy-to-understand language even for a noob? Like for example one could choose "without replaygain-info" and "without albumgain-info" from this dropdown menu. The choosen preset would work as secondary-search-criteria (so one could add additional criterias to the query inputfield). I proposed a similiar idea earlier in this thread, but i guess a didn't use optimal wording to explain it.

This preset-collection could later also include search-criterias which aren't possible via the query-field.

- Lyx
I am arrogant and I can afford it because I deliver.

Extended Playlist Generator

Reply #22
Quote
would it be possible to add a dropdown-menu containing some presets...


Presets are on my list.  I just haven't got that far yet.  I could always default to some predefined presets.  Stay tuned...

Quote
This preset-collection could later also include search-criterias which aren't possible via the query-field.


What queries would you like that aren't supported?
Santa is very jolly because he knows where all the bad girls live.  - Dennis Miller

Extended Playlist Generator

Reply #23
Quote
What queries would you like that aren't supported?

Mostly usage-depending stuff - like searching for files which are new, most played - that kind of things(itunes smartlists come to mind).
I am arrogant and I can afford it because I deliver.

Extended Playlist Generator

Reply #24
Quote
Quote
What queries would you like that aren't supported?



Mostly usage-depending stuff - like searching for files which are new, most played - that kind of things(itunes smartlists come to mind).


Most played depends on something keeping a play count... oddly enough... I just wrote a play count plugin.  Using that plugin you could find tracks with a play count and sort by most played (or vice versa).  Or you could use "play_counter MISSING" to get "never been played" tracks.

I'm not sure what could be used to trigger "new tracks".  Again, some tag would be needed because I can't think of any other way off the top of my head.

I'm not dead-set against "hard coded" presets, but would try hard to not do them since they are so dependant on the user.  i.e., I would hate to do it unless there is a broad consensus it's needed.
Santa is very jolly because he knows where all the bad girls live.  - Dennis Miller

 
SimplePortal 1.0.0 RC1 © 2008-2019