diff options
author | Davide Morelli <morellid@users.sourceforge.net> | 2005-12-02 12:18:12 +0000 |
---|---|---|
committer | Davide Morelli <morellid@users.sourceforge.net> | 2005-12-02 12:18:12 +0000 |
commit | f491b6c244c1ffc5c51eaa94e9f85e35fbdea19b (patch) | |
tree | 88d1ab13a6d5bae1766a555241b5a894b92e2f3f /common.h | |
parent | ae67336fe2a0184a69662b29607ce48fd01cf52e (diff) |
adding rhythms memory graph
svn path=/trunk/externals/frankenstein/; revision=4113
Diffstat (limited to 'common.h')
-rwxr-xr-x | common.h | 32 |
1 files changed, 19 insertions, 13 deletions
@@ -43,25 +43,31 @@ struct t_rhythm_event // rhythms memory graph
-/*
+
// list implementation
// this implements a graph that stores the memory of the current rhythm sub-elements
// list of links
-typedef struct _rhythm_memory_arc
-{
- float weight;
- struct t_rhythm_memory_node *to_node; // the target of this link (arc)
- struct t_rhythm_memory_arc *next_arc; // next link in the list
-} t_rhythm_memory_arc;
+// the actual implementation will be an array of nodes, each node
+typedef struct t_rhythm_memory_arc t_rhythm_memory_arc;
+typedef struct t_rhythm_memory_node t_rhythm_memory_node;
// graph node
-typedef struct _rhythm_memory_node
+typedef struct t_rhythm_memory_node
{
t_duration duration;
- struct t_rhythm_memory_arc *arcs; // the list of arcs to other nodes
-} t_rhythm_memory_node;
-*/
-// with a table
-// simpler and most of all non recursive when searching nodes!
+ t_rhythm_memory_arc *arcs; // the list of arcs to other nodes
+} ;
+// graph arc
+struct t_rhythm_memory_arc
+{
+ unsigned short int weight;
+ t_rhythm_memory_node *to_node; // the target of this link (arc)
+ t_rhythm_memory_arc *next_arc; // next link in the list
+} ;
+// it will be arranged in a heap list?
+
+// add an arc to this node
+void add_t_rhythm_memory_arc(t_rhythm_memory_node *srcNode, t_rhythm_memory_node *dstNode);
+
#define num_possible_denominators 11
static unsigned short int possible_denominators[] = {1,2,3,4,6,8,12,16,18,24,32};
|