QuickSearch eXtended
Moderators: Hacker, petermad, Stefan2, white
- Samuel
- Power Member
- Posts: 1930
- Joined: 2003-08-29, 15:44 UTC
- Location: Germany, Brandenburg an der Havel
- Contact:
No I can use %COMMANDER_INI% in the dll.Boofo wrote:If you do that won't it end up in the TC directory and not necessarily where the INI is?
2fenix_productions:
Just watched your really nice videos again.
Would be nice for new users to have something like it in the first post here. Would you (or anyone) be willing to create some?
- fenix_productions
- Power Member
- Posts: 1979
- Joined: 2005-08-07, 13:23 UTC
- Location: Poland
- Contact:
2Samuel
I can try or you can
BB FlashBack Express (tool I used) is now free:
http://www.bbsoftware.co.uk/BBFlashBack_FreePlayer.aspx
I can try or you can

BB FlashBack Express (tool I used) is now free:
http://www.bbsoftware.co.uk/BBFlashBack_FreePlayer.aspx
"When we created the poke, we thought it would be cool to have a feature without any specific purpose." Facebook...
#128099
#128099
- fenix_productions
- Power Member
- Posts: 1979
- Joined: 2005-08-07, 13:23 UTC
- Location: Poland
- Contact:
2Samuel
I see what can I do.
BTW. This sounds interesting to be checked:
http://www.codeproject.com/KB/string/dmetaphone1.aspx
I wonder would it be as good (or better) as Levenshtein is. Or maybe trying out to add some "grammar" support. What I mean is characters substitution: like in Polish rz and ż sound similar and people can make errors with words containing them or not even use national characters at all (and use z for both of them), but last part is solved with similarity search.
It might be interesting to check other "spelling" algorithms to find the best one:
http://www.dcs.shef.ac.uk/~sam/stringmetrics.html
I see what can I do.
BTW. This sounds interesting to be checked:
http://www.codeproject.com/KB/string/dmetaphone1.aspx
I wonder would it be as good (or better) as Levenshtein is. Or maybe trying out to add some "grammar" support. What I mean is characters substitution: like in Polish rz and ż sound similar and people can make errors with words containing them or not even use national characters at all (and use z for both of them), but last part is solved with similarity search.
It might be interesting to check other "spelling" algorithms to find the best one:
http://www.dcs.shef.ac.uk/~sam/stringmetrics.html
"When we created the poke, we thought it would be cool to have a feature without any specific purpose." Facebook...
#128099
#128099
- Samuel
- Power Member
- Posts: 1930
- Joined: 2003-08-29, 15:44 UTC
- Location: Germany, Brandenburg an der Havel
- Contact:
I currently dont plan any more Similarity searchs for several reasons:
The longString is meant to be the Filename and the shortString is the Filter.
Return value is the minimum Distance when matching shortString to a substring of longString.
I will include it.
- I think compared to simple and RegEx search its rarely used.
- It already gives good results and the degree could be customized.
- Its universal and could work with any language and unicode
- They should be used for every language
- They have to find a Match in a long filename efficient.
Code: Select all
int Distance(const wstring longString,const wstring shortString);
Return value is the minimum Distance when matching shortString to a substring of longString.
I will include it.
Yeah, Samuel, you can make it plugginable. 
Seriously. But with a match() function. Your plugin would ac as an engine providing google-like features, starting characters and glueing other plugins together.
Sb. could write wdx support for you (but don't count for me, I won't do any programming for ~1 year).
And sb. could write a plugin that reads column contents from TC's controls, though it would require some other exported function.

Seriously. But with a match() function. Your plugin would ac as an engine providing google-like features, starting characters and glueing other plugins together.
Sb. could write wdx support for you (but don't count for me, I won't do any programming for ~1 year).
And sb. could write a plugin that reads column contents from TC's controls, though it would require some other exported function.
- Samuel
- Power Member
- Posts: 1930
- Joined: 2003-08-29, 15:44 UTC
- Location: Germany, Brandenburg an der Havel
- Contact:
Updated first post: Version 1.01 is available.
The only workaround I can imagine is reading the information from TC-window, but what if more then one window exists...
- The tcmatch.ini isnt bundled anymore. Its created on first run in same folder like "wincmd.ini".
- renamed "google_search_activate_char" to "simple_search_activate_char" in ini.
The only workaround I can imagine is reading the information from TC-window, but what if more then one window exists...
Mh I dont know. I think support with new functions would be nice, but I fear using new dlls would slow the whole thing down.m^2 wrote:Yeah, Samuel, you can make it plugginable.
Seriously. But with a match() function. Your plugin would ac as an engine providing google-like features, starting characters and glueing other plugins together.
Sb. could write wdx support for you (but don't count for me, I won't do any programming for ~1 year).
And sb. could write a plugin that reads column contents from TC's controls, though it would require some other exported function.
I see no reason for slowdown. In Windows, dlls are as fast as exes.Samuel wrote:Mh I dont know. I think support with new functions would be nice, but I fear using new dlls would slow the whole thing down.
You can read path with a code like this, but you'd have to find which is the active panel too (finding quicksearch window coordinates should be enough).
- Samuel
- Power Member
- Posts: 1930
- Joined: 2003-08-29, 15:44 UTC
- Location: Germany, Brandenburg an der Havel
- Contact:
I need to call one or more functions in the dll for each file. Do you think thats also fast enough? If yes I will consider it, if someone is willing to write something. Please report this.
I dont know if I should use such a workaround, only for the path. I also have to port it to TC. Autohotkey simplifies so much.
Last thing is that this workaround has to executed for each file. Performance!
I dont know if I should use such a workaround, only for the path. I also have to port it to TC. Autohotkey simplifies so much.

It's exactly as fast as calling a similar function in your dll, which is exactly as fast as calling them by TC internally.
The only possible slowdown is a function that takes time to execute. Now I think that it might be the case with most content plugins, HDDs do ~100 IOPS, so you can filter no more than 100 files per second with a content plugin that actually touches the files. Unless they are on a RAID array, SSD / pendrive / ...
I don't know either whether it's worth your time, I'm not really insisting, just think it would be really nice to be able to quickly filter M~002.flac as a Michael Jackson's song.
The only possible slowdown is a function that takes time to execute. Now I think that it might be the case with most content plugins, HDDs do ~100 IOPS, so you can filter no more than 100 files per second with a content plugin that actually touches the files. Unless they are on a RAID array, SSD / pendrive / ...
I don't know either whether it's worth your time, I'm not really insisting, just think it would be really nice to be able to quickly filter M~002.flac as a Michael Jackson's song.
I guess it would be better if TC directly supported such actions instead of hacking possibly fragile workarounds together.
One possible way would be to extend the [face=courier]MatchFileW[/face] with an extra field like [face=courier]WCHAR* content[/face], that would either pass a string representation of of the current "Custom columns", or something like that is defined in [face=courier]wincmd.ini[/face].
One possible way would be to extend the [face=courier]MatchFileW[/face] with an extra field like [face=courier]WCHAR* content[/face], that would either pass a string representation of of the current "Custom columns", or something like
Code: Select all
FileContentString=[=anytag.Artist][=thetvdb.showname][=shelldetails.File description]
At 1st, many thanks for that nice utility!Samuel wrote:Just install it to TC folder and restart TC. It should work now.
Try it by use filter with "dll match" (tcmatch.dll should not be filtered)
It works fine here, but I must read the thread several times to catch how it works.
Maybe an additional readme would help a lot.
At least a question to the usage.:
1st: Typed "dll match" in the quicksearch -> found tcmatch.dll
2nd: Marked the dll string with the mouse
3rd:Tried to replace dll with ini -> it's not possible (would find the tcmatch.ini)
Is this a limitation from the TC or your utility?
mf
Bankster - Word of the Year 2009