25 April, 2006, 07:12:11 PM

[!--sizeo:4--][span style=\"font-size:14pt;line-height:100%\"][!--/sizeo--]This component is now deprecated .... please use foo_quicksearch instead.[/size]As I was tired to wait for such a plugin I decided to code it myself. It is derived from foo_uie_search [Credit goes to Peter, Foosion, Mister P & tbhoerer] and provides with a very basic search toolbar that will send results of the search to a playlist of your choice.The playlist name and the tags to search for are configurable, as well as other options (See config. page). Other options are configurable on the fly from the toolbar icon. Extended search (playlist gen syntax) and context menus (Search for same ...) are also supported.

Download <--Version 2.8l, for Foobar version 0.9.xDownload <--Version 1.5i, for Foobar version 0.8.x

[blockquote][/blockquote]

Change log :

Versions 2.8l and 1.5i (2007-05-18)[/li][li]Fixed metadb handle leak when using "Quicksearch for same ..." and toolbar not active[/li][li]Deactivated "Inline playlist search" as defaultVersion 2.8k (2007-01-03)[/li][li]Fixed crash whith "Now playing" button group and "Quicksearch for same ..."Version 2.8j (2006-10-15)[/li][li]Recompiled with the latest SDK to improve Windows Vista compatibilityVersion 2.8i (2006-09-30)[/li][li]Bugfix: "Reset search string" is now deactivated when Autosearch is usedVersions 2.8h & 1.5h (2006-08-27)[/li][li]Fixed bug: Improper playlist reactivation when recall history/favorites with "All Playlist" as criteria[/li][li]Console shows playlist name when playlist not found following reactivation of a search within a playlist during recall of History/FavoritesVersions 2.8g & 1.5g (2006-08-16)[/li][li]Search pattern is now selected when the toolbar receives focus[/li][li]Fixed unproper toolbar colors after undock when autosearch is selected (1.5g only)Versions 2.8f & 1.5f (2006-06-20)[/li][li]Reorganized code and fixed a bug (wrong search results happening in extremely rare circumstances with "Exact" mode)Versions 2.8e & 1.5e (2006-06-19)[/li][li]Improved reactiveness and speed of inline playlist search[/li][li]Added "Search for same/Directory" to context menuVersion 1.5 (2006-06-16)[/li][li]Ported from 2.8 for Foobar 0.8.3Version 2.8 (2006-06-15)[/li][li]Added configurable delay for autosearch[/li][li]Reorganized prefs & help pagesVersion 2.7 (beta) (2006-06-11)[/li][li]New: Autosearch feature ... (for people too lazy to hit the Enter Key)[/li][li]New: Added option to manage preferences (record of favorites search)[/li][li]Fixed weird bug (search not working with searchstrings of length 12 or 26)[/li][li]Changed "override keys" settings (Now: Alt+Enter=All Playlist, Shift+Enter=Playlist,Ctrl+Shift+enter=DB, Alt+Keydown=Menu)[/li][li]Reorganized menu[/li][li]Fixed auto selection of searchstring when not found. Added additional colors settings to manage unfound situations (See prefs colors)[/li][li]Various bugfix & improvementsQuick updates to V1.4 & 2.6 (2006-06-07)[/li][li]Menu shortcut is now Alt+Down instead of Alt[/li][li]Added tooltip for reminding which options were chosen[/li][li]Added "Same genre" in context menusVersion 1.4 (2006-06-04)[/li][li]Port of features from 2.0 to 2.6 in 1.4 (for foobar 0.8.3 users)Version 2.6 (2006-06-04)[/li][li]Added "Search as you type" option (for inline playlist search only)[/li][li]QuickFixed searchstring not reset properly after a successfull search (bug appeared in V2.5)[/li][li]QuickFixed tab key blocked from within control[/li][li]Prevented deletion of search results playlist when searching inline[/li][li]Fixed redrawing of frame style in prefs pageVersion 2.5 (2006-06-03)[/li][li]Added menu option, available through Alt Key[/li][li]Added options to override on the fly the "Search in ..." settings. Shift+Enter = Force search in playlist, Ctrl+Enter = Force search in all playlists, Ctrl+Shift+Enter=Force search in database.Version 2.4 (2006-06-03)[/li][li]Added an option to setfocus on the playlist window after a search (complete mouseless utilization is now possible)[/li][li]Implemented "Escape" key. Will set focus on the playlist window.[/li][li]New option to search "inline" when "playlist" is selected as the search domain (will highlight results in the current playlist, navigation is available through up and down arrow keys) .... mimics old playlistfind plugin Version 2.3 (2006-06-01)[/li][li]Hotfix : Search in "all playlist" was only searching in the last playlist[/li][li]Fixed text not scrolling when longer than the text box[/li][li]Prefs page now supports XP themes[/li][li]Fixed icon switch enabled/disabled spinbutton status[/li][li]Minor bugfix and improvementVersion 2.2 (2006-05-28)[/li][li]Fixed text entry/display/overlapping selection problemVersion 2.1 (2006-05-27)[/li][li]Fixed Tagz strings reset happening even when user cancels operation[/li][li]Better vertical sizing of search string area[/li][li]Changed Tagz string "Delete" button enabled/disabled state (only last remaining item can't be deleted)Version 2.0 (2006-05-27)[/li][li]Ported (from version 1.3) to Foobar 0.9 versionVersion 1.3 (2006-05-27)[/li][li]Added option to include %artist% in %album% search from context menu (fixes the "greatest hits" problem, requires a VA string to be entered)[/li][li]Added option to automaticall switch to extended search mode when a '%' char is entered in the searchstring (and back when none is present in the search string)[/li][li]Added option to override current settings with recall from history search[/li][li]Fixed toolbar disappearing under albumartVersion 1.2 (2006-05-21)[/li][li]Context menu (and shortcuts) is now available through [context]Now Playing and Playlist entries[/li][li]New : Ability to load custom bitmaps (H=16, W= 20, .bmp only)[/li][li]New : Playlist_gen queries are now available[/li][li]Fixed lowercased search strings when appended to playlist name[/li][li]New processing of history with memorization/recall of all variables[/li][li]Added customization of toolbar frame (None, Grey, Sunken)[/li][li]Restructured config. page & help, including playlist_gen syntax overviewVersion 1.1 (2006-05-16)[/li][li]Implemented hourglass[/li][li]Added repainting of icon during resizing[/li][li]Fixed possible vertical resizing (top right)[/li][li]Improved cursor management for resizing (top, bottom)Version 1.0 (2006-05-15)[/li][li]Implemented context menus to search for same Artist/Album/Title (search in database only and with "Exact" match ... will temporarily overide the current settings).[/li][li]Implemented toolbar resizing (horizontal only)Version 0.9.3 (2006-05-14)[/li][li]Fixed icons not displayed properly on Windows XP[/li][li]Centered vertically the test edit controlVersion 0.9 (2006-05-12)[/li][li]Added clickable search icon on the toolbar, customizable through the prefs; moved right click options (except undock) to icon standard click[/li][li]Added menu entry to access the preferences[/li][li]Minor bugfixes and improvements[/li][li]Increased max history size to 32Version 0.8 (2006-05-08)[/li][li]Added list of Tagz presets to choose from for searching[/li][li]Avoided duplicates in the history of search strings[/li][li]Reorganized prefs pageVersion 0.7 (2006-05-05)[/li][li]Added history of search strings with recall option (rightclick the toolbar)[/li][li]Fixed unwanted duplication of target playlist with different search stringsVersion 0.6 (2006-05-04)[/li][li]Added customized color scheme[/li][li]Fixed unwanted resizers appearing after undock[/li][li]Reorganized prefs pageVersion 0.5 (2006-05-01)[/li][li]New option to append the search string to the name of the target playlist[/li][li]Revisited the preferences dialog[/li][li]Changed the behavior when nothing is found (searchstring highlited, playlist selection unchanged)[/li][li]Added an option to reset the searchstring after a successfull searchVersion 0.4 (2006-05-01)[/li][li]Added ability to perform a search in all playlists (Search results playlist is excluded in this case)[/li][li]Undock function now fixed[/li][li]Added ability to search by prefix[/li][li]Code cleaned, reorg. and commentedVersion 0.3 (2006-04-27)[/li][li]Performance dramatically improved[/li][/list]To do list :

Fix metadb handle leak when "search for same ..." is used and the toolbar is not in the layout

Fix unproper reset of searchstring in autosearch mode (2.8 only)

Fix crash whith "Now playing" button group and "Quicksearch for same ..."

Change default initialization of inline playlist search

Fix unproper display of searchstring background after unsuccessfull search for same ....

Restore undock function (2.8 only, requires new ui_columns version)

Focus on search results playlist after successfull search

Investigate some playlistfind like behaviour (when playlist is the search domain)

Do something with Ctrl+Enter, Alt+Enter ....

Release version 1.4 for 0.8.3 users

Fix undock function / Implement menu for independant window

Customize colors

Fix the toolbar giving the illusion it could be resized (happens only when undocked)

Implement history of search strings

Create special command to search for same (Selection/Now playing)

Special behavior when nothing is found [Do not switch to target playlist]

Manage a list of presets for Tagz search strings

Add an option to add the search string to the name of the playlist

Implement "All playlist" search

Add an hourglass

Fix weird behavior with album art panel

Add search button / icon

Port to 0.9

Please also note :

This is a beta version

I am a complete noob with C++ and this is my first plugin, so maybe not totally bug free

Also, you should consider making it possible to use the currently active playlist as the search source, when a query is entered. Or maybe put a button (toggleable?) which could say "search in this playlist" or whatever. Maybe a menu entry, and the button could be added with columnsui.

Was foo_uie_search the one which searched in Firefox way?And you say that it is already possible to search into the active playlist, but it is checkbox or do we have each time we want to search in the active playlist to do a right click?

Don't want to fire up the good old .8 to try this out but I'm looking forward for the .9 port.Some idea would be to make a hotkey that makes the panel grab the focus, something that would allow to press F3 and then type your query in, no mouse involved.As for the performance, you might want to look at foo_dbsearch sources (ask foosion), it works pretty good with my big db.

Don't want to fire up the good old .8 to try this out but I'm looking forward for the .9 port.Some idea would be to make a hotkey that makes the panel grab the focus, something that would allow to press F3 and then type your query in, no mouse involved.As for the performance, you might want to look at foo_dbsearch sources (ask foosion), it works pretty good with my big db.

I like the hotkey idea.

I also thought of something else. 2 modes. Mode 1: Searching the playlist. And mode 2: Searching Library, adding/removing tracks to a playlist as you type. This would be the ultimate track finder and best Library browser imo.

Some idea would be to make a hotkey that makes the panel grab the focus, something that would allow to press F3 and then type your query in, no mouse involved.

I like the hotkey idea.I also thought of something else. 2 modes. Mode 1: Searching the playlist. And mode 2: Searching Library, adding/removing tracks to a playlist as you type. This would be the ultimate track finder and best Library browser imo.

You can already map a hot key to the Component/Quicksearch toolbar menu. It will make the toolbar grab the focus

When search type is set to EXACT my queries yield no results whatsoever.

"Exact" mean we will search for the exact concatenation of the Tagz string entered in the preferences. So if for instance you use "%artist% %album% %title%", it means you have to enter all of these tags values, separated with a blank (and without errors). Works fine here. Can you post an example? I will look after it.

Edit : It seems however that there is problem with the way long strings are handled when they are longer than the visible field size. Will investigate/fix for the next version.

"Exact" mean we will search for the exact concatenation of the Tagz string entered in the preferences. So if for instance you use "%artist% %album% %title%", it means you have to enter all of these tags values, separated with a blank (and without errors). Works fine here. Can you post an example? I will look after it.

Edit : It seems however that there is problem with the way long strings are handled when they are longer than the visible field size. Will investigate/fix for the next version.

My mistake, I did not know one had to enter all the tag values. I assumed it would find exact matches per tag.

When using MATCH ALL or MATCH ANY if I query for a string like abba, I will also get results like black sabbath. Is there a way to make my searches boundary specific? So if I query abba I only get tags containing the word abba. Using quotations perhaps [in future versions]?

Match All means that a track will only be selected if all keywords (separated by blanks) entered as the search string are found in the track tags.Match any means that the track will be selected if at least one of the keywords is found in the track tags.