format 40
"MObject" // ProcessingLayer::MObject
  revision 17
  modified_by 5 "hiv"
  // class settings
  //class diagram settings
  draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_infonote default shadow default
  //use case diagram settings
  package_name_in_tab default show_context default auto_label_position default draw_all_relations default shadow default
  //sequence diagram settings
  show_full_operations_definition default write_horizontally default class_drawing_mode default drawing_language default draw_all_relations default shadow default
  //collaboration diagram settings
  show_full_operations_definition default show_hierarchical_rank default write_horizontally default drawing_language default package_name_in_tab default show_context default draw_all_relations default shadow default
  //object diagram settings
   write_horizontally default package_name_in_tab default show_context default auto_label_position default draw_all_relations default shadow default
  //component diagram settings
  package_name_in_tab default show_context default auto_label_position default draw_all_relations default shadow default
  draw_component_as_icon default show_component_req_prov default show_component_rea default
  //deployment diagram settings
  package_name_in_tab default show_context default write_horizontally default auto_label_position default draw_all_relations default shadow default
  draw_component_as_icon default show_component_req_prov default show_component_rea default
  //state diagram settings
  package_name_in_tab default show_context default auto_label_position default write_trans_label_horizontally default show_trans_definition default draw_all_relations default shadow default
  show_activities default region_horizontally default drawing_language default
  //activity diagram settings
  package_name_in_tab default show_context default show_opaque_action_definition default auto_label_position default write_flow_label_horizontally default draw_all_relations default shadow default
  show_infonote default drawing_language default
  
  classview 128005 "Session"
    //class diagram settings
    draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_infonote default shadow default
    //collaboration diagram settings
    show_full_operations_definition default show_hierarchical_rank default write_horizontally default drawing_language default package_name_in_tab default show_context default draw_all_relations default shadow default
    //object diagram settings
     write_horizontally default package_name_in_tab default show_context default auto_label_position default draw_all_relations default shadow default
    //sequence diagram settings
    show_full_operations_definition default write_horizontally default class_drawing_mode default drawing_language default draw_all_relations default shadow default
    //state diagram settings
    package_name_in_tab default show_context default auto_label_position default write_trans_label_horizontally default show_trans_definition default draw_all_relations default shadow default
    show_activities default region_horizontally default drawing_language default
    //class settings
    //activity diagram settings
    package_name_in_tab default show_context default show_opaque_action_definition default auto_label_position default write_flow_label_horizontally default draw_all_relations default shadow default
    show_infonote default drawing_language default
    
    classdiagram 128133 "Session structure"
      draw_all_relations no hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_infonote default shadow default
      size A4
    end

    class 128005 "Session"
      visibility package 
      cpp_decl "${comment}${template}class ${name}${inherit}
  {
${members}  };
${inlines}
"
      java_decl ""
      idl_decl ""
      explicit_switch_type ""
      
      classrelation 128005 // edls (<directional aggregation>)
	relation 128005 o-->
	  stereotype "list"
	  a role_name "edls" multiplicity "1..*" protected
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
"
	    classrelation_ref 128005 // edls (<directional aggregation>)
	  b multiplicity "" parent class_ref 128133 // EDL
      end

      classrelation 128261 // fixture (<unidirectional association>)
	relation 128133 --->
	  a role_name "fixture" multiplicity "1" protected
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
"
	    classrelation_ref 128261 // fixture (<unidirectional association>)
	  b multiplicity "" parent class_ref 128261 // Fixture
      end
    end

    class 128133 "EDL"
      visibility package 
      cpp_decl "${comment}${template}class ${name}${inherit}
  {
${members}  };
${inlines}
"
      java_decl ""
      idl_decl ""
      explicit_switch_type ""
      
      classrelation 128645 // tracks (<directional aggregation by value>)
	relation 128389 *-->
	  stereotype "list"
	  a role_name "tracks" multiplicity "*" protected
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${stereotype}<${type}> ${name}${value};
"
	    classrelation_ref 128645 // tracks (<directional aggregation by value>)
	  b multiplicity "" parent class_ref 128389 // Track
      end

      classrelation 128901 // clips (<directional aggregation>)
	relation 128517 o-->
	  stereotype "list"
	  a role_name "clips" multiplicity "*" protected
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${stereotype}<${type} *> ${name}${value};
"
	    classrelation_ref 128901 // clips (<directional aggregation>)
	  b multiplicity "" parent class_ref 128517 // MObject
      end
    end

    class 128261 "Fixture"
      visibility package 
      cpp_decl "${comment}${template}class ${name}${inherit}
  {
${members}  };
${inlines}
"
      java_decl ""
      idl_decl ""
      explicit_switch_type ""
      
      classrelation 128517 // <generalisation>
	relation 128261 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 128517 // <generalisation>
	  b multiplicity "" parent class_ref 128133 // EDL
      end

      classrelation 129541 // tracks (<directional aggregation by value>)
	relation 129029 *-->
	  stereotype "list"
	  a role_name "tracks" multiplicity "1..*" protected
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	    classrelation_ref 129541 // tracks (<directional aggregation by value>)
	  b multiplicity "" parent class_ref 128389 // Track
      end

      classrelation 131717 // timeline (<directional aggregation by value>)
	relation 131077 *-->
	  stereotype "list"
	  a role_name "timeline" multiplicity "*" protected
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	    classrelation_ref 131717 // timeline (<directional aggregation by value>)
	  b multiplicity "" parent class_ref 129797 // ExplicitPlacement
      end

      operation 128645 "getPlaylistForRender"
	public explicit_return_type "list<ExplicitPlacement   [ProcessingLayer::MObject]>"
	nparams 0
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name} ${(}${)}${const}${volatile} ${throw}${abstract};"
	cpp_def "${comment}${inline}${type}
${class}::${name} ${(}${)}${const}${volatile} ${throw}${staticnl}
{
  ${body}
}

"
	
	
      end

      operation 129157 "getAutomation"
	public explicit_return_type "Auto   [ProcessingLayer::MObject]*"
	nparams 0
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name} ${(}${)}${const}${volatile} ${throw}${abstract};"
	cpp_def "${comment}${inline}${type}
${class}::${name} ${(}${)}${const}${volatile} ${throw}${staticnl}
{
  ${body}
}

"
	
	
      end
    end

    class 135173 "Segment"
      visibility package 
      cpp_decl "${comment}${template}class ${name}${inherit}
  {
${members}  };
${inlines}
"
      java_decl ""
      idl_decl ""
      explicit_switch_type ""
      
      attribute 129925 "start"
	protected type class_ref 134917 // Time
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl ""
	idl_decl ""
      end

      attribute 130053 "length"
	protected type class_ref 134917 // Time
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl ""
	idl_decl ""
	comment "duration (span) of this timeline segment."
      end

      classrelation 138885 // elements (<directional aggregation>)
	relation 137093 o-->
	  stereotype "list"
	  a role_name "elements" multiplicity "*" protected
	    comment "relevant MObjects comprising this segment. TODO: actually necessary??"
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${stereotype}<${type} *> ${name}${value};
"
	    classrelation_ref 138885 // elements (<directional aggregation>)
	  b multiplicity "" parent class_ref 129797 // ExplicitPlacement
      end
    end

    class 128389 "Track"
      visibility package 
      cpp_decl "${comment}${template}class ${name}${inherit}
  {
${members}  };
${inlines}
"
      java_decl ""
      idl_decl ""
      explicit_switch_type ""
      
    end

    class 128517 "MObject"
      abstract visibility public stereotype "interface"
      cpp_decl "${comment}${template}class ${name}${inherit}
  {
${members}  };
${inlines}
"
      java_decl "${comment}${@}${visibility}interface ${name}${extends} {
${members}}
"
      idl_decl "${comment}${abstract}${local}interface ${name}${inherit} {
${members}};
"
      explicit_switch_type ""
      
      attribute 128517 "length"
	protected type class_ref 134917 // Time
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl ""
	idl_decl ""
	comment "TODO: how to represent time intervals?"
      end

      classrelation 129029 // placement (<association>)
	relation 128645 ----
	  stereotype "list"
	  a role_name "placement" multiplicity "1..*" protected
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${stereotype}<${type} *> ${name}${value};
"
	    classrelation_ref 129029 // placement (<association>)
	  b role_name "subject" multiplicity "1" protected
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${type}* ${name}${value};
"
	    classrelation_ref 129157 // subject (<association>)
      end

      classrelation 137093 // <generalisation>
	relation 135557 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 137093 // <generalisation>
	  b multiplicity "" parent class_ref 134021 // Buildable
      end
    end

    class 128645 "Placement"
      abstract visibility public stereotype "interface"
      cpp_decl "${comment}${template}class ${name}${inherit}
  {
${members}  };
${inlines}
"
      java_decl "${comment}${@}${visibility}interface ${name}${extends} {
${members}}
"
      idl_decl "${comment}${abstract}${local}interface ${name}${inherit} {
${members}};
"
      explicit_switch_type ""
      
      classrelation 129157 // subject (<association>)
	relation_ref 128645 // <association>
      end

      operation 128005 "resolve"
	public explicit_return_type "ExplicitPlacement   [ProcessingLayer::MObject]&"
	nparams 0
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name} ${(}${)}${const}${volatile} ${throw}${abstract};"
	cpp_def "${comment}${inline}${type}
${class}::${name} ${(}${)}${const}${volatile} ${throw}${staticnl}
{
  ${body}
}

"
	
	
	comment "create an actual (explicit) placement while trying to satisfy the network of adjacent objects and placements."
      end
    end

    class 129797 "ExplicitPlacement"
      abstract visibility public stereotype "interface"
      cpp_decl "${comment}${template}class ${name}${inherit}
  {
${members}  };
${inlines}
"
      java_decl "${comment}${@}${visibility}interface ${name}${extends} {
${members}}
"
      idl_decl "${comment}${abstract}${local}interface ${name}${inherit} {
${members}};
"
      explicit_switch_type ""
      
      classrelation 131589 // <generalisation>
	relation 130949 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 131589 // <generalisation>
	  b multiplicity "" parent class_ref 128645 // Placement
      end

      attribute 128261 "time"
	protected type class_ref 134917 // Time
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl ""
	idl_decl ""
      end

      attribute 128389 "track"
	protected explicit_type "Track   [ProcessingLayer::MObject] *"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl ""
	idl_decl ""
      end

      classrelation 131845 // <unidirectional association>
	relation 131205 --->
	  a role_name "" multiplicity "" protected
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${type}* ${name}${value};
"
	    classrelation_ref 131845 // <unidirectional association>
	  b multiplicity "" parent class_ref 128389 // Track
	  association_type class_ref 128389 // Track
      end
    end

    class 128773 "AbstractMO"
      abstract visibility package 
      cpp_decl "${comment}${template}class ${name}${inherit}
  {
${members}  };
${inlines}
"
      java_decl ""
      idl_decl ""
      explicit_switch_type ""
      
      classrelation 129925 // <generalisation>
	relation 129285 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 129925 // <generalisation>
	  b multiplicity "" parent class_ref 128517 // MObject
      end
    end

    class 128901 "Clip"
      visibility package 
      cpp_decl "${comment}${template}class ${name}${inherit}
  {
${members}  };
${inlines}
"
      java_decl ""
      idl_decl ""
      explicit_switch_type ""
      
      classrelation 130053 // <generalisation>
	relation 129413 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 130053 // <generalisation>
	  b multiplicity "" parent class_ref 128773 // AbstractMO
      end

      attribute 128645 "start"
	protected type class_ref 134917 // Time
	init_value "Time(0)"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl ""
	idl_decl ""
	comment "startpos in source"
      end

      classrelation 141829 // source (<unidirectional association>)
	relation 140037 --->
	  a role_name "source" multiplicity "1" const_relation protected
	    comment "the media source this clip referes to"
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${type}* ${name}${value};
"
	    classrelation_ref 141829 // source (<unidirectional association>)
	  b multiplicity "*" parent class_ref 137349 // Clip
	  association_type class_ref 128901 // Clip
      end
    end

    class 129029 "Effect"
      visibility package 
      cpp_decl "${comment}${template}class ${name}${inherit}
  {
${members}  };
${inlines}
"
      java_decl ""
      idl_decl ""
      explicit_switch_type ""
      
      classrelation 130181 // <generalisation>
	relation 129541 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 130181 // <generalisation>
	  b multiplicity "" parent class_ref 128773 // AbstractMO
      end

      attribute 128901 "plugID"
	protected explicit_type "string"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl ""
	idl_decl ""
	comment "Identifier of the Plugin to be used"
      end
    end

    class 129157 "Meta"
      visibility package 
      cpp_decl "${comment}${template}class ${name}${inherit}
  {
${members}  };
${inlines}
"
      java_decl ""
      idl_decl ""
      explicit_switch_type ""
      
      classrelation 130309 // <generalisation>
	relation 129669 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 130309 // <generalisation>
	  b multiplicity "" parent class_ref 128773 // AbstractMO
      end
    end

    class 129285 "DirectPlacement"
      visibility package 
      cpp_decl "${comment}${template}class ${name}${inherit}
  {
${members}  };
${inlines}
"
      java_decl ""
      idl_decl ""
      explicit_switch_type ""
      
      classrelation 130437 // <generalisation>
	relation 129797 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 130437 // <generalisation>
	  b multiplicity "" parent class_ref 128645 // Placement
      end

      classrelation 131461 // <realization>
	relation 130821 -_-|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 131461 // <realization>
	  b multiplicity "" parent class_ref 129797 // ExplicitPlacement
      end
    end

    class 129413 "RelativePlacement"
      visibility package 
      cpp_decl "${comment}${template}class ${name}${inherit}
  {
${members}  };
${inlines}
"
      java_decl ""
      idl_decl ""
      explicit_switch_type ""
      
      classrelation 130565 // anchor (<unidirectional association>)
	relation 129925 --->
	  a role_name "anchor" multiplicity "1" protected
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${type}* ${name}${value};
"
	    classrelation_ref 130565 // anchor (<unidirectional association>)
	  b multiplicity "1" parent class_ref 128517 // MObject
	  association_type class_ref 128517 // MObject
      end

      attribute 128133 "relType"
	protected type class_ref 133893 // RelType
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl ""
	idl_decl ""
	comment "the kind of relation denoted by this Placement"
      end

      classrelation 131333 // <generalisation>
	relation 130693 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 131333 // <generalisation>
	  b multiplicity "" parent class_ref 128645 // Placement
      end

      attribute 129029 "offset"
	protected type class_ref 134917 // Time
	init_value "0"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl ""
	idl_decl ""
	comment "Offset the actual position by this (time) value relative to the anchor point. TODO: Representation?"
      end

      class 133893 "RelType"
	visibility public stereotype "enum"
	cpp_decl "${comment}enum ${name}
  {
${items}
  };
"
	java_decl "${comment}${@}${visibility}${final}${abstract}enum ${name}${implements} {
${items};
${members}}
"
	idl_decl "${comment}enum ${name} {
${items}};
"
	explicit_switch_type ""
	
	comment "the possible kinds of RelativePlacements"
	attribute 129157 "SAMETIME"
	  public explicit_type ""
	  cpp_decl "  ${name}${value},	${comment}"
	  java_decl ""
	  idl_decl ""
	  comment "place subject at the sime time as the anchor"
	end

	attribute 129285 "ATTACH"
	  public explicit_type ""
	  cpp_decl "  ${name}${value},	${comment}"
	  java_decl ""
	  idl_decl ""
	  comment "attach subject to anchor (e.g. an effect to a clip)"
	end
      end
    end

    class 129541 "Allocation"
      abstract visibility package 
      cpp_decl "${comment}${template}class ${name}${inherit}
  {
${members}  };
${inlines}
"
      java_decl ""
      idl_decl ""
      explicit_switch_type ""
      
      comment "a directive to place a MObject in a specific way"
      classrelation 131205 // <generalisation>
	relation 130565 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 131205 // <generalisation>
	  b multiplicity "" parent class_ref 128645 // Placement
      end

      attribute 128773 "repr"
	protected explicit_type "string"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl ""
	idl_decl ""
	get_oper operation_ref 131205 // get_repr
	comment "human readable representation of the condition characterizing this allocaton, e.g. \"t >= 10\""
      end

      operation 131205 "get_repr"
	const cpp_inline public explicit_return_type "string"
	nparams 0
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}const ${type} ${name} ${(}${)}${const}${volatile} ${throw};"
	cpp_def "${comment}${inline}const ${type} ${class}::${name} ${(}${)}${const}${volatile} ${throw}${staticnl}
{
  return repr;
}

"
	cpp_name_spec "get${Name}"
	final 
	java_name_spec "get${Name}"
	
	idl_name_spec "get_${name}"
	get_of_attribute attribute_ref 128773 // repr
      end
    end

    class 129669 "Label"
      visibility package 
      cpp_decl "${comment}${template}class ${name}${inherit}
  {
${members}  };
${inlines}
"
      java_decl ""
      idl_decl ""
      explicit_switch_type ""
      
      classrelation 130949 // <generalisation>
	relation 130309 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 130949 // <generalisation>
	  b multiplicity "" parent class_ref 129157 // Meta
      end
    end

    class 129925 "Auto"
      visibility package 
      nformals 1
      formal name "VAL" type "class" explicit_default_value ""
        explicit_extends ""
      nactuals 1
      actual class class_ref 134661 // ParamProvider
        rank 0 explicit_value "VAL"
      cpp_decl "${comment}${template}class ${name}${inherit}
  {
${members}  };
${inlines}
"
      java_decl ""
      idl_decl ""
      explicit_switch_type ""
      
      comment "Automation data for some parameter (i.e. a time varying function)"
      classrelation 131973 // <generalisation>
	relation 131333 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 131973 // <generalisation>
	  b multiplicity "" parent class_ref 129157 // Meta
      end

      classrelation 138501 // <realization>
	relation 136837 -_-|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 138501 // <realization>
	  b multiplicity "" parent class_ref 134661 // ParamProvider
      end

      operation 131077 "getValue"
	const public explicit_return_type "VAL"
	nparams 0
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name} ${(}${)}${const}${volatile} ${throw}${abstract};"
	cpp_def "${comment}${inline}${type}
${class}::${name} ${(}${)}${const}${volatile} ${throw}${staticnl}
{
  ${body}
}

"
	
	
      end
    end

    class 130053 "Wish"
      visibility package 
      cpp_decl "${comment}${template}class ${name}${inherit}
  {
${members}  };
${inlines}
"
      java_decl ""
      idl_decl ""
      explicit_switch_type ""
      
      classrelation 132101 // <generalisation>
	relation 131461 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 132101 // <generalisation>
	  b multiplicity "" parent class_ref 129541 // Allocation
      end
    end

    class 130181 "Constraint"
      visibility package 
      cpp_decl "${comment}${template}class ${name}${inherit}
  {
${members}  };
${inlines}
"
      java_decl ""
      idl_decl ""
      explicit_switch_type ""
      
      classrelation 132357 // <generalisation>
	relation 131717 ---|>
	  a public
	    cpp default "${type}"
	    classrelation_ref 132357 // <generalisation>
	  b multiplicity "" parent class_ref 129541 // Allocation
      end
    end

    class 134533 "Parameter"
      visibility public 
      nformals 1
      formal name "VAL" type "class" explicit_default_value ""
        explicit_extends ""
      cpp_decl "${comment}${template}class ${name}${inherit}
  {
${members}  };
${inlines}
"
      java_decl ""
      idl_decl ""
      explicit_switch_type ""
      
      comment "Descriptor and access object for a plugin parameter. Parameters may be provided with values from the session, and this values may be automated."
      operation 130821 "getValue"
	const public explicit_return_type "VAL"
	nparams 0
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name} ${(}${)}${const}${volatile} ${throw}${abstract};"
	cpp_def "${comment}${inline}${type}
${class}::${name} ${(}${)}${const}${volatile} ${throw}${staticnl}
{
  ${body}
}

"
	
	
      end

      classrelation 138245 // <dependency>
	relation 136581 -_->
	  stereotype "implemented_by"
	  a package
	    cpp default "#include in source"
	    classrelation_ref 138245 // <dependency>
	  b multiplicity "" parent class_ref 134661 // ParamProvider
      end

      classrelation 138629 // <association>
	relation_ref 136325 // <association>
      end
    end

    class 134661 "ParamProvider"
      abstract visibility public stereotype "interface"
      nformals 1
      formal name "VAL" type "class" explicit_default_value ""
        explicit_extends ""
      cpp_decl "${comment}${template}class ${name}${inherit}
  {
${members}  };
${inlines}
"
      java_decl "${comment}${@}${visibility}interface ${name}${extends} {
${members}}
"
      idl_decl "${comment}${abstract}${local}interface ${name}${inherit} {
${members}};
"
      explicit_switch_type ""
      
      comment "A facility to get the actual value of a plugin/effect parameter"
      classrelation 137989 // param (<association>)
	relation 136325 ----
	  a role_name "param" multiplicity "1" protected
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${type}* ${name}${value};
"
	    classrelation_ref 137989 // param (<association>)
	  b role_name "provider" multiplicity "1" protected
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${type}* ${name}${value};
"
	    classrelation_ref 138629 // <association>
      end

      classrelation 138373 // ipo (<unidirectional association>)
	relation 136709 --->
	  a role_name "ipo" multiplicity "0..1" protected
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${type}* ${name}${value};
"
	    classrelation_ref 138373 // ipo (<unidirectional association>)
	  b multiplicity "" parent class_ref 134789 // Interpolator
      end

      operation 130949 "getValue"
	const public explicit_return_type "VAL"
	nparams 0
	cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name} ${(}${)}${const}${volatile} ${throw}${abstract};"
	cpp_def "${comment}${inline}${type}
${class}::${name} ${(}${)}${const}${volatile} ${throw}${staticnl}
{
  ${body}
}

"
	
	
      end
    end

    class 134789 "Interpolator"
      visibility package 
      nformals 1
      formal name "VAL" type "class" explicit_default_value ""
        explicit_extends ""
      cpp_decl "${comment}${template}class ${name}${inherit}
  {
${members}  };
${inlines}
"
      java_decl ""
      idl_decl ""
      explicit_switch_type ""
      
      comment "Provides the implementation for getting the acutal value of a time varying or automated effect/plugin parameter"
    end
  end

  package_ref 128901 // Builder

  package_ref 129029 // Controller
end
