Сменные понятия и обзор API
Плагин FxPlug является комплектом приложений, содержа два дополнительных пакета, который взаимодействует с хост-приложением для расширения его функциональности.
Когда плагин должен получить доступ к функциональности хост-приложения — такой как запрос информации видеопотока — это использует методы в узле API. API узла является объектом, при условии хост-приложением, реализующим методы, которые может вызвать плагин. Это походит на комплект обратного вызова в другой сменной архитектуре, но реализовано как протокол Objective C.
Например, FxPlug SDK определяет протоколы узла, включающие методы для запроса информации уровня, преобразования между холстом и возражающие координатным пространствам, создание списка сменных параметров, получения и установки значений параметров и оценки входных изображений в произвольные времена. Не все узлы, как гарантируют, будут поддерживать все протоколы API узла, указанные в FxPlug, таким образом, плагин должен будет запросить узел объект API прежде, чем вызвать его методы.
Основные платформы в FxPlug SDK FxPlug.framework и PlugInManager.framework. Эти платформы расположены в /Library/Developer/Frameworks/.
Протоколы
Основные протоколы, определенные FxPlug SDK, FxFilter, FxGenerator, и FxOnScreenControl. Все плагины FxPlug должны соответствовать одному из этих протоколов.
Протоколы узла по сравнению со сменными протоколами и классами
FxPlug SDK составлен из многих протоколов и классов. Некоторые из этих протоколов реализованы хост-приложением и предоставляют Ваш сменный доступ к функциональности в том приложении. Другие протоколы, как ожидают, будут реализованы Вашим приложением, чтобы позволить хост-приложению связываться с Вашим плагином.
Следующее является определенными с помощью узла протоколами:
FxAppearanceAPIПротоколFxCustomParameterActionAPIПротоколFXCustomParameterActionAPI_v2ПротоколFxDynamicParameterAPIПротоколFxHostResourcesAPIПротоколFxKeyframeAPIПротоколFxLightingAPIПротоколFxOnScreenControlAPIПротоколFxOnScreenControlAPI_v2ПротоколFxOptionalParameterCreationAPIПротоколFxOptionalParameterRetrievalAPIПротоколFxOptionalParameterSettingAPIПротоколFxParameterCreationAPIПротоколFxParameterCreationAPI_v2ПротоколFxParameterCreationAPI_v3ПротоколFxParameterCreationAPI_v4ПротоколFxParameterRetrievalAPIПротоколFxParameterRetrievalAPI_v2ПротоколFxParameterRetrievalAPI_v3ПротоколFxParameterRetrievalAPI_v4ПротоколFxParameterSettingAPIПротоколFxParameterSettingAPI_v2ПротоколFxParameterSettingAPI_v3ПротоколFxPathAPIПротоколFxPrincipalAPIПротоколFxProgressAPIПротоколFxRenderNotificationAPIПротоколFxTemporalImageAPIПротоколFxTemporalTransitionImageAPIПротоколFxTimingAPIПротоколFxTimingAPI_v2ПротоколFxUndoAPIПротоколFxVersioningAPIПротоколFxWindowAPIПротокол
Следующее является протоколами и классами, что Ваш плагин FxPlug может (или должен), реализация:
FxBaseEffectПротоколFxCustomParameterInterpolationПротоколFxCustomParameterViewHostПротоколFxFilterПротоколFxGeneratorПротоколFxHostResourcesClientПротоколFxOnScreenControlПротоколFxOnScreenControl_v2ПротоколFxWindowHostПротокол
Цветные представления
Все цвета представлены пользователю в sRGB цветовом пространстве. Численные значения, выведенные на экран в инспекторе для цвета хорошо параметры, являются значениями sRGB для тех цветов. Однако, когда плагин запрашивает цвет через один из -[FxParameterRetrievalAPI getRedValue:greenValue:blueValue:::] методы, значения возвратились, находятся в пространстве обработки, которое требует плагин через словарь, который это возвращает из -properties метод.
Другими словами, если Ваш плагин устанавливает значение kFxPropertyKey_DesiredProcessingColorInfo ключ к kFxImageColorInfo_RGB_LINEAR, цветные скважины возвращают линейные цвета RGB. Аналогично, если значение установлено в kFxImageColorInfo_RGB_GAMMA_VIDEO, цветные скважины возвращаются корректный гаммой (Rec. 709) значения RGB.
Численные значения, которые получает Ваш плагин, отличаются от значений, выведенных на экран пользователю в инспекторе, и это проектом.