Where to Hire AHK Programmer

Get help with using AutoHotkey (v1.1 and older) and its commands and hotkeys
aweinberg
Posts: 52
Joined: 08 Feb 2019, 15:38

Where to Hire AHK Programmer

14 Nov 2020, 20:43

I have a script that I want to have modified as I am a total AHK noob.

Where would I go about finding someone to modify my script?
gregster
Posts: 9114
Joined: 30 Sep 2013, 06:48

Re: Where to Hire AHK Programmer

14 Nov 2020, 21:14

That might depend on the details. Any special skills required?
More an one-hour effort or days?

There are certainly some websites on which you can hire programmers, but usually not very AHK-specific.
So here on the forums might be your best shot. But I would probably ask first for help, people are pretty helpful here.
Perhaps the necessary fixes are minor, or it could at least give you a better idea what needs to be done, and what it might cost.
But, of course, there are also some niche areas - which might require a more or less unpredictable or unknown amount of tinkering.
aweinberg
Posts: 52
Joined: 08 Feb 2019, 15:38

Re: Where to Hire AHK Programmer

14 Nov 2020, 22:08

Here is what I am trying to accomplish, Not sure what it would cost to get someone to fix it.

the script below should send the v key when the shortcut key is released (In Premiere Pro). The script currently only does that if I hold the key for a quick 1 second.

If I hold more than a couple seconds the script does not send the v key until I hit the shortcut key again (like a double tap of the shortcut key, instead of it properly sending v when the shortcut key is released).

the script should only send v when the shortcut key is released, I am trying to get the script working when the shortcut key is held for more than a second or two.

It works if only hitting the shortcut for a second.

Here is the script:

Code: Select all

#NoEnv
#SingleInstance Force
#Warn ClassOverwrite
SendMode Input
SetBatchLines -1
SetTitleMatchMode 2

TooltipHotkeys := [new PremiereTooltip("V", "Selection tool", "The default tool, used to select clips in the timeline.")
				 , new PremiereTooltip("A", "Track Select tool", "Select all clips on a track from a given point, or select multiple tracks.")
				 , new PremiereTooltip("B", "Ripple Edit tool", "Adjust an edit point and move other clips in the timeline to compensate.")
				 , new PremiereTooltip("N", "Rolling Edit tool", "Adjust an edit point between two clips without affecting the rest of the timeline.")
				 , new PremiereTooltip("R", "Rate Stretch tool", "Change the duration of a clip while simultaneously changing the speed to compensate.")
				 , new PremiereTooltip("C", "Razor tool", "Cut a clip (or multiple clips) into two clips.")
				 , new PremiereTooltip("Y", "Slip tool", "Move a clip's in and out points by the same amount simultaneously, so the rest of the timeline is not affected.")
				 , new PremiereTooltip("U", "Slide tool", "Move a clip back and forth in the timeline, while simultaneously adjusting adjacent clips to compensate.")
				 , new PremiereTooltip("P", "Pen tool", "Create control (anchor) points.")
				 , new PremiereTooltip("H", "Hand tool", "Drag the timeline view left and right.")
				 , new PremiereTooltip("Z", "Zoom tool", "Click in the timeline to magnify the view, or drag and select a rectangular area to zoom into.")]

class PremiereTooltip
{
	static GUI_WIDTH := 200
		 , MARGIN := 6
		 , TEXT_WIDTH := PremiereTooltip.GUI_WIDTH - 2 * PremiereTooltip.MARGIN
		 , EXE := "ahk_exe Adobe Premiere Pro.exe"
		 , COLOR_SCHEME := {"BACKGROUND": "1D1D1D"
						  , "SEPARATOR": "313131"
						  , "TITLE": "2D8CEB"
						  , "DESCRIPTION": "A7A7A7"}

	__New(keybind, name, description) {
		Gui New, +AlwaysOnTop -Caption +ToolWindow +Hwndhwnd
		Gui Color, % this.COLOR_SCHEME.BACKGROUND
		Gui Margin, % this.MARGIN, % this.MARGIN
		Gui Add, Text, % "c" this.COLOR_SCHEME.TITLE, % name
		Gui Add, Text, % "x+m yp c" this.COLOR_SCHEME.TITLE, % "("
		Gui Font, Underline
		Gui Add, Text, % "x+2 yp c" this.COLOR_SCHEME.TITLE, % keybind
		Gui Font, Norm
		Gui Add, Text, % "x+2 yp c" this.COLOR_SCHEME.TITLE, % ")"
		Gui Add, Progress, % Format("xm h2 w{1:} Background{2:} c{2:}", this.TEXT_WIDTH, this.COLOR_SCHEME.SEPARATOR), 100
		Gui Add, Text, % Format("w{1:} Background{2:} c{2:}", this.TEXT_WIDTH, this.COLOR_SCHEME.DESCRIPTION), % description
		Gui Show, % Format("w{} Hide", this.GUI_WIDTH)

		hiddenWindowsSetting := A_DetectHiddenWindows
		DetectHiddenWindows On
		WinGetPos, , , , h, % "ahk_id " hwnd
		DetectHiddenWindows % hiddenWindowsSetting

		Gui Add, Progress, % Format("h{} w1 x0 y0 Background{3:} c{3:}", h, this.TEXT_WIDTH, this.COLOR_SCHEME.SEPARATOR), 100
		Gui Add, Progress, % Format("h1 w{} x0 y0 Background{2:} c{2:}", this.GUI_WIDTH, this.COLOR_SCHEME.SEPARATOR), 100
		Gui Add, Progress, % Format("h{} w1 x{} y0 Background{3:} c{3:}", h, this.GUI_WIDTH - 1, this.COLOR_SCHEME.SEPARATOR), 100
		Gui Add, Progress, % Format("h1 w{} x0 y{} Background{3:} c{3:}", this.GUI_WIDTH, h - 1, this.COLOR_SCHEME.SEPARATOR), 100

		keybind := Format("{:L}", keybind)
		this.keybind := keybind
		this.hwnd := hwnd

		fn := this.hideDescription.Bind("", hwnd, keybind)
		Hotkey % Format("~{} Up", keybind), % fn

		fn := this.showCondition := this.isPremiereActive.Bind("")
		Hotkey If, % fn
		fn := this.showDescription.Bind("", hwnd, keybind)
		Hotkey % keybind, % fn
		Hotkey If
	}

	__Delete() {
		Hotkey % Format("~{} Up", this.keybind), Off

		fn := this.showCondition
		Hotkey If, % fn
		Hotkey % this.keybind, Off
		Hotkey If
	}

	isPremiereActive() {
		return WinActive(PremiereTooltip.EXE) && !A_CaretX
	}

	showDescription(hwnd, keybind) {
		WinGetPos x, y, w, h, % PremiereTooltip.EXE
		Gui %hwnd%: Show, % Format("x{} y{} NoActivate", x + (w // 2) - (PremiereTooltip.GUI_WIDTH // 2), y + (h // 2))

		Send % "{" keybind "}"
	}

	hideDescription(hwnd, keybind) {
		Gui %hwnd%: Hide

		if PremiereTooltip.isPremiereActive()
			Send v
	}
}
elbeau
Posts: 18
Joined: 08 Aug 2020, 18:20

Re: Where to Hire AHK Programmer

15 Nov 2020, 00:23

The {down} and {up} keypress documentation may help : https://www.autohotkey.com/docs/commands/Send.htm From reading your post it looks like you want it to wait to send the command until {v up}
Similar topic here: https://autohotkey.com/board/topic/62430-solved-send-command-on-key-release/
aweinberg
Posts: 52
Joined: 08 Feb 2019, 15:38

Re: Where to Hire AHK Programmer

15 Nov 2020, 00:36

Correct, I wrote the script below based off that, but it makes me unable to type in the program. The script I want tuned up does not have problems with typing in the program and I have no idea how to add key wait to that script.

I need a pro to fix my script I just need to find one and I am willing to pay!

This is the key wait script I wrote.

Code: Select all

c::
send, c
keywait, c
return 
c up::
			Send v
return

Return to “Ask for Help (v1)”

Who is online

Users browsing this forum: Marium0505 and 345 guests