Audacity 3.2.0
ImportMIDI.h
Go to the documentation of this file.
1/**********************************************************************
2
3 Audacity: A Digital Audio Editor
4
5 ImportMIDI.h
6
7 Dominic Mazzoni
8
9*******************************************************************//*******************************************************************/
16
17
18#ifndef _IMPORT_MIDI_
19#define _IMPORT_MIDI_
20
21
22#include "Identifier.h"
23
24#if defined(USE_MIDI)
25
26class AudacityProject;
27class NoteTrack;
28
29bool AUDACITY_DLL_API DoImportMIDI( AudacityProject &project, const FilePath &fileName );
30
31bool ImportMIDI(const FilePath &fName, NoteTrack * dest);
32
34 public:
36
37 void Parse();
38
39 unsigned char *buffer;
41 int index;
42
44
46
47 int keys[16][128];
49 double tempo;
50
51 private:
52
53 int check_aborted(void);
54
55 int Mf_getc(void);
56 void Mf_error(char *);
57 void Mf_on(int, int, int);
58 void Mf_off(int, int, int);
59 void Mf_header(int, int, int);
60 void Mf_tempo(int);
61
62 void Mf_starttrack(void) {}
63 void Mf_endtrack(void) {}
64 void Mf_eot(void) {}
65 void Mf_pressure(int, int, int) {}
66 void Mf_controller(int, int, int) {}
67 void Mf_pitchbend(int, int, int) {}
68 void Mf_program(int, int) {}
69 void Mf_chanpressure(int, int) {}
70 void Mf_sysex(int, char *) {}
71 void Mf_arbitrary(int, char *) {}
72 void Mf_metamisc(int, int, char *) {}
73 void Mf_seqnum(int) {}
74 void Mf_smpte(int, int, int, int, int) {}
75 void Mf_timesig(int, int, int, int) {}
76 void Mf_keysig(int, int) {}
77 void Mf_sqspecific(int, char *) {}
78 void Mf_text(int, int, char *) {}
79
80 int Mf_nomerge; /* 1 => continue'ed system exclusives are */
81 /* not collapsed. */
82 long Mf_currtime; /* current time in delta-time units */
84
86
88
89 long readvarinum(void);
90 long read32bit(void);
91 int read16bit(void);
92 void msgenlarge(void);
93 char *msg(void);
94 int readheader(void);
95 void readtrack(void);
96 void sysex(void);
97 void msginit(void);
98 int egetc(void);
99 int msgleng(void);
100
101 int readmt(char *, int);
102 long to32bit(int, int, int, int);
103 int to16bit(int, int);
104 void mferror(char *);
105 void badbyte(int);
106 void metaevent(int);
107 void msgadd(int);
108 void chanmessage(int, int, int);
109
110 char *Msgbuff; /* message buffer */
111 int Msgsize; /* Size of currently allocated Msg */
112 int Msgindex; /* index of next available location in Msg */
113};
114
115#endif
116
117#endif
bool AUDACITY_DLL_API DoImportMIDI(AudacityProject &project, const FilePath &fileName)
Definition: ImportMIDI.cpp:40
bool ImportMIDI(const FilePath &fName, NoteTrack *dest)
Definition: ImportMIDI.cpp:86
wxString FilePath
Definition: Project.h:21
const auto project
The top-level handle to an Audacity project. It serves as a source of events that other objects can b...
Definition: Project.h:90
Unused class that might someday be used again to read MIDI files into a NoteTrack.
Definition: ImportMIDI.h:33
void sysex(void)
int readheader(void)
void Mf_endtrack(void)
Definition: ImportMIDI.h:63
void Mf_sysex(int, char *)
Definition: ImportMIDI.h:70
char * msg(void)
unsigned char * buffer
Definition: ImportMIDI.h:39
void Mf_eot(void)
Definition: ImportMIDI.h:64
int Mf_skipinit
Definition: ImportMIDI.h:83
long readvarinum(void)
void Mf_smpte(int, int, int, int, int)
Definition: ImportMIDI.h:74
int to16bit(int, int)
int check_aborted(void)
void readtrack(void)
int Mf_nomerge
Definition: ImportMIDI.h:80
void Mf_sqspecific(int, char *)
Definition: ImportMIDI.h:77
int midifile_error
Definition: ImportMIDI.h:45
void chanmessage(int, int, int)
long Mf_toberead
Definition: ImportMIDI.h:85
void msgadd(int)
long read32bit(void)
void Mf_starttrack(void)
Definition: ImportMIDI.h:62
void Mf_pressure(int, int, int)
Definition: ImportMIDI.h:65
int division
Definition: ImportMIDI.h:48
void Mf_header(int, int, int)
int readmt(char *, int)
int keys[16][128]
Definition: ImportMIDI.h:47
void Mf_on(int, int, int)
void Mf_seqnum(int)
Definition: ImportMIDI.h:73
int read16bit(void)
void badbyte(int)
void mferror(char *)
void Mf_program(int, int)
Definition: ImportMIDI.h:68
void Mf_arbitrary(int, char *)
Definition: ImportMIDI.h:71
void Mf_text(int, int, char *)
Definition: ImportMIDI.h:78
long to32bit(int, int, int, int)
void Mf_tempo(int)
void Mf_chanpressure(int, int)
Definition: ImportMIDI.h:69
void Mf_metamisc(int, int, char *)
Definition: ImportMIDI.h:72
double tempo
Definition: ImportMIDI.h:49
NoteTrack * noteTrack
Definition: ImportMIDI.h:43
void Mf_timesig(int, int, int, int)
Definition: ImportMIDI.h:75
char * Msgbuff
Definition: ImportMIDI.h:110
int Msgindex
Definition: ImportMIDI.h:112
void Parse()
int bufferLen
Definition: ImportMIDI.h:40
void Mf_off(int, int, int)
void Mf_controller(int, int, int)
Definition: ImportMIDI.h:66
int msgleng(void)
int Mf_getc(void)
int abort_flag
Definition: ImportMIDI.h:87
void Mf_error(char *)
void metaevent(int)
void msginit(void)
long Mf_currtime
Definition: ImportMIDI.h:82
void Mf_keysig(int, int)
Definition: ImportMIDI.h:76
void Mf_pitchbend(int, int, int)
Definition: ImportMIDI.h:67
void msgenlarge(void)
int egetc(void)
A Track that is used for Midi notes. (Somewhat old code).
Definition: NoteTrack.h:86