70 lines
2.7 KiB
Plaintext
70 lines
2.7 KiB
Plaintext
This directory contains source to an implementation of an OFX host C++ support library.
|
|
This library skins the raw C API with a C++ layer, which is easy to program and abstracts
|
|
the base API.
|
|
|
|
It does several things,
|
|
- skins the C API with C++ classes, the host application 'only' needs to
|
|
- derive several classes
|
|
- implement a bunch of virtual methods
|
|
- set some OFX properties
|
|
- does most of the complicated logic in OFX,
|
|
- regions of interest calls
|
|
- clip preferences calls
|
|
- provides a persistent plug-in caching mechanism so that
|
|
- newly installed plug-ins are described into a cache file,
|
|
- the cache persists as an XML file with enough information
|
|
to construct simple menus etc..
|
|
- once cached, plug-ins need only be loaded on demand.
|
|
- is extensible beyond the base API,
|
|
- allows hosts to provide extra suites and properties fairly easily.
|
|
- it is generic beyond ImageEffects APIs, so other APIs can be implemented
|
|
on the core sections of it.
|
|
|
|
Apart from standard C and C++ libraries it is dependent on the expat XML library.
|
|
|
|
You'll still need to understand what the API actually does, its just that the implementation details that become easier.
|
|
|
|
The layer could do with some improvement, specifically,
|
|
- support for the external XML resource file,
|
|
- a degree more tidying up,
|
|
- parameter interacts
|
|
- more documentation.
|
|
|
|
Released under a BSD-style licence: see source.
|
|
|
|
Authors:
|
|
Abigail Brady <abigail@thefoundry.co.uk>
|
|
Andrew Whitmore <andy@thefoundry.co.uk>
|
|
Bruno Nicoletti <bruno@thefoundry.co.uk>
|
|
|
|
Release Notes
|
|
-------------
|
|
|
|
26/03/2007
|
|
|
|
Minimum implementation, which allows plugin descriptions to be cached. Includes property sets and
|
|
property suite and implementation of plugin description. Support for describing in context and
|
|
parameters not fully enabled.
|
|
|
|
29/03/2007
|
|
|
|
Support for describing in contexts and parameters. These are cached as well.
|
|
|
|
25/06/2007
|
|
|
|
Major overhaul of the thing,
|
|
- propertys made simpler to use
|
|
- re-namespaced several classes so that anything to do with image effects are
|
|
in the ImageEffect namespace
|
|
- made the host layer do the logic for several Image Effect actions
|
|
- clip preferences
|
|
- regions of interest
|
|
- simplified the function signatures of the actions
|
|
- the 'Host' class now acts as,
|
|
- a factory,
|
|
- a filter for constructed objects,
|
|
- a description of the host application to the plugin.
|
|
|
|
# SPDX-License-Identifier: BSD-3-Clause
|
|
|