foosion
Feb 3 2004, 13:53
Utilities (foo_utils)Provides various general commands.
- multi-level, per playlist undo and redo
- copy and paste for playlist items
- command search
- extended playlist editing
- play arbitrary track from context menu
- send tracks to a playlist chosen from the context menu (no extra dialog involved)
The latest version for foobar2000 0.9x is available from my
components page. Versions for foobar2000 0.8.3 and older are no longer available.
foosion
Jun 14 2004, 13:57
foo_utils 0.3.5- fixed metadb_handle leak when no saved playlists exist
foo_utils 0.3.4- "Highlight in playlist" now works for multiple items
foo_utils 0.3.3- the following contex menu commands are no longer shown on the context menu of the playlist:
"Edit/Insert into playlist",
"Edit/Add to playlist",
"Edit/Send to playlist",
"Edit/Remove from playlist"
foosion
Jun 14 2004, 17:04
foo_utils 0.3.6- fixed crash when closing fb2k after copying files to the clipboard
foosion
Jun 15 2004, 11:06
foo_utils 0.3.7- fixed metadb_handle leak when pasting files that were copied to the clipboard by the same fb2k instance
bluenet
Jun 21 2004, 03:32
Thanks foosion make this good plugins,this is usefull is music manager.
I try to recomplie it but got a lots of errors.
--------------------Configuration: foo_utils - Win32 Release--------------------
Linking...
searchcmd.obj : error LNK2001: unresolved external symbol "private: static class service_factory_base * service_factory_base::list" (?list@service_factory_base@@0PAV1@A)
commands.obj : error LNK2001: unresolved external symbol "private: static class service_factory_base * service_factory_base::list" (?list@service_factory_base@@0PAV1@A)
../Release/foo_utils.dll : fatal error LNK1120: 46 unresolved externals
Error executing link.exe.
foo_utils.dll - 81 error(s), 0 warning(s)
What's wrong? @_@
foosion
Jun 21 2004, 15:08
QUOTE (bluenet @ Jun 21 2004, 03:32 AM)
Thanks foosion make this good plugins,this is usefull is music manager.
I try to recomplie it but got a lots of errors.
--------------------Configuration: foo_utils - Win32 Release--------------------
Linking...
searchcmd.obj : error LNK2001: unresolved external symbol "private: static class service_factory_base * service_factory_base::list" (?list@service_factory_base@@0PAV1@A)
...
../Release/foo_utils.dll : fatal error LNK1120: 46 unresolved externals
Error executing link.exe.
foo_utils.dll - 81 error(s), 0 warning(s)
What's wrong? @_@
You have to set up dependencies: In Visual Studio 6, go to 'Project/Dependencies', select foo_utils from the dropdown box and check foobar2000_component_client, foobar2000_sdk, foobar2000_sdk_helpers and foosion_helpers. I hope the version of the foosion_helpers library on my web page will suffice; if not, I will update it when I find the time.
And please remove the huge error log from your post; it is a bit annoying to have to skip over all that.
foosion
Oct 28 2004, 01:49
foo_utils 0.4.0- added commands to directly send tracks to an existing playlist
Please note that you have to enable those commands first in the preferences ("Components/Playlist tools"). The difference between "enabled (show new)" and "enable (hide new)" is that with the former entries for new playlists will automatically be added to the context menu. The generated command names are rather inconvenient, but that's about the best thing that can be done with the current version of foobar2000. At least the commands will be properly sorted when displayed (unless you rearrange them manually). Note that you can pick one of several formats used to display those commands when viewed in the actual context menu.
Link:
foo_utils-0.4.0.zip
it seems like if you move the context menu items around for the adding and sending to playlists, they disappear completely. is there a way to get them back without removing the plugin restaring foobar, closing foobar, reinstalling plugin, and starting foobar one more time?
foosion
Nov 8 2004, 10:35
QUOTE (spase @ Nov 8 2004, 08:32 AM)
it seems like if you move the context menu items around for the adding and sending to playlists, they disappear completely. is there a way to get them back without removing the plugin restaring foobar, closing foobar, reinstalling plugin, and starting foobar one more time?
Could you please tell me, what exactly causes these entries to vanish, as I have not been able to reproduce it so far. Anyway, moving these commands might not be a good idea, unless the number of playlists stays the same. The current foobar2000 API does not allow to insert a dynamically generated submenu in an elegant way.
QUOTE (foosion @ Nov 8 2004, 04:35 AM)
QUOTE (spase @ Nov 8 2004, 08:32 AM)
it seems like if you move the context menu items around for the adding and sending to playlists, they disappear completely. is there a way to get them back without removing the plugin restaring foobar, closing foobar, reinstalling plugin, and starting foobar one more time?
Could you please tell me, what exactly causes these entries to vanish, as I have not been able to reproduce it so far. Anyway, moving these commands might not be a good idea, unless the number of playlists stays the same. The current foobar2000 API does not allow to insert a dynamically generated submenu in an elegant way.
i am not 100% sure, but now i dont get the commands at all, unless i manually add them to the context menu, which is kinda useless to go through all that trouble each time a new playlist is added
foosion
Nov 10 2004, 20:45
QUOTE (spase @ Nov 10 2004, 08:53 PM)
i am not 100% sure, but now i dont get the commands at all, unless i manually add them to the context menu, which is kinda useless to go through all that trouble each time a new playlist is added
Do you use "enabled (hide new)" or "enabled (show new)"?
kjoonlee
Nov 6 2005, 08:32
In foo_utils for foobar2000 0.9, could you add a keyboard shortcut for selecting all text in the the focused input pane, please?
Ctrl-A would be nice.
Thank you very much.
PS. I tested with foo_utils 0.5 beta 4.
foosion
Nov 21 2005, 15:27
foo_utils 0.5foo_utils 0.5.2Some cosmetic fixes to "Edit/Add to playlist" and its friends "Edit/Send to playlist" and "Edit/Insert into playlist". Like "Edit/Highligh in playlist", they no longer show on the active playlist.
Additionally, you can now make playlists read-only ("Playlist/Read-only" in the main menu). This only works for playlists that are not already used by another "playlist lock". The currently existing playlist locks are autoplaylist (from foo_autoplaylist) and the playback queue viewer (from foo_pqview), and now the read-only lock (from foo_utils).
The preferences page has been split into "Playlist tools" and "Text tools". The plan is to eventually move the text tools into a separate component that supports multiple presets.
foo_utils 0.5x is available as part my components package for 0.9 and can be downloaded from my
beta components page.
gfngfgf
Nov 22 2005, 03:13
Big thanks for the read-only option. That'll come in very handy.
kjoonlee
Nov 22 2005, 10:36
QUOTE (kjoonlee @ Nov 6 2005, 04:32 PM)
In foo_utils for foobar2000 0.9, could you add a keyboard shortcut for selecting all text in the the focused input pane, please?
Ctrl-A would be nice.
Thank you very much.
PS. I tested with foo_utils 0.5 beta 4.
I'm not sure since when, but I've noticed cycling through the panes with Tab or Shift-Tab does what I need, more or less.
Another shortcuts are nice for the playlist such Ctrl+C, Ctrl+X, Ctrl+V. I find it difficult to move the mouse to the submenu everytime I want to copy and paste when we can define shortcuts for them.
how exactly do i get use the multiple level undo?
i have the option selected in the preferences but pressing control-z still has the same effect.
foosion
Jan 3 2006, 18:52
Components cannot replace or modify existing menu commands, they can only add new ones. You have to change your menu and keyboard shortcut configuration to take advantage of the undo and redo commands provided by foo_utils.
There is a chinese version of foo_utils which contains some new disk-functions listed below: delete, recycle (just like foo_massdelete) and send to ....(not playlist but somewhere in the disk).
Is this version ever released or someone else adds these functions by himself?
Sorry for my poor English.
foosion
Feb 3 2006, 10:09
I neither made a chinese version nor did I add these functions in the official version.
Rapido
Feb 11 2006, 19:51
Firstly, many thanks for your plug-ins whitch are very useful for my everyday use of foobar.
I think I found a bug while using foo_utils and various other add-ons (such as database search or Album list): if while listening to a track, I do a search on any criteria, trying to play the new found track by right-clicking on it, then selecting play doesn't play the selected track but start over the one currently playing. This error did not seem to exist with the previous version (0.5.2)
Hope that will help

Thanks again.
specs: foobar 0.9 Beta 13 with foo_utils 0.5.3
thanks for keeping up on these plugins, they have helped me along the way.
One thing i would like to request for the pqview.dll is if you can implement an easier way to remove the songs from the enqueued playlist.
Thanks
Bachi-Bouzouk
May 11 2006, 19:06
I would love to see presets for the text tools part.
As I currently use this plugin for two different purposes:
- list all my files in a specific playlist with various information (Like this )
- list all albums in a specific playlist with other information (Like that)
And if I need it in the mode not already entered, I must past a code stored elsewhere which is not very useful.
Not very annoying as I do not use it intensively but it would be nice. (and I saw that you intended to do something like that)
by the way the first post is not updated
I want to use the lock-feature of foo_utils, but I didn't found it. I'm using foo_utils 0.5.8 with foobar2000 0.9.1.
Any hints?
Screenshot:
http://img208.imageshack.us/my.php?image=foobarutils2vo.jpg
Bachi-Bouzouk
May 25 2006, 16:00
personally, I go to EDIT-> Read only but from the usual menu (File, Edit etc...)
Thx, found and works....
esa372
May 25 2006, 16:07
Thank you for the utils package, foosion... I use them all the time.
Anyway, I think I found a typo in the foo_dbsearch component (v1.3.1-b11):
foosion
May 25 2006, 16:42
That is on purpose, it hints at what this search mode does.
esa372
May 25 2006, 17:40
QUOTE (foosion @ May 25 2006, 08:42)

That is on purpose, it hints at what this search mode does.

Too cool!
Thanks, foosion.
q-stankovic
May 28 2006, 14:22
As a new member on this forum let me first thank you for all your great plugins!
I would like to make a suggestion for foo_utils: You can add/send/.... tracks to active playlist or to specified playlist. But I miss the opportunity to manipulate the playing playlist. What do you think?
foosion
May 28 2006, 18:12
q-stankovic: I'll consider it.
hello! i have a question to the "text tools":
header:
CODE
<html>$crlf()
<head>$crlf()
<title>foobar2000 Extended PlayList</title>$crlf()
<style type="text/css">$crlf()
body { background: #4F687D; font-family : Verdana, Arial, Helvetica; color: #FFFFFF }$crlf()
a { color: #99FFFF; TEXT-DECORATION: none }$crlf()
a:hover { color: #99FFFF; TEXT-DECORATION: underline }$crlf()
td { font-size: xx-small; height: 12 }$crlf()
hr { color: black }$crlf()
.theader { background : #6699FF }$crlf()
.tmaintable { background : #4F687D }$crlf()
.teven { background : #4F687D; color : white }$crlf()
.tnoteven { background : #56748B; color : white }$crlf()
.digits { color: aqua }$crlf()
.al { COLOR: white }$crlf()
.al:hover { COLOR: white;TEXT-DECORATION: underline }$crlf()
</style>$crlf()
</head>$crlf()
<body topmargin=0 leftmargin=0>$crlf()
<hr noshade size="1">$crlf()
<table border="0" cellspacing="0" cellpadding="2" align="center">$crlf()
<tr><td><font size=2>$crlf()
<h2>foobar2000 Extended PlayList</h2>
Total tracks number: <b class=digits>%list_total%</b><br>$crlf()
Total tracks length: <b class=digits>???</b><br>$crlf()
Total tracks size: <b class=digits>???</b>$crlf()
</font></td></tr></table>$crlf()
<hr noshade size="1">$crlf()
<table class=tmaintable border="0" cellpadding="3" align="center" cellspacing="1">$crlf()
<tr class=theader>$crlf()
<td><b>#</b></td>$crlf()
<td><b>Artist </b></td>$crlf()
<td><b>Title </b></td>$crlf()
<td><b>Album </b></td>$crlf()
<td><b>Track </b></td>$crlf()
<td><b>Year </b></td>$crlf()
<td><b>Genre </b></td>$crlf()
<td><b>Time </b></td>$crlf()
<td><b>Size </b></td>$crlf()
<td><b>Bitrate </b></td>$crlf()
<td><b>Mode </b></td>$crlf()
<td><b>Sample </b></td>$crlf()
</tr>$crlf()
body:
CODE
<tr class=$if($strcmp($mod(%list_index%,2),0),teven,tnoteven)>$crlf()
<td>$num(%list_index%,$len(%list_total%))</td>$crlf()
<td>%artist%</td>$crlf()
<td>%title%</td>$crlf()
<td>%album%</td>$crlf()
<td>%tracknumber%</td>$crlf()
<td>%date%</td>$crlf()
<td>%genre%</td>$crlf()
<td>%length%</td>$crlf()
<td>$div(%filesize%,1048576).$left($num($muldiv($mod(%filesize%,1048576),100,1048576),2),2)'MB'</td>$crlf()
<td>%bitrate%</td>$crlf()
<td>%channels%</td>$crlf()
<td>%samplerate%</td>$crlf()
</tr>$crlf()
footer:
CODE
</tr>$crlf()
</table><hr noshade size="1"><font size="1"> List generated with <a href="http://foobar2000.org">foobar2000 v0.9</a></font>$crlf()
<br><br></body></html>$crlf()
i havendt found all variables. is there also somthing like %file_size%, &total_file_size%, %total_length% ?
Bachi-Bouzouk
Jun 3 2006, 12:25
http://wiki.hydrogenaudio.org/index.php?ti...#.25filesize.25But look at the beginning of the page for a list of all functions
and total lenght / size ? how do autoplaylist and other do this?
@foosion:
if u like it u can add it as output schema or another second preset :-)
SoulMan
Jun 8 2006, 10:18
Hello,
This foobar new version is verry verry nice and usefull.
I was thinking it will be interresting to add to the "text tools" :
- accessing easily to multiple configurations (saving them to files or with some selector)
- the ability to do POST method on web sites (as it we can easily maintain our own website music database, with personal discography and/or statistics).
And that POST idea lead me to the idea to do the oposite, i.e. to have some plugin using GET method from a website, that can give the ability to get informations directly into tags from web sites. I use this functionality with my Films-DB (Ant Movie Catalog -
http://www.antp.be/software/moviecatalog ) This software includes the ability to create scripts to get information from websites. These scripts permits to look for tags into webpage and to extract information between the given tags.
Do you think that is an interresting evolution?
foosion
Jun 8 2006, 13:06
QUOTE (SoulMan @ Jun 8 2006, 11:18)

I was thinking it will be interresting to add to the "text tools" :
- accessing easily to multiple configurations (saving them to files or with some selector)
- the ability to do POST method on web sites (as it we can easily maintain our own website music database, with personal discography and/or statistics).
Adding multiple presets is planned for the future, along with moving this functionality to its own components (probably foo_text_tools).
QUOTE (SoulMan @ Jun 8 2006, 11:18)

And that POST idea lead me to the idea to do the oposite, i.e. to have some plugin using GET method from a website, that can give the ability to get informations directly into tags from web sites. I use this functionality with my Films-DB (Ant Movie Catalog -
http://www.antp.be/software/moviecatalog ) This software includes the ability to create scripts to get information from websites. These scripts permits to look for tags into webpage and to extract information between the given tags.
I think this is outside the scope of this component.
SoulMan
Jun 8 2006, 13:21
Yes, I think you are right, the get function is out of the scop of this component.
But, I think the POST method is in the scope and can be an interresting thing.
Can be interresting for foosic too, this can be a most standard way to upload data to foosic site, and using a most standard way, much players can easily interact with it.
foosion
Jun 8 2006, 13:28
foosic does not use HTTP POST. The submission protocol uses UPD packets, and the fingerprint lookup uses a custom protocol over TCP.
SoulMan
Jun 8 2006, 13:50
Yes, I know that, but, what I was trying to explain is if foosic was using HTTP POST (that is a most standard than proprietary TCP and UDP protocols), that can facilitate others players to interact with foosic.
But, the my main idea was not to change foosic submission protocol, it was just to add to "text utils" the ability to upload informations to personal web sites.
Bachi-Bouzouk
Jun 13 2006, 19:15
Another request about text tools: add something by default like that:
$replace(%album%,é,é,è,è,ï,ï,î,î,ç,ç) with all characters like that to get proper names. (for the moment we get something like $@$ or similar things for those characters)
SoulMan
Jun 15 2006, 10:13
Hmmm, yon can do this script yourself, and propose it to the community, no?
There is a place where we can share masstagger scripts? I think that can be interresting...
ephemeros
Jun 26 2006, 00:50
Great component, foosion. Thx
I was able to assign a keyboard shortcut to Edit Other - Add to Playlist : PLAY. This particular playlist functions as an editable playback queue. The shortcut works perfectly as long as the playlist PLAY exists, doesn't if not.
Request: auto create non-existing playlists if necessary. Would preserve similar shortcuts from becoming obsolete, i.e. for less permanent playlists like 'Copy to Pod', 'Music for my Cat', ...
ladiko
Jul 11 2006, 08:44
QUOTE (SoulMan @ Jun 15 2006, 11:13)

Hmmm, yon can do this script yourself, and propose it to the community, no?
There is a place where we can share masstagger scripts? I think that can be interresting...
i think he means that é should be é in html-files but not in the file tags cause tags arent html ;-)
@SoulMan:
put this line in the <head> </head> part of the html-source -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" >
than most browsers accept special characters like é without conversation to é
Hakubo
Aug 13 2006, 00:08
First of all, thanks for this component, foosion. It's very nice.
I have but one request concerning text tools: could you make the variables' values persist between 'Body' cycles? As far as I understand, this is the only way to output Artist's name only once for his whole discography.
If you do, then it'll be possible to output playlist info in the way similar to
this mp3tag's export. Or even port its configuration.
It seems I don't really need persisting values - or any variables at all (see
here). But a $for would help.
Rambaldi
Nov 5 2006, 20:34

link ist down.
Can someone give a working link?
Or is there a better plugin to export playlists into Excel Sheets?
foosion
Nov 5 2006, 20:54
I corrected the link in the first post. The version for 0.8.3 is no longer available.
hal9001
Nov 6 2006, 04:10
QUOTE (foosion @ Nov 5 2006, 22:54)

I corrected the link in the first post. The version for 0.8.3 is no longer available.
Quick request- could you add version
date to your components on your page? That'd be great.
great work, btw. Even though I'm still aching about
This issue (foo_run).
Supernaut
Nov 6 2006, 16:19
Could you provide an option of not filtering duplicates when sending files between playlists? Thanks.
foosion
Nov 7 2006, 23:49
QUOTE (Supernaut @ Nov 6 2006, 16:19)

Could you provide an option of not filtering duplicates when sending files between playlists? Thanks.
I actually consider that as a bug, thanks for pointing it out. An updated version is available from my components page as separate download.
hal9001: foo_run is Florian's component, not mine. I'm afraid I can't fix that for you.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please
click here.