TuttleOFX
1
|
00001 #ifndef _TUTTLE_PLUGIN_DPXWRITER_PLUGIN_HPP_ 00002 #define _TUTTLE_PLUGIN_DPXWRITER_PLUGIN_HPP_ 00003 00004 #include <tuttle/plugin/context/WriterPlugin.hpp> 00005 #include "DPXWriterDefinitions.hpp" 00006 00007 #include <libdpx/DPX.h> 00008 00009 namespace tuttle { 00010 namespace plugin { 00011 namespace dpx { 00012 namespace writer { 00013 00014 struct DPXWriterProcessParams 00015 { 00016 std::string _filepath; ///< filepath 00017 std::string _project; ///< project metadata 00018 std::string _copyright; ///< copyright metadata 00019 ETuttlePluginBitDepth _bitDepth; ///< Output bit depth 00020 size_t _iBitDepth; ///< Int value of output bit depth 00021 ::dpx::Descriptor _descriptor; ///< Components type 00022 ::dpx::Characteristic _transfer; 00023 ::dpx::Characteristic _colorimetric; 00024 ::dpx::Packing _packed; ///< Bit streaming packing 00025 ::dpx::Encoding _encoding; 00026 ::dpx::Orientation _orientation; 00027 bool _swapEndian; ///< set endianness 00028 00029 }; 00030 00031 /** 00032 * @brief 00033 * 00034 */ 00035 class DPXWriterPlugin : public WriterPlugin 00036 { 00037 public: 00038 DPXWriterPlugin( OfxImageEffectHandle handle ); 00039 00040 public: 00041 DPXWriterProcessParams getProcessParams( const OfxTime time ); 00042 00043 void changedParam( const OFX::InstanceChangedArgs& args, const std::string& paramName ); 00044 00045 void render( const OFX::RenderArguments& args ); 00046 00047 protected: 00048 OFX::ChoiceParam* _bitDepth; ///< Dpx bit depth 00049 OFX::ChoiceParam* _descriptor; ///< Dpx descriptor 00050 OFX::ChoiceParam* _transfer; ///< Dpx transfer 00051 OFX::ChoiceParam* _colorimetric; ///< Dpx colorimetric 00052 OFX::ChoiceParam* _packed; ///< Dpx packed method 00053 OFX::BooleanParam* _swapEndian; ///< Dpx swap endian 00054 OFX::ChoiceParam* _encoding; ///< Dpx encoding 00055 OFX::ChoiceParam* _orientation; ///< Dpx orientation 00056 OFX::StringParam* _project; ///< Dpx metadata Project 00057 OFX::StringParam* _copyright; ///< Dpx metadata Copyright 00058 }; 00059 00060 } 00061 } 00062 } 00063 } 00064 00065 #endif