TuttleOFX  1
Todo List
Namespace tuttle

temporary solution..

tuttle: custom parameter support...

tuttle: please remove this ! (don't use as singleton)

tuttle: remove this !

tuttle: remove this!

Global tuttle::common::applicationFilepath (const std::string &argv0, const boost::filesystem::path &currentPath)
on windows check which is the first local file or file in PATH...
Global tuttle::host::attribute::ClipImage::_connectedClip
remove this !!!!
Global tuttle::host::attribute::ClipImage::fetchRegionOfDefinition (const OfxTime time) const
tuttle: renderscale, time, ?
Global tuttle::host::attribute::ClipImage::getConnectedClip ()
tuttle: this is really bad...
Global tuttle::host::attribute::ClipImage::getImage (const OfxTime time, const OfxRectD *optionalBounds=NULL)
tuttle do something with bounds... if bounds != cache buffer bounds: bounds < cache buffer: use rowSize to adjust, and modify pointer bounds > cache buffer: recompute / exception ?
Global tuttle::host::attribute::ClipImage::setConnectedClip (const ClipImage &other)
remove this !!!!
Global tuttle::host::attribute::Image::copy (Image *dst, Image *src, const OfxPointI &dstCorner, const OfxPointI &srcCorner, const OfxPointI &count)
clean this! move outside from class or use copyFrom (don't specify dst) use ref, change order, etc.
Global tuttle::host::attribute::Image::Image (ClipImage &clip, const OfxTime time, const OfxRectD &bounds, const EImageOrientation orientation, const int rowDistanceBytes)
the same for bounds and rod, no tiles for the moment !
Global tuttle::host::attribute::ParamBoolean::getValueAtTime (const OfxTime time, bool &) const OFX_EXCEPTION_SPEC
: in time !
Global tuttle::host::attribute::ParamBoolean::setValueAtTime (const OfxTime time, const bool &, const ofx::attribute::EChange change) OFX_EXCEPTION_SPEC
: in time !
Global tuttle::host::attribute::ParamChoice::getValueAtTime (const OfxTime time, int &) const OFX_EXCEPTION_SPEC
: in time !
Global tuttle::host::attribute::ParamChoice::setValueAtTime (const OfxTime time, const int &, const ofx::attribute::EChange change) OFX_EXCEPTION_SPEC
: in time !
Global tuttle::host::attribute::ParamCustom::getValueAtTime (const OfxTime time, std::string &) const OFX_EXCEPTION_SPEC
: in time !
Global tuttle::host::attribute::ParamCustom::ParamCustom (INode &effect, const std::string &name, const ofx::attribute::OfxhParamDescriptor &descriptor)
link de parametres
Global tuttle::host::attribute::ParamCustom::setValueAtTime (const OfxTime time, const std::string &value, const ofx::attribute::EChange change) OFX_EXCEPTION_SPEC
: in time !
Global tuttle::host::attribute::ParamString::getValueAtTime (const OfxTime time, std::string &) const OFX_EXCEPTION_SPEC
: in time !
Global tuttle::host::attribute::ParamString::ParamString (INode &effect, const std::string &name, const ofx::attribute::OfxhParamDescriptor &descriptor)
link de parametres
Global tuttle::host::attribute::ParamString::setValueAtTime (const OfxTime time, const std::string &value, const ofx::attribute::EChange change) OFX_EXCEPTION_SPEC
: in time !
Global tuttle::host::Graph::Attribute
tuttle INode...
Global tuttle::host::Graph::getNodesByContext (const std::string &type)
tuttle: use INode here !
Global tuttle::host::Graph::getNodesByPlugin (const std::string &pluginId)
tuttle: use INode here !
Global tuttle::host::graph::IVertex::exportDotDebug (std::ostream &os) const
remove this. Temporary solution
Global tuttle::host::graph::ProcessGraph::process (memory::IMemoryCache &outCache)
Bug: need to use a map 'OutputNode': 'timeRanges' And check if all Output nodes share a common timeRange
Global tuttle::host::graph::ProcessGraph::processAtTime (memory::IMemoryCache &outCache, const OfxTime time)
clean datas...
Global tuttle::host::graph::ProcessGraph::setup ()
tuttle: exception if there is non-optional clips unconnected. It's already checked in the beginSequence of the imageEffectNode. But maybe it could better to check that here independently from node types.
Global tuttle::host::graph::ProcessGraph::setupAtTime (const OfxTime time)
: this is maybe better to move this into the ProcessData? Doesn't depend on time?
Global tuttle::host::graph::ProcessGraph::Vertex
tuttle ProcessNode...
Global tuttle::host::graph::ProcessVertex::exportDotDebug (std::ostream &os) const
remove this. Temporary solution
Global tuttle::host::graph::ProcessVertexAtTime::exportDotDebug (std::ostream &os) const
remove this. Temporary solution
Class tuttle::host::Host
how to support multiple APIs...
Global tuttle::host::Host::Host ()

tuttle set host properties correctly...

tuttle: we hope to do this !

Global tuttle::host::ImageEffectNode::getProjectBitDepth () const
tuttle: to remove in the future.... size, pixelType, BitDepth, etc... must be locally defined
Global tuttle::host::ImageEffectNode::getProjectPixelComponentsType () const
tuttle: to remove in the future.... size, pixelType, BitDepth, etc... must be locally defined
Global tuttle::host::ImageEffectNode::initInputClipsPixelAspectRatio ()
multiple PAR
Global tuttle::host::ImageEffectNode::maximizeBitDepthFromWritesToReads ()

tuttle: what is the best way to access another node ? through the graph ? through a graph inside ProcessOptions ?

tuttle: is this test correct in all cases?

Global tuttle::host::ImageEffectNode::preProcess1 (graph::ProcessVertexAtTimeData &vData)
tuttle: tile supports
Global tuttle::host::memory::CACHE_ELEMENT
temporary solution..
Global tuttle::host::memory::IMemoryCache::put (const std::string &identifier, const double time, CACHE_ELEMENT pData)=0
tuttle: use key here, instead of (name, time)
Class tuttle::host::memory::MemoryPool
tuttle: virtual destructor or nothing in virtual
Global tuttle::host::memory::MemoryPool::clear (std::size_t size)
tuttle
Global tuttle::host::ofx::attribute::OfxhClipImage::findSupportedComp (const std::string &s) const
tuttle: can we remove this check ?
Global tuttle::host::ofx::attribute::OfxhClipImage::getConnectedClipFullName () const =0
tuttle: remove this!
Global tuttle::host::ofx::attribute::OfxhClipImage::getFieldExtraction () const
tuttle: This function has been added here. Why was it not before?
Global tuttle::host::ofx::attribute::OfxhClipImageSet::populateClips (const imageEffect::OfxhImageEffectNodeDescriptor &descriptor) OFX_EXCEPTION_SPEC
tuttle don't manipulate clip here, delegate to ClipInstanceSet
Global tuttle::host::ofx::attribute::OfxhParam::OfxhParam (const OfxhParam &other)
tuttle : copy content, not pointer ?
Global tuttle::host::ofx::attribute::OfxhParam::operator== (const This &p) const
tuttle: check values !!!
Global tuttle::host::ofx::attribute::OfxhParamAccessor::getHint () const
tuttle : common to all attributes
Global tuttle::host::ofx::attribute::OfxhParamAccessor::getScriptName () const
tuttle : common to all attributes
Global tuttle::host::ofx::attribute::OfxhParamDescriptor::OfxhParamDescriptor (const std::string &type, const std::string &name)
TUTTLE_TODO : common property for all Attributes
Global tuttle::host::ofx::attribute::OfxhParamString::getV (va_list arg) const OFX_EXCEPTION_SPEC
tuttle: "I so don't like this, temp storage should be delegated to the implementation"
Global tuttle::host::ofx::imageEffect::OfxhImageEffectNode::calcDefaultRegionOfDefinition (OfxTime time, OfxPointD renderScale) const

: do not recompute this here

tuttle: maybe RoD problems with Generator and Read here... to check !

Global tuttle::host::ofx::imageEffect::OfxhImageEffectNode::getRegionOfInterestAction (OfxTime time, OfxPointD renderScale, const OfxRectD &roi, std::map< attribute::OfxhClipImage *, OfxRectD > &rois) const OFX_EXCEPTION_SPEC
tuttle: how to support size on generators... check if this is correct in all cases.
Global tuttle::host::ofx::imageEffect::OfxhImageEffectNode::initOverlayDescriptor (int bitDepthPerComponent=8, bool hasAlpha=false)
tuttle initOverlayDescriptor... !!! Correct the constness
Global tuttle::host::ofx::imageEffect::OfxhImageEffectNode::populateParams (const imageEffect::OfxhImageEffectNodeDescriptor &descriptor)
tuttle: move this in ParamSet !
Global tuttle::host::ofx::imageEffect::OfxhImageEffectNodeDescriptor::_overlayDescriptor
tuttle: remove mutable
Global tuttle::host::ofx::imageEffect::OfxhImageEffectNodeDescriptor::getOverlayDescriptor () const
tuttle some modifs here... doc needs updates... Get the interact description, this will also call describe on the interact This will return NULL if there is not main entry point or if the description failed otherwise it will return the described overlay
Global tuttle::host::ofx::imageEffect::OfxhImageEffectNodeDescriptor::OfxhImageEffectNodeDescriptor ()
tuttle...
Global tuttle::host::ofx::imageEffect::OfxhImageEffectPlugin::_baseDescriptor
tuttle: ???
Global tuttle::host::ofx::imageEffect::OfxhImageEffectPlugin::createInstance (const std::string &context)

- we need to make sure action:load is called, then action:describe again (not because we are expecting the results to change, but because plugin might get confused otherwise), then a describe_in_context

tuttle: don't use singleton here.

Global tuttle::host::ofx::imageEffect::OfxhImageEffectPlugin::OfxhImageEffectPlugin ()
tuttle
Global tuttle::host::ofx::OfxhException::getStatusStr () const
tuttle : mapStatusEnumToStr... in tuttle common
Class tuttle::host::ofx::OfxhMemory
use MemoryPool
Global tuttle::host::ofx::property::OfxhPropertyTemplate< T >::getAPIConstlessValue (int index=0) const OFX_EXCEPTION_SPEC
tuttle remove ReturnType, only use Type
Global tuttle::host::ofx::property::OfxhPropertyTemplate< T >::getConstlessValue (int index=0) const OFX_EXCEPTION_SPEC
in private and friend function...
Global tuttle::host::ofx::property::OfxhSet::getStringPropertyRaw (const std::string &property, int index=0) const
tuttle: return const no ?
Global tuttle::plugin::OfxAllocator< T >::operator== (OfxAllocator< T > const &)
tuttle check clip ? check hash ? etc.
Global tuttle::plugin::OfxProgress::progressForward (const int nSteps)
why not unlock the mutex here?