BEAST - Free Software Audio Synthesizer and Tracker  0.10.0
bsemidifile.hh
Go to the documentation of this file.
1  // Licensed GNU LGPL v2.1 or later: http://www.gnu.org/licenses/lgpl.html
2 #ifndef __BSE_MIDI_FILE_H__
3 #define __BSE_MIDI_FILE_H__
4 
5 #include <bse/bsemidievent.hh>
6 
7 G_BEGIN_DECLS
8 
9 typedef struct {
10  guint n_events;
11  BseMidiEvent **events;
13 typedef struct {
14  Bse::MusicalTuning musical_tuning;
15  guint tpqn; /* ticks-per-quarter-note */
16  gfloat tpqn_rate;
17  /* signature */
18  gfloat bpm;
19  guint numerator, denominator;
20  /* tracks */
21  guint n_tracks;
22  BseMidiFileTrack tracks[1]; /* flexible array */
23 } BseMidiFile;
24 
25 BseMidiFile* bse_midi_file_load (const gchar *file_name,
26  Bse::Error *error_p);
27 void bse_midi_file_free (BseMidiFile *smf);
28 void bse_midi_file_add_part_events (BseMidiFile *smf,
29  guint nth_track,
30  BsePart *part,
31  BseTrack *ptrack);
32 void bse_midi_file_setup_song (BseMidiFile *smf,
33  BseSong *song);
34 
35 G_END_DECLS
36 
37 #endif /* __BSE_MIDI_FILE_H__ */
Definition: bsetrack.hh:24
Definition: bsemidifile.hh:13
Definition: bsemidifile.hh:9
Definition: bsesong.hh:25
Definition: bsemidievent.hh:74
Definition: bsepart.hh:26