Hi, I'm still working on this on and off, and am trying some different things. I made it so it now watches and copies all text in Dragonpad, the original one that came with Dragon, in hopes of maximum compatibility. I've added a few other minor features also, and just FYI I don't even use the "timed cut-n-paste" feature any more, and may discontinue it in the next version. Also, cut-n-paste is controlled with a pair of hotkeys, which I have programmed a typical transcriber's footpedal to send, so I perform all text copying by footpedal. You can do that too, or just use hotkeys if you like.
Other features include adding a copy of TRcontroller in the mix, which will control recording of the audio. If you don't want this feature it won't be difficult to comment out that part. But that is where I'm going with it.
And finally, my latest version uses Notepad++ to view the text after all macros have been performed on it. This is also strictly optional. You can modify it however you wish. I wrote it for my immediate use so I wrote it to work with what I had installed and liked. Shouldn't be difficult to modify. If you do so and like what you've created, pls. share your results. Also any constructive criticism will be appreciated. I'm certainly not an experienced scripter.
I've been advised against using so many other softwares if I want this program to be used by others, apparently. Actually my assumption is that if you can figure this mess out, you're smart enough to customize it
for yourself.

And probably smart enough to improve on it too.
I think this is the latest version, and I think it works. Instuctions: start DNS, start DragonPad, start NPP, and then run this script. Total Recorder is optional I believe. Having a foot pedal is optional also but I really like it.
Here is the code, including my full list of DragonPad² commands.
Code:
#Persistent
settimer, update_clock, 50
SetKeyDelay, 1, 1
Grier = 0
Rosie =
nn =
;-----------------------------------------------------
;This is your command list. You need to add new commands here for their scripts to execute.
Commandlist = atty1,atty2,atty3,atty4,atty5,atty6,@7,@8,@9,@10,@11,@12,@13,@14,@15,@16,nookey,cukey,dookie,foofter,cufter,doofter,noofter,rub-a-dub,peekwa,p-q-k,yesirree-bob,nosirree-bob,Yes-em,Noees,Sookie,Yuppers,By-Atty-1,By-Atty-2,By-Atty-3,By-Atty-4,By-Atty-5,By-Atty-6,delelast,Boobie,booby,semi-correct,semi-right,Baby-A,Baby-Q,BBQ,Dancy,fancy-dancey,DQ,Twa,semi-correct,okie-dokey,yeah-yeah-yeah,no-no-no,palooka,Yeah-baby,
Gooflist = hippity,booty,bootsie,bootie,bootsy,hizzoner,betelgeuse,,beetlejuice,token,paren-un,paren-nods-head,****,lazy-Jim,mama
Wordcount = 0
; DragonPad2 -- FREEWARE by ribbet.1 and many others who have taught me or provided code I've lifted from, especially but not exclusively Chris, Rajat, and SKAN!
; You are free to distribute this script, modify or compile it, and MAY NOT CHARGE MONEY FOR IT!
; I use this program with a footpedal. I've mapped the 3 switches to Ctrl-Alt-Shift-F10, Ctrl-F6 and Ctrl-F7. The commands they initiate can be found further below. You can easily remap them to a more convenient hotkey if you don't have a foot pedal.
;-----------------------------------------------------
;GUI Creation
; Create the sub-menus for the menu bar:
DateTimeStamp=20061103000000
Menu, MyMenuBar, Add, &TimedCnP, TimedCutNpaste
Menu, MyMenuBar, Add, &STOPTimedCnP, StopTimedCutNpaste
Menu, MyMenuBar, Add, &SingleCnP, SingleCutNpaste
;Menu, MyMenuBar, Add, T&RC, TRC
Menu, MyMenuBar, Add, Big_&Go, Big_Go
;* Menu, MyMenuBar, Add, &Bookmark, nBookmark
;* Menu, MyMenuBar, Add, TRCsaveAs, TRCsaveAs
Menu, MyMenuBar, Add, Panic, Panic
; Attach the menu bar to the window:
Gui, Menu, MyMenuBar
; Create the main Edit control and display the window:
Gui, Add, Button, x15 y4 w50 h18 vStartStop gStartStop, Start
Gui, Add, Button, x65 y4 w50 h18 vPauseResume gPauseResume, Pause
Gui, Add, Button, x115 y4 w50 h18 vReset gReset, Reset
Gui, Add, Button, x165 y4 w50 h18 vSpell vSpell, Spell
Gui, Add, Button, x215 y4 w50 h18 vNum vNum, Num
Gui, Add, Button, x265 y4 w50 h18 vDict vDict, Dict
Gui, Add, Button, x315 y4 w50 h18 vF12 vF12, F12
Gui, Add, Text, x386 y4 w91 h18 , 0 Words
Gui, Add, Button, x14 y24 w50 h18 , Record
Gui, Add, Button, x66 y24 w69 h18 , Bookmark
Gui, Add, Button, x136 y24 w69 h18 , Query
Gui, Add, Button, x207 y24 w50 h18 , Goto
Gui, Add, Button, x257 y24 w69 h18 , Goto_play
Gui, Add, Button, x329 y24 w50 h18 , Resume
Gui, Add, Button, x467 y24 w111 h18 , Bookmark_list
Gui, Add, Button, x380 y24 w85 h18 , Pauserecord
; Generated using SmartGUI Creator 4.0
;Gui, Show, x244 y246 h68 w656, New GUI Window
;Gui, Add, Text, x508 y8 w50 h20 +Center, 00:00:00
;Gui, Add, Text, x556 y8 w50 h20 +Center, 00:00:00
;Gui, Add, Text, x256 y8 w90 h20, 0 Words
Gui, Font, S12 CDefault, Verdana
CurrentFileName = ; Indicate that there is no current file.
Gui,Show,x401 y40, DragonPad² -- START THE TIMER DUMMY
;-----------------------------------------------------
;Create textfile -- Default is DragonDictation-%A_MM%-%A_DD%.depo
; I have commented out the dialog that lets you select where your folder is to go. That's just my preference. Right now it creates a folder on the desktop and places the necessary files in it, no muss no fuss. Uncomment the necessary lines to restore democracy.
;FileSelectFolder,Dusky,,2,Name the folder for your project -- Escape for default to %A_Desktop%\%A_MM%-%A_DD%\%A_MM%-%A_DD%
;If Dusky =
{
FileCreateDir,%A_Desktop%\%A_MM%-%A_DD%
Dusky = %A_Desktop%\%A_MM%-%A_DD%
}
;The following opens all logfiles and the depofile in NPP, depofile last
SetWorkingDir,%Dusky%
MsgBox,All files are located in %A_WorkingDir%
Mansarowar = %A_MM%-%A_DD%DragonDictation.depo
Fileappend, `n`[Started %A_MM%-%A_DD%-%A_Hour%:%A_Min%`]`n,%Mansarowar%
CurrentFiln = %A_MM%-%A_DD%Logfile.log
Fileappend, `nStarted %A_MM%-%A_DD%-%A_Hour%:%A_Min%`n,%CurrentFiln%
Run D:\Program Files\Notepad++\notepad++.exe %CurrentFiln%
Rosietext = %A_MM%-%A_DD%-Rosie.txt
FileAppend, `nStarted %A_MM%-%A_DD%-%A_Hour%:%A_Min% `n,%Rosietext%
Run D:\Program Files\Notepad++\notepad++.exe %Rosietext%
Dookie = %A_MM%-%A_DD%-TRClog.txt
FileAppend, `nStarted %A_MM%-%A_DD%-%A_Hour%:%A_Min% `n,%Dookie%
Film = %Dookie%
Run D:\Program Files\Notepad++\notepad++.exe %Film%
Gui,+AlwaysOnTop
Gui,Show,, DragonPad² -- START THE TIMER DUMMY
ControlClick,Button3,ahk_class DgnBarMainWindowCls
ControlSend,,d,ahk_class DgnBarMainWindowCls
WinActivate, DragonPad²
ControlClick,Edit1,DragonPad²
ControlSend,RichEdit20A1,^{End},ahk_class TalkpadClass
Run D:\Program Files\Notepad++\notepad++.exe %Mansarowar%
Gosub, PigBodine
IfWinExist,Reload
Controlclick,Button1,Reload
ControlGetText,Lakshmi,RichEdit20A1,ahk_class TalkpadClass
StringLen,LakshmiLen,Lakshmi
Stringlen,SaraLen,Sarasvati
;MsgBox,%Lakshmi% -- %LakshmiLen% -- %SaraLen%
if %LakshmiLen% = %SaraLen%
Return
else
Ganesa := ( LakshmiLen - SaraLen ) ;Ganesa represents the number of new characters
StringRight,Hanuman,Lakshmi,%Ganesa% ;Hanuman is those characters
StringReplace,Hanuman,Hanuman,%A_Space%%A_Space%,%A_Space%,All
StringReplace,Hanuman,Hanuman,%A_Space%.,.,All
StringReplace,Hanuman,Hanuman,%A_Space%?,?,All
FileAppend `n|%grier%| `t @%timez%@%ntime%@ -- %A_Space%%Hanuman%,%CurrentFiln% ; Appends Hanuman to logfile
Balaram := RegexReplace(Hanuman,"\s+"," ")
Loop,Parse,Balaram,%A_Space%, %A_Space% ; parses based on A-Space as separator
{ ;333 This is where we separate words from commmands
AutoTrim,On
Kali = %A_Loopfield%
;If Kali in %Gooflist%
;* { ;444 ;This is where commands are transferred to their respective gosubs
;* FileAppend, `n|%Grier%|@%timez%@%ntime%@ -- %A_Space%%Kali%,%CurrentFiln%
;* Gosub, %Kali%
;* } ;444
;* Else
;* If Kali in %Commandlist%
;* { ;444 ;This is where commands are transferred to their respective gosubs
;* Grier++ ;This increments var Grier
;* FileAppend, `n|%Grier%|@%timez%@%ntime%@ -- %A_Space%%Kali%,%CurrentFiln%
;* Gosub, %Kali%
;* } ;444
;* Else
;* FileAppend,%Kali%%A_Space%,%Mansarowar% ;This appends to the dictation textfile
Durga = %A_Index%
If A_Loopfield !=
++Wordcount
GuiControlGet, static1
If ( static1 <> Wordcount ) ; Update the control only when needed
GuiControl,, static1, %Wordcount% words ; this avoids flicker
;Sleep, 2000
}
Sarasvati := Lakshmi
WinActivate,ahk_class TalkpadClass
ControlSend,RichEdit20A1,^{End},ahk_class TalkpadClass
Return
GuiClose:
ExitApp
Panic:
Reload
Return
Pause::Pause
;-----------------------------------------------------
2ButtonOK: ; This section is used by the "about box" above.
2GuiClose:
2GuiEscape:
Gui, 1:-Disabled ; Re-enable the main window (must be done prior to the next step).
Gui Destroy ; Destroy the about box.
return
;-----------------------------------------------------
;This begins the DragonPad² functions
;-----------------------------------------------------
^+#d:: ;;Activate DragonPad²
IfWinNotActive,DragonPad²
WinActivate,DragonPad²
else,
WinMinimize,DragonPad²
Return
;-----------------------------------------------------
STOPTimedCutNpaste:
^numpad6:: ;Stop timed cutnpaste
stop = 1
Sleep,200
;Pause
;Return
WinActivate,ahk_class TalkpadClass
Return
;-----------------------------------------------------
ButtonF12: ;;Turns mic on in Dragon
ControlClick,Button6,ahk_class DgnBarMainWindowCls
Return
;-----------------------------------------------------
SingleCutNpaste:
^numpad4:: ;;Init Single CutNPaste
ControlGetText,Lakshmi,RichEdit20A1,ahk_class TalkpadClass
StringLen,LakshmiLen,Lakshmi
Stringlen,SaraLen,Sarasvati
;MsgBox,%Lakshmi% -- %LakshmiLen% -- %SaraLen%
if %LakshmiLen% = %SaraLen%
Return
else
Ganesa := ( LakshmiLen - SaraLen ) ;Ganesa represents the number of new characters
StringRight,Hanuman,Lakshmi,%Ganesa% ;Hanuman is those characters
StringReplace,Hanuman,Hanuman,%A_Space%%A_Space%,%A_Space%,All
StringReplace,Hanuman,Hanuman,%A_Space%.,.,All
StringReplace,Hanuman,Hanuman,%A_Space%?,?,All
FileAppend `n|%grier%| `t @%timez%@%ntime%@ -- %A_Space%%Hanuman%,%CurrentFiln% ; Appends Hanuman to logfile
Balaram := RegexReplace(Hanuman,"\s+"," ")
Loop,Parse,Balaram,%A_Space%, %A_Space% ; parses based on A-Space as separator
{ ;333 This is where we separate words from commmands
AutoTrim,On
Kali = %A_Loopfield%
If Kali in %Gooflist%
{ ;444 ;This is where commands are transferred to their respective gosubs
FileAppend, `n|%Grier%|@%timez%@%ntime%@ -- %A_Space%%Kali%,%CurrentFiln%
Gosub, %Kali%
} ;444
Else
If Kali in %Commandlist%
{ ;444 ;This is where commands are transferred to their respective gosubs
Grier++ ;This increments var Grier
FileAppend, `n|%Grier%|@%timez%@%ntime%@ -- %A_Space%%Kali%,%CurrentFiln%
Gosub, %Kali%
} ;444
Else
FileAppend,%Kali%%A_Space%,%Mansarowar% ;This appends to the dictation textfile
Durga = %A_Index%
If A_Loopfield !=
++Wordcount
GuiControlGet, static1
If ( static1 <> Wordcount ) ; Update the control only when needed
GuiControl,, static1, %Wordcount% words ; this avoids flicker
;Sleep, 2000
Sarasvati := Lakshmi
} ;333
ControlSend,,^+2,ahk_class Notepad++ ;note: create a "reopen from disk" (i.e., refresh) hotkey for npp in its preferences dialog
ControlSend,,^+!0,ahk_class Notepad++ ;note: create a "goto bottom" macro in npp's macro recorder and save with this hotkey ;-)
;I may have got these mixed up.
;Winactivate,ahk_class Notepad++
WinActivate,ahk_class TalkpadClass
ControlSend,RichEdit20A1,`n`n,ahk_class TalkpadClass
Return
;-----------------------------------------------------
TIMEDCUTNPASTE:
^numpad0:: ;;Init timed CutNPaste
stop = 0
Winactivate, ahk_class TalkpadClass
SetKeyDelay, 1, 1
Loop
{ ;111 This is the main loop that contains all others
Winactivate,ahk_class TalkpadClass
if stop = 1
break
else
Lakshmi =
Gosub,CutNPaste
GuiControlGet, Static1
If ( Static1 <> Wordcount ) ; Update the control only when needed
GuiControl,, Static1, %Wordcount% words ; this avoids flicker
Sleep, 2000
Sarasvati := Lakshmi
} ;111
Return
^+#Backspace:: ;;Exit
ExitApp
Return
;-----------------------------------------------------
CutNPaste:
Loop
{ ;222 This loop just waits for input in the main edit
if stop = 1
break
else
ControlGetText,Lakshmi,RichEdit20A1,ahk_class TalkpadClass
StringLen,LakshmiLen,Lakshmi
Stringlen,SaraLen,Sarasvati
;MsgBox,%Lakshmi% -- %LakshmiLen% -- %SaraLen%
if %LakshmiLen% = %SaraLen%
Sleep, 250
else
break
} ;222
Ganesa := ( LakshmiLen - SaraLen ) ;Ganesa represents the number of new characters
;MsgBox,%Ganesa%
StringRight,Hanuman,Lakshmi,%Ganesa% ;Hanuman is those characters
;MsgBox,%Hanuman%
FileAppend `n|%grier%| {tab} @%timez%@%ntime%@ -- %A_Space%%Hanuman%,%CurrentFiln% ; Appends Hanuman to logfile
Balaram := RegexReplace(Hanuman,"\s+"," ")
;MsgBox,%Balaram%
Loop,Parse,Balaram,%A_Space%, %A_Space% ; parses based on A-Space as separator
{ ;333 This is where we separate words from commmands
AutoTrim,On
Kali = %A_Loopfield%
;MsgBox,Kali = %Kali%
If Kali in %Gooflist%
{ ;This is where commands are transferred to their respective gosubs
FileAppend, `n|%Grier%|@%timez%@%ntime%@ -- %A_Space%%Kali%,%CurrentFiln%
Gosub, %Kali%
}
Else
If Kali in %Commandlist%
{ ;This is where commands are transferred to their respective gosubs
Grier++ ;This increments var Grier
FileAppend, `n|%Grier%|@%timez%@%ntime%@ -- %A_Space%%Kali%,%CurrentFiln%
Sleep,50 ;may not be necessary, I don't remember
Gosub, %Kali%
}
Else
FileAppend,%Kali%%A_Space%,%Mansarowar% ;This appends to the dictation textfile
Durga = %A_Index%
If A_Loopfield !=
++Wordcount
; }
} ;333
ControlSend,,^+2,ahk_class Notepad++
ControlSend,,^+!0,ahk_class Notepad++
Winactivate,ahk_class TalkpadClass
ControlSend,RichEdit20A1,^{end},ahk_class TalkpadClass
;ControlSend,RichEdit20A1,`n`n,ahk_class TalkpadClass
Return
;This is the footpedal hotkey.
;-----------------------------------------------------
;These are utility hotkeys for use by footpedal
^+!f10:: ;;Activate Npp, goto bottom, reactivate DragonPad
IfwinNotActive,ahk_class Notepad++
{
Winactivate,ahk_class Notepad++
ControlSend,,^+2,ahk_class Notepad++
ControlSend,,^+!0,ahk_class Notepad++
}
WinActivate,ahk_class TalkpadClass
ControlSend,RichEdit20A1,^{end},ahk_class TalkpadClass
;ControlSend,,`n`n,DragonPad²
Return
^F7::
;Send,^{F12}
ControlSend,,^+2,ahk_class Notepad++ ;This is mapped to "reload from disk" in NPP
ControlSend,,^+!0,ahk_class Notepad++ ; I made the simplest of all macros for NPP -- goto bottom :-) and gave it this hotkey.
WinActivate,ahk_class TalkpadClass
ControlSend,RichEdit20A1,^{end},ahk_class TalkpadClass
Return
^F6::
Gosub,SingleCutNpaste
Winactivate,ahk_class Notepad++
ControlSend,,^+2,ahk_class Notepad++
ControlSend,,^+!0,ahk_class Notepad++
WinActivate,ahk_class TalkpadClass
ControlSend,RichEdit20A1,^{end},ahk_class TalkpadClass
ControlSend,,^+!0,ahk_class Notepad++
Return
^+#f6:: ;;Just put a couple carriage returns in DragonPad²
ControlSend,,^+!0,ahk_class Notepad++
ControlSend,RichEdit20A1,`n`n,ahk_class TalkpadClass
ControlSend,RichEdit20A1,^{End},ahk_class TalkpadClass
Return
;-----------------------------------------------------
;-----------------------------------------------------
;Begins the commands proper
atty1:
;MsgBox, Command = Atty1
Gosub,ButtonBOOKMARK
FileAppend,[%Grier%|@%timez%@%ntime%@]`n%A_Tab%%A_Tab%%A_Tab%Atty.1:*.%A_Space%%A_Space%,%Mansarowar%
Return
atty2:
;MsgBox, Command = Atty2
Gosub,ButtonBOOKMARK
FileAppend,[%Grier%|@%timez%@%ntime%@]`n%A_Tab%%A_Tab%%A_Tab%Atty.2:*.%A_Space%%A_Space%,%Mansarowar%
Return
atty3:
;MsgBox, Command = Atty3
Gosub,ButtonBOOKMARK
FileAppend,[%Grier%|@%timez%@%ntime%@]`n%A_Tab%%A_Tab%%A_Tab%Atty.3:*.%A_Space%%A_Space%,%Mansarowar%
Return
atty4:
;MsgBox, Command = Atty4
Gosub,ButtonBOOKMARK
FileAppend,[%Grier%|@%timez%@%ntime%@]`n%A_Tab%%A_Tab%%A_Tab%Atty.4:*.%A_Space%%A_Space%,%Mansarowar%
Return
atty5:
;MsgBox, Command = Atty5
Gosub,ButtonBOOKMARK
FileAppend,[%Grier%|@%timez%@%ntime%@]`n%A_Tab%%A_Tab%%A_Tab%Atty.5:*.%A_Space%%A_Space%,%Mansarowar%
Return
atty6:
;MsgBox, Command = Atty6
Gosub,ButtonBOOKMARK
FileAppend,[%Grier%|@%timez%@%ntime%@]`n%A_Tab%%A_Tab%%A_Tab%Atty.6:*.%A_Space%%A_Space%,%Mansarowar%
Return
nookey: ;;q-tab
Gosub,ButtonBOOKMARK
FileAppend,[%Grier%|@%timez%@%ntime%@]`n%A_Tab%Q*.%A_Space% %A_Space%,%Mansarowar%
Return
Baby-Q:
Gosub,ButtonBOOKMARK
FileAppend,[%Grier%|@%timez%@%ntime%@]`n%A_Tab%Q*.%A_Space% %A_Space%,%Mansarowar%
Return
BBQ:
Gosub,ButtonBOOKMARK
FileAppend,[%Grier%|@%timez%@%ntime%@]`n%A_Tab%Q*.%A_Space% %A_Space%,%Mansarowar%
Return
cukey: ;;q-q-tab
Gosub,ButtonBOOKMARK
FileAppend,?%A_Space%%A_Space%[%Grier%|@%timez%@%ntime%@]`n%A_Tab%Q*.%A_Space% %A_Space%,%Mansarowar%
Return
dookie: ;;dash-q-tab
Gosub,ButtonBOOKMARK
FileAppend,%A_Space%--%A_Space%[%Grier%|@%timez%@%ntime%@]`n%A_Tab%Q*.%A_Space% %A_Space%,%Mansarowar%
Return
spooky: ;;dash-q-tab
Gosub,ButtonBOOKMARK
FileAppend,%A_Space%--%A_Space%[%Grier%|@%timez%@%ntime%@]`n%A_Tab%A*.%A_Space% %A_Space%,%Mansarowar%
Return
foofter: ;;a-tab
Gosub,ButtonBOOKMARK
FileAppend,%A_Space%[%Grier%|@%timez%@%ntime%@]`n%A_Tab%A*.%A_Space% %A_Space%,%Mansarowar%
Return
Baby-A: ;;A-tab
Gosub,ButtonBOOKMARK
FileAppend,%A_Space%[%Grier%|@%timez%@%ntime%@]`n%A_Tab%A*.%A_Space% %A_Space%,%Mansarowar%
Return
cufter: ;;q-a-tab
Gosub,ButtonBOOKMARK
FileAppend, ?%A_Space%%A_Space%[%Grier%|@%timez%@%ntime%@]`n%A_Tab%A*.%A_Space% %A_Space%,%Mansarowar%
Return
noofter: ;;p-a-tab
Gosub,ButtonBOOKMARK
FileAppend, . %A_Space%%A_Space%[%Grier%|@%timez%@%ntime%@]`n%A_Tab%A*.%A_Space% %A_Space%,%Mansarowar%
Return
doofter: ;;dash-a-tab
Gosub,ButtonBOOKMARK
FileAppend, ^%A_Space%--%A_Space%[%Grier%|@%timez%@%ntime%@]`n%A_Tab%A*.%A_Space% %A_Space%,%Mansarowar%
Return
boobie: ;;full-stop
FileAppend,.%A_Space% %A_Space%,%Mansarowar%
Return
booby: ;;full-stop
FileAppend,.%A_Space% %A_Space%,%Mansarowar%
Return
hizzoner: ;;the court
;Gosub,ButtonBOOKMARK
FileAppend,`n%A_Tab%%A_Tab%%A_Tab%THE COURT:*.%A_Space%%A_Space%,%Mansarowar%
Return
peekwa: ;;p-q-tab
Gosub,ButtonBOOKMARK
FileAppend,.%A_Space%%A_Space%[%Grier%|@%timez%@%ntime%@]`n%A_Tab%Q*.%A_Space% %A_Space%,%Mansarowar%
Return
Yes-em: ;;Q-A-tab - Yes - P-Q-Tab
Gosub,ButtonBOOKMARK
FileAppend,?%A_Space%%A_Space%[%Grier%|@%timez%@%ntime%@]`n%A_Tab%A*.%A_Space% %A_Space% Yes. `n%A_Tab%Q*.%A_Space%,%Mansarowar%
Return
okie-dokey: ;;P-A-tab - Okay - P-Q-Tab
Gosub,ButtonBOOKMARK
FileAppend,.%A_Space%%A_Space%[%Grier%|@%timez%@%ntime%@]`n%A_Tab%A*.%A_Space% %A_Space% Okay. `n%A_Tab%Q*.%A_Space%,%Mansarowar%
Return
yesirree-bob: ;;Q-A-tab - Yes - P-Q-Tab
Gosub,ButtonBOOKMARK
FileAppend,?%A_Space%%A_Space%[%Grier%|@%timez%@%ntime%@]`n%A_Tab%A*.%A_Space% %A_Space% Yes. `n%A_Tab%Q*.%A_Space%,%Mansarowar%
Return
yeah-yeah-yeah: ;;Q-A-tab - Yes -
Gosub,ButtonBOOKMARK
FileAppend,?%A_Space%%A_Space%[%Grier%|@%timez%@%ntime%@]`n%A_Tab%A*.%A_Space% %A_Space% Yes%A_Space%,%Mansarowar%
Return
nosirree-bob: ;;Q-A-tab - No - P-Q-Tab
Gosub,ButtonBOOKMARK
FileAppend,?%A_Space%%A_Space%[%Grier%|@%timez%@%ntime%@]`n%A_Tab%A*.%A_Space% %A_Space% No. `n%A_Tab%Q*.%A_Space%,%Mansarowar%
Return
no-no-no: ;;Q-A-tab - No -
Gosub,ButtonBOOKMARK
FileAppend,?%A_Space%%A_Space%[%Grier%|@%timez%@%ntime%@]`n%A_Tab%A*.%A_Space% %A_Space% No%A_Space%,%Mansarowar%
Return
noees: ;;Q-A-tab - No - P-Q-Tab
Gosub,ButtonBOOKMARK
FileAppend,?%A_Space%%A_Space%[%Grier%|@%timez%@%ntime%@]`n%A_Tab%A*.%A_Space% %A_Space% No. `n%A_Tab%Q*.%A_Space%,%Mansarowar%
Return
Yuppers: ;;Q-A-tab - Uh-huh - P-Q-Tab
Gosub,ButtonBOOKMARK
FileAppend,?%A_Space%%A_Space%[%Grier%|@%timez%@%ntime%@]`n%A_Tab%A*.%A_Space%%A_Space%uh-huh.%A_Space%%A_Space%`n%A_Tab%Q*.%A_Space%%A_Space%,%Mansarowar%
Return
p-q-k: ;;P-Q-Tab - Okay.
Gosub,ButtonBOOKMARK
FileAppend,.%A_Space%%A_Space%[%Grier%|@%timez%@%ntime%@]`n%A_Tab%Q*.%A_Space%%A_Space%Okay.,%Mansarowar%
Return
palooka: ;;P-Q-Tab - Uh-huh -- A-tab.
Gosub,ButtonBOOKMARK
FileAppend,.%A_Space%%A_Space%[%Grier%|@%timez%@%ntime%@]`n%A_Tab%Q*.%A_Space%%A_Space%Uh-huh? `n%A_Tab%A*.%A_Space%,%Mansarowar%
Return
By-Atty-1: ;;By Atty 1
Gosub,ButtonBOOKMARK
FileAppend,`n%A_Tab%%A_Tab%%A_Tab%[%Grier%|@%timez%@%ntime%@]%A_Space%BY *ATTY1:*`n%A_Tab%Q*.%A_Space%%A_Space%,%Mansarowar%
Return
By-Atty-2: ;;By Atty 2
Gosub,ButtonBOOKMARK
FileAppend,`n%A_Tab%%A_Tab%%A_Tab%[%Grier%|@%timez%@%ntime%@]%A_Space%BY *ATTY2:*`n%A_Tab%Q*.%A_Space%%A_Space%,%Mansarowar%
Return
By-Atty-3: ;;By Atty 3
Gosub,ButtonBOOKMARK
FileAppend,`n%A_Tab%%A_Tab%%A_Tab%[%Grier%|@%timez%@%ntime%@]%A_Space%BY *ATTY3:*`n%A_Tab%Q*.%A_Space%%A_Space%,%Mansarowar%
Return
By-Atty-4: ;;By Atty 4
Gosub,ButtonBOOKMARK
FileAppend,`n%A_Tab%%A_Tab%%A_Tab%[%Grier%|@%timez%@%ntime%@]%A_Space%BY *ATTY4:*`n%A_Tab%Q*.%A_Space%%A_Space%,%Mansarowar%
Return
by-Atty-5: ;;By Atty 5
Gosub,ButtonBOOKMARK
FileAppend,`n%A_Tab%%A_Tab%%A_Tab%[%Grier%|@%timez%@%ntime%@]%A_Space%BY *ATTY5:*`n%A_Tab%Q*.%A_Space%%A_Space%,%Mansarowar%
Return
By-Atty-6: ;;By Atty 6
Gosub,ButtonBOOKMARK
FileAppend,`n%A_Tab%%A_Tab%%A_Tab%[%Grier%|@%timez%@%ntime%@]%A_Space%BY *ATTY6:*`n%A_Tab%Q*.%A_Space%%A_Space%,%Mansarowar%
Return
semi-correct: ;;Semi-is that correct - Q-A-Tab
Gosub,ButtonBOOKMARK
FileAppend, `;is that correct?%A_Space%%A_Space%[%Grier%|@%timez%@%ntime%@]`n%A_Tab%A*.%A_Space% %A_Space%,%Mansarowar%
Return
semi-right: ;;Semi-is that right - Q-A-Tab
Gosub,ButtonBOOKMARK
FileAppend, `;is that right?%A_Space%%A_Space%[%Grier%|@%timez%@%ntime%@]`n%A_Tab%A*.%A_Space% %A_Space%,%Mansarowar%
Return
paren-un: ;;(unintelligible)
Gosub,ButtonQUERY
FileAppend,`(unintelligible|@%timez%@%ntime%@|`),%Mansarowar%
Return
****: ;;(unintelligible)
Gosub,ButtonQUERY
FileAppend,`(unintelligible|@%timez%@%ntime%@|`),%Mansarowar%
Return
P-P: ;;Period-Paragraph
;Gosub,ButtonBOOKMARK
FileAppend,.%A_Space%%A_Space%`n%A_Tab%,%Mansarowar%
Return
Bootie: ;;Period
;Gosub,ButtonBOOKMARK
FileAppend,.%A_Space%%A_Space%,%Mansarowar%
Return
Booty: ;;Period
;Gosub,ButtonBOOKMARK
FileAppend,.%A_Space%%A_Space%,%Mansarowar%
Return
Bootsie: ;;?
;Gosub,ButtonBOOKMARK
FileAppend,?%A_Space%%A_Space%,%Mansarowar%
Return
Bootsy: ;;?
;Gosub,ButtonBOOKMARK
FileAppend,?%A_Space%%A_Space%,%Mansarowar%
Return
token: ;;@@TOKEN@@
Gosub,ButtonQUERY
FileAppend,`@``@TOKEN|@%timez%@%ntime%@|``@`@%A_Space%%A_Space%,%Mansarowar%
Return
fancy-dancey: ;;Dash-A-Tab
Gosub,ButtonBOOKMARK
FileAppend,--%A_Space%%A_Space%[%Grier%|@%timez%@%ntime%@]`n%A_Tab%A*.%A_Space% %A_Space%,%Mansarowar%
Return
Dancy: ;;Dash-A-Tab
Gosub,ButtonBOOKMARK
FileAppend,--%A_Space%%A_Space%[%Grier%|@%timez%@%ntime%@]`n%A_Tab%A*.%A_Space% %A_Space%,%Mansarowar%
Return
DQ: ;;Dash-Q-Tab
Gosub,ButtonBOOKMARK
FileAppend,--%A_Space%%A_Space%[%Grier%|@%timez%@%ntime%@]`n%A_Tab%Q*.%A_Space% %A_Space%,%Mansarowar%
Return
Twa: ;;THE WITNESS:*.
Gosub,ButtonBOOKMARK
FileAppend,--%A_Space%%A_Space%[%Grier%|@%timez%@%ntime%@]`n%A_Tab%THE%A_Space%WITNESS*.%A_Space% %A_Space%,%Mansarowar%
Return
lazy-Jim:
FileAppend,ladies and gentlemen of the jury,%Mansarowar%
Return
Yeah-baby:
Gosub,ButtonBOOKMARK
FileAppend,?%A_Space%%A_Space%[%Grier%|@%timez%@%ntime%@]`n%A_Tab%Q*.%A_Space% %A_Space%Uh-huh?`n%A_Tab% %A_Tab% A*.%A_Space%,%Mansarowar%
Return
mama:
FileAppend,uh-huh.,%Mansarowar%
Return
;=== The killswitch shortcut (Ctrl-Alt-Win-Backspace)
^!#Backspace::Reload
;-----------------------------------------------------
;-----------------------------------------------------
;This is the stopwatch
StartStop:
GuiControlGet, StartStop
If ( StartStop = "Start" )
{
GuiControl,, StartStop, Stop
SetTimer, Count,990
}
Else
{
GuiControl,, StartStop, Start
SetTimer, Count, Off
GuiControl,, PauseResume, Pause
DateTimeStamp = 20061103000000
}
Return
PauseResume:
GuiControlGet, StartStop
If ( StartStop = "Start" )
Return
GuiControlGet, PauseResume
If ( PauseResume = "Pause" )
{
GuiControl,, PauseResume, Resume
SetTimer, Count, OFF
}
Else
{
GuiControl,, PauseResume, Pause
SetTimer, Count, 990
}
Return
Reset:
;sGuiControl,, Static1, 00:00:00
Gui,Show,, DragonPad² -- 00:00:00 -- %Timez%
DateTimeStamp = 20061103000000
Return
Count:
DateTimeStamp += 1, Seconds
FormatTime, nTime, %DateTimeStamp%, HH:mm:ss
;GuiControlGet, Static1
If ( nDoze <> nTime ) ; Update the control only when needed
{
Gui,Show,NoActivate, DragonPad² -- %nTime% -- %Timez%
;GuiControl,, Static1, %nTime% ; this avoids flicker
}
nDoze := nTime
Return
update_clock:
FormatTime, timez,, HH:mm:ss
;Gui,Show,, DragonPad² -- %nTime% -- %Timez%
;ControlSetText, Static2,%timez%,DragonPad²
Return
; The updateclock function is courtesy of SKAN -- ONCE AGAIN!
;-----------------------------------------------------
Big_Go:
IfWinNotExist,ahk_class TotalRecorderWndClass
{
Run,"D:\Program Files\HighCriteria\TotalRecorder\TotalRecorder.exe"
WinWaitActive,ahk_class TotalRecorderWndClass
}
MsgBox,Make Sure Dragon is in Dictation Mode.`nTR in Append Mode and sound image is visible`npedal plugged in`ncommandlist ready for reference`nGet comfy`nMake sure Textpad window is open to %Mansarowar%`nOpen Dragonpad!
Send, ^{f12}
WinActivate, ahk_class Notepad++
WinActivate, ahk_class TalkpadClass
Sleep,24
ControlClick,Button1,DragonPad²
ControlClick,Button20,ahk_class TotalRecorderWndClass
Return
;-----------------------------------------------------
Scrolllock:: ;;Winactivates DragonPad
WinActivate, ahk_class Notepad++
WinActivate, ahk_class TalkpadClass
ControlClick,Button3,ahk_class DgnBarMainWindowCls
ControlSend,,d,ahk_class DgnBarMainWindowCls
Return
;-----------------------------------------------------
ButtonSpell:
;^#!s:: ;;send Dragon into Spell Mode
;WinActivate,ahk_class DgnBarMainWindowCls
ControlClick,Button3,ahk_class DgnBarMainWindowCls
ControlSend,,s,ahk_class DgnBarMainWindowCls
WinActivate, DragonPad²
ControlClick,Edit1,DragonPad²
ControlSend,Edit1,^{End},DragonPad²
Return
ButtonNum:
;^#!n:: ;;send Dragon into Numbers Mode
;WinActivate,ahk_class DgnBarMainWindowCls
ControlClick,Button3,ahk_class DgnBarMainWindowCls
ControlSend,,u,ahk_class DgnBarMainWindowCls
WinActivate, DragonPad²
ControlClick,Edit1,DragonPad²
ControlSend,Edit1,^{End},DragonPad²
Return
ButtonDict:
;^#!d:: ;;send Dragon into Dictation Mode
;WinActivate,ahk_class DgnBarMainWindowCls
ControlClick,Button3,ahk_class DgnBarMainWindowCls
ControlSend,,d,ahk_class DgnBarMainWindowCls
WinActivate, DragonPad²
ControlClick,Edit1,DragonPad²
ControlSend,Edit1,^{End},DragonPad²
Return
PigBodine: ;This places all the windows for my workspace
^+#p::
WinGetPos,Zipi,Ditzah,Benny,Pig,DragonBar
SysGet,Gregory,61
SysGet,Peckory,62
;MsgBox,%Gregory% -- %Peckory%
Beer := Peckory
EnvDiv,Beer,3
;MsgBox,%Beer% `/ %Peckory%
Pig++
;MsgBox,Pig = %Pig%
WinMove,ahk_class TalkpadClass,,0,%Pig%,%Gregory%,%Beer%
WinActivate,ahk_class TalkpadClass
Beer++
Dashiel := ( Beer + Pig )
;MsgBox,%Dashiel%
Bodine := ( Peckory - Dashiel )
;MsgBox,Bodine = %Bodine%
WinMove,ahk_class Notepad++
,,0,%Dashiel%,%Gregory%,%Bodine%
WinActivate,DragonPad²
Return
^+#!g:: ;;This is a command that performs some common corrections such as in this case removing any spaces before periods or question marks from the file in npp. You can add any others.
FileRead,Nuzzle,%Mansarowar%
StringReplace,Nuzzle,Nuzzle,%A_Space%?,?,All ;Eliminates spaces before question marks
StringReplace,Nuzzle,Nuzzle,%A_Space%.,.,All ;Eliminates spaces before periods
StringReplace,Nuzzle,Nuzzle,%A_Space%`r`n,`r`n,All ;Eliminates spaces at end of lines
StringReplace,Nuzzle,Nuzzle,`r`n`r`n,`r`n,All ;Eliminates blank lines, one hopes
StringReplace,Nuzzle,Nuzzle,`*.,%A_Tab%,All ;Replaces the "*." with a tab
FileDelete,%Mansarowar%
FileAppend,%Nuzzle%,%Mansarowar%
ControlSend,,^+2,ahk_class Notepad++
ControlSend,,^+!0,ahk_class Notepad++
Return
^#+t::
IfWinNotActive,ahk_class Notepad++
{
WinActivate,ahk_class Notepad++
ControlSend,,^!+0,ahk_class Notepad++
}
Else,
{
WinActivate,DragonPad²
ControlSend,RichEdit20A1,^{End},ahk_class TalkpadClass
}
Return
^+!#s:: ;;This deletes all timestamps
FileRead,Nuzzle, %Mansarowar%
Mutter := RegExReplace(Nuzzle,"\[.*?\]","")
FileDelete,%Mansarowar%
FileAppend,%Mutter%,%Mansarowar%
ControlSend,,^+2,ahk_class Notepad++
ControlSend,,^+!0,ahk_class Notepad++
Return
^+#!d:: ;; Send Mansarowar to WP one key at a time
IfWinExist,ahk_class WordPerfect.12.00
{
WinActivate,ahk_class WordPerfect.12.00
ControlSend,WPDocClient1,^{End},WordPerfect
Sleep,100
FileRead,Nuzzle,*t %Mansarowar%
ControlSend,WPDocClient1,%Nuzzle%,WordPerfect
}
Return
;-----------------------------------------------------
;-----------------------------------------------------
;Here begins the new TRC script:
ButtonQuery:
Rosie++
ControlGetText,Timex,Static8,ahk_class TotalRecorderWndClass
FormatTime, timey,, HH:mm:ss
FileAppend, `nM%Rosie% - %Timex% -- %timey% -- QUERY,%Film%
M%Rosie% := Timex
Pinky = %Rosie%
Return
ButtonBOOKMARK:
Rosie++
ControlGetText,Timex,Static8,ahk_class TotalRecorderWndClass
FormatTime, timey,, HH:mm:ss
FileAppend, `nM%Rosie% - %Timex% -- %timey%,%Film%
M%Rosie% := Timex
Pinky = %Rosie%
Return
ButtonRecord:
Rosie++
ControlGetText,Timex,Static8,ahk_class TotalRecorderWndClass
M%Rosie% := Timex
ControlClick,Button20,ahk_class TotalRecorderWndClass
WinClose,%Film% - Notepad
FileAppend, `nM%Rosie% - %Timex%,%Film%
Pinky = %Rosie%
Return
ButtonGoto_play:
Gosub, Backup
Sleep,30
ControlClick,Button16,ahk_class TotalRecorderWndClass
Return
ButtonGoto:
Gosub, Backup
Return
Backup:
Pinky--
Mnn := M%Pinky%
ControlClick,Button19,ahk_class TotalRecorderWndClass
ControlClick,ToolBarWindow324,ahk_class TotalRecorderWndClass
WinWaitActive,Jump to time
ControlSetText,Edit1,%Mnn%,Jump to time
ControlClick,Button3,Jump to time
Sleep,30
If Pinky < 1
{
Msgbox,,2,Out of bookmarks!,.5
Pinky = %Rosie%
}
Return
JumpBox:
ControlClick,ToolBarWindow324,ahk_class TotalRecorderWndClass
Return
ButtonBookmark_list:
IfWinNotExist,%Film% - Notepad
{
Run Notepad %Film%
WinWaitActive,%Film% - Notepad
ControlSend,,^{End},%Film% - Notepad
Return
}
Else
WinKill, %Film% - Notepad
Return
ButtonResume:
nn = 1
ControlClick,Button14,ahk_class TotalRecorderWndClass
Sleep,40
ControlClick,Button20,ahk_class TotalRecorderWndClass
Return
^#c:: ;;This sends highlighted text to the TR jumpbox and presses OK
Send,^c
Bubba := Clipboard
Sleep,300
ControlClick,ToolBarWindow324,ahk_class TotalRecorderWndClass
WinWaitActive,Jump to time
ControlSetText,Edit1,%Bubba%,Jump to time
ControlClick,Button3,Jump to time
Return
ButtonPauserecord:
ControlClick,Button18,ahk_class TotalRecorderWndClass
Return