 |
AutoHotkey Community Let's help each other out
|
| View previous topic :: View next topic |
| Author |
Message |
Rajat
Joined: 28 Mar 2004 Posts: 1718
|
Posted: Sun Jan 27, 2008 5:42 pm Post subject: |
|
|
great! do let me know how u liked it. _________________
 |
|
| Back to top |
|
 |
rogal
Joined: 23 Dec 2007 Posts: 51 Location: Austin
|
Posted: Sun Jan 27, 2008 5:51 pm Post subject: |
|
|
So far, so good. It seems the search bug is fixed, and the scannig is much faster. (I don't know how did you do that, but in 320mph the initial scanning was kind of painful, while nDroid do that really quickly)
By the way, the "Visitor Comments: Quickly post a line or two about your experience with nDroid here. " link on the CodeNite website seems broken. (At the bottom of the front page)
I will write on the CodeNite forum from now and on  |
|
| Back to top |
|
 |
Rajat
Joined: 28 Mar 2004 Posts: 1718
|
Posted: Sun Jan 27, 2008 6:28 pm Post subject: |
|
|
| rogal wrote: | | By the way, the "Visitor Comments: Quickly post a line or two about your experience with nDroid here. " link on the CodeNite website seems broken. (At the bottom of the front page) |
Thanks, I fixed that.
| rogal wrote: | I will write on the CodeNite forum from now and on  |
yes, please. _________________
 |
|
| Back to top |
|
 |
BoBoĻ Guest
|
Posted: Sun Jan 27, 2008 6:43 pm Post subject: |
|
|
Hi Rajat
[OffTopic]
One of your historic apps is still making waves
You might be able to make someone happy. So, please have a look at the latest request about: [My Aquarium]
[/OffTopic] |
|
| Back to top |
|
 |
Rajat
Joined: 28 Mar 2004 Posts: 1718
|
Posted: Sun Jan 27, 2008 6:46 pm Post subject: |
|
|
Hey BoBo! how're you doing?
well looks like Fry took your advice. He PM'd me earlier today and i responded to that.  _________________
 |
|
| Back to top |
|
 |
Rajat
Joined: 28 Mar 2004 Posts: 1718
|
Posted: Sun Feb 10, 2008 11:54 pm Post subject: |
|
|
v2.1.3 Publicly Released
| Code: | 2.1.3
+ nDroid now automatically detects a version update and imports custom settings. Doesn't even need a restart.
+ All Actions can now have their own customisable dedicated hotkey (Thanks Andreone)
+ Pressing Enter when using calculator copies the result to clipboard (Thanks sha_grin)
+ Now while user tries to launch an item when there's no item selected, the focus is changed to Action selection automatically and 'Run Command' action get selected. (Thanks wrecklass)
+ Replaced the built-in 'Explore' option with a plugin with same function (This adds the benefit of configurability of Hotkey and support for any explorer replacement app)
+ Replaced the built-in 'Run Command' option with a plugin with same function (This also adds the benefit of configurability of Hotkey)
+ Added a List Editor to many option in Settings window for easy editing (Thanks Andreone)
+ To further centralize control of plugins, some basic change to architecture done :: Though backward compatibility is maintained in this release, please update your plugins to latest available versions.
+ Changed the lower right corner icon to CodeNite logo (Thanks Andreone and MrWriter)
+ Now you can easily change the Main Window size by holding down Ctrl and using the move window control (lower right corner)
+ Added a new command to tray menu 'Recreate Index' (the function is the same as the earlier 'Scan' button)
+ Changed the file names 320cache.txt and 320History.txt to Cache.txt and History.txt respectively.
+ The advanced setting of 'Wait Time' now has an internal fail safe with a minimum setting of 100.
+ Many aesthetic improvements to main window, tray menu etc.
- Removed the 'Params' field from main view, press TAB twice to get to it just like earlier (Shift+TAB to go back)
- Removed 'Go' and 'Scan' buttons from main window
- Removed the Width/Height options from Settings
- Removed the 'Stay after Launch' option, which was rarely ever used
~ Fixed the bug where an Action plugin wasn't receiving extra spaces in launched file (Thanks Flip04)
~ Fixed the incorrect launch bug (Thanks wrecklass, david.kingham and MrWriter)
|
_________________
 |
|
| Back to top |
|
 |
HugoV
Joined: 27 May 2007 Posts: 531
|
Posted: Tue Feb 12, 2008 3:02 pm Post subject: |
|
|
Here is a mod that is somewhat experimental:
- Added 4th colum: "Result" which will display 1-2-3...0 a-z (max 36 results)
- You can now press CTRL-RESULT (e.g. CTRL-4 to Run the 4th result, CTRL-A to Run the 11th result)
I believe FARR has this behaviour as well and it can be useful
if you have many similar results or see the item you want to
launch very quickly in the history.
You can just run the script with your current INI to try it
Bugs/wishes:
- Result should be displayed as the first column but I can't get the ICON to move the second column
(If you move Result to the first column the script has to be modified, everwhere this block
| Code: | LV_GetText(FName, SelItem, 1)
LV_GetText(FExt, SelItem, 2)
LV_GetText(FDir, SelItem, 3) |
would need to be replaced by
| Code: | LV_GetText(FName, SelItem, 2)
LV_GetText(FExt, SelItem, 3)
LV_GetText(FDir, SelItem, 4) |
I've tried that and it works. If someone can tell me how to get the ICON to appear in the second column that would be great. I've been trying various things without success (it always breaks the display)
- I've been trying to get it to write the RUNITEM to the usedlist in the INI but without much success
Edit: added Goto, AddToList after the RUN item and added colour to
mark the important new sections
| Code: | /*
___________________________________________
320MPH by Rajat
Ultra Fast Anything-Launcher
Order of Results:
- Recently used items
- Items with name starting with search querry
- Items with search querry anywhere in their name
- Items with search querry anywhere in their path
___________________________________________
*/
AutoTrim, Off
SetBatchLines, -1
MainWnd = 320MPH -- Rajat
SetKeyDelay, 0
;___________________________________________
IniFile = %A_ScriptDir%\320MPH.ini
IfNotExist, %IniFile%
{
MsgBox,, 320MPH, 320MPH.ini not found. Program will now exit
ExitApp
}
;Reading Settings
IniRead, PathList, %IniFile%, Settings, PathList, %A_MyDocuments%|%A_ProgramFiles%
IniRead, TypeList, %IniFile%, Settings, TypeList, exe|lnk|ahk|url|mp3
IniRead, ExcludeList, %IniFile%, Settings, ExcludeList, about|history|readme|remove|uninstall|license
IniRead, AlwaysScan, %IniFile%, Settings, AlwaysScan, %UserProfile%\Recent|%A_StartMenuCommon%|%A_StartMenu%|%A_Desktop%
IniRead, MaxLastUsed, %IniFile%, Settings, MaxLastUsed, 50
IniRead, WaitTime, %IniFile%, Settings, WaitTime, 100
IniRead, ShowIcons, %IniFile%, Settings, ShowIcons, 1
IniRead, MinLen, %IniFile%, Settings, MinLen, 2
IniRead, ListFile, %IniFile%, Settings, ListFile, RunList.txt
IniRead, ShellIntegration, %IniFile%, Settings, ShellIntegration, 1
IniRead, GuiWMinus, %IniFile%, Settings, GuiWMinus, 20
IniRead, GuiHMinus, %IniFile%, Settings, GuiHMinus, 250
IniRead, UsedList, %IniFile%, Settings, UsedList, |
LastUsedList = %UsedList%
GuiW := A_ScreenWidth - GuiWMinus
GuiH := A_ScreenHeight - GuiHMinus
AlwaysScan := ExpandVars(AlwaysScan)
PathList := ExpandVars(PathList)
StringRight, ExtChk, A_ScriptFullPath, 4
IfEqual, ExtChk, .exe
IfEqual, ShellIntegration, 1
{
RegWrite, REG_SZ, HKCR, *\Shell\320MPH\Command,, "%A_ScriptFullPath%" "`%1"
RegWrite, REG_SZ, HKCR, Folder\shell\320MPH\command,, "%A_ScriptFullPath%" "`%1"
}
Else
{
RegDelete, HKCR, *\Shell\320MPH,
RegDelete, HKCR, Folder\Shell\320MPH,
}
RParam = %1%
IniRead, UsedList, %IniFile%, Settings, UsedList
IfEqual, UsedList, ERROR
UsedList =
UsedList0 =
Loop, Parse, UsedList, |
{
IfNotExist, %A_LoopField%, Continue
UsedList0 = %UsedList0%|%A_LoopField%
}
UsedList = %UsedList0%
;___________________________________________
;create scanned result list on first run
IfExist, %A_ScriptDir%\%ListFile%
{
ItemList =
Loop, Read, %A_ScriptDir%\%ListFile%
{
IfEqual, A_LoopReadLine,, Continue
ItemList = %ItemList%|%A_LoopReadLine%
}
}
Else
Gosub, ButtonScan
;scan always updated list
Loop, Parse, AlwaysScan, |
{
Loop, %A_LoopField%\*.*, 0, 1
{
SplitPath, A_LoopFileFullPath, FName, FDir, FExt, FNameNoExt, FDrive
;only filetypes defined are added
IfNotInString, TypeList, %FExt%, Continue
;excluding items based on ExcludeList
Cont = 0
Loop, Parse, ExcludeList, |
{
IfInString, FName, %A_LoopField%
{
Cont = 1
Break
}
}
IfEqual, Cont, 1
Continue
;reaching here means that file is not to be excluded and
;has a desired extension
RecentList = %RecentList%|%A_LoopFileFullPath%
}
}
StringTrimLeft, RecentList, RecentList, 1
ItemList = %RecentList%%ItemList%
LVGuiW := GuiW - 12
LVGuiH := GuiH - 64
StatusY := GuiH - 25
Gui, -Caption +Border
Gui, Add, Text, x6 y7 w40 h20, Search:
Gui, Add, Edit, x46 y5 w150 h20 vCurrText gGetText,
Gui, Add, Text, x210 y7 w40 h20, Params:
Gui, Add, Edit, x250 y5 w250 h20 vRParam, %RParam%
Gui, Add, ListView, x6 y35 w%LVGuiW% h%LVGuiH% vSelItem HScroll gSelection AltSubmit, Name|Ext|Folder|Result
Gui, Add, Button, 0x8000 x516 y5 w50 h20 Default, &Open
Gui, Add, Button, 0x8000 x576 y5 w50 h20, &Scan
Gui, Add, Text, x6 y%StatusY% w120 h20 vResults,
Gui, Font, S10 CDefault Italic Bold, Verdana
Gui, Add, Text, x450 y%StatusY% w150 h20 Right, %MainWnd%
LV_ModifyCol(1, 100)
LV_ModifyCol(2, 60)
LV_ModifyCol(3, 250)
Gui, Show, h%GuiH% w%GuiW%, %MainWnd%
LastText = fadsfSDFDFasdFdfsadfsadFDSFDf
;SetTimer, GetText, 200
Gosub, GetText
;Sleep, 200
Control, Choose, 1, SysListView321, %MainWnd%
Return
Up::
IfWinNotActive, %MainWnd%,
{
Send, {Up}
Return
}
ControlGetFocus, CurrCtrl, %MainWnd%
IfEqual, CurrCtrl, Edit1
ControlSend, SysListView321, {Up}, %MainWnd%
Return
Down::
IfWinNotActive, %MainWnd%,
{
Send, {Down}
Return
}
ControlGetFocus, CurrCtrl, %MainWnd%
IfEqual, CurrCtrl, Edit1
ControlSend, SysListView321, {Down}, %MainWnd%
Return
^1::
^2::
^3::
^4::
^5::
^6::
^7::
^8::
^9::
^0::
^a::
^b::
^c::
^d::
^e::
^f::
^g::
^h::
^i::
^j::
^k::
^l::
^m::
^n::
^o::
^p::
^q::
^r::
^s::
^t::
^u::
^v::
^w::
^x::
^y::
^z::
SelItem=
IfWinNotActive, %MainWnd%,, Return
SelItem := SubStr(A_ThisHotkey,2) ; get pressed Hotkey
StringLower, SelItem, SelItem
CheckVal:=Asc(SelItem)
If CheckVal >= 97
{
SelItem = %CheckVal%
EnvSub,SelItem,86 ; a=11 b=12 etc
}
CheckRow:=LV_GetCount() ; check If pressed Hotkey is within range
If (SelItem <= CheckRow) {
LV_GetText(FName, SelItem, 1)
LV_GetText(FExt, SelItem, 2)
LV_GetText(FDir, SelItem, 3)
IfEqual, FExt,
Pth = %FDir%\%FName%
IfNotEqual, FExt,
Pth = %FDir%\%FName%.%FExt%
Run %Pth%
Goto, AddToList
}
Return
^Del::
IfWinNotActive, %MainWnd%,, Return
ControlGetText, CurrText, Edit1, %MainWnd%
IfNotEqual, CurrText,, Return
SelItem := LV_GetNext()
LV_GetText(FName, SelItem, 1)
LV_GetText(FExt, SelItem, 2)
LV_GetText(FDir, SelItem, 3)
IfEqual, FExt,
Pth = %FDir%\%FName%
IfNotEqual, FExt,
Pth = %FDir%\%FName%.%FExt%
StringReplace, UsedList, UsedList, |%pth%,, A
IniWrite, %UsedList%, %IniFile%, Settings, UsedList
LastText = x
Goto, GetText
Return
GetText:
ControlGetText, CurrText, Edit1, %MainWnd%
IfEqual, CurrText, %LastText%, Return
StringLen, Check, CurrText
IfGreater, Check, 0
IfLess, Check, %MinLen%
Return
LastText = %CurrText%
;from last used_____________________________
IfEqual, CurrText,
{
IfEqual, ShowIcons, 1
{
IL_Destroy(ImageListID1)
; Create an ImageList so that the ListView can display some icons:
ImageListID1 := IL_Create(5, 10)
; Attach the ImageLists to the ListView so that it can later display the icons:
LV_SetImageList(ImageListID1)
}
LV_Delete()
Count =
LCount =
StringTrimLeft, UsedList0, UsedList, 1
Loop, Parse, UsedList0, |
{
;check for change in search querry
ControlGetText, CurrText, Edit1, %MainWnd%
IfNotEqual, CurrText, %LastText%, Goto, GetText
SplitPath, A_LoopField, FName, FDir, FExt, FNameNoExt
Count ++
LCount := Count
If LCount < 37
{
If LCount > 10
{
TCount := 86+Count
LCount := Chr(TCount)
}
}
Else
LCount =
IfGreater, Count, %MaxLastUsed%, Break
IfEqual, ShowIcons, 1
{
hIcon := DllCall("Shell32\ExtractAssociatedIconA", UInt, 0, Str, A_LoopField, UShortP, iIndex)
DllCall("ImageList_ReplaceIcon", UInt, ImageListID1, Int, -1, UInt, hIcon)
DllCall("DestroyIcon", Uint, hIcon)
}
LV_Add("Icon" Count, FNameNoExt, FExt, FDir, LCount )
;select first item
IfEqual, A_Index, 1
ControlSend, SysListView321, {Down}, %MainWnd%
}
}
;from all items_____________________________
IfNotEqual, CurrText,
{
IfInString, ItemList, %CurrText%
IfEqual, ShowIcons, 1
{
IL_Destroy(ImageListID1)
; Create an ImageList so that the ListView can display some icons:
ImageListID1 := IL_Create(20, 50)
; Attach the ImageLists to the ListView so that it can later display the icons:
LV_SetImageList(ImageListID1)
}
LV_Delete()
;___________________________________________
; Advanced Search
MatchPList1 =
MatchPList2 =
MatchPList3 =
Count =
;earliest in searh results are recently used items
SearchList = %UsedList%%ItemList%
Loop, Parse, SearchList, |
{
;check for change in search querry
ControlGetText, CurrText, Edit1, %MainWnd%
IfNotEqual, CurrText, %LastText%, Goto, GetText
CurrItem = %A_LoopField%
;remove duplicate entry that exists both in usedlist and itemlist
CheckList = %MatchPList1%%MatchPList2%%MatchPList3%|
IfInString, CheckList, |%CurrItem%|, Continue
SplitPath, CurrItem, FName, FDir, FExt, FNameNoExt, FDrive
StringLen, Len, CurrText
StringLeft, LText, FName, %Len%
;Matching leftmost text
IfEqual, LText, %CurrText%
{
MatchPList1 = %MatchPList1%|%CurrItem%
Continue
}
;Matching file name only
;fuzzy search
MatchFound = Y
Loop, Parse, CurrText, %A_Space%
IfNotInString, FName, %A_LoopField%
MatchFound = N
IfEqual, MatchFound, Y
{
MatchPList2 = %MatchPList2%|%CurrItem%
Continue
}
;search everywhere
;fuzzy search
MatchFound = Y
Loop, Parse, CurrText, %A_Space%
IfNotInString, CurrItem, %A_LoopField%
MatchFound = N
IfEqual, MatchFound, Y
{
MatchPList3 = %MatchPList3%|%CurrItem%
Continue
}
}
MatchPList = %MatchPList1%%MatchPList2%%MatchPList3%
StringTrimLeft, MatchPList, MatchPList, 1
Loop, Parse, MatchPList, |
{
;check for change in search querry
ControlGetText, CurrText, Edit1, %MainWnd%
IfNotEqual, CurrText, %LastText%, Goto, GetText
Count ++
LCount := Count
If LCount < 37
{
If LCount > 10
{
TCount := 86+Count
LCount := Chr(TCount)
}
}
Else
LCount =
SplitPath, A_LoopField, FName, FDir, FExt, FNameNoExt, FDrive
IfEqual, ShowIcons, 1
{
hIcon := DllCall("Shell32\ExtractAssociatedIconA", UInt, 0, Str, A_LoopField, UShortP, iIndex)
DllCall("ImageList_ReplaceIcon", UInt, ImageListID1, Int, -1, UInt, hIcon)
DllCall("DestroyIcon", Uint, hIcon)
}
LV_Add("Icon" Count, FNameNoExt, FExt, FDir, LCount )
;select first item
IfEqual, A_Index, 1
ControlSend, SysListView321, {Down}, %MainWnd%
}
IfEqual, Count,
LV_Delete()
}
;post results
Results := LV_GetCount()
GuiControl,, Results, Results = %Results%
LV_ModifyCol()
Return
ButtonScan:
SplashImage,, W190 H30 B1,, Scanning..,
FileDelete, %A_ScriptDir%\%ListFile%
;generating file list
Loop, Parse, PathList, |
{
IfNotExist, %A_LoopField%, Continue
Loop, %A_LoopField%\*.*, 0, 1
{
SplitPath, A_LoopFileFullPath, FName, FDir, FExt, FNameNoExt, FDrive
;only filetypes defined are added
IfNotInString, TypeList, %FExt%, Continue
;excluding items based on ExcludeList
Cont = 0
Loop, Parse, ExcludeList, |
{
IfInString, FName, %A_LoopField%
{
Cont = 1
Break
}
}
IfEqual, Cont, 1
Continue
;reaching here means that file is not to be excluded and
;has a desired extension
FileAppend, %A_LoopFileFullPath%`n, %A_ScriptDir%\%ListFile%
}
}
ItemList =
Loop, Read, %A_ScriptDir%\%ListFile%
{
IfEqual, A_LoopReadLine,, Continue
ItemList = %ItemList%|%A_LoopReadLine%
}
ItemList = %RecentList%%ItemList%
LastText =
SplashImage, Off
Return
ButtonOpen:
Gui, Submit, NoHide
GetKeyState, ShKey, Shift
GetKeyState, CtKey, Control
ControlFocus, SysListView321, %MainWnd%
SelItem := LV_GetNext()
IfEqual, SelItem, 0
RunSearch = 1
IfEqual, CtKey, D
RunSearch = 1
IfEqual, RunSearch, 1
{
RunItem = %CurrText%
;run unrecognised cmd
IfNotExist, %CurrText%
{
FileExist = 0
Goto, AddToList
}
}
;running a found file/folder
IfNotEqual, RunSearch, 1
Loop
{
LV_GetText(FName, SelItem, 1)
LV_GetText(FExt, SelItem, 2)
LV_GetText(FDir, SelItem, 3)
IfEqual, FExt,
RunItem = %FDir%\%FName%
IfNotEqual, FExt,
RunItem = %FDir%\%FName%.%FExt%
IfExist, %RunItem%
{
FileExist = 1
Break
}
}
;remove the last \ from a launched folder's name
StringRight, check, RunItem, 1
IfEqual, check, \
StringTrimRight, RunItem, RunItem, 1
;add the \ back if the target is a drive path
StringLen, check, RunItem
IfLess, check, 3
RunItem = %RunItem%\
Add2History = %RunItem%
;get real file path from shortcut
StringRight, check, RunItem, 4
IfEqual, check, .lnk
{
FileGetShortcut, %RunItem%, LnkTarget
IfNotInString, LnkTarget, {
IfNotInString, LnkTarget, }
RunItem = %LnkTarget%
}
SplitPath, RunItem, FName, FDir, FExt, FNameNoExt, FDrive
;shift key down opens host folder
IfEqual, ShKey, D
{
Run, Explorer %FDir%,, UseErrorLevel
ExitApp
}
AddToList:
;simple run
IfEqual, RParam,
Run, %RunItem%, %FDir%, UseErrorLevel
;runtime param
IfNotEqual, RParam,
Run, %RunItem% "%RParam%", %FDir%, UseErrorLevel
IfEqual, FileExist, 1
StringReplace, UsedList, UsedList, |%Add2History%,, A
;leave only max items in list
StringSplit, UsedItem, UsedList, |
UsedList =
Loop, %MaxLastUsed%
{
CurrItem := UsedItem%A_Index%
IfEqual, CurrItem,, Continue
UsedList = %UsedList%|%CurrItem%
}
IniWrite, |%Add2History%%UsedList%, %IniFile%, Settings, UsedList
IniWrite, %LastUsedList%, %IniFile%, Settings, LastUsedList
ExitApp
Selection:
SelItem := LV_GetNext()
LV_GetText(0FName, SelItem, 1)
LV_GetText(0FExt, SelItem, 2)
LV_GetText(0FDir, SelItem, 3)
Pth = %0FDir%\%0FName%.%0FExt%
IfEqual, FExt, lnk
{
WinGetPos, wX, wY, wW, wH, %MainWnd%
FileGetShortcut, %Pth%, FTarget
ToShow = %FTarget%
ToolTip, %ToShow%, 0, %wH%
}
Else
ToolTip
IfEqual, A_GuiControlEvent, DoubleClick
GoTo, ButtonOpen
Return
GuiEscape:
GuiClose:
ExitApp
;Chris made this long ago!
ExpandVars(Var)
{
var_new = %var%
in_reference = n
Loop, parse, var_new, `%
{
if in_reference = n
{
in_reference = y
continue
}
; Otherwise, A_LoopField is a variable reference:
StringTrimLeft, ref_contents, %A_LoopField%, 0
StringReplace, var_new, var_new, `%%A_LoopField%`%, %ref_contents%, all
in_reference = n
}
Return, var_new
}
|
|
|
| Back to top |
|
 |
Rajat
Joined: 28 Mar 2004 Posts: 1718
|
Posted: Tue Feb 12, 2008 9:29 pm Post subject: |
|
|
nice addition!
as for having numbers to the left of icons, (i don't know how practical it is) but an out of the box simple solutions would be creating a slim listbox just left of the listview, with a numbered list.
regards,
Rajat _________________
 |
|
| Back to top |
|
 |
HugoV
Joined: 27 May 2007 Posts: 531
|
Posted: Wed Feb 13, 2008 8:09 am Post subject: |
|
|
| Thanks for the tip Rajat, I'll give it a try and let you know what happens... |
|
| Back to top |
|
 |
automaticman
Joined: 27 Oct 2006 Posts: 333
|
Posted: Thu Feb 14, 2008 4:38 pm Post subject: |
|
|
After having a first look to nDroid, it seems that there's almost no need to develop any other AutoHotkey script which works on single fingles, no files, just add a plugin to nDroid and you can use it over nDroid's fast searching interface and let Windows Explorer or any other "Commander" at home.
Some comments and questions from my side:
1.
It seems that directories are not displayed in nDroid. So if I would want to develop a plugin which should work on the contents of the whole dir, what to do? (Using again back Windows Explorer or a similar solution?) I think we should use here shift-enter.
2.
Can we also select multiple files and directories on which we can apply some commands, e.g. for removing files and dirs to new locations might be interesting here? A working sequence might work like this: Set current dir.Select files.Move selected files to current dir.
3.
Does nDroid have any limits? What can't be done with nDroid?
And finally Rajat thanks for this great tool and your generosity sharing it with us! |
|
| Back to top |
|
 |
automaticman
Joined: 27 Oct 2006 Posts: 333
|
Posted: Thu Feb 14, 2008 4:46 pm Post subject: |
|
|
| automaticman wrote: | 1.
It seems that directories are not displayed in nDroid. So if I would want to develop a plugin which should work on the contents of the whole dir, what to do? (Using again back Windows Explorer or a similar solution?) I think we should use here shift-enter.
| Interesting, now the dirs are also shown. |
|
| Back to top |
|
 |
automaticman
Joined: 27 Oct 2006 Posts: 333
|
Posted: Thu Feb 14, 2008 5:33 pm Post subject: Electronic Music SEARCH |
|
|
I added some more plugins into my plugins dir, maybe any other electronic music lovers are also interested in them. In short they allow you also to search in MBeat, Discogs, YouTube, (Beatport seems not to work but I'm sure AutoHotkey experts would even solve that):
| Code: | /*
320MPH ACTION PLUGIN : Electronic Music SEARCH
Author : Rajat, modified by: automaticman
Note: While developing own plugins, please don't
change the settings between lines.
*/
;________________________________________________________
#NoTrayIcon
;getting all parameters
Loop
{
IfEqual, %A_Index%,
Break
Params := Params A_Space %A_Index%
}
StringTrimLeft, Params, Params, 1
;________________________________________________________
;For this Action we need only the SearchTerms parameter
IniRead, RE, nDroid.ini, System, RE_SearchTerms, %A_Space%
RegExMatch( Params, RE, Val_)
; Val_SearchTerms has the needed value
;here we perform the action
StringReplace, Val_SearchTerms, Val_SearchTerms, %A_Space%, +
Run, http://www.mbeat.de/catalog/advanced_search_result.php/search_in_description/1?keywords=%Val_SearchTerms%
Sleep, 100
Run, http://www.beatport.com/%Val_SearchTerms%
Sleep, 100
Run, http://www.discogs.com/search?type=all&q=%Val_SearchTerms%
Sleep, 100
Run, http://www.youtube.com/results?search_query=%Val_SearchTerms% |
|
|
| Back to top |
|
 |
automaticman
Joined: 27 Oct 2006 Posts: 333
|
Posted: Thu Feb 14, 2008 6:35 pm Post subject: |
|
|
Also what about combining MyNotes 2.6 with nDroid?
http://www.autohotkey.com/forum/viewtopic.php?t=1640&highlight=mynotes
I can imagine in two different ways:
1. Normally via right mouse click.
2. Another edit area where we can see and if desired change immediately the note of each file/directory
A more futuristic feature request might be to be able to show/filter also files which have same tags in their "MyNotes". Maybe we can add this functionality also just as a nDroid plugin? |
|
| Back to top |
|
 |
Rajat
Joined: 28 Mar 2004 Posts: 1718
|
Posted: Thu Feb 14, 2008 10:33 pm Post subject: |
|
|
automaticman,
Glad that you love the app .
As you've already answered your first question, i'll get to the other two:
| Quote: | | Can we also select multiple files and directories on which we can apply some commands, e.g. for removing files and dirs to new locations might be interesting here? A working sequence might work like this: Set current dir.Select files.Move selected files to current dir. |
Multiple choice option was mentioned not too far back at ndroid forum ( i guess on the winamp enqueue plugin topic). maybe it is a useful option. not possible right now, but can be added. feel free to discuss more.
| Quote: | | Does nDroid have any limits? What can't be done with nDroid? |
The action plugins are most powerful bcoz of the way they work. I've made it so that once they get their input from nDroid, they work outside its boundaries and can do anything AHK can. They can work with websites, with other applications, other files etc. and can use outside utilities too.
The scan plugins, as they're scanty right now (just FireFox is posted by me) seem limited in scope for now. But I've tried to make the nDroid domain open-ended and more plugins can add more stuff to it.
And basically, its right now being actively develped, so if any deadlocks are discovered while writing a plugin, I'd probably accomodate the main app for more future flexibility.
I really like your MyNotes idea, and a very simple scan plugin can make the notes searchable in nDroid as tags for the file to be launched.
And may I request you to discuss more at the nDroid forum where more like-minded users can participate in the discussion.
Thanks,
rajat _________________
 |
|
| Back to top |
|
 |
automaticman
Joined: 27 Oct 2006 Posts: 333
|
Posted: Fri Feb 15, 2008 1:00 pm Post subject: |
|
|
| Rajat wrote: | ... And may I request you to discuss more at the nDroid forum where more like-minded users can participate in the discussion.
| Sure. So nDroid supports so far
1. Actions (domain coordinate processing)
2. Scans (domain coordinate content processing) |
|
| Back to top |
|
 |
|
|
You can post new topics in this forum You can reply to topics in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|