Automator: я хочу запросить список опций, а затем запустить определенный c рабочий процесс на основе сделанного мной выбора - PullRequest
1 голос
/ 13 февраля 2020

Я собрал ферму рендеринга After Effects, которая выводит последовательности изображений. У меня есть серия рабочих процессов Automator (которые в настоящее время выполняются как приложения), которые преобразуют эти кадры в видео с помощью FFMPEG.

Это прекрасно работает, но мне нужно более полудюжины различных рабочих процессов - по одному для каждой основной частоты кадров (24 кадра в секунду, 25 кадров в секунду, 30 кадров в секунду и т. Д. c, и дубликат каждого из тех, которые создают видео со звуком , если исходная папка содержит аудиофайл.

У меня так много рабочих процессов, но я хотел бы объединить мои экспортированные приложения в одно главное приложение Automator, которое просто спрашивает, что Частота кадров, которую я хочу (из списка), затем выбирает этот вариант и запускает указанный c рабочий процесс (или приложение), связанный с этим выбором.

В данный момент я адаптировал «Запуск AppleSript». действие, которое я нашел в Stack Overflow. Я начинаю с малого и тестирую его с несколькими частотами кадров ...

on run {input, parameters}

    choose from list {"ProRes 24", "ProRes 24 with Audio", "ProRes 30", "ProRes 30 with Audio"} with prompt "Please make your selection" without multiple selections allowed and empty selection allowed
    return the result as string

    return input
end run

Это 'работает', с точки зрения того, что я задаю правильные вопросы, но я ' Я не совсем уверен, откуда я * 1017. * Я думаю, мне нужно передать ответ в переменную и использовать его, чтобы сделать выбор в действии Run Workflow (или Launch Application, видя, как моя работа потоки также приложения?), но я не знаю, как.

Любая помощь будет оценена.

Ответы [ 2 ]

1 голос
/ 13 февраля 2020

Если каждый из элементов списка является фактическими именами приложений, то все, что вам нужно после команды choose from list :

if not result is equal to false then activate application (result as string)

Откроется выбранное приложение.

Это также не обязательно должно быть приложение Automator , это может быть приложение AppleScript , которое имеет только эти два команды :

choose from list {"ProRes 24", "ProRes 24 with Audio", "ProRes 30", "ProRes 30 with Audio"} with prompt "Please make your selection" without multiple selections allowed and empty selection allowed
if not result is equal to false then activate application (result as string)
1 голос
/ 13 февраля 2020

Этот код AppleScript может работать для вас

set theChoice to (choose from list ¬
    {"ProRes 24", "ProRes 24 with Audio", "ProRes 30", "ProRes 30 with Audio"} ¬
        with prompt "Please make your selection" without multiple selections allowed and empty selection allowed) as text

if theChoice is "ProRes 24" then
    tell application "workflow 1" to activate
else if theChoice is "ProRes 24 with Audio" then
    tell application "workflow 2" to activate
else if theChoice is "ProRes 30" then
    tell application "workflow 3" to activate
else if theChoice is "ProRes 30 with Audio" then
    tell application "workflow 4" to activate
end if

Затем просто вставьте правильные имена приложений Automator, заменив их ... "workflow 1" et c

...