#include <file.h>
Inheritance diagram for jdkmidi::MIDIFile:
Public Types | |
enum | { MF_SEQUENCE_NUMBER = 0, MF_TEXT_EVENT = 1, MF_COPYRIGHT = 2, MF_TRACK_NAME = 3, MF_INSTRUMENT_NAME = 4, MF_LYRIC = 5, MF_MARKER = 6, MF_CUE_POINT = 7, MF_GENERIC_TEXT_8 = 8, MF_GENERIC_TEXT_9 = 9, MF_GENERIC_TEXT_A = 0xA, MF_GENERIC_TEXT_B = 0xB, MF_GENERIC_TEXT_C = 0xC, MF_GENERIC_TEXT_D = 0xD, MF_GENERIC_TEXT_E = 0xE, MF_GENERIC_TEXT_F = 0xF, MF_OUTPUT_CABLE = 0x21, MF_TRACK_LOOP = 0x2E, MF_END_OF_TRACK = 0x2F, MF_TEMPO = 0x51, MF_SMPTE = 0x54, MF_TIMESIG = 0x58, MF_KEYSIG = 0x59, MF_SEQUENCER_SPECIFIC = 0x7F } |
Public Member Functions | |
MIDIFile () | |
virtual | ~MIDIFile () |
Static Public Member Functions | |
unsigned long | ConvertTempoToFreq (short division, MIDITempo &tempo) |
unsigned long | To32Bit (unsigned char a, unsigned char b, unsigned char c, unsigned char d) |
unsigned short | To16Bit (unsigned char a, unsigned char b) |
unsigned long | ReadVariableLengthNumber (unsigned char **in) |
unsigned char * | WriteVariableLengthNumber (unsigned long num, unsigned char *out) |
|
Definition at line 80 of file file.h.
00081 { 00082 MF_SEQUENCE_NUMBER =0, 00083 MF_TEXT_EVENT =1, 00084 MF_COPYRIGHT =2, 00085 MF_TRACK_NAME =3, 00086 MF_INSTRUMENT_NAME =4, 00087 MF_LYRIC =5, 00088 MF_MARKER =6, 00089 MF_CUE_POINT =7, 00090 MF_GENERIC_TEXT_8 =8, 00091 MF_GENERIC_TEXT_9 =9, 00092 MF_GENERIC_TEXT_A =0xA, 00093 MF_GENERIC_TEXT_B =0xB, 00094 MF_GENERIC_TEXT_C =0xC, 00095 MF_GENERIC_TEXT_D =0xD, 00096 MF_GENERIC_TEXT_E =0xE, 00097 MF_GENERIC_TEXT_F =0xF, 00098 00099 MF_OUTPUT_CABLE =0x21, 00100 MF_TRACK_LOOP =0x2E, 00101 MF_END_OF_TRACK =0x2F, 00102 MF_TEMPO =0x51, 00103 MF_SMPTE =0x54, 00104 MF_TIMESIG =0x58, 00105 MF_KEYSIG =0x59, 00106 MF_SEQUENCER_SPECIFIC =0x7F 00107 }; |
|
Definition at line 47 of file jdkmidi_file.cpp.
00048 { 00049 } |
|
Definition at line 51 of file jdkmidi_file.cpp.
00052 { 00053 } |
|
Definition at line 55 of file jdkmidi_file.cpp. References jdkmidi::MIDITempo::GetMIDIFileTempo().
00059 { 00060 if( division>0 ) 00061 { 00062 long clocks_per_beat = (long)division*1000; 00063 long micro_sec_per_beat = tempo.GetMIDIFileTempo()/1000; 00064 00065 return (unsigned long) clocks_per_beat/micro_sec_per_beat; 00066 } 00067 else 00068 { 00069 // TO DO: handle smpte frame rate references 00070 return 120; 00071 } 00072 } |
|
Definition at line 75 of file jdkmidi_file.cpp.
00076 { 00077 unsigned long num=0; 00078 unsigned char *t=*in; 00079 00080 do 00081 { 00082 num <<= 7; 00083 num |= (*t); 00084 } while( (*t++)&0x80 ); 00085 00086 *in=t; 00087 return num; 00088 } |
|
Definition at line 137 of file file.h.
00138 { 00139 return (unsigned short)(((unsigned short)a << 8) 00140 + ((unsigned short)b << 0)); 00141 } |
|
Definition at line 124 of file file.h.
00125 { 00126 return ((unsigned long)a << 24) 00127 + ((unsigned long)b << 16) 00128 + ((unsigned long)c << 8 ) 00129 + ((unsigned long)d << 0 ); 00130 } |
|
Definition at line 90 of file jdkmidi_file.cpp.
00091 { 00092 register unsigned long buffer; 00093 00094 buffer = num & 0x7f; 00095 while( (num >>=7 )>0 ) 00096 { 00097 buffer <<= 8; 00098 buffer |=0x80; 00099 buffer += (num & 0x7f); 00100 } 00101 00102 do 00103 { 00104 *out++ = (unsigned char)buffer; 00105 if( buffer & 0x80 ) 00106 buffer >>=8; 00107 else 00108 break; 00109 } while( true ); 00110 00111 return out; 00112 } |