История версий FxPlug SDK
Эта глава перечисляет изменения для каждой версии FxPlug SDK от версии 1.0 до 2.4. Для самой лучшей обратной совместимости, и сделать Вашу сменную работу с любой версией хост-приложения, имеют плагин, сначала проверяют на доступность узла API для функции SDK, и затем только используют ту функцию, если API доступен . если определенный узел к альтернативному поведению, API не доступен, Ваш плагин должен отступить
FxPlug SDK 2. X
Функции FxPlug SDK 2.4
FxPlug SDK 2.4 обеспечивает несколько важных исправлений ошибок, о которых должны знать разработчики.
Движение 5.0.5 обновления
Состояние параметра может теперь быть установлено правильно и будет сохранено и восстановлено правильно для Шаблонов Движения, создаваемых с Движением 5.0.5 или позже. Более старые шаблоны загрузят то же как прежде для обеспечения обратной совместимости более старыми проектами Final Cut Pro X.
FxTemporalImageAPIиFxParameterRetrievalAPIтеперь предоставьте доступ ко всем кадрам и полям видеозаписи.Доступ к изображениям во время нерендеринга через
FxTemporalImageAPIилиFxParameterRetrievalAPIдолжно теперь быть более устойчивым.Пиксельные преобразования должны теперь быть корректными и обратимыми для изображений, возвращенных
FxTemporalImageAPIиFxParameterRetrievalAPI.FxKeyframeAPIдолжен теперь работать как ожидалось в Шаблоне Движения, работающем в Final Cut Pro.
Обновления FxPlug SDK
Пример кода был обновлен, чтобы удалить любые остающиеся предупреждения и создать должным образом с последним XCode.
FxParameterCreationAPI_v3протокол был обновлен для надлежащего наследования отFxParameterCreationAPI_v2.
Функции FxPlug SDK 2.2
FxPlug SDK 2.2 обеспечивает несколько важных исправлений ошибок, о которых должны знать разработчики.
Движение 5.0.3 обновления
Фиксированный случай значительной нерезкости при добавлении Эффекта Final Cut Pro к чересстрочному клипу.
Устраненный редкая проблема устойчивости, когда фильтр не устанавливал вывод width и высоту в
-getOutputWidth:height:withImage:withInfo:.Устраненный проблема с неправильным Пикселем преобразовывает при рендеринге в экранное пространство.
Устраненный проблема устойчивости с вызовами для установки параметров при выполнении в Final Cut Pro, вызывающем подвешивание в
-parameterChanged:.
Обновления FxPlug SDK
Обновленный пример DirectionalBlur для использования Кадровых буферов OpenGL для многопроходного рендеринга вместо теперь осуждающихся PBuffers.
Обновленный пример SimplePaint для работы должным образом над всеми видеокартами, с неквадратными пикселями и в разрешении прокси.
Обновленный BoxTest для работы должным образом с неквадратными пикселями и в разрешении прокси.
Фиксированные вызовы к
getBitmap:::atTimeиgetTexture:::atTime:таким образом, они теперь возвращают изображения с надлежащего времени, размерностей и масштабирующейся информации.Устраненный проблема, куда изображения возвратились из Final Cut Pro, отмечена с корректным источником.
Функции FxPlug SDK 2.1
FxPlug SDK 2.1 обеспечивает несколько важных исправлений ошибок, о которых должны знать разработчики.
Движение 5.0.2 обновления
FxTemporalAPI должен работать более последовательно за пределами времени отображения.
Обновления FxPlug SDK
Размеры изображения должны теперь быть корректными при получении изображений от параметра или временного APIs независимо от рендеринга разрешения.
Плагины FxPlug в шаблонах Эффекта Движения теперь получают корректную информацию о частоте кадров.
Если Изображение хорошо не содержит видеозапись, FxPlug, Синхронизирующий API теперь, возвращает корректную информацию.
Прокрутка Обогащенного текста и Диалоговых примеров Опций теперь создает и загружается правильно.
Функции FxPlug SDK 2.0
Самое очевидное изменение в выпуске 2.0 FxPlug SDK является добавлением нескольких новых APIs. Существует также много изменений, требуемых для обновления к 64-разрядному и работы с последними приложениями Final Cut Pro и Движения.
FxPlug SDK 2.0 включает эти компоненты:
Установщик FxPlugSDK, устанавливающий заголовочные файлы FxPlug в платформе FxPlug. Это также устанавливает несколько примеров FxPlug в
/Developer/Examples. Включенный О файле FxPlug В качестве примера, предоставляющем подробную информацию о примерах.
Эффекты движения и Final Cut Pro
Самое большое изменение - то, что все плагины FxPlug теперь работают или непосредственно в Движении или как часть выполнения Эффекта Движения в Final Cut Pro.
Это имеет большинство значений между узлами от предыдущих версий, исчезают, упрощая для разработчиков писать и поддерживать плагины.
Для Ваших плагинов для выполнения в Final Cut Pro необходимо создать Эффект Движения для каждого.
64-разрядный
Все плагины FxPlug должны теперь быть скомпилированы 64-разрядные для выполнения в Движении 5 или позже. Это потребует перекомпилировать всех существующих плагинов, потому что необходимо соединиться против 64-разрядных версий платформ FxPlug и PluginManager.
Вместе с этим изменением переместились несколько из частей, требуемых создавать плагины.
Поскольку Движение и Final Cut Pro теперь доступны как автономные приложения на App Store Mac, FxPlug.framework и PluginManager.framework, которые загружаются во время выполнения, сохранены в пакете каждого приложения.
Версии разработчика этих платформ, содержащих заголовки, используемые для создания плагинов, теперь сохранены в /Developer/Examples/FxPlug/, вместе с несколькими новыми примерами разработчика, демонстрирующими новый APIs.
Новые классы и протоколы
FxPlug 2.0 включает новые классы и протоколы. Следующие списки те дополнения и их функции.
- Динамический параметр API
Динамический параметр API позволяет Вам добавлять и удалять параметры во время выполнения вместо того, чтобы просто показать и скрыть их. Посмотрите Ссылку на протокол FxDynamicParameterAPI для получения дополнительной информации.
- Ключевой кадр API
Ключевой кадр API позволяет Вам получать времена ключевого кадра и значения, а также создавать новые ключевые кадры. Посмотрите Ссылку на протокол FxKeyframeAPI для получения дополнительной информации.
- Пользовательское окно API
Пользовательское окно API дает Вам окно для вовлечения, который похож на другие окна в приложении и говорит Вам, когда приложение закончено с окном. Посмотрите Ссылку на протокол Ссылки на протокол и FxWindowHost FxWindowAPI для получения дополнительной информации.
- Перерендеринг API
API перерендеринга позволяет Вашему плагину сообщать узлу, который должен повторно представить Ваше сменное содержание. Посмотрите Ссылку на протокол FxRenderNotificationAPI для получения дополнительной информации.
- Путь API
Путь API предоставляет Вам доступ к многоугольному, bezier, и данные x-сплайновой-кривой, создаваемые пользователями. Посмотрите Ссылку на протокол FxPathAPI для получения дополнительной информации.
- Разместите управление ресурсами API
Хост-приложение может теперь создать и отследить ресурсы что Ваши сменные запросы, такие как память, текстуры OpenGL и буферы. Это также предоставляет плагинам возможность сказать узлу выполнять метод на нескольких потоках сразу, таким образом, плагины могут использовать многократные процессоры. Посмотрите Ссылку на протокол Ссылки на протокол и FxHostResourcesClient FxHostResourcesAPI для получения дополнительной информации.
- Отмена API
API отмены помогает плагинам объединить события в настроенном пользовательском интерфейсе и экранных средствах управления, таким образом, они могут быть отменены и восстановлены как единственное событие. Посмотрите Ссылку на протокол FxUndoAPI для получения дополнительной информации.
- Освещение API
Освещение, которое API позволяет извлечению информации о световых сигналах пользователь, поместило в 3D сцене. Посмотрите Ссылку на протокол FxLightingAPI для получения дополнительной информации.
- Interpolatable пользовательские параметры
Параметр APIs был обновлен для поддержки интерполяции в пользовательских параметрах. Посмотрите Ссылку на протокол FxCustomParameterInterpolation для получения дополнительной информации.
Общая очистка
Были очищены несколько аспектов FxPlug SDK. Несколько методов были осуждены, которые или смутно назвали или который работал плохо. Новые методы были добавлены, где это необходимо, для достижения тех же результатов более чисто и ясно.
FxPlug SDK 1. X
Функции FxPlug SDK 1.2.5
Версия 1.2.5 FxPlug SDK не функционально неизменна от версии 1.2.4 и функций никакие исправления ошибок.
Функции FxPlug SDK 1.2.4
Версия 1.2.4 FxPlug SDK выпущена с Final Cut Pro 7.0 и Движением 4.0. Платформа FxPlug SDK 1.2.4 функционально неизменна от платформы FxPlug SDK 1.2.3, однако приложения теперь используют в своих интересах больше функций.
Изменения Final Cut Pro 7.0
FxVersioningAPIтеперь работы правильно во время-addParameters.Генераторы FxPlug производят гамму 1.8 или гамму 2,2 изображения, в зависимости от дисплея settings.
FxParameterRetrievalAPI:getBitmapтеперь надежно в течение времени UI.Если одна группа параметра вкладывается в другом, и вложенная группа является последним элементом в группе включения, параметры после внешней группы теперь выведены на экран правильно. Ранее они появились бы во внешней группе.
Установка значений параметров точки с
FxParameterSettingAPI_v2теперь работы правильно. Ранее, если бы новое значение содержало измененный X значений, но то же значение Y, это не работало бы.Если плагин не указывает название группы, Final Cut Pro больше не отказывает.
Решенный проблема, которая могла произойти, если бы плагин добавил новые параметры выше пользовательских параметров UI и проекта, создаваемого с предыдущей версией плагина, была загружена.
Изображения от
FxTemporalAPIтеперь правильно предварительно умножаются. Ранее, они были маркированы, как предварительно умножено, но пиксели не были фактически предварительно умножены.
Движение 4.0 изменения
Fx3DAPIтеперь доступно генераторам.Пользовательские элементы управления в генераторах теперь выведены на экран в HUD.
Когда плагины скрывают параметры, UI должен теперь должным образом обновить.
-pixelFormat метод обоих изображений ввода и вывода теперь возвращает правильное значение.Плагины могут теперь проверить на существование
Fx3DAPIв-addParametersвремя (но не должен использовать API в то время).Текстовые параметры теперь включают и отключают соответственно.
Генераторы могут теперь получить доступ
FxLayerInfoAPI.Если данные отправили к различным методам в, движение теперь распечатывает сообщение к консоли
FxParameterCreationAPIнедопустимы. (Например, если минимальное значение параметра больше, чем максимум, или минимальные значения ползунка / макс. значения вне минимальных значений параметра / макс. значений.)FxImagesмаркируются правильно, в зависимости от настроек дисплея.При дублировании экземпляра старого плагина новая копия теперь также сообщает о старом номере версии.
Рендеринг плагина в проекте Движения во временной шкале Final Cut Pro теперь правильно получает Движение как узел, когда это просит идентифицировать узел, это представляет под.
Выходные изображения от генераторов теперь имеют корректную информацию о поле.
Предварительные просмотры теперь представляют правую сторону.
-getSourceTexture:и-getSourceBitmap:теперь работайте правильно на фильтры, применился к группам.
Функции FxPlug SDK 1.2.3
Версия 1.2.3 FxPlug SDK обеспечивает незначительные исправления ошибок и исправления документации.
Функции FxPlug SDK 1.2.2
Платформа FxPlug 1.2.2
Версия 1.2.1 FxPlug SDK была выпущена с Final Cut Pro 6.0.1 и Движением 3.0.1.
Перечисление FxImageColorInfo
Новое FxImageColorInfo перечислимый тип идентифицирует некоторые свойства основного цвета FxImage. Для YUV-изображений это перечисление говорит Вам, необходимо ли использовать Rec. 601 или Rec. 709 матриц цветов для преобразования изображения в RGB. Для изображений RGB это описывает гамма уровень изображения.
Шаблонное расположение XCode
FxPlug SDK 1.2.2 устанавливает свои шаблоны XCode в расположении, ожидаемом Xcode 2.5 и позже. Символьные ссылки установлены в устаревшее расположение, таким образом, можно все еще открыть шаблоны с помощью более ранней версии XCode.
Изменения Final Cut Pro 6.0.2
Извлечение значения параметра
Плагины могут теперь оценить свои значения параметров в любое время во время -parameterChanged, или из пользовательского кода UI. Ранее, параметры могли быть оценены в любое время во время -renderOutput, но иначе только в текущее время.
Collapsible Groups
Группы параметра теперь содержат треугольники раскрытия, позволяющие группе быть разрушенной и расширенной. kFxParameterFlag_COLLAPSED флаг также уважают; плагины могут использовать этот флаг для создания групп, первоначально разрушенных, или программно разрушиться или развернуть группы в ответ на другие изменения параметра.
Стартовая точка, конечная точка и обратные переходы
Стартовую точку, конечную точку и обратные средства управления в Средстве просмотра Перехода теперь уважают при рендеринге переходов FxPlug. Эти три средств управления влияют на часть времени, переданную методу рендеринга перехода; обратное управление также подкачивает изображения A и B. Вам не придется изменить Ваш плагин для использования в своих интересах этих средств управления.
Отмена и Скопировать/вставить Отказывает
Исправленный ошибка, которая могла привести к катастрофическим отказам при отмене добавления фильтра, или при копировании и вставке фильтров.
Nested Groups
Сокрытие и отключение групп теперь работают правильно с вложенными группами. Однако нет все еще никакой визуальной индикации, что вкладываются группы.
YUV-изображения
Плагины могут использовать новое FxImageColorInfo API, чтобы определить, является ли YUV-изображением Rec. 601 или Rec. 709. Это допускает улучшенную поддержку YUV или точное преобразование в высокую точность RGB в плагине.
FxTemporalTransitionImage
Ранее, FxTemporalTransitionImageAPI интерпретируемый времена передали как относительно требуемого исходного клипа. Теперь времена интерпретируются как относительно элемента перехода. Это является соответствующим всему другому использованию времени в Final Cut Pro.
Многократные мониторы
Исправленный ошибка, где пользовательский UI мог появиться в неправильном расположении, если бы средство просмотра фильтра было перетащено к второму монитору.
Устаревший путь неотображения в режиме реального времени
Исправленный ошибка, где введенные изображения по устаревшему пути неотображения в режиме реального времени не были тегированы с корректным форматным соотношением.
Входные изображения перехода теперь имеют корректный полевой порядок
Исправленный ошибка, где введенные изображения для переходов не были маркированы корректным полевым порядком.
Hidden Groups
Final Cut Pro больше не игнорирует kFxParameterFlag_HIDDEN отметьте при создании групп. Однако группы должны быть отключены после того, как параметры, которые они содержат, были добавлены.
Движение 3.0.2 изменения
Сохранение пользовательского элемента управления
Ранее, когда пользователь изменил документ с пользовательским элементом управления, Движение не отмечало документ, как изменено и могло закрыть его, не сохраняя изменения. Двиньтесь теперь должным образом отмечает документ, как изменено. Это также фиксирует катастрофический отказ, который мог произойти во время отмены.
Изображение хорошо гамма сдвиг
При получении битового массива от изображения хорошо параметр изображение теперь имеет надлежащую гамму, устанавливающую, который соответствует, гамма, устанавливающая его, имела бы при отбрасывании его непосредственно во временную шкалу.
Рефакторинг объекта API
Различные Объекты API были пересмотрены для создания их доступными в большее количество раз, и сокращать количество потока связало проблемы. Сменные разработчики должны протестировать, чтобы быть уверенными, что APIs все все еще работают как ожидалось.
Интерполяция для повышающей дискретизации
Движение теперь использует интерполяцию, а не строку, удваивающуюся, чтобы сверхдискретизировать поля к типу телосложения.
Функции FxPlug SDK 1.2.1
Версия 1.2.1 FxPlug SDK была выпущена с Final Cut Pro 6.0.1 и Движением 3.0.1. FxPlug SDK 1.2.1 включает два новых протокола, один для управления 3D камерой и информацией об уровне в Движении и другом, который позволяет плагинам решать вопросы обратной совместимости. Хост-приложения, которые также содержат Final Cut Pro 6.0.1 и Движение 3.0.1, фиксируют связанный с FxPlug APIs.
Платформа FxPlug 1.2.1
3D Поддержка
Движение только: Плагины могут использовать новое Fx3DAPI протокол для получения 3D преобразований для камеры и для уровня плагина.
Поддержка управления версиями
Плагины, включающие a version ключ в их Info.plist файлы могут использовать новое FxVersioningAPI протокол для определения, какая версия их плагина использовалась, когда создавался проект.
Угловые модули
Для угловых параметров, -getFloatValue и -setFloatValue теперь используйте градусы во всех хост-приложениях.
Новые примеры
В дополнение к SimpleMatte и SimplePaint, FxPlug SDK 1.2 обеспечил новые проекты плагина в качестве примера, установленные в /Developer/Examples/FxPlug:
DirectionalBlurExample
Диалоговое окно опций
ScrollingRichText
Медленный SolidColor
Изменения Final Cut Pro 6.0.1
Корректная продолжительность для эффектов перехода
Метод [FxTimingAPI durationForEffect] возвращает корректную продолжительность эффектов перехода FxPlug.
Корректное время начала и продолжительность для необрезанных носителей
Методы [FxTimingAPI startTimeOfImageParm] и [FxTimingAPI durationOfImageParm]возвратите корректное время начала и продолжительность для параметров изображения, даже если носители в скважинах изображения не имеют в, и указывает на набор.
Параметры группы могут быть скрыты
kFxParameterFlag_HIDDEN отметьте работает правильно с группой, запускают и заканчивают маркеры.
Список параметров больше не прокручивает неуместно
Сокрытие или показ параметра больше не заставляют список параметров прокручивать к вершине.
Никакие артефакты в списке параметров
Сокрытие параметра больше не заставляет побочную горизонтальную строку быть нарисованной в списке параметров.
Корректный порядок канала
Ранее, выходные изображения для генераторов только для RGB были бы маркированы как RGBA, но результаты будут интерпретироваться как ARGB в 8-разрядном. Изображения теперь правильно маркируются как ARGB в 8-разрядном и RGBA в плавании.
Движение 3.0.1 изменения
Никакой гамма сдвиг
Получение растровых изображений с помощью временного изображения, API больше не вызывает гамму, переключает полученное изображение на нижний регистр.
Корректный рендеринг
Получение растровых изображений от группы больше не заставляет группу представлять вверх тормашками.
Корректное управление памятью
Покажите жестом теперь должным образом выпуски пользовательский NSViews, когда будет удален фильтр.
Надлежащая разрядная установка
Получение растровых изображений от 16-разрядного на видеозапись канала теперь возвращается надлежащий 32-разрядный на видеозапись канала.
Избегите ненужного рендеринга
Когда пользовательский элемент управления вызывает, повторный рендеринг больше не стоится в очереди -startAction и -endAction во время -drawRect: метод. Это удерживает контроль и текущий кадр от постоянного перерендеринга.
Исправьте ошибку катастрофического отказа
Движение больше не отказывает при определенных обстоятельствах при вызове -currentTime: в FxCustomParameterActionAPI протокол.
Параметры, обновленные правильно
Когда их включенный - отключенный или скрытый - показанный состояние изменяется, параметры теперь должным образом обновляются в инспекторе.
Функции FxPlug SDK 1.2
Версия 1.2 FxPlug SDK была выпущена с Final Cut Pro 6.0 и Движением 3.0. Фокусом FxPlug SDK 1.2 является улучшенная непротиворечивость между Движением и Final Cut Pro и лучшей поддержкой информации синхронизации. В дополнение к изменениям в самой платформе FxPlug существуют другие FxPlug-связанные изменения в Сменном менеджере 1.7, Final Cut Pro 6 и Движение 3.
Платформа FxPlug 1.2
Информация синхронизации
A FxTimingAPI протокол определяет методы, предоставленные узлом, которые позволяют плагину запрашивать свойства синхронизации своего входного изображения (й), параметров изображения, эффекта, временной шкалы, и в / точках. Этот протокол является старшим значащим изменением в FxPlug SDK 1.2.
Поле и полевая информация заказа
Объекты FxImage теперь отвечают на -field и -fieldOrder средства доступа. Эти средства доступа предоставляют информацию о полях в чересстрочных изображениях: полевой идентификатор для изображения и полевой порядок изображения. Неправильно именованное поле FxRenderInfo.field был переименован FxRenderInfo.fieldOrder. Но необходимо использовать средства доступа FxImage вместо этого.
Прогресс и отмена
A FxProgressAPI протокол определяет методы для плагинов, представляющих медленно, чтобы обновить индикатор выполнения и поддерживать пользовательскую отмену.
Изображение, повторно синхронизирующееся в переходах
Final Cut Pro только: FxTemporalTransitionImageAPI протокол позволяет плагину получать свои входные изображения A или B в разное время. В FxPlug 1.1 повторная синхронизация была только включена для изображений из вводов фильтра и скважин изображения, не для входных изображений перехода.
Абсолютный по сравнению с относительными временами
[FxHostCapabilities timeBase] метод позволяет плагину определять, измеряет ли хост-приложение времена как смещения кадра от запуска временной шкалы, или от запуска клипа, генератора, фильтра или перехода.
Получение угловых значений
-getAngle:fromParm:atTime: метод осуждается. Плагины должны использовать -getFloatValue: вместо этого.
Сменный менеджер 1.7
Свободный доступ для хостинга APIs
Сменный менеджер больше не требует, чтобы сменный файл Info.plist объявил, какой узел APIs плагин мог бы использовать. Однако для плагина для загрузки в системе с более старой версией Сменного менеджера плагин должен все еще перечислить этот APIs в ProPlugProtocolList — как проиллюстрировано проектами в качестве примера и шаблонами XCode.
Final Cut Pro 6
Поддержка скрытых и отключенных параметров
Отношения Final Cut Pro 6 kFxParameterFlag_HIDDEN и kFxParameterFlag_DISABLED. Плагин может указать эти флаги, когда он создает параметры, и измените их динамично с -setParameterFlags: селектор FxParameterSettingAPI .
Поддержка параметров Non-Animatable
Окончательный вариант 6 отношений kFxParameterFlag_NOT_ANIMATABLE отметьте, если это установлено, когда создается параметр. Плагин не может изменить этот флаг динамично, как только создается параметр.
Поддержка Parameter Groups
Final Cut Pro 6 предоставляет некоторую поддержку для групп параметра. Группы параметра реализованы как метки, разделяющие параметры, подобные После плагинов Эффектов в Final Cut Pro. Группы не могут быть разрушены или вложены.
Поддержка FxParameterSettingAPI
Final Cut Pro 5.1.2 не реализовывал FxParameterSettingAPI и плагин не мог установить значения своих параметров после создания. Final Cut Pro 6 поддерживает этот API. Плагины могут теперь изменить значения своих параметров динамично. Например, когда пользователь делает выбор из всплывающего меню, эффект мог бы хотеть реализовать предварительно установленную функциональность путем изменения некоторых значений параметров.
Параметры, выбранные в произвольные времена
В текущее время отображения плагин, работающий в соответствии с Final Cut Pro 5.1.2, мог только выбрать параметры. Единственное исключение к этому было параметрами изображения. В Final Cut Pro 6 плагин может выбрать любой тип параметра в любое время. Это позволяет эффекту исследовать значения параметров с ключевой рамкой в многократно.
Плагины, только инстанцированные один раз при запуске
При запуске Final Cut Pro 5.1.2 инстанцировал каждого установленного плагина многократно, иногда отправляя плагин -initWithAPIManager: сообщение, иногда отправляя плагин -init сообщение. При запуске Final Cut Pro 6 инстанцирует плагина один раз через -initWithAPIManager:, отправляет экземпляру следующие сообщения:
-addParameters-variesOverTime-properties
и выпускает сменный экземпляр.
Плагины, больше инстанцированные многократно
Когда плагин был добавлен к временной шкале, с помощью одного экземпляра для рендеринга и другого экземпляра для управления параметром, Final Cut Pro 5.1.2 создал два экземпляра плагина. Когда плагин добавляется к временной шкале и использует этот единственный экземпляр и для рендеринга и для управления параметром, Final Cut Pro 6 создает один экземпляр.
Начальное значение уважаемых средств управления точкой
Final Cut Pro 5.1.2 всегда устанавливал начальное значение средств управления точкой в центре изображения. Final Cut Pro 6 использует значение, указанное плагином.
Рендеринг программного обеспечения, предпочтительный в большем количестве случаев
Final Cut Pro 5.1.2 попросил, чтобы плагин представил на GPU, если не возвратился плагин canDoHardware = NO от -frameSetup. Final Cut Pro 6 просит, чтобы плагин представил в программном обеспечении если:
Сменные возвраты
canDoSoftware=YESот-frameSetupИ
Плагин указывает
kFxPropertyKey_SupportsRowBytes = YES
Иначе, Final Cut Pro 6 просит, чтобы плагин представил в аппаратных средствах.
Непротиворечивое уведомление изменения параметра
Final Cut Pro 5.1.2 отправил плагины -parameterChanged: обменивайтесь сообщениями, только если изменение параметра вызвало рендеринг. Если playhead не был на элементе с эффектом, Final Cut Pro 5.1.2 не отправлял сообщение. Final Cut Pro 6 отправляет плагину это сообщение сразу, когда параметр изменяется, вызывает ли изменение рендеринг или нет.
Запрос несуществующего параметра
В Final Cut Pro 5.1.2 сменный запрос на значение недобавленного параметра создал исключение Objective C и оставил Final Cut Pro в противоречивом состоянии. В Final Cut Pro 6 запрос на параметр, не существующий просто, возвращается НЕТ.
Форматное соотношение выходного пикселя сообщило правильно
В Final Cut Pro 5.1.2, если эффект FxPlug представлял в программном обеспечении и не изменял размер выходного изображения, выходное изображение будет всегда иметь попиксельную пропорцию 1,0. В Final Cut Pro 6 о попиксельной пропорции сообщают правильно.
Остающиеся проблемы в Final Cut Pro 6
Никакая поддержка экранных средств управления
Final Cut Pro 6 не поддерживает экранные средства управления.
Никакая поддержка изменения размеров выходных изображений
Final Cut Pro 6 не позволяет фильтру изменять размеры своего выходного изображения. Кроме того, это больше не вызывает -getOutputWidth:height: метод.
Некоторый APIs, доступный только во время рендеринга
В Final Cut Pro 6, FxTimingAPI и FxTemporalImageAPI только работайте правильно, если вызвано во время одного из следующих селекторов:
-getOutputWidth: height:-frameSetup-renderOutput-frameCleanup
Также, выборка параметров с ключевой рамкой в произвольные времена только работает во время этих селекторов.
Движение 3
Теперь уведомление изменений параметра
Движение 2.1 не вызывало -parameterChanged: когда изменилось значение составного параметра (например, точка, цвет, гистограмма, градиент). Движение 3 делает.
Фиксированный пиксельный аспект текстур от изображения Уэллс
Движение 2.1 не обеспечивало корректное pixelAspect значение для FxTexture изображения, полученные от изображения хорошо параметры. Движение 3 исправляет эту проблему.
Изображения плавающие pixelFormat Исправление
Движение 2,1 упорядоченных пиксельных компонента RGBA в изображениях с плавающей точкой, но -pixelFormat метод возвратил ARGB. Движение 3 исправляет эту проблему. Можно определить, неправильно маркированы ли изображения с плавающей точкой путем запросов [FxHostCapabilities formatsFloatRGBABitmapsAsARGB].
Временное извлечение изображения для изображения Уэллс
Движение 2.1 имело проблемы при получении изображений от изображения хорошо параметры в произвольные времена. Получающиеся изображения были в неправильные времена и вверх тормашками. Движение 3 получает эти изображения правильно.
Поддержка неанимированных параметров
Движение 3 добавляет поддержку kFxParameterFlag_NOT_ANIMATABLE флаг.
Масштабный коэффициент и изменение размеров согласованного
Движение 3 исправляет проблему в Движении 2.1, который привел к неправильным результатам при изменении размеров любого через -getOutputWidth:height: или субдискретизация для низкокачественного рендеринга.
Функции FxPlug SDK 1.0
FxPlug SDK 1.0 был представлен вместе с Движением 2.0 в апреле 2005. Несколько месяцев спустя версия 1.0.2 была выпущена с поддержкой Универсальных Двоичных плагинов, но никаких изменений API.
Версия 1.1 FxPlug SDK была первой версией, работавшей с Final Cut Pro 5.1.2. Версия 1.1 добавила много новых опций, включая:
Переходы.
Новый
FxBaseEffectродительский протокол для фильтров, генераторов и переходов.Строковые параметры.
Новое
-propertiesметод, возвращающий словарь, описывающий сменные атрибуты.8-разрядный и YUV с плавающей точкой ('r408' и 'r4fl') битовые массивы.
Байты строки поддерживают в битовых массивах.
SMPTE вытирают эквиваленты для переходов.
Новое
FxHostCapabilitiesкласс для определения возможностей хост-приложения.