Ardour  8.12
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 std::shared_ptr< TimespanNodeTimespanNodePtr
 
typedef DataNode< ChannelConfigState > ChannelConfigNode
 
typedef std::shared_ptr< ChannelConfigNodeChannelConfigNodePtr
 
typedef DataNode< FormatState > FormatNode
 
typedef std::shared_ptr< FormatNodeFormatNodePtr
 
typedef DataNode< FilenameState > FilenameNode
 
typedef std::shared_ptr< FilenameNodeFilenameNodePtr
 

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

◆ ChannelConfigNode

typedef DataNode<ChannelConfigState> ChannelConfigNode

Definition at line 151 of file export_multiplication.h.

◆ ChannelConfigNodePtr

typedef std::shared_ptr<ChannelConfigNode> ChannelConfigNodePtr

Definition at line 152 of file export_multiplication.h.

◆ FilenameNode

typedef DataNode<FilenameState> FilenameNode

Definition at line 157 of file export_multiplication.h.

◆ FilenameNodePtr

typedef std::shared_ptr<FilenameNode> FilenameNodePtr

Definition at line 158 of file export_multiplication.h.

◆ FormatNode

typedef DataNode<FormatState> FormatNode

Definition at line 154 of file export_multiplication.h.

◆ FormatNodePtr

typedef std::shared_ptr<FormatNode> FormatNodePtr

Definition at line 155 of file export_multiplication.h.

◆ TimespanNode

typedef DataNode<TimespanState> TimespanNode

Definition at line 148 of file export_multiplication.h.

◆ TimespanNodePtr

typedef std::shared_ptr<TimespanNode> TimespanNodePtr

Definition at line 149 of file export_multiplication.h.

Function Documentation

◆ duplicate_channel_config_children()

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

◆ duplicate_channel_config_node()

ChannelConfigNodePtr duplicate_channel_config_node ( ChannelConfigNodePtr  node)
private

◆ duplicate_filename_node()

FilenameNodePtr duplicate_filename_node ( FilenameNodePtr  node)
private

◆ duplicate_format_children()

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

◆ duplicate_format_node()

FormatNodePtr duplicate_format_node ( FormatNodePtr  node)
private

◆ duplicate_timespan_children()

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

◆ duplicate_timespan_node()

TimespanNodePtr duplicate_timespan_node ( TimespanNodePtr  node)
private

◆ end_of_common_child_range()

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

◆ get_graph()

MultiplicationGraph const& get_graph ( )

Definition at line 167 of file export_multiplication.h.

◆ insert_after()

template<typename T >
static void insert_after ( list< T > &  the_list,
T const &  position,
T const &  element 
)
staticprivate

◆ nodes_have_one_common_child()

bool nodes_have_one_common_child ( list< GraphNode * > const &  the_list)
private

◆ purge_graph()

void purge_graph ( )
private

◆ remove_by_element()

template<typename T >
static void remove_by_element ( list< T > &  the_list,
T const &  element 
)
staticprivate

◆ remove_channel_config()

void remove_channel_config ( ChannelConfigNodePtr  node)
private

◆ remove_filename()

void remove_filename ( FilenameNodePtr  node)
private

◆ remove_format()

void remove_format ( FormatNodePtr  node)
private

◆ remove_node()

void remove_node ( GraphNode node)

◆ remove_timespan()

void remove_timespan ( TimespanNodePtr  node)
private

◆ split_channel_config()

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

◆ split_filename()

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

◆ split_format()

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

◆ split_node()

void split_node ( GraphNode node,
float  position 
)

◆ split_node_at_position()

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

◆ split_timespan()

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

Variable Documentation

◆ graph

MultiplicationGraph graph
private

Definition at line 207 of file export_multiplication.h.

◆ GraphChanged

PBD::Signal0<void> GraphChanged

Definition at line 172 of file export_multiplication.h.