diff options
Diffstat (limited to 'apps/plugins/midi/midifile.c')
-rw-r--r-- | apps/plugins/midi/midifile.c | 40 |
1 files changed, 19 insertions, 21 deletions
diff --git a/apps/plugins/midi/midifile.c b/apps/plugins/midi/midifile.c index 412cc6104d..61168f9d39 100644 --- a/apps/plugins/midi/midifile.c +++ b/apps/plugins/midi/midifile.c | |||
@@ -26,7 +26,7 @@ void bail(const char *); | |||
26 | 26 | ||
27 | struct MIDIfile * loadFile(char * filename) | 27 | struct MIDIfile * loadFile(char * filename) |
28 | { | 28 | { |
29 | struct MIDIfile * mf; | 29 | struct MIDIfile * mfload; |
30 | int file = rb->open (filename, O_RDONLY); | 30 | int file = rb->open (filename, O_RDONLY); |
31 | 31 | ||
32 | if(file==-1) | 32 | if(file==-1) |
@@ -34,15 +34,15 @@ struct MIDIfile * loadFile(char * filename) | |||
34 | bail("Could not open file\n"); | 34 | bail("Could not open file\n"); |
35 | } | 35 | } |
36 | 36 | ||
37 | mf = (struct MIDIfile*)allocate(sizeof(struct MIDIfile)); | 37 | mfload = (struct MIDIfile*)malloc(sizeof(struct MIDIfile)); |
38 | 38 | ||
39 | if(mf==NULL) | 39 | if(mfload==NULL) |
40 | { | 40 | { |
41 | rb->close(file); | 41 | rb->close(file); |
42 | bail("Could not allocate memory for MIDIfile struct\n"); | 42 | bail("Could not allocate memory for MIDIfile struct\n"); |
43 | } | 43 | } |
44 | 44 | ||
45 | rb->memset(mf, 0, sizeof(struct MIDIfile)); | 45 | rb->memset(mfload, 0, sizeof(struct MIDIfile)); |
46 | 46 | ||
47 | if(readID(file) != ID_MTHD) | 47 | if(readID(file) != ID_MTHD) |
48 | { | 48 | { |
@@ -62,32 +62,32 @@ struct MIDIfile * loadFile(char * filename) | |||
62 | bail("MIDI file type not supported"); | 62 | bail("MIDI file type not supported"); |
63 | } | 63 | } |
64 | 64 | ||
65 | mf->numTracks = readTwoBytes(file); | 65 | mfload->numTracks = readTwoBytes(file); |
66 | mf->div = readTwoBytes(file); | 66 | mfload->div = readTwoBytes(file); |
67 | 67 | ||
68 | int track=0; | 68 | int track=0; |
69 | 69 | ||
70 | printf("\nnumTracks=%d div=%d\nBegin reading track data\n", mf->numTracks, mf->div); | 70 | printf("\nnumTracks=%d div=%d\nBegin reading track data\n", mfload->numTracks, mfload->div); |
71 | 71 | ||
72 | 72 | ||
73 | while(! eof(file) && track < mf->numTracks) | 73 | while(! eof(file) && track < mfload->numTracks) |
74 | { | 74 | { |
75 | unsigned char id = readID(file); | 75 | unsigned char id = readID(file); |
76 | 76 | ||
77 | 77 | ||
78 | if(id == ID_EOF) | 78 | if(id == ID_EOF) |
79 | { | 79 | { |
80 | if(mf->numTracks != track) | 80 | if(mfload->numTracks != track) |
81 | { | 81 | { |
82 | printf("\nError: file claims to have %d tracks.\n I only see %d here.\n", mf->numTracks, track); | 82 | printf("\nError: file claims to have %d tracks.\n I only see %d here.\n", mfload->numTracks, track); |
83 | mf->numTracks = track; | 83 | mfload->numTracks = track; |
84 | } | 84 | } |
85 | return mf; | 85 | return mfload; |
86 | } | 86 | } |
87 | 87 | ||
88 | if(id == ID_MTRK) | 88 | if(id == ID_MTRK) |
89 | { | 89 | { |
90 | mf->tracks[track] = readTrack(file); | 90 | mfload->tracks[track] = readTrack(file); |
91 | //exit(0); | 91 | //exit(0); |
92 | track++; | 92 | track++; |
93 | } else | 93 | } else |
@@ -98,16 +98,16 @@ struct MIDIfile * loadFile(char * filename) | |||
98 | readChar(file); | 98 | readChar(file); |
99 | } | 99 | } |
100 | } | 100 | } |
101 | return mf; | 101 | return mfload; |
102 | 102 | ||
103 | } | 103 | } |
104 | 104 | ||
105 | 105 | ||
106 | int rStatus = 0; | ||
107 | |||
108 | /* Returns 0 if done, 1 if keep going */ | 106 | /* Returns 0 if done, 1 if keep going */ |
109 | int readEvent(int file, void * dest) | 107 | int readEvent(int file, void * dest) |
110 | { | 108 | { |
109 | |||
110 | static int rStatus = 0; | ||
111 | struct Event dummy; | 111 | struct Event dummy; |
112 | struct Event * ev = (struct Event *) dest; | 112 | struct Event * ev = (struct Event *) dest; |
113 | 113 | ||
@@ -131,7 +131,7 @@ int readEvent(int file, void * dest) | |||
131 | if(dest != NULL) | 131 | if(dest != NULL) |
132 | { | 132 | { |
133 | ev->evData = readData(file, ev->len); | 133 | ev->evData = readData(file, ev->len); |
134 | printf("\nDATA: <%s>", ev->evData); | 134 | /* printf("\nDATA: <%s>", ev->evData); */ |
135 | } | 135 | } |
136 | else | 136 | else |
137 | { | 137 | { |
@@ -173,11 +173,9 @@ int readEvent(int file, void * dest) | |||
173 | return 1; | 173 | return 1; |
174 | } | 174 | } |
175 | 175 | ||
176 | |||
177 | |||
178 | struct Track * readTrack(int file) | 176 | struct Track * readTrack(int file) |
179 | { | 177 | { |
180 | struct Track * trk = (struct Track *)allocate(sizeof(struct Track)); | 178 | struct Track * trk = (struct Track *)malloc(sizeof(struct Track)); |
181 | rb->memset(trk, 0, sizeof(struct Track)); | 179 | rb->memset(trk, 0, sizeof(struct Track)); |
182 | 180 | ||
183 | trk->size = readFourBytes(file); | 181 | trk->size = readFourBytes(file); |
@@ -194,7 +192,7 @@ struct Track * readTrack(int file) | |||
194 | rb->lseek(file, pos, SEEK_SET); | 192 | rb->lseek(file, pos, SEEK_SET); |
195 | 193 | ||
196 | int trackSize = (numEvents+1) * sizeof(struct Event); | 194 | int trackSize = (numEvents+1) * sizeof(struct Event); |
197 | void * dataPtr = allocate(trackSize); | 195 | void * dataPtr = malloc(trackSize); |
198 | trk->dataBlock = dataPtr; | 196 | trk->dataBlock = dataPtr; |
199 | 197 | ||
200 | numEvents=0; | 198 | numEvents=0; |