File: tempomap.h

package info (click to toggle)
audacity 3.2.4%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 106,704 kB
  • sloc: cpp: 277,038; ansic: 73,623; lisp: 7,761; python: 3,305; sh: 2,715; perl: 821; xml: 275; makefile: 119
file content (25 lines) | stat: -rw-r--r-- 764 bytes parent folder | download | duplicates (22)
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);