Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: foo_uie_quicksearch (Read 658308 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

foo_uie_quicksearch

[!--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.x
Download <--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 default
    Version 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 compatibility
    Version 2.8i (2006-09-30)[/li][li]Bugfix: "Reset search string" is now deactivated when Autosearch is used
    Versions 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/Favorites
    Versions 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 menu
    Version 1.5 (2006-06-16)[/li][li]Ported from 2.8 for Foobar 0.8.3
    Version 2.8 (2006-06-15)[/li][li]Added configurable delay for autosearch[/li][li]Reorganized prefs & help pages
    Version 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 & improvements
    Quick 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 menus
    Version 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 page
    Version 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 improvement
    Version 2.2 (2006-05-28)[/li][li]Fixed text entry/display/overlapping selection problem
    Version 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 version
    Version 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 albumart
    Version 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 overview
    Version 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 control
    Version 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 32
    Version 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 page
    Version 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 strings
    Version 0.6 (2006-05-04) [/li][li]Added customized color scheme[/li][li]Fixed unwanted resizers appearing after undock[/li][li]Reorganized prefs page
    Version 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 search
    Version 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 commented
    Version 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
    • It has been tested on W2K only

    foo_uie_quicksearch

    Reply #1
    Nice work. Hope it will be ported to 0.9 soon.

    foo_uie_quicksearch

    Reply #2
    • Improve performance [searching is damned slow on large databases]

    What search algorithm are you using?

    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.

    foo_uie_quicksearch

    Reply #3
    Quote
    Also, you should consider making it possible to use the currently active playlist as the search source,

    Already done (Right click on the toolbar).

    foo_uie_quicksearch

    Reply #4
    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?


    foo_uie_quicksearch

    Reply #6
    This looks pretty good. Can't wait for the 0.9 port

    foo_uie_quicksearch

    Reply #7
    ^Me too.

    foo_uie_quicksearch

    Reply #8
    I'm really glad someone took this on, can't wait for it to be ported.

    foo_uie_quicksearch

    Reply #9
    nice plugin

    foo_uie_quicksearch

    Reply #10
    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.

    foo_uie_quicksearch

    Reply #11
    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.

    foo_uie_quicksearch

    Reply #12
    Version 0.3 is out. The performance issue should be fixed (Please confirm).


    foo_uie_quicksearch

    Reply #14
    0.9 support please.

    foo_uie_quicksearch

    Reply #15
    I'm no expert here, but I noticed foosion post this in the database search plugin thread:
    However, the upcoming release (v1.4) will finally allow all the relevant backend code (data sources, filter modes, background search, even format presets) to be re-used by other components.

    Am I right in thinking that this means that you could use the methods employed by his plugin in this one? Maybe saving a lot of work??

    And yes I too am really waiting for this to come to v0.9 

    foo_uie_quicksearch

    Reply #16

    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
    • Mode 1. and Mode 2. are already available as well
    • I will probably not implement the "add remove as you type" feature
    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?

    I may implement Ctrl+Enter/Alt+Enter later in order to switch between DB and Playlist.

    However, the upcoming release (v1.4) will finally allow all the relevant backend code (data sources, filter modes, background search, even format presets) to be re-used by other components.

    Am I right in thinking that this means that you could use the methods employed by his plugin in this one? Maybe saving a lot of work??

    Thanks for the suggestion, but the search code is already functional and I want to keep this plugin as simple as possible, and configuration options minimal.


    foo_uie_quicksearch

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

    foo_uie_quicksearch

    Reply #19
    Something like this?

    Yes

    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.

    foo_uie_quicksearch

    Reply #20
    "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]?

    Also what's the difference between MATCH ALL and MATCH ANY?

    foo_uie_quicksearch

    Reply #21
    0.9, 0.9!

    foo_uie_quicksearch

    Reply #22
    Also what's the difference between MATCH ALL and MATCH ANY?

    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.

    foo_uie_quicksearch

    Reply #23
    Version 0.4 is out [See changelog in the first post].