Экспорт

Обзор

Final Cut Pro X может вручить от результатов редактирования к другому приложению путем экспорта следующего:

Final Cut Pro X управляет конфигурациями экспорта как Местами назначения Доли. У места назначения доли может быть целевое приложение, получающее вывод экспорта, когда применимо. Final Cut Pro X взаимодействует с приложением для управления определенными аспектами работы экспорта.

Процесс экспорта

Final Cut Pro X экспортирует представленную временную шкалу как медиа-файл, или транскодирование его в определенный формат или отъезд его в представленном формате (т.е. Apple ProRes). Экспортируемый медиа-файл имеет ряд метаданных, называемых Метаданными Доли, что можно выбрать и указать значения для того, когда Вы запускаете работу экспорта.

Final Cut Pro X может также экспортировать свои события или проекты как FCPXML. Final Cut Pro X может включать метаданные, связанные с проектом или активом в экспортируемом XML. Только элементы метаданных в выбранном представлении метаданных включены в вывод. Можно указать представление метаданных для определения набора элементов метаданных, входящего в вывод.

Ваше приложение, когда указано как цель места назначения доли, может влиять на работу экспорта, как обсуждено в Пользовательском Месте назначения Доли.

Пользовательское место назначения доли

Final Cut Pro X использует место назначения доли для управления информацией, связанной с определенным типом экспорта или доли.

Можно создать собственное место назначения доли и включать следующую информацию:

Final Cut Pro X запрашивает целевое приложение для следующих подробных данных контроля экспорта:

Для создания пользовательского места назначения доли обратитесь к Работе с целевым разделом в Справке Final Cut Pro X.

Final Cut Pro X поддерживает механизм для распределения пользовательских мест назначения доли другим пользователям Final Cut Pro X или рабочим станциям как .fcpxdest файлы.

Создать и импортировать место назначения .fcpxdest файл:

  1. Перетащите место назначения из Целевого списка в области Destinations Предпочтения Final Cut Pro X к расположению в Вашей системе.

  2. Перетащите .fcpxdest файл в список мест назначения доли на другой рабочей станции Final Cut Pro X.

Обратитесь к местам назначения Доли между пользовательским разделом Final Cut Pro X в Справке Final Cut Pro X. Также можно установить .fcpxdest файлы в любом из следующих расположений:

Взаимодействие с целевым приложением

То, когда временная шкала проекта экспортируется через пользовательское место назначения доли с указанным целевым приложением, Final Cut Pro X сначала определяет, способно ли приложение к ответу к, запрашивает от Final Cut Pro X. Это делает это путем проверки пакета plist приложения. Информация, которая должна быть в пакете plist, обсуждена в Возможностях Приложения сигнализации.

Принятие Final Cut Pro X решило, что приложение способно к ответу на его запросы, это отправляет событие Create Asset Apple, запрашивающее новый актив заполнителя, с которым должен быть связан вывод экспорта. Этот запрос также включает имя актива, набор метаданных доли и список представлений метаданных. Причина обеспечения представлений метаданных здесь состоит в том, чтобы позволить приложению определить набор метаданных, входящих в XML проекта. Приложение, как ожидают, возвратит объектный спецификатор, идентифицирующий недавно создаваемый объект актива заполнителя.

../Art/exportcontrolprotocol_createasset.png

После того, как новый объект актива успешно создается, Final Cut Pro X просит у приложения следующее:

Final Cut Pro X делает это путем отправки серии событий Get Property Apple. Приложение, как ожидают, возвратит надлежащие значения свойств.

../Art/exportcontrolprotocol_getpropertyinfo.png

С этими данными Final Cut Pro X помещает, представил/транскодировал медиа-файл (и XML-файл, если применимо) в расположении возвратился из приложения. Когда экспорт завершен, Final Cut Pro X уведомляет приложение, что выходные файлы экспорта доступны путем отправки события Open Document Apple. Это событие имеет файл URLs выходных файлов экспорта.

../Art/exportcontrolprotocol_opendocument.png

Требования к приложению

Для управления аспектами работы экспорта приложение должно сделать следующее:

Самое важное требование является способностью реагировать на события Apple, отправленные от Final Cut Pro X. Консультируйтесь с Руководством по созданию сценариев Какао для подробных данных того, как приложение реализует такую функциональность в целом. В частности следующее требуются:

Обратитесь к Приложению A: Комплект Управления активами ProVideo для получения дополнительной информации об определениях терминологии сценариев.

Подробные данные реализации

Внедрение приложения включает следующее:

Возможности приложения сигнализации

Final Cut Pro X должен знать переднюю сторону, понимает ли приложение протокол. Для указания этой возможности приложение должно иметь следующую запись в своем пакете plist:

<key>com.apple.proapps.MediaAssetProtocol</key>
<dict>
</dict>

Сценарии определения

Приложение должно иметь определение терминологии сценариев, определяющее события, классы объектов и типы записи, описанные в этом разделе. Обратитесь к Подготовке Файла Определения Сценариев в Руководстве по созданию сценариев Какао. Кроме того, обратитесь к Приложению A: Комплект Управления активами ProVideo для определения сценариев использование Final Cut Pro X.

Тип записи: расположение актива

Описывает, где расположены файлы, связанные с активом.

Свойство

Ввести

Описание

folder

файл

Содержание пути к папке.

base name

текст

Базовое имя для выходных файлов экспорта. Это имя должно соответствовать имя актива.

has description

булевская переменная

Набор к true если приложение ожидает XML как экспортируемый вывод.

has media

булевская переменная

Набор к true если приложение ожидает носители как экспортируемый вывод.

Тип Класса объекта: актив

Представляет соответствие объекта актива выводу экспорта в приложении.

Свойство

Ввести

Описание

id

текст

Уникальный идентификатор актива.

name

текст

Имя актива.

location info

расположение актива

Расположение файлов связалось с активом.

metadata

определяемая пользователем запись

Совместно используемые метаданные устанавливают связанный с активом.

data options

определяемая пользователем запись

Опции установлены для данных актива.

Тип события: сделать

Создает новый объект, в частности объект актива.

Параметр

Ввести

Описание

new

ввести

Класс нового объекта.

at

спецификатор расположения

Расположение, в которое можно вставить новый объект.

with data

любой

Начальное содержание объекта.

with properties

запись

Список свойств объектов раньше инициализировал новый объект, включая следующее:

  • name (текст) — имя актива.

  • metadata (запись) — метаданные устанавливают связанный с объектом актива.

  • data options (запись) — опция установила используемый для создания данных актива.

Для включения доступа к объектам и к событию из поигравшего в песочнице приложения приложение должно указать com.apple.assetmanagement.import группа доступа для класса объекта актива и для соответствующего элемента в его контейнере, и должна также указать ту же группу доступа для события Create Asset. См. Приложение A: Комплект Управления активами ProVideo для большего количества подробных данных.

События Interaction Through Apple

Как только Final Cut Pro X подтверждает, что приложение способно к участию во взаимодействии, это отправляет серию событий Apple в порядке, описанном ниже. Приложение, как ожидают, обработает эти события и возвратит надлежащую информацию.

Обратитесь к Приложению B: Пример AppleScript для примера сценария и демонстрационного журнала событий и ответов, иллюстрирующих взаимодействие.

  1. Событие Create Asset

    make new asset with properties { name: <asset name>, metadata: <metadata record>, data options: <options record> }

    Когда пользователь инициирует работу доли, Final Cut Pro X отправляет событие Create Asset. Приложение, как ожидают, создаст объект актива заполнителя, представляющий вывод работы доли и возвратить объектный спецификатор, которому использование Final Cut Pro X для ссылки на актив возражает в последующих событиях Apple.

    При обработке этого события приложение имеет возможность перевести ее UI в рабочее состояние, прежде чем возможно длительная работа транскода запускается. Этот UI может использоваться, чтобы позволить пользователю указать информацию, относящуюся к работе, которую приложение собирается выполнить на выводе экспорта. Эта информация может включать пользовательские метаданные, которые будут сохранены вместе с носителями или данными, определяющими расположение вывода.

    Параметры события включают следующие свойства объектов актива:

    Свойство

    Описание

    name

    Имя актива. Final Cut Pro X получает это из названия проекта.

    metadata

    Запись, представляющая набор метаданных доли, где ключи являются обратными ключами метаданных стиля DNS и значениями, является связанными значениями метаданных.

    data options

    Запись, содержащая экспорт, вывела опции. Эта запись содержит информацию о доступных представлениях метаданных, из которых может выбрать приложение.

    • Ключ: availableMetadataSets

    • Тип: список

    • Описание: список доступных метаданных просматривает в Final Cut Pro X.

    Приложение должно указать свой выбор в ответ на другое событие Apple, отправленное позже, который просит значение свойства опций данных.

    Возвращаемое значение для этого события Apple является объектным спецификатором для нового создаваемого объекта актива.

  2. Событие Get Location Info Property

    get location info of <asset object specifier>

    Как только новый объект актива создается в приложении, Final Cut Pro X отправляет событие Get Location Info Property, просящее расположение выходных файлов экспорта. Приложение, как ожидают, возвратит запись расположения актива, как описано в Сценариях Определения. В частности folder свойство записи указывает расположение папки, куда помещаются выходные файлы экспорта. base name свойство используется в качестве базового имени выходных файлов экспорта. Медиа-файл имеет .mov расширение и XML-файл имеют .fcpxml расширение. Если приложение ожидает XML-файл и медиа-файл, несомненно, установят has description свойство к истине в записи расположения актива.

  3. Событие Get Metadata Property

    get metadata of <asset object specifier>

    Final Cut Pro X отправляет событие Get Metadata Property, просящее обновленный набор метаданных. Final Cut Pro X тогда обновляет проект и включает обновленные метаданные в вывод экспорта. Final Cut Pro X ранее предоставил исходный набор метаданных через событие Create New Asset. Приложение, как ожидают, возвратит пользовательскую запись, имеющую ключи метаданных и их значения.

    В частности ключ метаданных com.apple.proapps.share.id представляет уникальный идентификатор актива носителей. Приложение может генерировать уникальный идентификатор в своих собственных целях и включать тот ID в обновленный набор метаданных. Final Cut Pro X включает этот ID в вывод экспорта так, чтобы приложение могло использовать его для отслеживания файлов, связанных с определенным активом.

  4. Событие Get Data Options Property

    get data options of <asset object specifier>

    Final Cut Pro X отправляет событие Get Data Options Property, запрашивающее опции данных использоваться в генерации вывода экспорта. Приложение, как ожидают, возвратит пользовательскую запись со следующим ключом и его присваиваемым значением:

    Ключ

    Ввести

    Описание

    metadataSet

    текст

    Имя представления метаданных, содержащего элементы метаданных, которые будут включены в XML проекта.

  5. Открытое событие Documents

    open <list of export output files>

    Как только работа экспорта завершилась, Final Cut Pro X отправляет путь к экспортируемым выходным файлам через событие Open Document. Значение ожидаемого дохода является объектным спецификатором для объекта актива. Приложение, как ожидают, свяжет файлы к активу, который оно создало, с помощью папки и базового имени файлов для соответствия против информации о расположении актива.

Примечания по реализации

Объект актива

Актив носителей может соответствовать документу в некоторых приложениях, в то время как в других это может просто быть элемент большего объекта (такого как база данных актива носителей), который сама может быть документом. Протокол между Final Cut Pro X и приложением через события Apple предназначается, чтобы быть агностиком к объектной иерархии вместимости в приложении, насколько приложение возвращает объектный спецификатор, с которым Final Cut Pro X может получить доступ к определенному объекту актива.

Определение сценариев (см. Приложение A: Комплект Управления активами ProVideo), определяет актив как элемент документа, но это не должен быть тот путь.

Когда объект актива не является документом, обрабатывание события Open Document Apple для соединения файлов к активу могло бы быть немного неловким. Так как Какао обрабатывает событие Open Document Apple, Вам был бы нужен пользовательский контроллер документа для переопределения поведения Какао, когда приложение открывает файл, и свяжите файл или с существующим объектом актива или с новым объектом актива при необходимости. Ассоциация должна быть сделана на основе URL актива.

Сценарии расширений класса поддержки

Приложения с помощью Поддержки Сценариев Какао для обработки событий Apple, отправленных Final Cut Pro X, должны поддерживать преобразования между типами дескриптора события Apple, используемыми Final Cut Pro X и соответствующими Фундаментальными классами как категории Objective C (как упомянуто ниже), так как они в настоящее время не реализуются Какао.

  • Событие Apple записывает дескриптор (typeAERecord) и NSDictionary

    @interface NSDictionary (UserDefinedRecord)
      +(NSDictionary*)scriptingUserDefinedRecordWithDescriptor:(NSAppleEventDescriptor*)desc;
      -(NSAppleEventDescriptor*)scriptingUserDefinedRecordDescriptor;
    @end
  • Дескриптор списка событий Apple (typeAEList) и NSArray

    @interface NSArray (UserList)
      +(NSArray*)scriptingUserListWithDescriptor:(NSAppleEventDescriptor*)desc;
      -(NSAppleEventDescriptor*)scriptingUserListDescriptor;
    @end
  • Событие Apple универсальный дескриптор (список, запись, и т.д.) и ID

    @interface NSAppleEventDescriptor (GenericObject)
      +(NSAppleEventDescriptor*)descriptorWithObject:(id)object;
      -(id)objectValue;
    @end
  • Файл события Apple дескриптор URL (typeFileURL) и (дополнительный) NSURL

    @interface NSAppleEventDescriptor (URLValue)
      +(NSAppleEventDescriptor*)descriptorWithURL:(NSURL*)url;
      -(NSURL*)urlValue;
    @end

Обратитесь к Приложению D: Сценарии Категорий Поддержки для демонстрационных реализаций этих категорий.

Уровень взаимодействия события Apple

Чтобы избежать инициировать взаимодействие с пользователем при обработке событий Apple, отправленных автоматизированным потоком операций, удостоверьтесь, что приложение, обрабатывающее события, проверяет уровень взаимодействия с пользователем событий. Можно сделать это в обработчике команды сценариев путем получения текущего события Apple и keyInteractLevelAttr атрибут.

Значение keyInteractLevelAttr атрибут может быть одним из следующего:

kAENeverInteract    = 0x00000010, /* server should not interact with user */
kAECanInteract      = 0x00000020, /* server may try to interact with user */
kAEAlwaysInteract   = 0x00000030, /* server should always interact with user where appropriate */
kAECanSwitchLayer   = 0x00000040, /* interaction may switch layer */

Консультируйтесь со Ссылкой класса NSAppleEventManager для подробных данных о получении текущего события Apple.