ardour
Classes | Typedefs | Functions | Variables
export_multiplication.h File Reference

Go to the source code of this file.

Classes

class  GraphNode
 A node in the hierarchical graph that represents a multiplicatable export item. More...
 
class  DataNode< T >
 A graph node that contains data. More...
 
class  NodeSorter< T >
 
struct  MultiplicationGraph
 

Typedefs

typedef DataNode< TimespanState > TimespanNode
 
typedef boost::shared_ptr
< TimespanNode
TimespanNodePtr
 
typedef DataNode
< ChannelConfigState > 
ChannelConfigNode
 
typedef boost::shared_ptr
< ChannelConfigNode
ChannelConfigNodePtr
 
typedef DataNode< FormatState > FormatNode
 
typedef boost::shared_ptr
< FormatNode
FormatNodePtr
 
typedef DataNode< FilenameState > FilenameNode
 
typedef boost::shared_ptr
< FilenameNode
FilenameNodePtr
 

Functions

MultiplicationGraph const & get_graph ()
 
void split_node (GraphNode *node, float position)
 
void remove_node (GraphNode *node)
 
void purge_graph ()
 
template<typename T >
static void insert_after (list< T > &the_list, T const &position, T const &element)
 
template<typename T >
static void remove_by_element (list< T > &the_list, T const &element)
 
bool nodes_have_one_common_child (list< GraphNode * > const &the_list)
 
list< GraphNode * >::const_iterator end_of_common_child_range (list< GraphNode * > const &the_list, list< GraphNode * >::const_iterator beginning)
 
void split_node_at_position (GraphNode *old_node, GraphNode *new_node, float position)
 
void split_timespan (TimespanNodePtr node, float position=0.5)
 
void split_channel_config (ChannelConfigNodePtr node, float position=0.5)
 
void split_format (FormatNodePtr node, float position=0.5)
 
void split_filename (FilenameNodePtr node, float position=0.5)
 
void duplicate_timespan_children (TimespanNodePtr source, TimespanNodePtr target, GraphNode *insertion_point=0)
 
void duplicate_channel_config_children (ChannelConfigNodePtr source, ChannelConfigNodePtr target, GraphNode *insertion_point=0)
 
void duplicate_format_children (FormatNodePtr source, FormatNodePtr target, GraphNode *insertion_point=0)
 
TimespanNodePtr duplicate_timespan_node (TimespanNodePtr node)
 
ChannelConfigNodePtr duplicate_channel_config_node (ChannelConfigNodePtr node)
 
FormatNodePtr duplicate_format_node (FormatNodePtr node)
 
FilenameNodePtr duplicate_filename_node (FilenameNodePtr node)
 
void remove_timespan (TimespanNodePtr node)
 
void remove_channel_config (ChannelConfigNodePtr node)
 
void remove_format (FormatNodePtr node)
 
void remove_filename (FilenameNodePtr node)
 

Variables

PBD::Signal0< void > GraphChanged
 
MultiplicationGraph graph
 

Typedef Documentation

typedef DataNode<ChannelConfigState> ChannelConfigNode

Definition at line 152 of file export_multiplication.h.

Definition at line 153 of file export_multiplication.h.

typedef DataNode<FilenameState> FilenameNode

Definition at line 158 of file export_multiplication.h.

Definition at line 159 of file export_multiplication.h.

typedef DataNode<FormatState> FormatNode

Definition at line 155 of file export_multiplication.h.

Definition at line 156 of file export_multiplication.h.

typedef DataNode<TimespanState> TimespanNode

Definition at line 149 of file export_multiplication.h.

Definition at line 150 of file export_multiplication.h.

Function Documentation

void ExportProfileManager::duplicate_channel_config_children ( ChannelConfigNodePtr  source,
ChannelConfigNodePtr  target,
GraphNode insertion_point = 0 
)
private

Definition at line 522 of file export_multiplication.cc.

ExportProfileManager::ChannelConfigNodePtr ExportProfileManager::duplicate_channel_config_node ( ChannelConfigNodePtr  node)
private

Definition at line 642 of file export_multiplication.cc.

ExportProfileManager::FilenameNodePtr ExportProfileManager::duplicate_filename_node ( FilenameNodePtr  node)
private

Definition at line 662 of file export_multiplication.cc.

void ExportProfileManager::duplicate_format_children ( FormatNodePtr  source,
FormatNodePtr  target,
GraphNode insertion_point = 0 
)
private

Definition at line 588 of file export_multiplication.cc.

ExportProfileManager::FormatNodePtr ExportProfileManager::duplicate_format_node ( FormatNodePtr  node)
private

Definition at line 652 of file export_multiplication.cc.

void ExportProfileManager::duplicate_timespan_children ( TimespanNodePtr  source,
TimespanNodePtr  target,
GraphNode insertion_point = 0 
)
private

Definition at line 456 of file export_multiplication.cc.

ExportProfileManager::TimespanNodePtr ExportProfileManager::duplicate_timespan_node ( TimespanNodePtr  node)
private

Definition at line 625 of file export_multiplication.cc.

list< ExportProfileManager::GraphNode * >::const_iterator ExportProfileManager::end_of_common_child_range ( list< GraphNode * > const &  the_list,
list< GraphNode * >::const_iterator  beginning 
)
private

Definition at line 349 of file export_multiplication.cc.

MultiplicationGraph const& get_graph ( )

Definition at line 168 of file export_multiplication.h.

template<typename T >
static void insert_after ( list< T > &  the_list,
T const &  position,
T const &  element 
)
staticprivate
bool ExportProfileManager::nodes_have_one_common_child ( list< GraphNode * > const &  the_list)
private

Definition at line 343 of file export_multiplication.cc.

void ExportProfileManager::purge_graph ( )
private

Definition at line 271 of file export_multiplication.cc.

template<typename T >
static void remove_by_element ( list< T > &  the_list,
T const &  element 
)
staticprivate
void ExportProfileManager::remove_channel_config ( ChannelConfigNodePtr  node)
private

Definition at line 679 of file export_multiplication.cc.

void ExportProfileManager::remove_filename ( FilenameNodePtr  node)
private

Definition at line 693 of file export_multiplication.cc.

void remove_format ( FormatNodePtr  node)
private
void remove_node ( GraphNode node)
void ExportProfileManager::remove_timespan ( TimespanNodePtr  node)
private

Definition at line 672 of file export_multiplication.cc.

void ExportProfileManager::split_channel_config ( ChannelConfigNodePtr  node,
float  position = 0.5 
)
private

Definition at line 397 of file export_multiplication.cc.

void ExportProfileManager::split_filename ( FilenameNodePtr  node,
float  position = 0.5 
)
private

Definition at line 438 of file export_multiplication.cc.

void ExportProfileManager::split_format ( FormatNodePtr  node,
float  position = 0.5 
)
private

Definition at line 415 of file export_multiplication.cc.

void ExportProfileManager::split_node ( GraphNode node,
float  position 
)

Definition at line 215 of file export_multiplication.cc.

void ExportProfileManager::split_node_at_position ( GraphNode old_node,
GraphNode new_node,
float  position 
)
private

Definition at line 363 of file export_multiplication.cc.

void ExportProfileManager::split_timespan ( TimespanNodePtr  node,
float  position = 0.5 
)
private

Definition at line 382 of file export_multiplication.cc.

Variable Documentation

Definition at line 208 of file export_multiplication.h.

PBD::Signal0<void> GraphChanged

Definition at line 173 of file export_multiplication.h.