From f491b6c244c1ffc5c51eaa94e9f85e35fbdea19b Mon Sep 17 00:00:00 2001 From: Davide Morelli Date: Fri, 2 Dec 2005 12:18:12 +0000 Subject: adding rhythms memory graph svn path=/trunk/externals/frankenstein/; revision=4113 --- common.c | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) (limited to 'common.c') diff --git a/common.c b/common.c index fb5d3fb..4d554ff 100755 --- a/common.c +++ b/common.c @@ -158,6 +158,32 @@ void freeBeats(t_rhythm_event *currentEvent) } +void add_t_rhythm_memory_arc(t_rhythm_memory_node *srcNode, t_rhythm_memory_node *dstNode) +{ + t_rhythm_memory_arc *newArc; + t_rhythm_memory_arc *lastArc; + + // create a new arc + newArc = (t_rhythm_memory_arc *) malloc(sizeof(t_rhythm_memory_arc)); + newArc->to_note = dstNode; + newArc->weight = 1; + // go to the last arc in the list + // and add this arc as the last + lastArc = srcNode->arcs; + if (lastArc) + { + // this is not the first arc + while(lastArc->next_arc) + lastArc = lastArc->next_arc; + lastArc->next_arc = newArc; + } else + { + // this is the first arc + srcNode->arcs = newArc; + } +} + +// ------------------- themes manipulation functions // set the first note of a sequence void setFirstNote(t_note_event **firstEvent, unsigned short int voice, float fduration, t_note note) -- cgit v1.2.1