Merge branch 'stage'
[cantaveria.git] / seq.h
blobcc66c76400d57efb83cb1580912b41a159250a6e
1 /*
2 Cantaveria - action adventure platform game
3 Copyright (C) 2009 2010 Evan Rinehart
5 This program is free software; you can redistribute it and/or
6 modify it under the terms of the GNU General Public License
7 as published by the Free Software Foundation; either version 2
8 of the License, or (at your option) any later version.
10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details.
15 You should have received a copy of the GNU General Public License
16 along with this program; if not, write to
18 The Free Software Foundation, Inc.
19 51 Franklin Street, Fifth Floor
20 Boston, MA 02110-1301, USA
22 evanrinehart@gmail.com
26 typedef enum {
27 MUS_COOL
30 } mus_id;
33 typedef struct event event;
34 struct event {
35 int tick;
36 char midi[4];
37 struct event* next;
40 void seq_init();
42 /* use these from audio thread */
43 int seq_lookahead(int samples);
44 event* seq_get_event();
45 void seq_advance(int samples);
48 /* use these from main thread */
49 void music_play();
50 void music_pause();
51 void music_reset();
52 int music_load(char* filename, mus_id id);
53 void music_change(mus_id id);