File: tempomap.h

package info (click to toggle)
audacity 2.0.6-2
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 80,076 kB
  • sloc: cpp: 192,859; ansic: 158,072; sh: 34,021; python: 24,248; lisp: 7,495; makefile: 3,667; xml: 573; perl: 31; sed: 16
file content (25 lines) | stat: -rw-r--r-- 764 bytes parent folder | download | duplicates (21)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
/* tempomap.h -- list of tempo changes */

typedef struct tempochange_struct {
    struct tempochange_struct *next;
    time_type rtime;
    long beat;
    long tempo;
} tempochange_node, *tempochange_type;


typedef struct tempomap_struct {
    tempochange_type entries;
    tempochange_type hint;
} tempomap_node, *tempomap_type;


#define tempochange_alloc() (tempochange_type) memget(sizeof(tempochange_node))
#define tempochange_free(tc) memfree(tc, sizeof(tempochange_node))
#define tempomap_alloc() (tempomap_type) memget(sizeof(tempomap_node))
tempomap_type tempomap_create(void);
void tempomap_free(tempomap_type tm);
void tempomap_insert(tempomap_type tempomap, long beat, long tempo);
time_type tempomap_lookup(tempomap_type tempomap, long beat);