FxBaseEffect
FxBaseEffect
протокол определяет методы, которые должны реализовать все плагины.
Весь FxPlug-ins должен реализовать FxBaseEffect
протокол. Это - протокол от который FxFilter
, FxGenerator
, и FxTransition
протоколы все происходят.
Это определяет основную функциональность, которую плагин должен реализовать, такие как создание параметров для пользователя для взаимодействия с, и информирование узла, обладающего плагином, имеет, или потребности, от узла. Кроме того, это позволяет плагину обновлять один или несколько параметров каждый раз, когда изменяется другой параметр.
Наследование
Не применимый
Соответствует
Не применимый
Оператор импорта
Не применимый не применимый
-
addParameters - addParameters
ТребуемыйДобавляют параметры к хост-приложению, которого требует плагин. (требуемый)
Объявление
Objective C
- (BOOL)addParameters
Возвращаемое значение
YES
true
если успешно добавляются все параметры; иначеNO
false
. -
Сообщает изменение в сменном значении параметра, сделанном конечным пользователем.
Объявление
Objective C
- (BOOL)parameterChanged:(UInt32)
parmId
Параметры
parmId
ID параметра изменившегося значения.
Возвращаемое значение
YES
true
если успешно обрабатываются все изменения; иначеNO
false
.Обсуждение
Когда этот метод вызывается, плагин должен установить другие связанные значения параметров.
Если плагин требует текущего времени в этом методе (например, для получения или установки значений параметров или флагов), необходимо использовать
currentTime
метод вFxCustomParameterActionAPI
протокол. -
variesOverTime - variesOverTime
ТребуемыйУказывает, производит ли плагин различные изображения (анимация) в течение долгого времени с помощью того же набора параметров. (требуемый)
Объявление
Objective C
- (BOOL)variesOverTime
Возвращаемое значение
YES
true
если плагин производит изменяющиеся изображения, не изменяя параметры; иначеNO
false
.Обсуждение
Эта подсказка используется, чтобы определить, может ли представленное выходное изображение с определенным набором значений параметров кэшироваться и снова использоваться для других кадров, имеющих идентичные значения параметров.
-
Позволяет фильтру делать любую установку между временем, это было добавлено к временной шкале и в первый раз, когда это представляет.
Объявление
Objective C
- (BOOL)finishInitialSetup:(NSError**)
error
Параметры
error
Возвраты, ссылкой,
NSError
возразите, что Ваше сменное использование предоставляет информацию об ошибках, с которыми встречаются во время выполнения этого метода.Возвращаемое значение
YES
true
если Ваш плагин успешно завершил установку; иначеNO
false
.Обсуждение
Если Ваш плагин реализует этот метод, то его вызовут после
initWithAPIManager:
иaddParameters
методы (если параметры не являются динамичными), но перед первым рендерингом. Любая требуемая установка или анализ данных должны быть сделаны этим методом. -
свойства - свойства
ТребуемыйОпределяет свойства плагина. (требуемый)
Объявление
Objective C
- (NSDictionary *)properties
Возвращаемое значение
NSDictionary
определение свойств плагина.Обсуждение
Хост-приложение примет значения по умолчанию для любых недостающих ключей.
Например, если бы это - независимый пиксель, тогда узел мог бы отправить его, чересстрочный кадр и результат совпали бы с отправкой его два отдельных поля. Существуют свойства, для которых цветовых пространств это может обработать, поддерживает ли это
rowBytes
при рендеринге в программном обеспечении, вытянет ли это кадры с других времен и т.д.Поддерживаемые свойства определяются в Сменных Свойствах. Кроме того, существуют другие возможные ключи, объявленные всюду по FxPlug SDK включая:
kFxPropertyKey_PixelTransformSupport
,kFxPropertyKey_DrawsInScreenSpace
.
-
Эти константы указывают некоторые поддерживаемые ключи в словаре, указанном
properties
.Объявление
Objective C
#define kFxPropertyKey_EquivalentSMPTEWipeCode @"EquivalentSMPTEWipeCode" #define kFxPropertyKey_MayRemapTime @"MayRemapTime" #define kFxPropertyKey_PixelIndependent @"PixelIndependent" #define kFxPropertyKey_PreservesAlpha @"PreservesAlpha" #define kFxPropertyKey_RendersInFilmSpace @"RendersInFilmSpace" #define kFxPropertyKey_SupportsPixelTransform @"SupportsPixelTransform" #define kFxPropertyKey_SupportsR408 @"SupportsR408" #define kFxPropertyKey_SupportsR4fl @"SupportsR4fl" #define kFxPropertyKey_SupportsRowBytes @"SupportsRowBytes"
Константы
-
kFxPropertyKey_EquivalentSMPTEWipeCode
kFxPropertyKey_EquivalentSMPTEWipeCode
Значение для этого ключа является целочисленным значением, закодированным как
NSNumber
объект, определяя нейтрализацию SMPTE вытирает код, который будет использоваться для создания EDL. Значение по умолчанию0
, выражение там не является никаким эквивалентом, вытирают код. -
kFxPropertyKey_MayRemapTime
kFxPropertyKey_MayRemapTime
Значение для этого ключа является булевым значением, закодированным как
NSNumber
объект, указывая, может ли этот плагин попытаться выбрать свое входное изображение (я) когда-либо кроме выходного времени. Значение по умолчаниюYES
true
. -
kFxPropertyKey_PixelIndependent
kFxPropertyKey_PixelIndependent
Значение для этого ключа является булевым значением, закодированным как
NSNumber
объект, указывающий, зависит ли каждый пиксель выходного изображения этого плагина только от значения соответствующего пикселя во входном изображении (ях) и ни на каких других пикселях. Этот флаг используется для оптимизации производительности и для определения, может ли плагин воздействовать на единственные поля, а также полные чередованные кадры. Значение по умолчаниюNO
false
. -
kFxPropertyKey_PreservesAlpha
kFxPropertyKey_PreservesAlpha
Значение для этого ключа является булевым значением, закодированным как
NSNumber
объект, указывая, оставляет ли этот плагин значения альфа-канала входного изображения (й) нетронутыми. Значение по умолчаниюNO
false
. -
kFxPropertyKey_RendersInFilmSpace
kFxPropertyKey_RendersInFilmSpace
Значение для этого ключа является булевым значением, закодированным как
NSNumber
объект, указывая, представляет ли этот эффект в filmspace. -
kFxPropertyKey_SupportsPixelTransform
kFxPropertyKey_SupportsPixelTransform
Значение для этого ключа является булевым значением, закодированным как
NSNumber
объект, указывая, может ли этот плагин поддерживать PixelTransforms. Значение по умолчаниюNO
false
. -
kFxPropertyKey_SupportsR408
kFxPropertyKey_SupportsR408
Значение для этого ключа является булевым значением, закодированным как
NSNumber
объект, указывая, поддерживает ли этот плагин r408 формат пикселя. Значение по умолчаниюNO
false
. -
kFxPropertyKey_SupportsR4fl
kFxPropertyKey_SupportsR4fl
Значение для этого ключа является булевым значением, закодированным как
NSNumber
объект, указывая, поддерживает ли этот плагин r4fl формат пикселя. Значение по умолчаниюNO
false
. -
kFxPropertyKey_SupportsRowBytes
kFxPropertyKey_SupportsRowBytes
Значение для этого ключа является булевым значением, закодированным как
NSNumber
объект, указывая, может ли этот плагин поддерживатьFxBitmap
экземпляры класса сrowBytes != (width * depth / 8 * activeChannels)
. Значение по умолчаниюNO
false
.
-