View Issue Details

IDProjectCategoryView StatusLast Update
0015077MediaMonkey 5Main Panelpublic2019-12-09 22:55
Status closedResolutionreopened 
Product Version5.0 
Target Version5.0Fixed in Version5.0 
Summary0015077: Improve incremental search
DescriptionCurrently when 'incrementalSearch.mmip' is installed then user can use incremental searching on various components (tree, view) like in MM4, there are some issues though:

a) When user focuses a list-view then it always scrolls to the first file/track starting with the search phrase within title of the track. In MM4 when user sorts the file list by artist then it scrolls to the place where tracks from this artist are. Someone can call this "power scroll".

b) Incremental search within media tree nodes is slow and can freeze UI (espacially when there is a lot of media tree nodes -- like in case of showAllNodes.mmip script installed)

c) we should consider to make the incremental search feature to be the default (or at least there should be an option for this without a need to install the incrementalSearch.mmip script) ?
Additional Information
TagsNo tags attached.
Fixed in build2180


related to 0014381 closedLudek AddOn to mimic MM4 incremental search 
related to 0015182 closedLudek Contextual search should apply to the NP Window 
related to 0015185 resolvedLudek Scroll to match doesn't find all matches (and improvements) 
related to 0015559 closedLudek Default tracklist columns sort and visibility is problematic 
related to 0016067 feedbackLudek Clarify Search Terminology and UI 



2018-09-05 11:10

administrator   ~0051034

c) I prefer the current implementation to be the default one. But yes, it seems to make more sense to make it an option in MM UI, not just a script. Something like: 'Typing letters results in: [Filtering, Incremental Search] [v]'


2018-09-05 13:14

developer   ~0051036

Last edited: 2018-09-05 19:36

View 2 revisions

a&b are fixed in 2121


2018-09-05 14:46

administrator   ~0051038

re. c) You can modify Options > Library > Search, as follows:

Contextual search (typing in a view): _filter matches/scroll to matches_

Full text search (search bar):
[ ] Search whole words only
Search mode: .......
Search the following fields:


2018-09-05 20:46

developer   ~0051040

Implemented in build 2121 and incrementalSearch script removed.


2019-01-15 20:55

developer   ~0052091

Last edited: 2019-01-15 21:00

View 3 revisions

re C)
while this works, it can be still unclear for the novice users how to switch from "filter matches" to "scroll to matches".
Discussed with users at:

There was a suggestion that clicking into the view (focusing) should always perform "scroll to matches" and having a node selected in media tree should perform "filter matches"
I guess this won't work:
- when media tree is hidden and user navigates just using view (e.g. touch mode)
- when "showAllNodes" addon is installed and "scroll to matches" is performed also on media tree (so that user can scroll into a concrete artist when Music > Artist node is expanded)

So maybe we could just add a menu button next to the search bar with a link to Options > Search and/or radio buttons for "scroll to matches" and "filter matches" ?


2019-03-01 09:03

developer   ~0052845

Last edited: 2019-03-01 09:21

View 4 revisions

Further complaints:

Another solution is to show toast message like:

"MediaMonkey 4.x Incremental Search was replaced by Live Filtering in MediaMonkey 5.0. You can change this behavior in Options. [Change] (x)"

And clicking the close button would cause that this message won't show again.

Implemented in 2165 and left assigned to Rusty for feedback / wording revision.


2019-03-14 21:59

administrator   ~0052972

Last edited: 2019-03-14 22:39

View 2 revisions

Tested 2165 and:

D) Powerscroll toast problems (these three issues can be ignored if we implement F I).
i) Sometimes if powerscroll is enabled, the message about MM4 search appears!? (it shouldn't appear if the user has already re-enabled powerscroll)
ii) The toast message always obscures the newly found track when the track is found below the list of currently displayed tracks. The default location should be a bit higher.
iii) The text of the message should match the terminology used in the Options. i.e.
 "MediaMonkey 4.x Incremental Search was replaced by Live Filtering in MediaMonkey 5.0. You can change this behavior in Options. [Change] (x)"
 "Tip: search behavior can be changed to 'Scroll to match' in Options. [Change] (x)

E) Powerscroll search problem:
i) In many circumstances (e.g. if the user has initiated a filter) / new views (e.g. Home or in any browser view) no 'section' is selected. Thus when the user initiates a powerscroll search, nothing happens! e.g. if the user navigates to Genre:Rock where Artists/Albums/Tracks are displayed, then using powerscroll has no effect until the user firsts selects either an Artist/Album/Track).
MM should ensure that an entry within a view is always selected so that powerscroll search can proceed.

F) Contextual search: powerscroll doesn't yield useful/expected results in some nodes. e.g.
i) Any node for an attribute that isn't searchable (assuming the default sort order): Home, Rating
ii) In any node when the sort order is by an attribute other than which the the user is searching (unlike in MM4, it's not obvious to all users that sorting determines the search field)

For such cases, allowing the user to trivially switch between contextual search modes would be useful. I'm not keen on adding more buttons to the toolbar, so other possible implementations might be:
I) Using an approach similar to firefox
i.e. CTRL-F/Search Button --> Search bar appears. It would look like this:
___________________ [Current View] [Find all] [Scroll to]

If the user initiates a contextual search (i.e. by typing in the view), it would look like this (by default):
_SearchTerm________ [[Current View]] [[Find all]] [Scroll to]

If the user initiates a contextual search after having changed the default to [Scroll to], it would appear as follows:
_SearchTerm________ [^] [v] [[Current View]] [Find all] [[Scroll to]]. . . . . . . [x]

Note: In the first two cases, pressing ENTER causes the search to execute and the search bar to disappear (i.e. searches aren't on the fly in those two cases)

-This approach eliminates the need for the toast message, solves the need to easily switch search modes on the fly, and seems to be a cleaner approach that better merges these different functions. Moreover, it can even combine and integrate 'Advanced filtering' and 'Advanced search' functionality so that the Filter button can be eliminated. e.g.

CTRL-F/Search Button --> Search bar appears. It would look like this:
___________________ [Current View] [Find all] [Scroll to] . . . . . . . . . . [Advanced search/filter...]

II) Another approach that requires fewer changes, but also yields fewer benefits would be to just add the following to the search icon context menu:
Advanced search
Contextual search
o Filter matches
. Scroll to match

This doesn't yield the following benefits though:
- trivial on the fly changes in search modes
- simplification of the menu bar
- integration of filtering


2019-03-15 09:31

developer   ~0052974

Last edited: 2019-03-15 09:31

View 2 revisions

I like the idea of FI) supposing that the search bar will be shown at the bottom (like in Firefox) , i.e. in our case above the player?


2019-03-15 14:10

administrator   ~0052975

Based on the described issues, came to the following on IM with Ludek:

1. Global Search:
 a. The Search bar isn't too visible/nice in Material Design skins (after Search icon click). Ludek will tweak it based on a screenshot I made.
 b. The Options and Advances Search are currently accessible on right-click on the Search icon. This isn't too intuitive and in order to not introduce too many UI elements to the toolbar, I think it makes more sense to show them only in the Search results view, somewhat in the top-right corner.

2. The Filtering/Incremental Search bar in the Breadcrumbs should have some easy way to switch the search modes. One option (I'm not sure that it's the best though) is to add a drop-down arrow which would show a pop-up menu:
 [x] Filter Matches
 [ ] Scroll to Matches
 Search whole Library {This is a one time action that initiates a Global Search for the currently entered phrase}


2019-03-15 15:40

administrator   ~0052977

Last edited: 2019-03-15 15:41

View 2 revisions

F I) -- It was my intent to display the 'search bar' just below the toolbar.

Re. Jiri's suggestion:
1a) Without seeing this, it's hard to understand whether it meets the requirements for understanding search options and trivially switching between them. But given the fact that _executing_ a Global Search switches contexts (i.e. changes from whatever node the user was previously browsing to Home > Search , I don't understand how it would be possible to trivially switch to a different search mode since the context has been changed by virtue of executing a Global search.

1b), One of the goals of F I)here and at 0012371 was to clean up the toolbar (remove Search bar and Filtering (funnel) icons), since I intended for the Search bar to appear transiently below the toolbar at the top of the list. Before going ahead with Jiri's suggestion, though, please think about how it integrates with filtering functionality (Funnel icon) as per my suggestions 0012371:0052976.

Re. 2) Note that I chose wording of 'Find all' (vs filter) in order to eliminate confusion between contextual search filtering and Filter (funnel) functionality.


2019-03-18 21:44

developer   ~0053013

Last edited: 2019-03-18 22:09

View 5 revisions

I have implemented basics for both approaches today (FI & FII), namely showing the search bar when 'scroll to matches' is configured -- like [ _search_term_____ [^] [v][x]]

But with FI) I am confused about the [Find all] -- I thought that it was meant to be a button for global library search? Or how can one switch from "Current view" search to "global" search?

With the Jiri's suggestion (that is similar to FII) there is another issue. Namely where to place the search bar. Currently we are placing it on the right to indicate global search (and we are placing it next to the navbar in case of local "current view" search).
But with the incremental search it looks strange to be place in either location, because user can perform incremental search within "media tree", "main view", "now playing" , so I guess that in case the incremental search the search bar should be rather placed in the middle of the toolbar? Or (with FI) we could place the search bar above the currently searched component (be it "media tree", "main view" or "now playing"), I am just totally confused about the [Current view][Find all][Scroll] buttons and don't get their meaning -- so I guess users won't get the meaning too ;-)

Therefore the Jiri's suggestion seems clearer for me atm.

EDIT: During implementation I found another problem though: user can filter a view ('filter matches' set), but then click into 'now playing' and perform incremental search within 'Now playing', in this situation we would actually need two search bars (one for current view filtering and another for now playing scrolling).


2019-03-19 09:54

administrator   ~0053014

I think that Incremental search initiated either in the Tree or NP shouldn't result in any toolbar activity, unlike when it's started in the 'Main view'


2019-03-19 12:21

developer   ~0053015

ok, sounds good


2019-03-20 13:37

developer   ~0053035

Implemented in 2167


2019-03-21 17:43

developer   ~0053048

Last edited: 2019-03-22 08:37

View 2 revisions

Re-opened, just noticed that the switcher (dropdown arrow) from 'Filter matches' to 'Scroll to matches' does not appear when a collection root node is selected (like Music)
=> Fixed in 2167


2019-03-22 09:48

administrator   ~0053054

Last edited: 2019-03-22 09:53

View 2 revisions

Works pretty well imho.

I just don't like the delay between typing and scrolling in the 'Scroll to Match' mode. Can't this be immediate?

And, depending on focus, sometimes Backspace in the 'Scroll to Match' mode results in deletion of the last character in the search string and sometimes it results in return to the previous view. I think that this should be unified, I'd prefer to always delete the last character in the Search string, until is isn't empty.


2019-03-22 10:47

developer   ~0053056

The delay was initially 500ms, but then (based on user requests) was enhanced to 1000ms for slower typists (item 10 here 0015185)
We could probably decrease it again to 500ms -- as the slower typists has a workaround now: using search bar.
Just the workaround cannot be applied when searching 'Now Playing' (or other components) when the search bar is hidden.

Re: backspace key: I see, when focus is out of search bar then it returns to previous view instead of deleting the last character in the search bar.
Always deleting the last character in the search string makes sense. TBD


2019-03-22 10:52

administrator   ~0053057

I understand the delay needed to reset the search string (i.e. to start a new search then). What's wrong imho, is that search isn't started immediately: e.g. when I type 'R', I get scrolled to 'Rolling Stones' immediately in MM4, while I have to wait ~1s in MM5.


2019-03-25 09:53

developer   ~0053089

Some feedback & others improvements suggested here:


2019-03-26 16:15

developer   ~0053106

Fixed in 2168


2019-03-27 08:38

developer   ~0053110

Last edited: 2019-03-27 09:37

View 2 revisions

Re-opened: as reported here:
It currently does not cooperate with 'Column Browser' as it should.

=> Fixed in 2168


2019-04-16 00:10

developer   ~0053228

Verified 2170

Column browser now works OK also


2019-05-15 21:59

administrator   ~0053534

I'd never reviewed the design of this issue because it was 'Closed'. Functionally it's fine, but the current implementation doesn't seem to resolve the issues originally raised in F) i.e. that powerscroll doesn't yield useful/expected results in some nodes and that it would be important to allow the user to trivially switch between contextual search modes.

I suppose it's too late to make any changes at this stage, but I still think that the unified search bar approach described at 0015077:0052972 is cleaner and more functional and could be worth considering in the future (pending resolution of issues that Ludek mentioned while experimenting with the implementation).


2019-05-16 09:44

developer   ~0053537

Last edited: 2019-05-16 09:45

View 2 revisions

Currently user _can_ trivially switch between contextual search modes -- just by using the dropdown arrow, see:
And I also (personally) no longer see any usability issues.

I believe that the current implementation is cleaner than previously suggested extra row:
[Current View] [Find all] [Scroll to] . . . . . . . . . . [Advanced search/filter...]
as the row unnecessary adds some further elements (buttons) on the toolbar and it is not obvious what the buttons do, the button captions are not clear enough.
In addition this extra row would result in unnecessary resizing of the middle view part -- which does not look good (already tried during the implementation)
Also, there isn't any negative feedback re the current approach so far, so I would consider this as 'no change required'.


2019-05-17 18:05

administrator   ~0053554

Agreed--I was looking for the switch on the Global Search context menu instead of the contextual search. Re-resolving.


2019-06-03 09:29

developer   ~0053707

Last edited: 2019-06-05 14:55

View 5 revisions

Re-opened: per feedback here:

G) User can be confused about which mode (contextual vs global) is used.
Suggestions to improve:
Show the dropdown arrow next to the search bar in _all_ modes (i.e. whenever the search bar is displayed -- including whole library search mode).
- It should include the switch ( ) between the search modes
- it should also include links to 'Options' and 'Advanced search' (that are currently missing there -- and are only available when right-clicking the magnifying glass - which is hard to discover by users).
- some tooltips or background text ( ) might be added -- in order to be clear which mode is being applied


2019-06-04 11:12

developer   ~0053718

H) Since the scroll index is not obvious to the user, we could allow a free form scroll, where the user can explicitly override the default tag to be scrolled, by using the syntax of "fieldname:A"


2019-06-05 14:40

developer   ~0053735

Last edited: 2019-06-05 14:41

View 2 revisions

Items G/H are implemented in 2180.

Some other improvements were suggested here:


2019-11-12 15:47

developer   ~0055327

Closing, this has been moved to 0016067