[Hdrflow-svn] SF.net SVN: hdrflow: [110] lib/openlibraries/src
Status: Pre-Alpha
Brought to you by:
glslang
|
From: <gl...@us...> - 2007-05-01 22:26:14
|
Revision: 110
http://hdrflow.svn.sourceforge.net/hdrflow/?rev=110&view=rev
Author: glslang
Date: 2007-05-01 15:26:13 -0700 (Tue, 01 May 2007)
Log Message:
-----------
+ more ofx bindings
Modified Paths:
--------------
lib/openlibraries/src/openmedialib/plugins/ofx/ofx_plugin.cpp
lib/openlibraries/src/openpluginlib/pl/pcos/property.hpp
lib/openlibraries/src/openpluginlib/pl/string.hpp
Modified: lib/openlibraries/src/openmedialib/plugins/ofx/ofx_plugin.cpp
===================================================================
--- lib/openlibraries/src/openmedialib/plugins/ofx/ofx_plugin.cpp 2007-05-01 01:24:13 UTC (rev 109)
+++ lib/openlibraries/src/openmedialib/plugins/ofx/ofx_plugin.cpp 2007-05-01 22:26:13 UTC (rev 110)
@@ -39,11 +39,6 @@
namespace
{
typedef pcos::property_container* property_container_ptr;
- typedef std::vector<int> int_vec;
- typedef std::vector<unsigned int> uint_vec;
- typedef std::vector<double> double_vec;
- typedef std::vector<pl::string> string_vec;
- typedef std::vector<pl::wstring> wstring_vec;
void set_property_suite( OfxPropertySuiteV1& );
void set_image_effect_suite( OfxImageEffectSuiteV1& );
@@ -76,12 +71,31 @@
, param_descriptor_prop_param_prop_parent_( pcos::key::from_string( kOfxParamPropParent ) )
, param_descriptor_prop_param_prop_enabled_( pcos::key::from_string( kOfxParamPropEnabled ) )
, param_descriptor_prop_param_prop_data_ptr_( pcos::key::from_string( kOfxParamPropDataPtr ) )
- { }
+ {
+ set_param_descriptor_properties( );
+ }
virtual property_container_ptr get_property_set( )
{ return ¶m_descriptor_props_; }
private:
+ void set_param_descriptor_properties( )
+ {
+ param_descriptor_props_.append( param_descriptor_prop_type_ = pl::string( kOfxTypeParameter ) );
+ param_descriptor_props_.append( param_descriptor_prop_name_ = pl::string( ) );
+ param_descriptor_props_.append( param_descriptor_prop_label_ = pl::string( ) );
+ param_descriptor_props_.append( param_descriptor_prop_short_label_ = pl::string( ) );
+ param_descriptor_props_.append( param_descriptor_prop_long_label_ = pl::string( ) );
+ param_descriptor_props_.append( param_descriptor_prop_param_prop_secret_ = 0 );
+ param_descriptor_props_.append( param_descriptor_prop_param_prop_can_undo_ = 1 );
+ param_descriptor_props_.append( param_descriptor_prop_param_prop_hint_ = pl::string( ) );
+ param_descriptor_props_.append( param_descriptor_prop_param_prop_script_name_ = pl::string( ) );
+ param_descriptor_props_.append( param_descriptor_prop_param_prop_parent_ = pl::string( ) );
+ param_descriptor_props_.append( param_descriptor_prop_param_prop_enabled_ = 1 );
+ param_descriptor_props_.append( param_descriptor_prop_param_prop_data_ptr_ = ( void* ) 0 );
+ }
+
+ private:
pcos::property_container param_descriptor_props_;
pcos::property param_descriptor_prop_type_;
pcos::property param_descriptor_prop_name_;
@@ -102,18 +116,33 @@
{
public:
explicit value_param_descriptor( )
- : value_param_descriptor_param_prop_default_( pcos::key::from_string( kOfxParamPropDefault ) )
- , value_param_descriptor_param_prop_animates_( pcos::key::from_string( kOfxParamPropAnimates ) )
+ : value_param_descriptor_param_prop_animates_( pcos::key::from_string( kOfxParamPropAnimates ) )
, value_param_descriptor_param_prop_is_animating_( pcos::key::from_string( kOfxParamPropIsAnimating ) )
, value_param_descriptor_param_prop_is_auto_keying_( pcos::key::from_string( kOfxParamPropIsAutoKeying ) )
, value_param_descriptor_param_prop_persistant_( pcos::key::from_string( kOfxParamPropPersistant ) )
, value_param_descriptor_param_prop_evaluate_on_change_( pcos::key::from_string( kOfxParamPropEvaluateOnChange ) )
, value_param_descriptor_param_prop_plugin_may_write_( pcos::key::from_string( kOfxParamPropPluginMayWrite ) )
, value_param_descriptor_param_prop_cache_invalidation_( pcos::key::from_string( kOfxParamPropCacheInvalidation ) )
- { }
+ {
+ set_value_param_descriptor_properties( );
+ }
private:
- pcos::property value_param_descriptor_param_prop_default_;
+ void set_value_param_descriptor_properties( )
+ {
+ property_container_ptr param_props_ = get_property_set( );
+
+ param_props_->append( value_param_descriptor_param_prop_animates_ = 1 );
+ param_props_->append( value_param_descriptor_param_prop_is_animating_ = 0 );
+ param_props_->append( value_param_descriptor_param_prop_is_auto_keying_ = 0 );
+ param_props_->append( value_param_descriptor_param_prop_persistant_ = 1 );
+ param_props_->append( value_param_descriptor_param_prop_evaluate_on_change_ = 1 );
+ param_props_->append( value_param_descriptor_param_prop_plugin_may_write_ = 0 );
+ param_props_->append( value_param_descriptor_param_prop_cache_invalidation_ = pl::string( kOfxParamInvalidateValueChange ) );
+ }
+
+ private:
+
pcos::property value_param_descriptor_param_prop_animates_;
pcos::property value_param_descriptor_param_prop_is_animating_;
pcos::property value_param_descriptor_param_prop_is_auto_keying_;
@@ -127,11 +156,25 @@
{
public:
explicit string_param_descriptor( )
- : string_param_descriptor_param_prop_string_mode_( pcos::key::from_string( kOfxParamPropStringMode ) )
+ : string_param_descriptor_param_prop_default_( pcos::key::from_string( kOfxParamPropDefault ) )
+ , string_param_descriptor_param_prop_string_mode_( pcos::key::from_string( kOfxParamPropStringMode ) )
, string_param_descriptor_param_prop_string_file_path_exists_( pcos::key::from_string( kOfxParamPropStringFilePathExists ) )
- { }
+ {
+ set_string_param_descriptor_properties( );
+ }
+
+ private:
+ void set_string_param_descriptor_properties( )
+ {
+ property_container_ptr param_props_ = get_property_set( );
+
+ param_props_->append( string_param_descriptor_param_prop_default_ = pl::string( ) );
+ param_props_->append( string_param_descriptor_param_prop_string_mode_ = pl::string( kOfxParamStringIsSingleLine ) );
+ param_props_->append( string_param_descriptor_param_prop_string_file_path_exists_ = 1 );
+ }
private:
+ pcos::property string_param_descriptor_param_prop_default_;
pcos::property string_param_descriptor_param_prop_string_mode_;
pcos::property string_param_descriptor_param_prop_string_file_path_exists_;
};
@@ -140,13 +183,29 @@
{
public:
explicit int_param_descriptor( )
- : int_param_descriptor_param_prop_min_( pcos::key::from_string( kOfxParamPropMin ) )
+ : int_param_descriptor_param_prop_default_( pcos::key::from_string( kOfxParamPropDefault ) )
+ , int_param_descriptor_param_prop_min_( pcos::key::from_string( kOfxParamPropMin ) )
, int_param_descriptor_param_prop_max_( pcos::key::from_string( kOfxParamPropMax ) )
, int_param_descriptor_param_prop_display_min_( pcos::key::from_string( kOfxParamPropDisplayMin ) )
, int_param_descriptor_param_prop_display_max_( pcos::key::from_string( kOfxParamPropDisplayMax ) )
- { }
+ {
+ set_int_param_descriptor_properties( );
+ }
private:
+ void set_int_param_descriptor_properties( )
+ {
+ property_container_ptr param_props_ = get_property_set( );
+
+ param_props_->append( int_param_descriptor_param_prop_default_ = 0 );
+ param_props_->append( int_param_descriptor_param_prop_min_ = ( std::numeric_limits<int>::min )( ) );
+ param_props_->append( int_param_descriptor_param_prop_max_ = ( std::numeric_limits<int>::max )( ) );
+ param_props_->append( int_param_descriptor_param_prop_display_min_ = ( std::numeric_limits<int>::min )( ) );
+ param_props_->append( int_param_descriptor_param_prop_display_max_ = ( std::numeric_limits<int>::max )( ) );
+ }
+
+ private:
+ pcos::property int_param_descriptor_param_prop_default_;
pcos::property int_param_descriptor_param_prop_min_;
pcos::property int_param_descriptor_param_prop_max_;
pcos::property int_param_descriptor_param_prop_display_min_;
@@ -157,14 +216,31 @@
{
public:
explicit int2D_param_descriptor( )
- : int2D_param_descriptor_param_prop_min_( pcos::key::from_string( kOfxParamPropMin ) )
+ : int2D_param_descriptor_param_prop_default_( pcos::key::from_string( kOfxParamPropDefault ) )
+ , int2D_param_descriptor_param_prop_min_( pcos::key::from_string( kOfxParamPropMin ) )
, int2D_param_descriptor_param_prop_max_( pcos::key::from_string( kOfxParamPropMax ) )
, int2D_param_descriptor_param_prop_display_min_( pcos::key::from_string( kOfxParamPropDisplayMin ) )
, int2D_param_descriptor_param_prop_display_max_( pcos::key::from_string( kOfxParamPropDisplayMax ) )
, int2D_param_descriptor_param_prop_dimension_label_( pcos::key::from_string( kOfxParamPropDimensionLabel ) )
- { }
+ {
+ set_int2D_param_descriptor_properties( );
+ }
private:
+ void set_int2D_param_descriptor_properties( )
+ {
+ property_container_ptr param_props_ = get_property_set( );
+
+ param_props_->append( int2D_param_descriptor_param_prop_default_ = pcos::int_vec( 2, 0 ) );
+ param_props_->append( int2D_param_descriptor_param_prop_min_ = pcos::int_vec( 2, ( std::numeric_limits<int>::min )( ) ) );
+ param_props_->append( int2D_param_descriptor_param_prop_max_ = pcos::int_vec( 2, ( std::numeric_limits<int>::max )( ) ) );
+ param_props_->append( int2D_param_descriptor_param_prop_display_min_ = pcos::int_vec( 2, ( std::numeric_limits<int>::min )( ) ) );
+ param_props_->append( int2D_param_descriptor_param_prop_display_max_ = pcos::int_vec( 2, ( std::numeric_limits<int>::max )( ) ) );
+ param_props_->append( int2D_param_descriptor_param_prop_dimension_label_ = pl::string_vec( 2 ) );
+ }
+
+ private:
+ pcos::property int2D_param_descriptor_param_prop_default_;
pcos::property int2D_param_descriptor_param_prop_min_;
pcos::property int2D_param_descriptor_param_prop_max_;
pcos::property int2D_param_descriptor_param_prop_display_min_;
@@ -176,14 +252,31 @@
{
public:
explicit int3D_param_descriptor( )
- : int3D_param_descriptor_param_prop_min_( pcos::key::from_string( kOfxParamPropMin ) )
+ : int3D_param_descriptor_param_prop_default_( pcos::key::from_string( kOfxParamPropDefault ) )
+ , int3D_param_descriptor_param_prop_min_( pcos::key::from_string( kOfxParamPropMin ) )
, int3D_param_descriptor_param_prop_max_( pcos::key::from_string( kOfxParamPropMax ) )
, int3D_param_descriptor_param_prop_display_min_( pcos::key::from_string( kOfxParamPropDisplayMin ) )
, int3D_param_descriptor_param_prop_display_max_( pcos::key::from_string( kOfxParamPropDisplayMax ) )
, int3D_param_descriptor_param_prop_dimension_label_( pcos::key::from_string( kOfxParamPropDimensionLabel ) )
- { }
+ {
+ set_int3D_param_descriptor_properties( );
+ }
private:
+ void set_int3D_param_descriptor_properties( )
+ {
+ property_container_ptr param_props_ = get_property_set( );
+
+ param_props_->append( int3D_param_descriptor_param_prop_default_ = pcos::int_vec( 3, 0 ) );
+ param_props_->append( int3D_param_descriptor_param_prop_min_ = pcos::int_vec( 3, ( std::numeric_limits<int>::min )( ) ) );
+ param_props_->append( int3D_param_descriptor_param_prop_max_ = pcos::int_vec( 3, ( std::numeric_limits<int>::max )( ) ) );
+ param_props_->append( int3D_param_descriptor_param_prop_display_min_ = pcos::int_vec( 3, ( std::numeric_limits<int>::min )( ) ) );
+ param_props_->append( int3D_param_descriptor_param_prop_display_max_ = pcos::int_vec( 3, ( std::numeric_limits<int>::max )( ) ) );
+ param_props_->append( int3D_param_descriptor_param_prop_dimension_label_ = pl::string_vec( 3 ) );
+ }
+
+ private:
+ pcos::property int3D_param_descriptor_param_prop_default_;
pcos::property int3D_param_descriptor_param_prop_min_;
pcos::property int3D_param_descriptor_param_prop_max_;
pcos::property int3D_param_descriptor_param_prop_display_min_;
@@ -195,16 +288,33 @@
{
public:
explicit base_double_param_descriptor( )
- : base_double_param_descriptor_param_prop_increment_( pcos::key::from_string( kOfxParamPropIncrement ) )
+ : base_double_param_descriptor_param_prop_default_( pcos::key::from_string( kOfxParamPropDefault ) )
+ , base_double_param_descriptor_param_prop_increment_( pcos::key::from_string( kOfxParamPropIncrement ) )
, base_double_param_descriptor_param_prop_digits_( pcos::key::from_string( kOfxParamPropDigits ) )
- { }
+ , base_double_param_descriptor_param_prop_double_type_( pcos::key::from_string( kOfxParamPropDoubleType ) )
+ {
+ set_base_double_param_descriptor_properties( );
+ }
+
+ private:
+ void set_base_double_param_descriptor_properties( )
+ {
+ property_container_ptr param_props_ = get_property_set( );
+
+ param_props_->append( base_double_param_descriptor_param_prop_default_ = 0.0 );
+ param_props_->append( base_double_param_descriptor_param_prop_increment_ = 1.0 );
+ param_props_->append( base_double_param_descriptor_param_prop_digits_ = 2 );
+ param_props_->append( base_double_param_descriptor_param_prop_double_type_ = kOfxParamDoubleTypePlain );
+ }
private:
+ pcos::property base_double_param_descriptor_param_prop_default_;
pcos::property base_double_param_descriptor_param_prop_increment_;
pcos::property base_double_param_descriptor_param_prop_digits_;
+ pcos::property base_double_param_descriptor_param_prop_double_type_;
};
- class double_param_descriptor : public value_param_descriptor
+ class double_param_descriptor : public base_double_param_descriptor
{
public:
explicit double_param_descriptor( )
@@ -213,7 +323,21 @@
, double_param_descriptor_param_prop_display_min_( pcos::key::from_string( kOfxParamPropDisplayMin ) )
, double_param_descriptor_param_prop_display_max_( pcos::key::from_string( kOfxParamPropDisplayMax ) )
, double_param_descriptor_param_prop_show_time_marker_( pcos::key::from_string( kOfxParamPropShowTimeMarker ) )
- { }
+ {
+ set_double_param_descriptor_properties( );
+ }
+
+ private:
+ void set_double_param_descriptor_properties( )
+ {
+ property_container_ptr param_props_ = get_property_set( );
+
+ param_props_->append( double_param_descriptor_param_prop_min_ = ( std::numeric_limits<double>::min )( ) );
+ param_props_->append( double_param_descriptor_param_prop_max_ = ( std::numeric_limits<double>::max )( ) );
+ param_props_->append( double_param_descriptor_param_prop_display_min_ = ( std::numeric_limits<double>::min )( ) );
+ param_props_->append( double_param_descriptor_param_prop_display_max_ = ( std::numeric_limits<double>::max )( ) );
+ param_props_->append( double_param_descriptor_param_prop_show_time_marker_ = 0 );
+ }
private:
pcos::property double_param_descriptor_param_prop_min_;
@@ -223,7 +347,7 @@
pcos::property double_param_descriptor_param_prop_show_time_marker_;
};
- class double2D_param_descriptor : public value_param_descriptor
+ class double2D_param_descriptor : public base_double_param_descriptor
{
public:
explicit double2D_param_descriptor( )
@@ -233,6 +357,18 @@
, double2D_param_descriptor_param_prop_display_max_( pcos::key::from_string( kOfxParamPropDisplayMax ) )
, double2D_param_descriptor_param_prop_dimension_label_( pcos::key::from_string( kOfxParamPropDimensionLabel ) )
{ }
+
+ private:
+ void set_double2D_param_descriptor_properties( )
+ {
+ property_container_ptr param_props_ = get_property_set( );
+
+ param_props_->append( double2D_param_descriptor_param_prop_min_ = pcos::double_vec( 2, ( std::numeric_limits<double>::min )( ) ) );
+ param_props_->append( double2D_param_descriptor_param_prop_max_ = pcos::double_vec( 2, ( std::numeric_limits<double>::max )( ) ) );
+ param_props_->append( double2D_param_descriptor_param_prop_display_min_ = pcos::double_vec( 2, ( std::numeric_limits<double>::min )( ) ) );
+ param_props_->append( double2D_param_descriptor_param_prop_display_max_ = pcos::double_vec( 2, ( std::numeric_limits<double>::max )( ) ) );
+ param_props_->append( double2D_param_descriptor_param_prop_dimension_label_ = pl::string_vec( 2 ) );
+ }
private:
pcos::property double2D_param_descriptor_param_prop_min_;
@@ -242,7 +378,7 @@
pcos::property double2D_param_descriptor_param_prop_dimension_label_;
};
- class double3D_param_descriptor : public value_param_descriptor
+ class double3D_param_descriptor : public base_double_param_descriptor
{
public:
explicit double3D_param_descriptor( )
@@ -251,7 +387,21 @@
, double3D_param_descriptor_param_prop_display_min_( pcos::key::from_string( kOfxParamPropDisplayMin ) )
, double3D_param_descriptor_param_prop_display_max_( pcos::key::from_string( kOfxParamPropDisplayMax ) )
, double3D_param_descriptor_param_prop_dimension_label_( pcos::key::from_string( kOfxParamPropDimensionLabel ) )
- { }
+ {
+ set_double3D_param_descriptor_properties( );
+ }
+
+ private:
+ void set_double3D_param_descriptor_properties( )
+ {
+ property_container_ptr param_props_ = get_property_set( );
+
+ param_props_->append( double3D_param_descriptor_param_prop_min_ = pcos::double_vec( 3, ( std::numeric_limits<double>::min )( ) ) );
+ param_props_->append( double3D_param_descriptor_param_prop_max_ = pcos::double_vec( 3, ( std::numeric_limits<double>::max )( ) ) );
+ param_props_->append( double3D_param_descriptor_param_prop_display_min_ = pcos::double_vec( 3, ( std::numeric_limits<double>::min )( ) ) );
+ param_props_->append( double3D_param_descriptor_param_prop_display_max_ = pcos::double_vec( 3, ( std::numeric_limits<double>::max )( ) ) );
+ param_props_->append( double3D_param_descriptor_param_prop_dimension_label_ = pl::string_vec( 3 ) );
+ }
private:
pcos::property double3D_param_descriptor_param_prop_min_;
@@ -279,7 +429,21 @@
{
public:
explicit boolean_param_descriptor( )
- { }
+ : boolean_param_descriptor_param_prop_default_( pcos::key::from_string( kOfxParamPropDefault ) )
+ {
+ set_boolean_param_descriptor_properties( );
+ }
+
+ private:
+ void set_boolean_param_descriptor_properties( )
+ {
+ property_container_ptr param_props_ = get_property_set( );
+
+ param_props_->append( boolean_param_descriptor_param_prop_default_ = 0 );
+ }
+
+ private:
+ pcos::property boolean_param_descriptor_param_prop_default_;
};
class choice_param_descriptor : public value_param_descriptor
@@ -317,9 +481,15 @@
{ }
};
- class param_set_descriptor : public Ofx_base
+ class param_set_base : public Ofx_base
{
public:
+ virtual OfxParamSetHandle get_param_set( ) = 0;
+ };
+
+ class param_set_descriptor : public param_set_base
+ {
+ public:
typedef pl::string key_type;
typedef boost::shared_ptr<param_descriptor> param_descriptor_ptr;
@@ -421,7 +591,14 @@
}
virtual property_container_ptr get_property_set( )
- { return ¶m_set_descriptor_props_; }
+ {
+ return ¶m_set_descriptor_props_;
+ }
+
+ virtual OfxParamSetHandle get_param_set( )
+ {
+ return ( OfxParamSetHandle ) this;
+ }
private:
container params_;
@@ -445,7 +622,9 @@
, param_prop_param_prop_parent_( pcos::key::from_string( kOfxParamPropParent ) )
, param_prop_param_prop_enabled_( pcos::key::from_string( kOfxParamPropEnabled ) )
, param_prop_param_prop_data_ptr_( pcos::key::from_string( kOfxParamPropDataPtr ) )
- { }
+ {
+ set_param_properties( );
+ }
virtual property_container_ptr get_property_set( )
{ return ¶m_props_; }
@@ -454,6 +633,24 @@
virtual pl::string get_type( ) = 0;
private:
+ void set_param_properties( )
+ {
+ param_props_.append( param_prop_type_ = pl::string( kOfxTypeParameter ) );
+ param_props_.append( param_prop_name_ = pl::string( ) );
+ param_props_.append( param_prop_label_ = pl::string( ) );
+ param_props_.append( param_prop_short_label_ = pl::string( ) );
+ param_props_.append( param_prop_long_label_ = pl::string( ) );
+ param_props_.append( param_prop_name_ = pl::string( ) );
+ param_props_.append( param_prop_param_prop_secret_ = 0 );
+ param_props_.append( param_prop_param_prop_can_undo_ = 1 );
+ param_props_.append( param_prop_param_prop_hint_ = pl::string( ) );
+ param_props_.append( param_prop_param_prop_script_name_ = pl::string( ) );
+ param_props_.append( param_prop_param_prop_parent_ = pl::string( ) );
+ param_props_.append( param_prop_param_prop_enabled_ = 1 );
+ param_props_.append( param_prop_param_prop_data_ptr_ = ( void* ) 0 );
+ }
+
+ private:
pcos::property_container param_props_;
pcos::property param_prop_type_;
pcos::property param_prop_name_;
@@ -474,18 +671,32 @@
{
public:
explicit value_param( )
- : value_param_prop_default_( pcos::key::from_string( kOfxParamPropDefault ) )
- , value_param_prop_animates_( pcos::key::from_string( kOfxParamPropAnimates ) )
+ : value_param_prop_animates_( pcos::key::from_string( kOfxParamPropAnimates ) )
, value_param_prop_is_animating_( pcos::key::from_string( kOfxParamPropIsAnimating ) )
, value_param_prop_is_auto_keying_( pcos::key::from_string( kOfxParamPropIsAutoKeying ) )
, value_param_prop_persistant_( pcos::key::from_string( kOfxParamPropPersistant ) )
, value_param_prop_evaluate_on_change_( pcos::key::from_string( kOfxParamPropEvaluateOnChange ) )
, value_param_prop_plugin_may_write_( pcos::key::from_string( kOfxParamPropPluginMayWrite ) )
, value_param_prop_cache_invalidation_( pcos::key::from_string( kOfxParamPropCacheInvalidation ) )
- { }
+ {
+ set_value_param_properties( );
+ }
private:
- pcos::property value_param_prop_default_;
+ void set_value_param_properties( )
+ {
+ property_container_ptr param_props_ = get_property_set( );
+
+ param_props_->append( value_param_prop_animates_ = 1 );
+ param_props_->append( value_param_prop_is_animating_ = 0 );
+ param_props_->append( value_param_prop_is_auto_keying_ = 0 );
+ param_props_->append( value_param_prop_persistant_ = 1 );
+ param_props_->append( value_param_prop_evaluate_on_change_ = 1 );
+ param_props_->append( value_param_prop_plugin_may_write_ = 0 );
+ param_props_->append( value_param_prop_cache_invalidation_ = pl::string( kOfxParamInvalidateValueChange ) );
+ }
+
+ private:
pcos::property value_param_prop_animates_;
pcos::property value_param_prop_is_animating_;
pcos::property value_param_prop_is_auto_keying_;
@@ -500,9 +711,12 @@
public:
explicit string_param( )
: string_param_value_( pcos::key::from_string( "value" ) )
+ , string_param_prop_default_( pcos::key::from_string( kOfxParamPropDefault ) )
, string_param_prop_string_mode_( pcos::key::from_string( kOfxParamPropStringMode ) )
, string_param_prop_string_file_path_exists_( pcos::key::from_string( kOfxParamPropStringFilePathExists ) )
- { }
+ {
+ set_string_param_properties( );
+ }
virtual pcos::property get_value( )
{
@@ -513,9 +727,21 @@
{
return kOfxParamTypeString;
}
-
+
private:
+ void set_string_param_properties( )
+ {
+ property_container_ptr param_props_ = get_property_set( );
+
+ param_props_->append( string_param_value_ = pl::string( ) );
+ param_props_->append( string_param_prop_default_ = pl::string( ) );
+ param_props_->append( string_param_prop_string_mode_ = pl::string( kOfxParamStringIsSingleLine ) );
+ param_props_->append( string_param_prop_string_file_path_exists_ = 1 );
+ }
+
+ private:
pcos::property string_param_value_;
+ pcos::property string_param_prop_default_;
pcos::property string_param_prop_string_mode_;
pcos::property string_param_prop_string_file_path_exists_;
};
@@ -525,11 +751,14 @@
public:
explicit int_param( )
: int_param_value_( pcos::key::from_string( "value" ) )
+ , int_param_prop_default_( pcos::key::from_string( kOfxParamPropDefault ) )
, int_param_prop_min_( pcos::key::from_string( kOfxParamPropMin ) )
, int_param_prop_max_( pcos::key::from_string( kOfxParamPropMax ) )
, int_param_prop_display_min_( pcos::key::from_string( kOfxParamPropDisplayMin ) )
, int_param_prop_display_max_( pcos::key::from_string( kOfxParamPropDisplayMax ) )
- { }
+ {
+ set_int_param_properties( );
+ }
virtual pcos::property get_value( )
{
@@ -540,9 +769,23 @@
{
return kOfxParamTypeInteger;
}
+
+ private:
+ void set_int_param_properties( )
+ {
+ property_container_ptr param_props_ = get_property_set( );
+
+ param_props_->append( int_param_value_ = 0 );
+ param_props_->append( int_param_prop_default_ = 0 );
+ param_props_->append( int_param_prop_min_ = ( std::numeric_limits<int>::min )( ) );
+ param_props_->append( int_param_prop_max_ = ( std::numeric_limits<int>::max )( ) );
+ param_props_->append( int_param_prop_display_min_ = ( std::numeric_limits<int>::min )( ) );
+ param_props_->append( int_param_prop_display_max_ = ( std::numeric_limits<int>::max )( ) );
+ }
private:
pcos::property int_param_value_;
+ pcos::property int_param_prop_default_;
pcos::property int_param_prop_min_;
pcos::property int_param_prop_max_;
pcos::property int_param_prop_display_min_;
@@ -554,12 +797,15 @@
public:
explicit int2D_param( )
: int2D_param_value_( pcos::key::from_string( "value" ) )
+ , int2D_param_prop_default_( pcos::key::from_string( kOfxParamPropDefault ) )
, int2D_param_prop_min_( pcos::key::from_string( kOfxParamPropMin ) )
, int2D_param_prop_max_( pcos::key::from_string( kOfxParamPropMax ) )
, int2D_param_prop_display_min_( pcos::key::from_string( kOfxParamPropDisplayMin ) )
, int2D_param_prop_display_max_( pcos::key::from_string( kOfxParamPropDisplayMax ) )
, int2D_param_prop_dimension_label_( pcos::key::from_string( kOfxParamPropDimensionLabel ) )
- { }
+ {
+ set_int2D_param_properties( );
+ }
virtual pcos::property get_value( )
{
@@ -570,9 +816,24 @@
{
return kOfxParamTypeInteger2D;
}
+
+ private:
+ void set_int2D_param_properties( )
+ {
+ property_container_ptr param_props_ = get_property_set( );
+
+ param_props_->append( int2D_param_value_ = pcos::int_vec( 2, 0 ) );
+ param_props_->append( int2D_param_prop_default_ = pcos::int_vec( 2, 0 ) );
+ param_props_->append( int2D_param_prop_min_ = pcos::int_vec( 2, ( std::numeric_limits<int>::min )( ) ) );
+ param_props_->append( int2D_param_prop_max_ = pcos::int_vec( 2, ( std::numeric_limits<int>::max )( ) ) );
+ param_props_->append( int2D_param_prop_display_min_ = pcos::int_vec( 2, ( std::numeric_limits<int>::min )( ) ) );
+ param_props_->append( int2D_param_prop_display_max_ = pcos::int_vec( 2, ( std::numeric_limits<int>::max )( ) ) );
+ param_props_->append( int2D_param_prop_dimension_label_ = pl::string_vec( 2 ) );
+ }
private:
pcos::property int2D_param_value_;
+ pcos::property int2D_param_prop_default_;
pcos::property int2D_param_prop_min_;
pcos::property int2D_param_prop_max_;
pcos::property int2D_param_prop_display_min_;
@@ -585,12 +846,15 @@
public:
explicit int3D_param( )
: int3D_param_value_( pcos::key::from_string( "value" ) )
- , int3D_param_param_prop_min_( pcos::key::from_string( kOfxParamPropMin ) )
- , int3D_param_param_prop_max_( pcos::key::from_string( kOfxParamPropMax ) )
- , int3D_param_param_prop_display_min_( pcos::key::from_string( kOfxParamPropDisplayMin ) )
- , int3D_param_param_prop_display_max_( pcos::key::from_string( kOfxParamPropDisplayMax ) )
- , int3D_param_param_prop_dimension_label_( pcos::key::from_string( kOfxParamPropDimensionLabel ) )
- { }
+ , int3D_param_prop_default_( pcos::key::from_string( kOfxParamPropDefault ) )
+ , int3D_param_prop_min_( pcos::key::from_string( kOfxParamPropMin ) )
+ , int3D_param_prop_max_( pcos::key::from_string( kOfxParamPropMax ) )
+ , int3D_param_prop_display_min_( pcos::key::from_string( kOfxParamPropDisplayMin ) )
+ , int3D_param_prop_display_max_( pcos::key::from_string( kOfxParamPropDisplayMax ) )
+ , int3D_param_prop_dimension_label_( pcos::key::from_string( kOfxParamPropDimensionLabel ) )
+ {
+ set_int3D_param_properties( );
+ }
virtual pcos::property get_value( )
{
@@ -603,38 +867,72 @@
}
private:
+ void set_int3D_param_properties( )
+ {
+ property_container_ptr param_props_ = get_property_set( );
+
+ param_props_->append( int3D_param_value_ = pcos::int_vec( 3, 0 ) );
+ param_props_->append( int3D_param_prop_default_ = pcos::int_vec( 3, 0 ) );
+ param_props_->append( int3D_param_prop_min_ = pcos::int_vec( 3, ( std::numeric_limits<int>::min )( ) ) );
+ param_props_->append( int3D_param_prop_max_ = pcos::int_vec( 3, ( std::numeric_limits<int>::max )( ) ) );
+ param_props_->append( int3D_param_prop_display_min_ = pcos::int_vec( 3, ( std::numeric_limits<int>::min )( ) ) );
+ param_props_->append( int3D_param_prop_display_max_ = pcos::int_vec( 3, ( std::numeric_limits<int>::max )( ) ) );
+ param_props_->append( int3D_param_prop_dimension_label_ = pl::string_vec( 3 ) );
+ }
+
+ private:
pcos::property int3D_param_value_;
- pcos::property int3D_param_param_prop_min_;
- pcos::property int3D_param_param_prop_max_;
- pcos::property int3D_param_param_prop_display_min_;
- pcos::property int3D_param_param_prop_display_max_;
- pcos::property int3D_param_param_prop_dimension_label_;
+ pcos::property int3D_param_prop_default_;
+ pcos::property int3D_param_prop_min_;
+ pcos::property int3D_param_prop_max_;
+ pcos::property int3D_param_prop_display_min_;
+ pcos::property int3D_param_prop_display_max_;
+ pcos::property int3D_param_prop_dimension_label_;
};
class base_double_param : public value_param
{
public:
explicit base_double_param( )
- : base_double_param_prop_increment_( pcos::key::from_string( kOfxParamPropIncrement ) )
+ : base_double_param_prop_default_( pcos::key::from_string( kOfxParamPropDefault ) )
+ , base_double_param_prop_increment_( pcos::key::from_string( kOfxParamPropIncrement ) )
, base_double_param_prop_digits_( pcos::key::from_string( kOfxParamPropDigits ) )
- { }
+ , base_double_param_prop_double_type_( pcos::key::from_string( kOfxParamPropDoubleType ) )
+ {
+ set_base_double_param_properties( );
+ }
private:
+ void set_base_double_param_properties( )
+ {
+ property_container_ptr param_props_ = get_property_set( );
+
+ param_props_->append( base_double_param_prop_default_ = 0.0 );
+ param_props_->append( base_double_param_prop_increment_ = 1.0 );
+ param_props_->append( base_double_param_prop_digits_ = 2 );
+ param_props_->append( base_double_param_prop_double_type_ = kOfxParamDoubleTypePlain );
+ }
+
+ private:
+ pcos::property base_double_param_prop_default_;
pcos::property base_double_param_prop_increment_;
pcos::property base_double_param_prop_digits_;
+ pcos::property base_double_param_prop_double_type_;
};
- class double_param : public value_param
+ class double_param : public base_double_param
{
public:
explicit double_param( )
: double_param_value_( pcos::key::from_string( "value" ) )
- , double_param_param_prop_min_( pcos::key::from_string( kOfxParamPropMin ) )
- , double_param_param_prop_max_( pcos::key::from_string( kOfxParamPropMax ) )
- , double_param_param_prop_display_min_( pcos::key::from_string( kOfxParamPropDisplayMin ) )
- , double_param_param_prop_display_max_( pcos::key::from_string( kOfxParamPropDisplayMax ) )
- , double_param_param_prop_show_time_marker_( pcos::key::from_string( kOfxParamPropShowTimeMarker ) )
- { }
+ , double_param_prop_min_( pcos::key::from_string( kOfxParamPropMin ) )
+ , double_param_prop_max_( pcos::key::from_string( kOfxParamPropMax ) )
+ , double_param_prop_display_min_( pcos::key::from_string( kOfxParamPropDisplayMin ) )
+ , double_param_prop_display_max_( pcos::key::from_string( kOfxParamPropDisplayMax ) )
+ , double_param_prop_show_time_marker_( pcos::key::from_string( kOfxParamPropShowTimeMarker ) )
+ {
+ set_double_param_properties( );
+ }
virtual pcos::property get_value( )
{
@@ -647,25 +945,40 @@
}
private:
+ void set_double_param_properties( )
+ {
+ property_container_ptr param_props_ = get_property_set( );
+
+ param_props_->append( double_param_value_ = 0.0 );
+ param_props_->append( double_param_prop_min_ = ( std::numeric_limits<double>::min )( ) );
+ param_props_->append( double_param_prop_max_ = ( std::numeric_limits<double>::max )( ) );
+ param_props_->append( double_param_prop_display_min_ = ( std::numeric_limits<double>::min )( ) );
+ param_props_->append( double_param_prop_display_max_ = ( std::numeric_limits<double>::max )( ) );
+ param_props_->append( double_param_prop_show_time_marker_ = 0 );
+ }
+
+ private:
pcos::property double_param_value_;
- pcos::property double_param_param_prop_min_;
- pcos::property double_param_param_prop_max_;
- pcos::property double_param_param_prop_display_min_;
- pcos::property double_param_param_prop_display_max_;
- pcos::property double_param_param_prop_show_time_marker_;
+ pcos::property double_param_prop_min_;
+ pcos::property double_param_prop_max_;
+ pcos::property double_param_prop_display_min_;
+ pcos::property double_param_prop_display_max_;
+ pcos::property double_param_prop_show_time_marker_;
};
- class double2D_param : public value_param
+ class double2D_param : public base_double_param
{
public:
explicit double2D_param( )
: double2D_param_value_( pcos::key::from_string( "value" ) )
- , double2D_param_param_prop_min_( pcos::key::from_string( kOfxParamPropMin ) )
- , double2D_param_param_prop_max_( pcos::key::from_string( kOfxParamPropMax ) )
- , double2D_param_param_prop_display_min_( pcos::key::from_string( kOfxParamPropDisplayMin ) )
- , double2D_param_param_prop_display_max_( pcos::key::from_string( kOfxParamPropDisplayMax ) )
- , double2D_param_param_prop_dimension_label_( pcos::key::from_string( kOfxParamPropDimensionLabel ) )
- { }
+ , double2D_param_prop_min_( pcos::key::from_string( kOfxParamPropMin ) )
+ , double2D_param_prop_max_( pcos::key::from_string( kOfxParamPropMax ) )
+ , double2D_param_prop_display_min_( pcos::key::from_string( kOfxParamPropDisplayMin ) )
+ , double2D_param_prop_display_max_( pcos::key::from_string( kOfxParamPropDisplayMax ) )
+ , double2D_param_prop_dimension_label_( pcos::key::from_string( kOfxParamPropDimensionLabel ) )
+ {
+ set_double2D_param_properties( );
+ }
virtual pcos::property get_value( )
{
@@ -678,25 +991,40 @@
}
private:
+ void set_double2D_param_properties( )
+ {
+ property_container_ptr param_props_ = get_property_set( );
+
+ param_props_->append( double2D_param_value_ = pcos::double_vec( 2, 0.0 ) );
+ param_props_->append( double2D_param_prop_min_ = pcos::double_vec( 2, ( std::numeric_limits<double>::min )( ) ) );
+ param_props_->append( double2D_param_prop_max_ = pcos::double_vec( 2, ( std::numeric_limits<double>::max )( ) ) );
+ param_props_->append( double2D_param_prop_display_min_ = pcos::double_vec( 2, ( std::numeric_limits<double>::min )( ) ) );
+ param_props_->append( double2D_param_prop_display_max_ = pcos::double_vec( 2, ( std::numeric_limits<double>::max )( ) ) );
+ param_props_->append( double2D_param_prop_dimension_label_ = pl::string_vec( 2 ) );
+ }
+
+ private:
pcos::property double2D_param_value_;
- pcos::property double2D_param_param_prop_min_;
- pcos::property double2D_param_param_prop_max_;
- pcos::property double2D_param_param_prop_display_min_;
- pcos::property double2D_param_param_prop_display_max_;
- pcos::property double2D_param_param_prop_dimension_label_;
+ pcos::property double2D_param_prop_min_;
+ pcos::property double2D_param_prop_max_;
+ pcos::property double2D_param_prop_display_min_;
+ pcos::property double2D_param_prop_display_max_;
+ pcos::property double2D_param_prop_dimension_label_;
};
- class double3D_param : public value_param
+ class double3D_param : public base_double_param
{
public:
explicit double3D_param( )
: double3D_param_value_( pcos::key::from_string( "value" ) )
- , double3D_param_param_prop_min_( pcos::key::from_string( kOfxParamPropMin ) )
- , double3D_param_param_prop_max_( pcos::key::from_string( kOfxParamPropMax ) )
- , double3D_param_param_prop_display_min_( pcos::key::from_string( kOfxParamPropDisplayMin ) )
- , double3D_param_param_prop_display_max_( pcos::key::from_string( kOfxParamPropDisplayMax ) )
- , double3D_param_param_prop_dimension_label_( pcos::key::from_string( kOfxParamPropDimensionLabel ) )
- { }
+ , double3D_param_prop_min_( pcos::key::from_string( kOfxParamPropMin ) )
+ , double3D_param_prop_max_( pcos::key::from_string( kOfxParamPropMax ) )
+ , double3D_param_prop_display_min_( pcos::key::from_string( kOfxParamPropDisplayMin ) )
+ , double3D_param_prop_display_max_( pcos::key::from_string( kOfxParamPropDisplayMax ) )
+ , double3D_param_prop_dimension_label_( pcos::key::from_string( kOfxParamPropDimensionLabel ) )
+ {
+ set_double3D_param_properties( );
+ }
virtual pcos::property get_value( )
{
@@ -707,14 +1035,27 @@
{
return kOfxParamTypeDouble3D;
}
+
+ private:
+ void set_double3D_param_properties( )
+ {
+ property_container_ptr param_props_ = get_property_set( );
+
+ param_props_->append( double3D_param_value_ = pcos::double_vec( 3, 0.0 ) );
+ param_props_->append( double3D_param_prop_min_ = pcos::double_vec( 3, ( std::numeric_limits<double>::min )( ) ) );
+ param_props_->append( double3D_param_prop_max_ = pcos::double_vec( 3, ( std::numeric_limits<double>::max )( ) ) );
+ param_props_->append( double3D_param_prop_display_min_ = pcos::double_vec( 3, ( std::numeric_limits<double>::min )( ) ) );
+ param_props_->append( double3D_param_prop_display_max_ = pcos::double_vec( 3, ( std::numeric_limits<double>::max )( ) ) );
+ param_props_->append( double3D_param_prop_dimension_label_ = pl::string_vec( 3 ) );
+ }
private:
pcos::property double3D_param_value_;
- pcos::property double3D_param_param_prop_min_;
- pcos::property double3D_param_param_prop_max_;
- pcos::property double3D_param_param_prop_display_min_;
- pcos::property double3D_param_param_prop_display_max_;
- pcos::property double3D_param_param_prop_dimension_label_;
+ pcos::property double3D_param_prop_min_;
+ pcos::property double3D_param_prop_max_;
+ pcos::property double3D_param_prop_display_min_;
+ pcos::property double3D_param_prop_display_max_;
+ pcos::property double3D_param_prop_dimension_label_;
};
class rgb_param : public value_param
@@ -764,7 +1105,10 @@
public:
explicit boolean_param( )
: boolean_param_value_( pcos::key::from_string( "value" ) )
- { }
+ , boolean_param_prop_default_( pcos::key::from_string( kOfxParamPropDefault ) )
+ {
+ set_boolean_param_properties( );
+ }
virtual pcos::property get_value( )
{
@@ -777,7 +1121,17 @@
}
private:
+ void set_boolean_param_properties( )
+ {
+ property_container_ptr param_props_ = get_property_set( );
+
+ param_props_->append( boolean_param_value_ = 0 );
+ param_props_->append( boolean_param_prop_default_ = 0 );
+ }
+
+ private:
pcos::property boolean_param_value_;
+ pcos::property boolean_param_prop_default_;
};
class choice_param : public value_param
@@ -885,7 +1239,7 @@
pcos::property custom_param_value_;
};
- class param_set : public Ofx_base
+ class param_set : public param_set_base
{
public:
typedef pl::string key_type;
@@ -978,8 +1332,15 @@
}
virtual property_container_ptr get_property_set( )
- { return ¶m_set_props_; }
-
+ {
+ return ¶m_set_props_;
+ }
+
+ virtual OfxParamSetHandle get_param_set( )
+ {
+ return ( OfxParamSetHandle ) this;
+ }
+
param* find_param( const pl::string& name )
{
typedef container::const_iterator const_iterator;
@@ -1029,7 +1390,7 @@
if( !dst_img )
return false;
- int_vec bounds_and_rod( 4 );
+ pcos::int_vec bounds_and_rod( 4 );
bounds_and_rod[ 0 ] = 0;
bounds_and_rod[ 1 ] = 0;
bounds_and_rod[ 2 ] = dst_img->width( );
@@ -1046,7 +1407,7 @@
private:
void set_image_properties( )
{
- double_vec render_scale( 2 );
+ pcos::double_vec render_scale( 2 );
render_scale[ 0 ] = 1.0;
render_scale[ 1 ] = 1.0;
@@ -1057,8 +1418,8 @@
image_props_.append( image_effect_prop_render_scale_ = render_scale );
image_props_.append( image_prop_pixel_aspect_ratio_ = 1.0 );
image_props_.append( image_prop_data_ = ( void* ) 0 );
- image_props_.append( image_prop_bounds_ = int_vec( 4 ) );
- image_props_.append( image_prop_region_of_definition_ = int_vec( 4 ) );
+ image_props_.append( image_prop_bounds_ = pcos::int_vec( 4 ) );
+ image_props_.append( image_prop_region_of_definition_ = pcos::int_vec( 4 ) );
image_props_.append( image_prop_row_bytes_ = 0 );
image_props_.append( image_prop_field_ = pl::string( kOfxImageFieldNone ) );
image_props_.append( image_prop_unique_identifier_ = pl::string( "No Unique Identifier" ) );
@@ -1110,7 +1471,7 @@
clip_descriptor_props_.append( clip_descriptor_prop_label_ = pl::string( "" ) );
clip_descriptor_props_.append( clip_descriptor_prop_short_label_ = pl::string( "" ) );
clip_descriptor_props_.append( clip_descriptor_prop_long_label_ = pl::string( "" ) );
- clip_descriptor_props_.append( clip_descriptor_prop_supported_components_ = string_vec( ) );
+ clip_descriptor_props_.append( clip_descriptor_prop_supported_components_ = pl::string_vec( ) );
clip_descriptor_props_.append( clip_descriptor_prop_temporal_clip_access_ = 0 );
clip_descriptor_props_.append( clip_descriptor_prop_optional_ = 0 );
clip_descriptor_props_.append( clip_descriptor_prop_field_extraction_ = pl::string( kOfxImageFieldDoubled ) );
@@ -1195,14 +1556,14 @@
private:
void set_image_effect_descriptor_properties( )
{
- string_vec pixel_depths;
+ pl::string_vec pixel_depths;
pixel_depths.push_back( kOfxBitDepthNone );
effect_descriptor_props_.append( image_effect_prop_type_ = pl::string( kOfxTypeImageEffect ) );
effect_descriptor_props_.append( image_effect_prop_label_ = pl::string( kOfxTypeImageEffect ) );
effect_descriptor_props_.append( image_effect_prop_short_label_ = pl::string( kOfxTypeImageEffect ) );
effect_descriptor_props_.append( image_effect_prop_long_label_ = pl::string( kOfxTypeImageEffect ) );
- effect_descriptor_props_.append( image_effect_prop_supported_contexts_ = string_vec( ) );
+ effect_descriptor_props_.append( image_effect_prop_supported_contexts_ = pl::string_vec( ) );
effect_descriptor_props_.append( image_effect_prop_grouping_ = pl::string( "" ) );
effect_descriptor_props_.append( image_effect_prop_single_instance_ = 0 );
effect_descriptor_props_.append( image_effect_render_thread_safety_ = pl::string( kOfxImageEffectRenderUnsafe ) );
@@ -1307,7 +1668,7 @@
clip_instance_props_.append( clip_instance_prop_label_ = pl::string( "" ) );
clip_instance_props_.append( clip_instance_prop_short_label_ = pl::string( "" ) );
clip_instance_props_.append( clip_instance_prop_long_label_ = pl::string( "" ) );
- clip_instance_props_.append( clip_instance_prop_supported_components_ = string_vec( ) );
+ clip_instance_props_.append( clip_instance_prop_supported_components_ = pl::string_vec( ) );
clip_instance_props_.append( clip_instance_prop_temporal_clip_access_ = 0 );
clip_instance_props_.append( clip_instance_prop_optional_ = 0 );
clip_instance_props_.append( clip_instance_prop_field_extraction_ = pl::string( kOfxImageFieldDoubled ) );
@@ -1320,10 +1681,10 @@
clip_instance_props_.append( clip_instance_prop_premultiplication_ = pl::string( kOfxImageOpaque ) );
clip_instance_props_.append( clip_instance_prop_pixel_aspect_ratio_ = 0.0 );
clip_instance_props_.append( clip_instance_prop_frame_rate_ = 0.0 );
- clip_instance_props_.append( clip_instance_prop_frame_range_ = double_vec( 2 ) );
+ clip_instance_props_.append( clip_instance_prop_frame_range_ = pcos::double_vec( 2 ) );
clip_instance_props_.append( clip_instance_prop_field_order_ = pl::string( kOfxImageFieldNone ) );
clip_instance_props_.append( clip_instance_prop_connected_ = 0 );
- clip_instance_props_.append( clip_instance_prop_unmapped_frame_range_ = double_vec( 2 ) );
+ clip_instance_props_.append( clip_instance_prop_unmapped_frame_range_ = pcos::double_vec( 2 ) );
clip_instance_props_.append( clip_instance_prop_unmapped_frame_rate_ = 0.0 );
clip_instance_props_.append( clip_instance_prop_continuous_samples_ = 0 );
}
@@ -1431,9 +1792,9 @@
effect_instance_props_.append( image_effect_instance_prop_type_ = pl::string( kOfxTypeImageEffectInstance ) );
effect_instance_props_.append( image_effect_instance_prop_context_ = pl::string( kOfxImageEffectContextFilter ) );
effect_instance_props_.append( image_effect_instance_prop_instance_data_ = static_cast<void*>( 0 ) );
- effect_instance_props_.append( image_effect_instance_prop_project_size_ = double_vec( 2 ) );
- effect_instance_props_.append( image_effect_instance_prop_project_offset_ = double_vec( 2 ) );
- effect_instance_props_.append( image_effect_instance_prop_project_extent_ = double_vec( 2 ) );
+ effect_instance_props_.append( image_effect_instance_prop_project_size_ = pcos::double_vec( 2 ) );
+ effect_instance_props_.append( image_effect_instance_prop_project_offset_ = pcos::double_vec( 2 ) );
+ effect_instance_props_.append( image_effect_instance_prop_project_extent_ = pcos::double_vec( 2 ) );
effect_instance_props_.append( image_effect_instance_prop_project_pixel_aspect_ratio_ = 0.0 );
effect_instance_props_.append( image_effect_instance_prop_effect_duration_ = 0.0 );
effect_instance_props_.append( image_effect_instance_prop_sequential_render_ = 0 );
@@ -1547,18 +1908,18 @@
image_effect_instance_.set_output( il::allocate( src->pf( ), src->width( ), src->height( ) ) );
pcos::property_container sequence_in_args;
- sequence_in_args.append( sequence_prop_frame_range_ = double_vec( 2 ) );
+ sequence_in_args.append( sequence_prop_frame_range_ = pcos::double_vec( 2 ) );
sequence_in_args.append( sequence_prop_frame_step_ = 1.0 );
sequence_in_args.append( sequence_prop_is_interactive_ = 0 );
- sequence_in_args.append( sequence_prop_render_scale_ = double_vec( 2 ) );
+ sequence_in_args.append( sequence_prop_render_scale_ = pcos::double_vec( 2 ) );
- int_vec render_win( 4 );
+ pcos::int_vec render_win( 4 );
render_win[ 0 ] = 0;
render_win[ 1 ] = 0;
render_win[ 2 ] = src->width( );
render_win[ 3 ] = src->height( );
- int_vec render_scale( 2 );
+ pcos::int_vec render_scale( 2 );
render_scale[ 0 ] = 1;
render_scale[ 1 ] = 1;
@@ -1638,7 +1999,7 @@
host_props_.append( host_prop_max_parameters_ = -1 );
host_props_.append( host_prop_max_pages_ = 0 );
host_props_.append( host_prop_page_row_column_count_ = 0 );
- host_props_.append( host_prop_this_pointer_ = this );
+ host_props_.append( host_prop_this_pointer_ = ( void* ) this );
}
void set_suites( )
@@ -1657,10 +2018,10 @@
{
// Introduce support for multiple contexts but
// constrain the actual executed code to filters.
- typedef string_vec::const_iterator const_iterator;
+ typedef pl::string_vec::const_iterator const_iterator;
property_container_ptr property_set = image_effect_descriptor_.get_property_set( );
- string_vec contexts = property_set->get_property_with_key( pcos::key::from_string( kOfxImageEffectPropSupportedContexts ) ).value<string_vec>( );
+ pl::string_vec contexts = property_set->get_property_with_key( pcos::key::from_string( kOfxImageEffectPropSupportedContexts ) ).value<pl::string_vec>( );
for( const_iterator I = contexts.begin( ); I != contexts.end( ); ++I )
{
@@ -1835,32 +2196,32 @@
// Property Suite.
OfxStatus prop_set_string( OfxPropertySetHandle properties, const char* property, int index, const char* value )
{
- return set_single_property<pl::string, string_vec>( properties, property, index, value );
+ return set_single_property<pl::string, pl::string_vec>( properties, property, index, value );
}
OfxStatus prop_set_double( OfxPropertySetHandle properties, const char* property, int index, double value )
{
- return set_single_property<double, double_vec>( properties, property, index, value );
+ return set_single_property<double, pcos::double_vec>( properties, property, index, value );
}
OfxStatus prop_set_int( OfxPropertySetHandle properties, const char* property, int index, int value )
{
- return set_single_property<int, int_vec>( properties, property, index, value );
+ return set_single_property<int, pcos::int_vec>( properties, property, index, value );
}
OfxStatus prop_set_stringN( OfxPropertySetHandle properties, const char* property, int count, const char** value )
{
- return set_multiple_property<const char*, string_vec>( properties, property, count, value );
+ return set_multiple_property<const char*, pl::string_vec>( properties, property, count, value );
}
OfxStatus prop_set_doubleN( OfxPropertySetHandle properties, const char* property, int count, double* value )
{
- return set_multiple_property<double, double_vec>( properties, property, count, value );
+ return set_multiple_property<double, pcos::double_vec>( properties, property, count, value );
}
OfxStatus prop_set_intN( OfxPropertySetHandle properties, const char* property, int count, int* value )
{
- return set_multiple_property<int, int_vec>( properties, property, count, value );
+ return set_multiple_property<int, pcos::int_vec>( properties, property, count, value );
}
OfxStatus prop_get_pointer( OfxPropertySetHandle properties, const char* property, int index, void** value )
@@ -1878,9 +2239,9 @@
pcos::property_container* prop_set = ( pcos::property_container* ) properties;
pcos::property src = prop_set->get_property_with_string( property );
- if( src.is_a<string_vec>( ) )
+ if( src.is_a<pl::string_vec>( ) )
{
- string_vec val = src.value<string_vec>( );
+ pl::string_vec val = src.value<pl::string_vec>( );
*value = const_cast<char*>( val[ index ].c_str( ) );
}
else
@@ -1893,12 +2254,12 @@
OfxStatus prop_get_double( OfxPropertySetHandle properties, const char* property, int index, double* value )
{
- return get_single_property<double, double_vec>( properties, property, index, value );
+ return get_single_property<double, pcos::double_vec>( properties, property, index, value );
}
OfxStatus prop_get_int( OfxPropertySetHandle properties, const char* property, int index, int* value )
{
- return get_single_property<int, int_vec>( properties, property, index, value );
+ return get_single_property<int, pcos::int_vec>( properties, property, index, value );
}
OfxStatus prop_get_stringN( OfxPropertySetHandle properties, const char* property, int count, char** value )
@@ -1906,9 +2267,9 @@
pcos::property_container* prop_set = ( pcos::property_container* ) properties;
pcos::property src = prop_set->get_property_with_string( property );
- if( src.is_a<string_vec>( ) )
+ if( src.is_a<pl::string_vec>( ) )
{
- string_vec val = src.value<string_vec>( );
+ pl::string_vec val = src.value<pl::string_vec>( );
for( int i = 0; i < count; ++i )
value[ i ] = const_cast<char*>( src.value<opl::string>( ).c_str( ) );
}
@@ -1918,12 +2279,12 @@
OfxStatus prop_get_doubleN( OfxPropertySetHandle properties, const char* property, int count, double* value )
{
- return get_multiple_property<double, double_vec>( properties, property, count, value );
+ return get_multiple_property<double, pcos::double_vec>( properties, property, count, value );
}
OfxStatus prop_get_intN( OfxPropertySetHandle properties, const char* property, int count, int* value )
{
- return get_multiple_property<int, int_vec>( properties, property, count, value );
+ return get_multiple_property<int, pcos::int_vec>( properties, property, count, value );
}
// Memory Suite.
@@ -2393,6 +2754,13 @@
OfxStatus get_param_set( OfxImageEffectHandle image_effect, OfxParamSetHandle* param_set )
{
+ param_set_base* pset = ( param_set_base* ) image_effect;
+ if( !pset )
+ return kOfxStatErrBadHandle;
+
+ if( param_set )
+ *param_set = pset->get_param_set( );
+
return kOfxStatOK;
}
@@ -2449,7 +2817,7 @@
return kOfxStatErrBadHandle;
property_container_ptr image = instance->get_image( );
- int_vec b = image->get_property_with_string( kOfxImagePropBounds ).value<int_vec>( );
+ pcos::int_vec b = image->get_property_with_string( kOfxImagePropBounds ).value<pcos::int_vec>( );
bounds->x1 = b[ 0 ];
bounds->y1 = b[ 1 ];
Modified: lib/openlibraries/src/openpluginlib/pl/pcos/property.hpp
===================================================================
--- lib/openlibraries/src/openpluginlib/pl/pcos/property.hpp 2007-05-01 01:24:13 UTC (rev 109)
+++ lib/openlibraries/src/openpluginlib/pl/pcos/property.hpp 2007-05-01 22:26:13 UTC (rev 110)
@@ -32,6 +32,10 @@
typedef std::vector<string> string_list;
typedef std::vector<wstring> wstring_list;
+typedef std::vector<int> int_vec;
+typedef std::vector<unsigned int> uint_vec;
+typedef std::vector<double> double_vec;
+
typedef boost::variant<bool, int, unsigned int, float, double, string, wstring, int_list, uint_list, double_list, string_list, wstring_list, void*> any;
/// A property class i.e. a pairing of a key to a value.
Modified: lib/openlibraries/src/openpluginlib/pl/string.hpp
===================================================================
--- lib/openlibraries/src/openpluginlib/pl/string.hpp 2007-05-01 01:24:13 UTC (rev 109)
+++ lib/openlibraries/src/openpluginlib/pl/string.hpp 2007-05-01 22:26:13 UTC (rev 110)
@@ -42,6 +42,9 @@
typedef std::vector<string> string_list;
typedef std::vector<wstring> wstring_list;
+
+ typedef std::vector<string> string_vec;
+ typedef std::vector<wstring> wstring_vec;
} }
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|