Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
Taran's Premiere Mods!
; Accelerated Scrolling
; V1.3
; By BoffinbraiN
; His .exe was SKETCHY so here is just the bare .ahk code.
; This is by far the most useful script of them all. It works PERFECTLY, 100% of the time, and is useful in ALL applications.
; https://www.youtube.com/watch?v=OobKVPojFmg
; ORIGINAL: https://autohotkey.com/board/topic/48426-accelerated-scrolling-script/
#NoEnv
;#NoTrayIcon
#SingleInstance
#MaxHotkeysPerInterval 120
Process, Priority, , H
SendMode Input
#SingleInstance force
; Show scroll velocity as a tooltip while scrolling. 1 or 0.
tooltips := 0
; The length of a scrolling session.
; Keep scrolling within this time to accumulate boost.
; Default: 500. Recommended between 400 and 1000.
timeout := 600
; If you scroll a long distance in one session, apply additional boost factor.
; The higher the value, the longer it takes to activate, and the slower it accumulates.
; Set to zero to disable completely. Default: 30.
boost := 60
; Spamming applications with hundreds of individual scroll events can slow them down.
; This sets the maximum number of scrolls sent per click, i.e. max velocity. Default: 60.
limit := 60
; Runtime variables. Do not modify.
distance := 0
vmax := 1
; Key bindings
WheelUp:: Goto Scroll
WheelDown:: Goto Scroll
#WheelUp:: Suspend
#WheelDown:: Goto Quit
Scroll:
t := A_TimeSincePriorHotkey
if (A_PriorHotkey = A_ThisHotkey && t < timeout)
{
; Remember how many times we've scrolled in the current direction
distance++
; Calculate acceleration factor using a 1/x curve
v := (t < 80 && t > 1) ? (250.0 / t) - 1 : 1
; Apply boost
if (boost > 1 && distance > boost)
{
; Hold onto the highest speed we've achieved during this boost
if (v > vmax)
vmax := v
else
v := vmax
v *= distance / boost
}
; Validate
v := (v > 1) ? ((v > limit) ? limit : Floor(v)) : 1
if (v > 1 && tooltips)
QuickToolTip("×"v, timeout)
MouseClick, %A_ThisHotkey%, , , v
}
else
{
; Combo broken, so reset session variables
distance := 0
vmax := 1
MouseClick %A_ThisHotkey%
}
return
Quit:
QuickToolTip("Exiting Accelerated Scrolling...", 1000)
Sleep 1000
ExitApp
QuickToolTip(text, delay)
{
ToolTip, %text%
SetTimer ToolTipOff, %delay%
return
ToolTipOff:
SetTimer ToolTipOff, Off
ToolTip
return
}
#NoEnv ; Recommended for performance and compatibility with future AutoHotkey releases.
; #Warn ; Enable warnings to assist with detecting common errors.
SendMode Input ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir% ; Ensures a consistent starting directory.
;The ABOVE CODE ^^^ was automaticlaly generated when I made a new .ahk document. I don't know how essential it is.
; VIDEO EXPLANATION: https://www.youtube.com/watch?v=eZIaBsybO6Y
#SingleInstance force ;only one instance of this script may run at a time!
#IfWinActive ahk_exe Adobe Premiere Pro.exe
;---EVERYTHING BELOW THIS LINE WILL ONLY WORK INSIDE PREMIERE PRO!
;<fake mouse "click" on effects panel search bar >
;I don't use this one anymore:
;control alt f
^!f::
ControlFocus, Edit1, ahk_class Premiere Pro
Sleep, 10
return
;<<<<>>>>
;THIS IS THE FUNCTION FOR TYPING STUFF INTO THE SEARCH BAR
;but it doesn't apply them to the clips
effectsPanelType(item)
{
SetKeyDelay, 0
ControlFocus, Edit1, ahk_class Premiere Pro ;this is the effects panel, according to windowspy
sleep 10
send {tab}
sleep 10
send +{tab}
sleep 10
Send +{backspace}
;Sleep, 10
Send %item%
;now this next part re-selects the field in case you want to type anything different
sleep 5
send {tab}
sleep 5
send +{tab}
}
;USING THE FUNCTION:
^!+f::effectsPanelType("") ;-------Types nothing in. So it CLEARS the effects panel search bar
^!+p::effectsPanelType("presets")
^!+w::effectsPanelType("warp")
mButton::effectsPanelType("presets") ; this is super useful. Using the scroll wheel click as an assignable button...
;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
;;;;;;;;;;;;;;;FUNCTION FOR DIRECTLY APPLYING A PRESET EFFECT TO A CLIP!;;;;;;;;;;;;;;;;;;;;
;This is the one I actually use!!
preset(item)
{
BlockInput, SendAndMouse
BlockInput, On
;Send ^!+`
;Sleep 10
;Send ^!+7
;Sleep 10
SetKeyDelay, 0
MouseGetPos, xpos, ypos ;-----------------------stores the cursor's current coordinates at X%xpos% Y%ypos%
ControlGetPos, X, Y, Width, Height, Edit1, ahk_class Premiere Pro ;;;highlights Premier's effects panel search bar (info gotten from window spy)
MouseMove, X+Width+10, Y+Height/2, 0
sleep 5
MouseClick, left, , , 1 ;------------------------clicks on X
MouseMove, X-25, Y+10, 0
sleep 5
; MouseClick, left, , , 1 ;----------------------clicks on Q icon to prepare for deletion
; sleep 5
; Send +{backspace} ;----------------------------deletes shit
; sleep 5
MouseClick, left, , , 1
sleep 5
Send %item%
sleep 30
MouseMove, 52, 65, 0, R ;-----------------------moves cursor down and directly onto the effect's icon
MouseGetPos, iconX, iconY
ControlGetPos, , , www, hhh, DroverLord - Window Class10, ahk_class Premiere Pro
MouseMove, www/3, hhh/2, 0, R ;-----------------clicks in about the CENTER of the Effects panel. This clears the displayed presets from any duplication errors
MouseClick, left, , , 1
; msgbox hi bitch
sleep 10
MouseMove, iconX, iconY, 0 ;--------------------moves cursor BACK onto the effect's icon
sleep 35
MouseClickDrag, Left, , , %xpos%, %ypos%, 0 ;---drags this effect to the cursor's pervious coordinates, which should be above a clip.
sleep 10
;Send ^+!0 ;-------------------------------------returns focus to the timeline. doesn't work for multiple timelines :(
MouseClick, left, , , 1 ;------------------------returns focus to the timeline.
BlockInput, off
}
;That's the end of the function. Now we make shortcuts to CALL that function, each with a different parameter!
;All of these refer to presets I have already created and named in Premiere
;note that using ALT for these is kind of stupid... they can interfere with menus.
;ALT C, for example, will always open the CLIP menu. So I can't use that anywhere.
!p::preset("crop")
!u::preset("blur 25")
^h::preset("Lumetri Color BLANK")
^g::preset("Lumetri shadows up")
^b::preset("Lumetri BRIGHT")
!r::preset("fill right")
!l::preset("2.4 limiter")
!]::preset("DeHummer Preset")
^!w::preset("Warp Stabilizer Preset")
;using transform effect presets
^+down::preset("pan down")
^+up::preset("pan up")
^+left::preset("pan left")
^+right::preset("pan right")
;;---I have assigned most of these to my macro keys on my keyboard, so it's just ONE KEYSTROKE to apply them!
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
#IfWinActive
#SingleInstance force
#IfWinActive ahk_exe Adobe Premiere Pro.exe
;-------------------------------------------------------------------------------------------------------------------------------
; In autohotkey, the following special characters (usually) represent modifier keys:
; # is windows
; ^ is control
; ! is alt
; + shift
; list of other keys: http://www.autohotkey.com/docs/Hotkeys.htm
;RELEVANT SHORTCUTS I HAVE ASSIGNED IN PREMIERE
; u select clip at playhead
; ctrl alt shift d ripple delete
; backspace ripple delete --- but I don't use that in AutoHotKey because it's dangerous
; ctrl r speed/duration panel
; ctrl 1 toggle track targeting for AUDIO LAYER 1
; ctrl 2 toggle track targeting for AUDIO LAYER 2. And so on up to 8.
; 1 toggle track targeting for VIDEO LAYER 1
; 2 toggle track targeting for VIDEO LAYER 2. And so on up to 8.
; Be aware that sometimes other programs like PUUSH can overlap with your customized shortcuts.
;-------------------------------------------------------------------------------------------------------------------------------
;define timeline possible colors on taran rig
timeline1 = 0x2c2c2c
timeline2 = 0x252525
timeline3 = 0x4c4c4c
timeline4 = 0x212121
timeline5 = 0xd3d3d3
timeline6 = nevermind ; 0x2a2a2a ;top of timeline
Tippy(tipsHere, wait:=333) ;will create and then delete a tooltip
{
ToolTip, %tipsHere%
SetTimer, noTip, %wait% ;--in 1/3 seconds by default, remove the tooltip
}
noTip:
ToolTip,
;removes the tooltip
return
#IfWinActive ahk_exe Adobe Premiere Pro.exe ;exact name was gotten from windowspy
;---------------------EVERYTHING BELOW THIS LINE WILL ONLY WORK INSIDE PREMIERE PRO!------------------------------------
;F1 - ripple delete clip (or blank) at playhead - requires target tracking to be ON!!
F1::Send u^+!d ;I use this one ALL THE TIME.
; control shift r = reverse selected clip
^+r::
Send ^r{tab}{tab}{space}{enter}
return
;these are commented out because i don't use them anymore:
; control g = make 200% speed
;^g::
;Send ^r200{Enter}
;return
; control h = make 50% speed
;^h::
;Send ^r50{Enter}
;return
;<<<use right mouse button to move playhead in timeline>>>>>>
~Rbutton::
MouseGetPos X, Y
PixelGetColor colorr, %X%, %Y%, RGB
;Tooltip, not working, colors are different
if (colorr = timeline1 || colorr = timeline2 || colorr = timeline3 || colorr = timeline4 || colorr = timeline5 || colorr = timeline6)
{
; tooltip, %colorr%
while GetKeyState("Rbutton")
{
Send z
Tooltip, Timeline!
sleep 16
}
Tooltip,
Send {escape} ;in case you end up inside the "delete" right click menu from the timeline
;MouseClick, left
}
Return ; from right click intercept
;<<<<<<<<< Apply any transition to a clip -- sadly you cannot use this to SAVE a CUSTOM transition >>>>>>>>>>>
;(A clip or clips must be selected first.)
transition(name, xx:=70, yy:=245)
{
Tippy(name " transition", 600)
SetKeyDelay, 0
MouseGetPos, xpos, ypos
BlockInput, on
BlockInput, MouseMove ;----------------Prevents the user from interfering with the operation.
ControlGetPos, X, Y, Width, Height, Edit1, ahk_class Premiere Pro
MouseMove, X-25, Y+10, 0 ;-------------moves the cursor directly on top of the magnifying glass icon -- your coordinates will vary!
sleep 10 ;-----------------------------does nothing for 10 milliseconds. I like to ensure that the previous command has had a bit of time
MouseClick, left, , , 1 ;--------------clicks the left mouse button once. This should select the search bar AND the text inside!
sleep 10
Send +{backspace} ;--------------------shift backspace is less destructive than regular backspace, and still deletes text!
sleep 10
Send %name%
;msgbox, should have typed stuff in
sleep 10
MouseMove, %xx%, %yy%, 0, R ;---moves down to the transition's icon. Your pixel count will be different!
sleep 10
;msgbox, should be on top of the transition
MouseClick, right
Send {down} ;--------------------------selects "set selected as default transition"
Send {enter}
Send ^t ;------------------------------CTRL T is my Premiere shortcut for "apply default transition to selection"
sleep 10
MouseMove, %xpos%, %ypos%, 0
BlockInput, off
BlockInput, MouseMoveOff ;-------------returns mouse control
}
;Using the code:
F7::transition("impact flash", 70, 245) ;-----the search result will not always be in the same location. This can modify coordinates.
;F8::transition("dip to black")
;F9::transition("push", 0, 0)
;F10::transition("cross zoom", 0, 0)
#IfWinActive
;--------------------------------------------------------------------------------------------------------------------------
;THESE ARE JUST NOTES FOR MYSELF--- IGNORE THEM PLZ
;ControlGetPos [, X, Y, Width, Height, Control, WinTitle, WinText, ExcludeTitle, ExcludeText]
;ControlGetPos, x, y, w, h, %classNN%, ahk_class %ahk_class%, DroverLord - TabPanel Window, 0, 0
;effectControls:
;ControlGetPos, X, Y, Width, Height, DroverLord - Window Class2, ahk_class Premiere Pro, DroverLord - TabPanel Window
;Control ==== classNN ======= DroverLord - Window Class2
;WinTitle === ahk_class ======= ahk_class Premiere Pro
;WinText ==== Text: ======= DroverLord - TabPanel Window
;Effects:
;ControlGetPos, X, Y, Width, Height, Edit1, ahk_class Premiere Pro
;Control ==== classNN ======= edit 1 ///// or alternatively, the whole panel is: DroverLord - Window Class10... sometimes
;WinTitle === ahk_class ======= ahk_class Premiere Pro
;WinText ==== Text: ======= DroverLord - TabPanel Window
;BIN:
;Control ==== classNN ======= DroverLord - Window Class2
;WinTitle === ahk_class ======= DroverLord - Window Class
;WinText ==== Text: ======= DroverLord - TabPanel Window
;Bin search bar:
;ControlGetPos, X, Y, Width, Height, Edit4, ahk_class DroverLord - Window Class
;Control ==== classNN ======= Edit1
;WinTitle === ahk_class ======= DroverLord - Window Class
;WinText ==== Text: ======= [blank]
#SingleInstance force
; VIDEO WITH EXPLANATION: https://www.youtube.com/watch?v=eZIaBsybO6Y
Tippy(tipsHere, wait:=333)
{
ToolTip, %tipsHere%
SetTimer, noTip, %wait% ;--in 1/3 seconds by default, remove the tooltip
}
noTip:
ToolTip,
;removes the tooltip
return
#IfWinActive ahk_exe Adobe Premiere Pro.exe
;EFFECT CONTROLS PANEL ---TRANSFORM ICON CLICKER
F5::
Tippy("transform icon - F5")
BlockInput, On
SetKeyDelay, 0
MouseGetPos, xpos, ypos
ControlGetPos, X, Y, Width, Height, DroverLord - Window Class2, ahk_class Premiere Pro, DroverLord - TabPanel Window
X := X+85
Y := Y+100
MouseMove, X, Y, 0
MouseClick, left
MouseMove, %xpos%, %ypos%, 0
BlockInput, Off
Return
;EFFECT CONTROLS PANEL --- MOTION EFFECT TRIANGLE UNFURL CLICKER;
;it's not intelligent though. it will only toggle.
;need to somehow combine this with the intelligent functionality below.
;watch the associated video for more information!
; https://youtu.be/L05KRribWt0
F4::
Tippy("triangle unfurl - F4")
BlockInput, on
BlockInput, MouseMove
SetKeyDelay, 0
MouseGetPos, xpos, ypos
ControlGetPos, X, Y, Width, Height, DroverLord - Window Class2, ahk_class Premiere Pro, DroverLord - TabPanel Window
MouseMove, X+20, Y+94, 0
MouseClick
;MouseMove, %xpos%, %ypos%, 0
BlockInput, off
BlockInput, MouseMoveOff
Return
; SINGLE KEYSTROKE SCALING FUNCTION
;--------------------------------------------------------------------------------
; You have to HOLD DOWN scaleKey the entire time. no need to click and hold the mouse button, it is done for you
; Only works if your UI is a VERY PARTICULAR SHADE OF GRAY - so those values are different for everyone, unfortunately
resetFromAutoScale()
{
MouseMove, Xbegin, Ybegin, 0
blockinput, off
blockinput, MouseMoveOff
ToolTip, , , , 2
SetTimer, noTip, 333
}
clickTransformIcon()
{
ControlGetPos, Xcorner, Ycorner, Width, Height, DroverLord - Window Class2, ahk_class Premiere Pro
MouseMove, Xcorner+85, Ycorner+100, 0
MouseClick, left
}
F6::
global scaleKey = "F6"
dontrestart = 0
restartPoint:
blockinput, sendandMouse
blockinput, MouseMove
blockinput, on
ToolTip, A, , , 2
MouseGetPos Xbegin, Ybegin
global Xbegin = Xbegin
global Ybegin = Ybegin
; MsgBox, "please verify that the mouse cannot move"
; sleep 2000
ControlGetPos, Xcorner, Ycorner, Width, Height, DroverLord - Window Class2, ahk_class Premiere Pro ;effect controls panel
;move mouse to expected triangle location. this is a VERY SPECIFIC PIXEL which will be right on the EDGE of the triangle when it is OPEN.
;This takes advantage of the anti-aliasing between the color of the triangle, and that of the background behind it.
YY := Ycorner+96
XX := Xcorner+15
MouseMove, XX, YY, 0
sleep 10
PixelGetColor, colorr, XX, YY
if (colorr = "0xDDDDDD")
{
tooltip, color %colorr% means closed triangle-will click and then SCALE SEARCH
blockinput, Mouse
Click XX, YY
sleep 5
clickTransformIcon()
findScale()
Return
}
else if (colorr = "0xADADAD" || colorr = "0xACACAC") ;again, this values will be different for everyone. check with window spy. This needs to lie on the edge of the trangle when it is open.
{
tooltip, %colorr% means OPENED triangle. SEARCHING FOR SCALE
blockinput, Mouse
sleep 5
clickTransformIcon()
findScale()
Return
}
else if (colorr = "0x313131")
{
;tooltip, this is a normal panel color of 313131 or %colorr%
Send ^p ;--- i have CTRL P set up to toggle "selection follows playhead," which I never use otherwise. ;this makes it so that only the TOP clip is selected.
sleep 10
Send ^p ;this disables "selection follows playehad." I don't know if there is a way to CHECK if it is on or not.
resetFromAutoScale()
;play noise
If (dontrestart = 0)
{
dontrestart = 1
goto, restartPoint ;this is stupid but it works. Feel free to improve any of my code; I know it's garbage.
}
Return
}
else
{
tooltip, %colorr% not expected
;play noise
resetFromAutoScale()
Return
}
Return ;from autoscaler
findScale() ; searches for the "scale" text inside of the Motion effect. requires an actual image.
{
tooltip,
;msgbox, now we are in findScale
sleep 5
MouseGetPos xPos, yPos
CoordMode Pixel ; Interprets the coordinates below as relative to the screen rather than the active window.
ImageSearch, FoundX, FoundY, xPos-70, yPos, xPos+800, yPos+500, C:\Users\TaranVanHemert\Desktop\AHK\scale.png
if ErrorLevel = 2
{
tippy(Could not conduct the search)
resetFromAutoScale()
}
else if ErrorLevel = 1
{
;msgbox, error level 1
tippy(Icon could not be found on the screen)
resetFromAutoScale()
}
else
{
;tooltip, The icon was found at %FoundX%x%FoundY%.
;msgbox, The icon was found at %FoundX%x%FoundY%.
MouseMove, FoundX, FoundY, 0
sleep 5
findHotText()
}
}
findHotText()
{
tooltip, ; removes any tooltips that might be in the way of the searcher.
; https://www.autohotkey.com/docs/commands/PixelSearch.htm
CoordMode Pixel
MouseGetPos, xxx, yyy
PixelSearch, Px, Py, xxx+50, yyy+10, xxx+500, yyy+11, 0x35A1A8, 25, Fast RGB
if ErrorLevel
{
tooltip,"colorNotFound")
resetFromAutoScale()
}
else
{
;tooltip, A color within 25 shades of variation was found at X%Px% Y%Py%
;MsgBox, A color within 25 shades of variation was found at X%Px% Y%Py%.
MouseMove, Px+10, Py+5, 0
Click down left
Loop
{
blockinput, off
blockinput, MouseMoveOff
tooltip, "hot text" %scaleKey%
sleep 15
GetKeyState, state, %scaleKey%, P
if state = U
{
Click up left
tooltip, "%scaleKey% is now physically UP so we are exiting now"
sleep 5
resetFromAutoScale()
; MouseMove, Xbegin, Ybegin, 0
; tooltip,
; ToolTip, , , , 2
; blockinput, off
; blockinput, MouseMoveOff
Return
}
}
}
}
;;;--------------------------------------------------------------------------------------------
; code to locate an invisible cursor
; F7::tooltip, cursor(F7), , ,3
; F7 Up::tooltip, , , ,3
#IfWinActive ; PREMIERE END
#NoEnv ; Recommended for performance and compatibility with future AutoHotkey releases.
; #Warn ; Enable warnings to assist with detecting common errors.
SendMode Input ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir% ; Ensures a consistent starting directory.
#SingleInstance force
;you definitely need to watch the associated video to understand this one!
; https://youtu.be/L05KRribWt0
#IfWinActive ahk_exe Adobe Premiere Pro.exe
transX1 = 393
transY1 = 86
transX2 = 319
transY2 = 129
transX3 = 477
transY3 = 126
transX4 = 384
transY4 = 165
transX5 = 386
transY5 = 202
transX6 = 332
transY6 = 243
transX7 = 506
transY7 = 237
transX8 = 399
transY8 = 277
transX9 = 0
transY9 = 0
;end of impact pushes
;begin cross dissolve
transX10 = 696
transY10 = 204
transX11 = 882
transY11 = 204
transX12 = 1145
transY12 = 202
;begin impact flash
transX13 = 687
transY13 = 238
transX14 = 884
transY14 = 240
transX15 = 1138
transY15 = 241
;dip to black
transX16 = 811
transY16 = 280
;dip to white
transX17 = 1170
transY17 = 275
transX18 = 2
transY18 = 2
transX19 = 3
transY19 = 2
;wipe left up
transX20 = 1431
transY20 = 201
;wipe up
transX21 = 1575
transY21 = 198
;wipe right up
transX22 = 1713
transY22 = 202
transX23 = 1436
transY23 = 239
transX24 = 1721
transY24 = 240
transX25 = 1428
transY25 = 274
transX26 = 1583
transY26 = 278
transX27 = 1723
transY27 = 276
transX28 = 2063
transY28 = 237
transX29 = 2385
transY29 = 244
Tippy(tipsHere, wait:=333)
{
ToolTip, %tipsHere%
SetTimer, noTip, %wait% ;--in 1/3 seconds by default, remove the tooltip
}
noTip:
ToolTip,
;removes the tooltip
return
#v::
Tippy("WIN V saveTransition")
saveTransition()
Return ; from (test of recall transition from monitor 3)
saveTransition() ;#v
{
;CoordMode, Mouse, Screen
CoordMode, Mouse, Window
BlockInput, SendAndMouse
BlockInput, On
BlockInput, MouseMove
SetKeyDelay, 0
MouseGetPos, xpos, ypos ;-----------------------stores the cursor's current coordinates at X%xpos% Y%ypos%
;MouseMove, 7500, 3400, 0
;mouseClick, Left ; selects this particular timeline
;msgbox, moved to screen 3
ControlGetPos, X, Y, Width, Height, DroverLord - Window Class23, ahk_class DroverLord - Window Class
MouseMove, X, Y, 0
n = 1
loop
{
;moreLooping:
MouseGetPos, xNew, yNew
; Xshow := %X%-%xNew%
; Yshow := %Y%-%yNew%
Xshow := X+xNew
Yshow := Y+yNew
Tooltip %Xshow%`, %Yshow%`, n=%n%
sleep 20
BlockInput, Off
BlockInput, MouseMoveOff
If GetKeyState("Lbutton")
{
Fileappend,
(
transX%n% = %Xshow%
transY%n% = %Yshow%
), C:\Users\TaranVanHemert\Desktop\AHK\transitionCoordinates.txt
n := n+1
KeyWait, LButton, U
;Goto, moreLooping
}
If GetKeyState("Rbutton")
{
Break
BlockInput, off
BlockInput, MouseMoveOff
}
}
}
; CoordMode, Mouse, Screen
; SetTimer, Check, 20
; return
; Check:
; MouseGetPos, xx, yy
; Tooltip %xx%`, %yy%
; return
recallTransition(n:=0)
{
CoordMode, Mouse, Screen
BlockInput, SendAndMouse
BlockInput, On
BlockInput, MouseMove
;msgbox, "now in recallTransition()"
SetKeyDelay, 0
MouseGetPos, xpos, ypos ;-----------------------stores the cursor's current coordinates at X%xpos% Y%ypos%
MouseMove, 7500, 3400, 0 ; moves onto monitor 3
sleep 30
mouseClick
sleep 100
send ^+d ;deselect
sleep 30
;msgbox, moved to screen 3
CoordMode, Mouse, Window
MouseGetPos, , , Window, classNN ; I need to ASK the mouse cursor that the Class number is of the window it's on. It changes a lot.
;<<<<<delete all this>>>>>>>>>>>>>>>>>
;WinGetClass, class, ahk_id %Window% ;----"ahk_id %Window%" is important for SOME REASON. if you delete it, this doesnt work.
;;;;WinGetClass, ahk_classs, A
;;ToolTip, ahk_class = %class% `nClassNN = %classNN% `nTitle= %Window%
;ControlGetPos, XX, YY, Width, Height, %classNN%, ahk_class %class%, SubWindow, SubWindow ;-I tried to exclude subwindows but I don't think it works...?
;<<<<<<<<<delete all that>>>>>>>>>>>>>
ControlGetPos, X, Y, Width, Height, %classNN%, ahk_class DroverLord - Window Class
MouseMove, X, Y, 0
sleep 10
;msgbox, should be in top corner now
sleep 10
tempX = transX%n%
tempY = transY%n%
;msgbox, %tempX% %tempY% "these are the tempX and Y variables"
temp2X := %tempX%
temp2Y := %tempY%
;msgbox, %temp2X% %temp2Y%
MouseMove, %temp2X%, %temp2Y%, 0, R
sleep 70
mouseClick
;msgbox, "I hope this is the right location"
Send ^c
sleep 40
CoordMode, Mouse, Screen
MouseMove, 2000, 0, 0 ;moves back to the primary monitor
sleep 10
MouseMove, xpos, ypos, 0
sleep 10
mouseClick
sleep 5
Send ^v
BlockInput, off
BlockInput, MouseMoveOff
}
;BEGIN shortcuts for recalling transitions
^Numpad8::recallTransition(5)
^Numpad4::recallTransition(6)
^Numpad6::recallTransition(7)
^Numpad2::recallTransition(8)
^Numpad5::recallTransition(13)
; I suggest you use better keyabord shortcuts. SINGLE KEY PRESSES are the best. (not needing CTRL or SHIFT or anything)
; This is why I actually have these set up on another keyboard.
#IfWinActive
;THESE ARE JUST NOTES FOR MYSELF--- IGNORE THEM PLZ
;example script for double tap on a key
; ~Esc:: ; <-- CLOSE WITH DOUBLE ESCAPE
; if (A_PriorHotkey <> "~Esc" or A_TimeSincePriorHotkey > 400)
; {
; ; KeyWait, Esc
; return
; }
; if WinActive("Mozilla Firefox") or WinActive(" Excel") or WinActive(" Notepad++")
; {
; ; send, ^w
; }
; Return
;ControlGetPos [, X, Y, Width, Height, Control, WinTitle, WinText, ExcludeTitle, ExcludeText]
;ControlGetPos, x, y, w, h, %classNN%, ahk_class %ahk_class%, DroverLord - TabPanel Window, 0, 0
;effectControls:
;ControlGetPos, X, Y, Width, Height, DroverLord - Window Class2, ahk_class Premiere Pro, DroverLord - TabPanel Window
;Control ==== classNN ======= DroverLord - Window Class2
;WinTitle === ahk_class ======= ahk_class Premiere Pro
;WinText ==== Text: ======= DroverLord - TabPanel Window
@loordgek

This comment has been minimized.

Copy link

@loordgek loordgek commented Feb 5, 2016

o/
love your taran rants/hacks/mods series
in your Recall a saved TRANSITION PRESET.ahk you need another monitor for it to work (bad)
will copy paste work? https://www.youtube.com/watch?v=R0etjMiqVuE
if yes
here is how i think it can work
store the mouse pos.
move the mouse to the video track selector
if the track that you want to paste is not on enable it
for the others if the are enabled disable them and store the pos where ahk did a click
load the TRANSITION w/ a bit of INSIDECLIPBOARD magic
go back to the mouse pos
paste the TRANSITION
then for every track that you disabled enable them using the pos

hope you liked it

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.