Skip to content

Instantly share code, notes, and snippets.

@vladimirgamalyan
Created November 17, 2023 16:02
Show Gist options
  • Save vladimirgamalyan/e95b1879714c5f49f056c55e0b9f9d1a to your computer and use it in GitHub Desktop.
Save vladimirgamalyan/e95b1879714c5f49f056c55e0b9f9d1a to your computer and use it in GitHub Desktop.
AutoHotKey script for automation batch Adobe Premier clip stabilization
#Requires AutoHotkey v2.0
; Возможно окошко автосохранения в Премьере будет сбивать скрипт с понтологии
; Возможно стоит открыть один раз окно экспорта (Ctrl+Space), т.к. первый раз открывается долго, а скрипт ждет фиксированное время
; Текст в заголовке окна, по которому находим Премьер
windowsTitle := "Adobe Premiere Pro CC 2017"
; Текст в заголовке окна, по которому находим Энкодер
windowsTitleEncoder := "Adobe Media Encoder CC 2017"
colorStripPosX := 380
colorStripPosY := 828
; Проверяем, есть ли окно Премьера, если нету, то сообщаем об этом и заканчиваем работу.
if !WinExist(windowsTitle)
{
MsgBox windowsTitle " not found"
return
}
; Проверяем, есть ли окно Энкодера, если нету, то сообщаем об этом и заканчиваем работу.
if !WinExist(windowsTitleEncoder)
{
MsgBox windowsTitleEncoder " not found"
return
}
; Спрашиваем сколько клипов обрабатывать
ClipCount := InputBox("Enter number of clips")
if (ClipCount.Result != "OK")
return
; Делаем активным окно Премьера
WinActivate windowsTitle
; Клик по Project: Untitled
Click 230, 70
Sleep 1000
; Нажимаем кнопку вверх, чтобы стал активным первый клип в списке
Send "{Up}"
Loop ClipCount.Value
{
; Ctrl+Q
Send "^q"
Sleep 1000
; Удостоверяемся, что появилась желтая полоска, иначе заканчиваем работу
if PixelGetColor(colorStripPosX, colorStripPosY) != 0xF0F000
{
MsgBox "Yellow strip is not found, Stopped"
return
}
; Клик строке поиска в панели Effects
Click 1700, 110
Sleep 200
; Клик по крестику в поле поиска для очистки поля поиска
Click 1894, 105
Sleep 200
; вводим новый текст
Send "Warp Stabilizer"
Sleep 500
; Клик по эффекту Warp
Click 1770, 290
Sleep 1000
; Перетягиваем эффект вниз
MouseClickDrag "Left", 1770, 290, 382, 863
; Пауза, чтобы полоска точно успела стать красной
Sleep 2000
; Удостоверяемся, что полоска стала красной
if PixelGetColor(colorStripPosX, colorStripPosY) != 0xFF2D1D
{
MsgBox "Red strip is not found, Stopped"
return
}
; Ждем пока полоска опять пожелтеет
while PixelGetColor(colorStripPosX, colorStripPosY) != 0xF0F000
Sleep 1000
; Клик по нижней панели
Sleep 1000
Click 142, 756
Sleep 500
; Открываем окно экспорта
Send "^{Space}"
Sleep 5000
; TODO: сделать ожидание появления окна
; Выбираем пресет
Send "{Tab}{Tab}{Tab}{Up}"
Sleep 2000
; Запускаем
Send "{Enter}"
Sleep 5000
; Возвращаемся в Премьер
WinActivate windowsTitle
; Клик по нижней панели
Sleep 1000
Click 142, 756
Sleep 200
; Удоляем
Send "^w"
Sleep 1000
; Клик по Project: Untitled
Click 230, 70
Sleep 500
Send "{Down}{Down}"
Sleep 1000
}
MsgBox "Completed"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment