midilib 1.1.4 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (296) hide show
  1. data/{README → README.rdoc} +12 -3
  2. data/Rakefile +11 -5
  3. data/TODO.rdoc +31 -0
  4. data/html/classes/IO.html +137 -0
  5. data/html/classes/IO.src/M000001.html +20 -0
  6. data/html/classes/MIDI/ActiveSense.html +10 -10
  7. data/html/classes/MIDI/ActiveSense.src/{M000158.html → M000160.html} +1 -1
  8. data/html/classes/MIDI/ActiveSense.src/{M000159.html → M000161.html} +1 -1
  9. data/html/classes/MIDI/ChannelEvent.html +10 -10
  10. data/html/classes/MIDI/ChannelEvent.src/{M000130.html → M000132.html} +0 -0
  11. data/html/classes/MIDI/ChannelEvent.src/{M000131.html → M000133.html} +0 -0
  12. data/html/classes/MIDI/ChannelPressure.html +15 -15
  13. data/html/classes/MIDI/ChannelPressure.src/M000092.html +5 -4
  14. data/html/classes/MIDI/ChannelPressure.src/{M000091.html → M000093.html} +2 -3
  15. data/html/classes/MIDI/ChannelPressure.src/M000094.html +18 -0
  16. data/html/classes/MIDI/Clock.html +10 -10
  17. data/html/classes/MIDI/Clock.src/{M000146.html → M000148.html} +1 -1
  18. data/html/classes/MIDI/Clock.src/{M000147.html → M000149.html} +1 -1
  19. data/html/classes/MIDI/Continue.html +10 -10
  20. data/html/classes/MIDI/Continue.src/{M000144.html → M000146.html} +1 -1
  21. data/html/classes/MIDI/Continue.src/{M000145.html → M000147.html} +1 -1
  22. data/html/classes/MIDI/Controller.html +15 -15
  23. data/html/classes/MIDI/Controller.src/M000137.html +7 -4
  24. data/html/classes/MIDI/Controller.src/{M000136.html → M000138.html} +2 -3
  25. data/html/classes/MIDI/Controller.src/M000139.html +18 -0
  26. data/html/classes/MIDI/Event.html +90 -90
  27. data/html/classes/MIDI/Event.src/M000169.html +16 -4
  28. data/html/classes/MIDI/Event.src/M000170.html +4 -4
  29. data/html/classes/MIDI/Event.src/M000171.html +4 -4
  30. data/html/classes/MIDI/Event.src/M000172.html +4 -4
  31. data/html/classes/MIDI/Event.src/M000173.html +4 -4
  32. data/html/classes/MIDI/Event.src/M000174.html +4 -4
  33. data/html/classes/MIDI/Event.src/M000175.html +4 -4
  34. data/html/classes/MIDI/Event.src/M000176.html +4 -4
  35. data/html/classes/MIDI/Event.src/M000177.html +4 -4
  36. data/html/classes/MIDI/Event.src/M000178.html +4 -4
  37. data/html/classes/MIDI/Event.src/M000179.html +4 -8
  38. data/html/classes/MIDI/Event.src/M000180.html +4 -4
  39. data/html/classes/MIDI/Event.src/M000181.html +8 -4
  40. data/html/classes/MIDI/Event.src/M000182.html +4 -5
  41. data/html/classes/MIDI/Event.src/M000183.html +4 -4
  42. data/html/classes/MIDI/Event.src/M000184.html +19 -0
  43. data/html/classes/MIDI/{PolyPressure.src/M000197.html → Event.src/M000185.html} +4 -4
  44. data/html/classes/MIDI/IO/MIDIFile.html +247 -230
  45. data/html/classes/MIDI/IO/MIDIFile.src/M000031.html +9 -6
  46. data/html/classes/MIDI/IO/MIDIFile.src/M000032.html +11 -6
  47. data/html/classes/MIDI/IO/MIDIFile.src/M000033.html +4 -4
  48. data/html/classes/MIDI/IO/MIDIFile.src/M000034.html +6 -3
  49. data/html/classes/MIDI/IO/MIDIFile.src/M000035.html +5 -3
  50. data/html/classes/MIDI/IO/MIDIFile.src/M000036.html +3 -3
  51. data/html/classes/MIDI/IO/MIDIFile.src/M000037.html +3 -3
  52. data/html/classes/MIDI/IO/MIDIFile.src/M000038.html +3 -3
  53. data/html/classes/MIDI/IO/MIDIFile.src/M000039.html +3 -3
  54. data/html/classes/MIDI/IO/MIDIFile.src/M000040.html +3 -3
  55. data/html/classes/MIDI/IO/MIDIFile.src/M000041.html +3 -3
  56. data/html/classes/MIDI/IO/MIDIFile.src/M000042.html +3 -3
  57. data/html/classes/MIDI/IO/MIDIFile.src/M000043.html +3 -3
  58. data/html/classes/MIDI/IO/MIDIFile.src/M000044.html +3 -3
  59. data/html/classes/MIDI/IO/MIDIFile.src/M000045.html +3 -3
  60. data/html/classes/MIDI/IO/MIDIFile.src/M000046.html +3 -3
  61. data/html/classes/MIDI/IO/MIDIFile.src/M000047.html +3 -3
  62. data/html/classes/MIDI/IO/MIDIFile.src/M000048.html +3 -3
  63. data/html/classes/MIDI/IO/MIDIFile.src/M000049.html +3 -3
  64. data/html/classes/MIDI/IO/MIDIFile.src/M000050.html +3 -3
  65. data/html/classes/MIDI/IO/MIDIFile.src/M000051.html +3 -3
  66. data/html/classes/MIDI/IO/MIDIFile.src/M000052.html +3 -3
  67. data/html/classes/MIDI/IO/MIDIFile.src/M000053.html +3 -3
  68. data/html/classes/MIDI/IO/MIDIFile.src/M000054.html +3 -3
  69. data/html/classes/MIDI/IO/MIDIFile.src/M000055.html +3 -29
  70. data/html/classes/MIDI/IO/MIDIFile.src/M000056.html +3 -20
  71. data/html/classes/MIDI/IO/MIDIFile.src/M000057.html +21 -74
  72. data/html/classes/MIDI/IO/MIDIFile.src/M000058.html +20 -4
  73. data/html/classes/MIDI/IO/MIDIFile.src/M000059.html +81 -33
  74. data/html/classes/MIDI/IO/MIDIFile.src/M000060.html +4 -28
  75. data/html/classes/MIDI/IO/MIDIFile.src/M000061.html +35 -5
  76. data/html/classes/MIDI/IO/MIDIFile.src/M000062.html +28 -5
  77. data/html/classes/MIDI/IO/MIDIFile.src/M000063.html +5 -6
  78. data/html/classes/MIDI/IO/MIDIFile.src/M000064.html +5 -7
  79. data/html/classes/MIDI/IO/MIDIFile.src/M000065.html +5 -16
  80. data/html/classes/MIDI/IO/MIDIFile.src/M000066.html +7 -6
  81. data/html/classes/MIDI/IO/MIDIFile.src/M000067.html +17 -8
  82. data/html/classes/MIDI/IO/MIDIFile.src/M000068.html +6 -16
  83. data/html/classes/MIDI/IO/MIDIFile.src/M000069.html +8 -4
  84. data/html/classes/MIDI/IO/MIDIFile.src/M000070.html +16 -6
  85. data/html/classes/MIDI/IO/MIDIFile.src/M000071.html +4 -4
  86. data/html/classes/MIDI/IO/MIDIFile.src/M000072.html +6 -4
  87. data/html/classes/MIDI/IO/MIDIFile.src/{M000029.html → M000073.html} +4 -8
  88. data/html/classes/MIDI/IO/MIDIFile.src/M000074.html +18 -0
  89. data/html/classes/MIDI/IO/SeqReader.html +98 -98
  90. data/html/classes/MIDI/IO/SeqReader.src/M000002.html +8 -8
  91. data/html/classes/MIDI/IO/SeqReader.src/M000003.html +7 -6
  92. data/html/classes/MIDI/IO/SeqReader.src/M000004.html +6 -19
  93. data/html/classes/MIDI/IO/SeqReader.src/M000005.html +19 -11
  94. data/html/classes/MIDI/IO/SeqReader.src/M000006.html +12 -14
  95. data/html/classes/MIDI/IO/SeqReader.src/M000007.html +14 -7
  96. data/html/classes/MIDI/IO/SeqReader.src/M000008.html +7 -5
  97. data/html/classes/MIDI/IO/SeqReader.src/M000009.html +4 -4
  98. data/html/classes/MIDI/IO/SeqReader.src/M000010.html +4 -4
  99. data/html/classes/MIDI/IO/SeqReader.src/M000011.html +4 -4
  100. data/html/classes/MIDI/IO/SeqReader.src/M000012.html +4 -4
  101. data/html/classes/MIDI/IO/SeqReader.src/M000013.html +5 -4
  102. data/html/classes/MIDI/IO/SeqReader.src/M000014.html +4 -4
  103. data/html/classes/MIDI/IO/SeqReader.src/M000015.html +4 -15
  104. data/html/classes/MIDI/IO/SeqReader.src/M000016.html +15 -5
  105. data/html/classes/MIDI/IO/SeqReader.src/M000017.html +5 -4
  106. data/html/classes/MIDI/IO/SeqReader.src/M000018.html +4 -4
  107. data/html/classes/MIDI/IO/SeqReader.src/M000019.html +4 -4
  108. data/html/classes/MIDI/IO/SeqReader.src/M000020.html +18 -0
  109. data/html/classes/MIDI/IO/SeqWriter.html +60 -45
  110. data/html/classes/MIDI/IO/SeqWriter.src/M000021.html +5 -11
  111. data/html/classes/MIDI/IO/SeqWriter.src/M000022.html +11 -8
  112. data/html/classes/MIDI/IO/SeqWriter.src/M000023.html +8 -40
  113. data/html/classes/MIDI/IO/SeqWriter.src/M000024.html +39 -34
  114. data/html/classes/MIDI/IO/SeqWriter.src/M000025.html +35 -7
  115. data/html/classes/MIDI/IO/SeqWriter.src/M000026.html +7 -5
  116. data/html/classes/MIDI/IO/SeqWriter.src/M000027.html +5 -10
  117. data/html/classes/MIDI/IO/SeqWriter.src/M000028.html +8 -11
  118. data/html/classes/MIDI/IO/SeqWriter.src/M000029.html +24 -0
  119. data/html/classes/MIDI/IO/SeqWriter.src/M000030.html +19 -0
  120. data/html/classes/MIDI/KeySig.html +30 -30
  121. data/html/classes/MIDI/KeySig.src/M000140.html +5 -4
  122. data/html/classes/MIDI/KeySig.src/M000141.html +9 -4
  123. data/html/classes/MIDI/KeySig.src/M000142.html +4 -4
  124. data/html/classes/MIDI/KeySig.src/M000143.html +4 -9
  125. data/html/classes/MIDI/KeySig.src/M000144.html +18 -0
  126. data/html/classes/MIDI/KeySig.src/M000145.html +23 -0
  127. data/html/classes/MIDI/Marker.html +5 -5
  128. data/html/classes/MIDI/Marker.src/{M000112.html → M000114.html} +1 -1
  129. data/html/classes/MIDI/Measure.html +15 -15
  130. data/html/classes/MIDI/Measure.src/M000150.html +9 -4
  131. data/html/classes/MIDI/Measure.src/{M000149.html → M000151.html} +0 -0
  132. data/html/classes/MIDI/Measure.src/M000152.html +18 -0
  133. data/html/classes/MIDI/Measures.html +15 -15
  134. data/html/classes/MIDI/Measures.src/M000108.html +6 -7
  135. data/html/classes/MIDI/Measures.src/{M000107.html → M000109.html} +0 -0
  136. data/html/classes/MIDI/Measures.src/M000110.html +21 -0
  137. data/html/classes/MIDI/MetaEvent.html +15 -15
  138. data/html/classes/MIDI/MetaEvent.src/M000195.html +7 -39
  139. data/html/classes/MIDI/MetaEvent.src/{M000194.html → M000196.html} +3 -3
  140. data/html/classes/MIDI/MetaEvent.src/M000197.html +53 -0
  141. data/html/classes/MIDI/NoteEvent.html +21 -21
  142. data/html/classes/MIDI/NoteEvent.src/M000095.html +7 -4
  143. data/html/classes/MIDI/NoteEvent.src/M000096.html +6 -8
  144. data/html/classes/MIDI/NoteEvent.src/M000097.html +18 -0
  145. data/html/classes/MIDI/NoteEvent.src/M000098.html +21 -0
  146. data/html/classes/MIDI/NoteOffEvent.html +10 -10
  147. data/html/classes/MIDI/NoteOffEvent.src/{M000088.html → M000090.html} +1 -1
  148. data/html/classes/MIDI/NoteOffEvent.src/{M000089.html → M000091.html} +1 -1
  149. data/html/classes/MIDI/NoteOnEvent.html +10 -10
  150. data/html/classes/MIDI/NoteOnEvent.src/{M000104.html → M000106.html} +1 -1
  151. data/html/classes/MIDI/NoteOnEvent.src/{M000105.html → M000107.html} +1 -1
  152. data/html/classes/MIDI/PitchBend.html +15 -15
  153. data/html/classes/MIDI/PitchBend.src/M000111.html +5 -4
  154. data/html/classes/MIDI/PitchBend.src/{M000110.html → M000112.html} +2 -3
  155. data/html/classes/MIDI/PitchBend.src/M000113.html +18 -0
  156. data/html/classes/MIDI/PolyPressure.html +20 -20
  157. data/html/classes/MIDI/PolyPressure.src/M000198.html +4 -4
  158. data/html/classes/MIDI/PolyPressure.src/M000199.html +4 -5
  159. data/html/classes/MIDI/PolyPressure.src/M000200.html +18 -0
  160. data/html/classes/MIDI/PolyPressure.src/M000201.html +19 -0
  161. data/html/classes/MIDI/ProgramChange.html +15 -15
  162. data/html/classes/MIDI/ProgramChange.src/M000103.html +6 -4
  163. data/html/classes/MIDI/ProgramChange.src/{M000102.html → M000104.html} +2 -3
  164. data/html/classes/MIDI/ProgramChange.src/M000105.html +18 -0
  165. data/html/classes/MIDI/Realtime.html +15 -15
  166. data/html/classes/MIDI/Realtime.src/M000087.html +5 -4
  167. data/html/classes/MIDI/Realtime.src/{M000086.html → M000088.html} +2 -3
  168. data/html/classes/MIDI/Realtime.src/M000089.html +18 -0
  169. data/html/classes/MIDI/Sequence.html +76 -76
  170. data/html/classes/MIDI/Sequence.src/M000115.html +14 -8
  171. data/html/classes/MIDI/Sequence.src/{M000114.html → M000116.html} +0 -0
  172. data/html/classes/MIDI/Sequence.src/M000117.html +22 -0
  173. data/html/classes/MIDI/Sequence.src/M000120.html +4 -4
  174. data/html/classes/MIDI/Sequence.src/M000121.html +13 -5
  175. data/html/classes/MIDI/Sequence.src/M000122.html +4 -5
  176. data/html/classes/MIDI/Sequence.src/M000123.html +5 -5
  177. data/html/classes/MIDI/Sequence.src/M000124.html +5 -5
  178. data/html/classes/MIDI/Sequence.src/M000125.html +5 -4
  179. data/html/classes/MIDI/Sequence.src/M000126.html +5 -40
  180. data/html/classes/MIDI/Sequence.src/{M000118.html → M000127.html} +4 -4
  181. data/html/classes/MIDI/Sequence.src/M000128.html +54 -0
  182. data/html/classes/MIDI/SongPointer.html +15 -15
  183. data/html/classes/MIDI/SongPointer.src/M000162.html +5 -4
  184. data/html/classes/MIDI/SongPointer.src/{M000161.html → M000163.html} +2 -3
  185. data/html/classes/MIDI/SongPointer.src/M000164.html +18 -0
  186. data/html/classes/MIDI/SongSelect.html +15 -15
  187. data/html/classes/MIDI/SongSelect.src/M000134.html +5 -4
  188. data/html/classes/MIDI/SongSelect.src/{M000133.html → M000135.html} +2 -3
  189. data/html/classes/MIDI/SongSelect.src/M000136.html +18 -0
  190. data/html/classes/MIDI/Start.html +10 -10
  191. data/html/classes/MIDI/Start.src/{M000099.html → M000101.html} +1 -1
  192. data/html/classes/MIDI/Start.src/{M000100.html → M000102.html} +1 -1
  193. data/html/classes/MIDI/Stop.html +10 -10
  194. data/html/classes/MIDI/Stop.src/{M000097.html → M000099.html} +1 -1
  195. data/html/classes/MIDI/Stop.src/{M000098.html → M000100.html} +1 -1
  196. data/html/classes/MIDI/SystemCommon.html +5 -5
  197. data/html/classes/MIDI/SystemCommon.src/{M000166.html → M000168.html} +1 -1
  198. data/html/classes/MIDI/SystemExclusive.html +15 -15
  199. data/html/classes/MIDI/SystemExclusive.src/M000165.html +5 -4
  200. data/html/classes/MIDI/SystemExclusive.src/{M000164.html → M000166.html} +3 -3
  201. data/html/classes/MIDI/SystemExclusive.src/M000167.html +18 -0
  202. data/html/classes/MIDI/SystemReset.html +10 -10
  203. data/html/classes/MIDI/SystemReset.src/{M000083.html → M000085.html} +1 -1
  204. data/html/classes/MIDI/SystemReset.src/{M000084.html → M000086.html} +1 -1
  205. data/html/classes/MIDI/Tempo.html +35 -35
  206. data/html/classes/MIDI/Tempo.src/M000186.html +4 -4
  207. data/html/classes/MIDI/Tempo.src/M000187.html +6 -4
  208. data/html/classes/MIDI/Tempo.src/M000188.html +4 -4
  209. data/html/classes/MIDI/Tempo.src/M000189.html +4 -11
  210. data/html/classes/MIDI/Tempo.src/M000190.html +4 -4
  211. data/html/classes/MIDI/{TimeSig.src/M000152.html → Tempo.src/M000191.html} +7 -8
  212. data/html/classes/MIDI/{Event.src/M000168.html → Tempo.src/M000192.html} +4 -4
  213. data/html/classes/MIDI/TimeSig.html +37 -37
  214. data/html/classes/MIDI/TimeSig.src/M000153.html +5 -4
  215. data/html/classes/MIDI/TimeSig.src/M000154.html +11 -4
  216. data/html/classes/MIDI/TimeSig.src/M000155.html +4 -4
  217. data/html/classes/MIDI/TimeSig.src/M000156.html +4 -4
  218. data/html/classes/MIDI/TimeSig.src/M000157.html +4 -4
  219. data/html/classes/MIDI/TimeSig.src/M000158.html +18 -0
  220. data/html/classes/MIDI/TimeSig.src/M000159.html +18 -0
  221. data/html/classes/MIDI/Track.html +66 -66
  222. data/html/classes/MIDI/Track.src/M000075.html +9 -12
  223. data/html/classes/MIDI/Track.src/M000076.html +7 -4
  224. data/html/classes/MIDI/Track.src/M000077.html +12 -8
  225. data/html/classes/MIDI/Track.src/M000078.html +4 -11
  226. data/html/classes/MIDI/Track.src/M000079.html +8 -8
  227. data/html/classes/MIDI/Track.src/M000080.html +11 -12
  228. data/html/classes/MIDI/Track.src/M000081.html +8 -4
  229. data/html/classes/MIDI/Track.src/M000082.html +12 -5
  230. data/html/classes/MIDI/Track.src/M000083.html +18 -0
  231. data/html/classes/MIDI/Track.src/{M000073.html → M000084.html} +5 -9
  232. data/html/classes/MIDI/TuneRequest.html +15 -15
  233. data/html/classes/MIDI/TuneRequest.src/M000129.html +4 -4
  234. data/html/classes/MIDI/TuneRequest.src/{M000128.html → M000130.html} +2 -3
  235. data/html/classes/MIDI/TuneRequest.src/M000131.html +18 -0
  236. data/html/classes/MIDI/Utils.html +10 -10
  237. data/html/classes/MIDI/Utils.src/{M000191.html → M000193.html} +0 -0
  238. data/html/classes/MIDI/Utils.src/{M000192.html → M000194.html} +1 -1
  239. data/html/classes/MIDI.html +3 -3
  240. data/html/created.rid +1 -1
  241. data/html/files/{README.html → README_rdoc.html} +30 -11
  242. data/html/files/{TODO.html → TODO_rdoc.html} +14 -6
  243. data/html/files/lib/midilib/consts_rb.html +1 -1
  244. data/html/files/lib/midilib/event_rb.html +1 -1
  245. data/html/files/lib/midilib/info_rb.html +1 -1
  246. data/html/files/lib/midilib/io/midifile_rb.html +1 -1
  247. data/html/files/lib/midilib/io/seqreader_rb.html +1 -1
  248. data/html/files/lib/midilib/io/seqwriter_rb.html +1 -1
  249. data/html/files/lib/midilib/measure_rb.html +1 -1
  250. data/html/files/lib/midilib/sequence_rb.html +1 -1
  251. data/html/files/lib/midilib/track_rb.html +1 -1
  252. data/html/files/lib/midilib/utils_rb.html +1 -1
  253. data/html/files/lib/midilib_rb.html +2 -2
  254. data/html/fr_class_index.html +1 -0
  255. data/html/fr_file_index.html +2 -2
  256. data/html/fr_method_index.html +201 -199
  257. data/html/index.html +1 -1
  258. data/install.rb +1 -1
  259. data/lib/midilib/event.rb +16 -26
  260. data/lib/midilib/info.rb +3 -3
  261. data/lib/midilib/io/midifile.rb +43 -29
  262. data/lib/midilib/io/seqwriter.rb +19 -17
  263. data/lib/midilib/utils.rb +1 -1
  264. data/lib/midilib.rb +1 -1
  265. data/test/test_io.rb +2 -1
  266. data/test/test_midifile.rb +59 -0
  267. data/test/test_varlen.rb +4 -4
  268. metadata +83 -78
  269. data/TODO +0 -25
  270. data/html/classes/MIDI/ChannelPressure.src/M000090.html +0 -19
  271. data/html/classes/MIDI/Controller.src/M000135.html +0 -21
  272. data/html/classes/MIDI/Event.src/M000167.html +0 -30
  273. data/html/classes/MIDI/IO/MIDIFile.src/M000030.html +0 -24
  274. data/html/classes/MIDI/IO/SeqReader.src/M000001.html +0 -22
  275. data/html/classes/MIDI/IO/SeqWriter.src/M000020.html +0 -19
  276. data/html/classes/MIDI/KeySig.src/M000138.html +0 -19
  277. data/html/classes/MIDI/KeySig.src/M000139.html +0 -23
  278. data/html/classes/MIDI/Measure.src/M000148.html +0 -23
  279. data/html/classes/MIDI/Measures.src/M000106.html +0 -20
  280. data/html/classes/MIDI/MetaEvent.src/M000193.html +0 -21
  281. data/html/classes/MIDI/NoteEvent.src/M000093.html +0 -21
  282. data/html/classes/MIDI/NoteEvent.src/M000094.html +0 -20
  283. data/html/classes/MIDI/PitchBend.src/M000109.html +0 -19
  284. data/html/classes/MIDI/PolyPressure.src/M000196.html +0 -18
  285. data/html/classes/MIDI/ProgramChange.src/M000101.html +0 -20
  286. data/html/classes/MIDI/Realtime.src/M000085.html +0 -19
  287. data/html/classes/MIDI/Sequence.src/M000113.html +0 -28
  288. data/html/classes/MIDI/Sequence.src/M000119.html +0 -27
  289. data/html/classes/MIDI/SongPointer.src/M000160.html +0 -19
  290. data/html/classes/MIDI/SongSelect.src/M000132.html +0 -19
  291. data/html/classes/MIDI/SystemExclusive.src/M000163.html +0 -19
  292. data/html/classes/MIDI/Tempo.src/M000184.html +0 -18
  293. data/html/classes/MIDI/Tempo.src/M000185.html +0 -20
  294. data/html/classes/MIDI/TimeSig.src/M000151.html +0 -19
  295. data/html/classes/MIDI/Track.src/M000074.html +0 -21
  296. data/html/classes/MIDI/TuneRequest.src/M000127.html +0 -18
@@ -101,50 +101,50 @@ methods to create <a href="../Event.html">Event</a> objects.
101
101
  <h3 class="section-bar">Methods</h3>
102
102
 
103
103
  <div class="name-list">
104
- <a href="#M000054">arbitrary</a>&nbsp;&nbsp;
105
- <a href="#M000058">bad_byte</a>&nbsp;&nbsp;
106
- <a href="#M000060">chan_message</a>&nbsp;&nbsp;
107
- <a href="#M000043">chan_pressure</a>&nbsp;&nbsp;
108
- <a href="#M000040">controller</a>&nbsp;&nbsp;
109
- <a href="#M000036">end_track</a>&nbsp;&nbsp;
110
- <a href="#M000049">eot</a>&nbsp;&nbsp;
111
- <a href="#M000033">error</a>&nbsp;&nbsp;
112
- <a href="#M000032">getc</a>&nbsp;&nbsp;
113
- <a href="#M000031">getc</a>&nbsp;&nbsp;
114
- <a href="#M000062">handle_arbitrary</a>&nbsp;&nbsp;
115
- <a href="#M000061">handle_sysex</a>&nbsp;&nbsp;
116
- <a href="#M000034">header</a>&nbsp;&nbsp;
117
- <a href="#M000053">key_signature</a>&nbsp;&nbsp;
118
- <a href="#M000059">meta_event</a>&nbsp;&nbsp;
119
- <a href="#M000045">meta_misc</a>&nbsp;&nbsp;
120
- <a href="#M000072">msg</a>&nbsp;&nbsp;
121
- <a href="#M000069">msg_add</a>&nbsp;&nbsp;
122
- <a href="#M000071">msg_init</a>&nbsp;&nbsp;
123
- <a href="#M000070">msg_read</a>&nbsp;&nbsp;
124
- <a href="#M000029">new</a>&nbsp;&nbsp;
125
- <a href="#M000038">note_off</a>&nbsp;&nbsp;
126
- <a href="#M000037">note_on</a>&nbsp;&nbsp;
127
- <a href="#M000041">pitch_bend</a>&nbsp;&nbsp;
128
- <a href="#M000039">pressure</a>&nbsp;&nbsp;
129
- <a href="#M000042">program</a>&nbsp;&nbsp;
130
- <a href="#M000063">read16</a>&nbsp;&nbsp;
131
- <a href="#M000064">read32</a>&nbsp;&nbsp;
132
- <a href="#M000030">read_from</a>&nbsp;&nbsp;
133
- <a href="#M000056">read_header</a>&nbsp;&nbsp;
134
- <a href="#M000055">read_mt_header_string</a>&nbsp;&nbsp;
135
- <a href="#M000057">read_track</a>&nbsp;&nbsp;
136
- <a href="#M000065">read_var_len</a>&nbsp;&nbsp;
137
- <a href="#M000047">sequence_number</a>&nbsp;&nbsp;
138
- <a href="#M000046">sequencer_specific</a>&nbsp;&nbsp;
139
- <a href="#M000051">smpte</a>&nbsp;&nbsp;
140
- <a href="#M000035">start_track</a>&nbsp;&nbsp;
141
- <a href="#M000044">sysex</a>&nbsp;&nbsp;
142
- <a href="#M000052">tempo</a>&nbsp;&nbsp;
143
- <a href="#M000048">text</a>&nbsp;&nbsp;
144
- <a href="#M000050">time_signature</a>&nbsp;&nbsp;
145
- <a href="#M000066">write16</a>&nbsp;&nbsp;
146
- <a href="#M000067">write32</a>&nbsp;&nbsp;
147
- <a href="#M000068">write_var_len</a>&nbsp;&nbsp;
104
+ <a href="#M000056">arbitrary</a>&nbsp;&nbsp;
105
+ <a href="#M000060">bad_byte</a>&nbsp;&nbsp;
106
+ <a href="#M000062">chan_message</a>&nbsp;&nbsp;
107
+ <a href="#M000045">chan_pressure</a>&nbsp;&nbsp;
108
+ <a href="#M000042">controller</a>&nbsp;&nbsp;
109
+ <a href="#M000038">end_track</a>&nbsp;&nbsp;
110
+ <a href="#M000051">eot</a>&nbsp;&nbsp;
111
+ <a href="#M000035">error</a>&nbsp;&nbsp;
112
+ <a href="#M000034">get_bytes</a>&nbsp;&nbsp;
113
+ <a href="#M000033">getc</a>&nbsp;&nbsp;
114
+ <a href="#M000064">handle_arbitrary</a>&nbsp;&nbsp;
115
+ <a href="#M000063">handle_sysex</a>&nbsp;&nbsp;
116
+ <a href="#M000036">header</a>&nbsp;&nbsp;
117
+ <a href="#M000055">key_signature</a>&nbsp;&nbsp;
118
+ <a href="#M000061">meta_event</a>&nbsp;&nbsp;
119
+ <a href="#M000047">meta_misc</a>&nbsp;&nbsp;
120
+ <a href="#M000074">msg</a>&nbsp;&nbsp;
121
+ <a href="#M000071">msg_add</a>&nbsp;&nbsp;
122
+ <a href="#M000073">msg_init</a>&nbsp;&nbsp;
123
+ <a href="#M000072">msg_read</a>&nbsp;&nbsp;
124
+ <a href="#M000031">new</a>&nbsp;&nbsp;
125
+ <a href="#M000040">note_off</a>&nbsp;&nbsp;
126
+ <a href="#M000039">note_on</a>&nbsp;&nbsp;
127
+ <a href="#M000043">pitch_bend</a>&nbsp;&nbsp;
128
+ <a href="#M000041">pressure</a>&nbsp;&nbsp;
129
+ <a href="#M000044">program</a>&nbsp;&nbsp;
130
+ <a href="#M000065">read16</a>&nbsp;&nbsp;
131
+ <a href="#M000066">read32</a>&nbsp;&nbsp;
132
+ <a href="#M000032">read_from</a>&nbsp;&nbsp;
133
+ <a href="#M000058">read_header</a>&nbsp;&nbsp;
134
+ <a href="#M000057">read_mt_header_string</a>&nbsp;&nbsp;
135
+ <a href="#M000059">read_track</a>&nbsp;&nbsp;
136
+ <a href="#M000067">read_var_len</a>&nbsp;&nbsp;
137
+ <a href="#M000049">sequence_number</a>&nbsp;&nbsp;
138
+ <a href="#M000048">sequencer_specific</a>&nbsp;&nbsp;
139
+ <a href="#M000053">smpte</a>&nbsp;&nbsp;
140
+ <a href="#M000037">start_track</a>&nbsp;&nbsp;
141
+ <a href="#M000046">sysex</a>&nbsp;&nbsp;
142
+ <a href="#M000054">tempo</a>&nbsp;&nbsp;
143
+ <a href="#M000050">text</a>&nbsp;&nbsp;
144
+ <a href="#M000052">time_signature</a>&nbsp;&nbsp;
145
+ <a href="#M000068">write16</a>&nbsp;&nbsp;
146
+ <a href="#M000069">write32</a>&nbsp;&nbsp;
147
+ <a href="#M000070">write_var_len</a>&nbsp;&nbsp;
148
148
  </div>
149
149
  </div>
150
150
 
@@ -161,6 +161,16 @@ methods to create <a href="../Event.html">Event</a> objects.
161
161
 
162
162
  <div class="name-list">
163
163
  <table summary="Constants">
164
+ <tr class="top-aligned-row context-row">
165
+ <td class="context-item-name">MThd_BYTE_ARRAY</td>
166
+ <td>=</td>
167
+ <td class="context-item-value">[77, 84, 104, 100]</td>
168
+ </tr>
169
+ <tr class="top-aligned-row context-row">
170
+ <td class="context-item-name">MTrk_BYTE_ARRAY</td>
171
+ <td>=</td>
172
+ <td class="context-item-value">[77, 84, 114, 107]</td>
173
+ </tr>
164
174
  <tr class="top-aligned-row context-row">
165
175
  <td class="context-item-name">NUM_DATA_BYTES</td>
166
176
  <td>=</td>
@@ -237,12 +247,12 @@ Raw data info
237
247
  <div id="methods">
238
248
  <h3 class="section-bar">Public Class methods</h3>
239
249
 
240
- <div id="method-M000029" class="method-detail">
241
- <a name="M000029"></a>
250
+ <div id="method-M000031" class="method-detail">
251
+ <a name="M000031"></a>
242
252
 
243
253
  <div class="method-heading">
244
- <a href="MIDIFile.src/M000029.html" target="Code" class="method-signature"
245
- onclick="popupCode('MIDIFile.src/M000029.html');return false;">
254
+ <a href="MIDIFile.src/M000031.html" target="Code" class="method-signature"
255
+ onclick="popupCode('MIDIFile.src/M000031.html');return false;">
246
256
  <span class="method-name">new</span><span class="method-args">()</span>
247
257
  </a>
248
258
  </div>
@@ -253,12 +263,12 @@ Raw data info
253
263
 
254
264
  <h3 class="section-bar">Public Instance methods</h3>
255
265
 
256
- <div id="method-M000054" class="method-detail">
257
- <a name="M000054"></a>
266
+ <div id="method-M000056" class="method-detail">
267
+ <a name="M000056"></a>
258
268
 
259
269
  <div class="method-heading">
260
- <a href="MIDIFile.src/M000054.html" target="Code" class="method-signature"
261
- onclick="popupCode('MIDIFile.src/M000054.html');return false;">
270
+ <a href="MIDIFile.src/M000056.html" target="Code" class="method-signature"
271
+ onclick="popupCode('MIDIFile.src/M000056.html');return false;">
262
272
  <span class="method-name">arbitrary</span><span class="method-args">(msg)</span>
263
273
  </a>
264
274
  </div>
@@ -267,12 +277,12 @@ Raw data info
267
277
  </div>
268
278
  </div>
269
279
 
270
- <div id="method-M000058" class="method-detail">
271
- <a name="M000058"></a>
280
+ <div id="method-M000060" class="method-detail">
281
+ <a name="M000060"></a>
272
282
 
273
283
  <div class="method-heading">
274
- <a href="MIDIFile.src/M000058.html" target="Code" class="method-signature"
275
- onclick="popupCode('MIDIFile.src/M000058.html');return false;">
284
+ <a href="MIDIFile.src/M000060.html" target="Code" class="method-signature"
285
+ onclick="popupCode('MIDIFile.src/M000060.html');return false;">
276
286
  <span class="method-name">bad_byte</span><span class="method-args">(c)</span>
277
287
  </a>
278
288
  </div>
@@ -284,12 +294,12 @@ Handle an unexpected byte.
284
294
  </div>
285
295
  </div>
286
296
 
287
- <div id="method-M000060" class="method-detail">
288
- <a name="M000060"></a>
297
+ <div id="method-M000062" class="method-detail">
298
+ <a name="M000062"></a>
289
299
 
290
300
  <div class="method-heading">
291
- <a href="MIDIFile.src/M000060.html" target="Code" class="method-signature"
292
- onclick="popupCode('MIDIFile.src/M000060.html');return false;">
301
+ <a href="MIDIFile.src/M000062.html" target="Code" class="method-signature"
302
+ onclick="popupCode('MIDIFile.src/M000062.html');return false;">
293
303
  <span class="method-name">chan_message</span><span class="method-args">(running, status, c1, c2)</span>
294
304
  </a>
295
305
  </div>
@@ -301,12 +311,12 @@ Handle a channel message (note on, note off, etc.)
301
311
  </div>
302
312
  </div>
303
313
 
304
- <div id="method-M000043" class="method-detail">
305
- <a name="M000043"></a>
314
+ <div id="method-M000045" class="method-detail">
315
+ <a name="M000045"></a>
306
316
 
307
317
  <div class="method-heading">
308
- <a href="MIDIFile.src/M000043.html" target="Code" class="method-signature"
309
- onclick="popupCode('MIDIFile.src/M000043.html');return false;">
318
+ <a href="MIDIFile.src/M000045.html" target="Code" class="method-signature"
319
+ onclick="popupCode('MIDIFile.src/M000045.html');return false;">
310
320
  <span class="method-name">chan_pressure</span><span class="method-args">(chan, press)</span>
311
321
  </a>
312
322
  </div>
@@ -315,12 +325,12 @@ Handle a channel message (note on, note off, etc.)
315
325
  </div>
316
326
  </div>
317
327
 
318
- <div id="method-M000040" class="method-detail">
319
- <a name="M000040"></a>
328
+ <div id="method-M000042" class="method-detail">
329
+ <a name="M000042"></a>
320
330
 
321
331
  <div class="method-heading">
322
- <a href="MIDIFile.src/M000040.html" target="Code" class="method-signature"
323
- onclick="popupCode('MIDIFile.src/M000040.html');return false;">
332
+ <a href="MIDIFile.src/M000042.html" target="Code" class="method-signature"
333
+ onclick="popupCode('MIDIFile.src/M000042.html');return false;">
324
334
  <span class="method-name">controller</span><span class="method-args">(chan, control, value)</span>
325
335
  </a>
326
336
  </div>
@@ -329,12 +339,12 @@ Handle a channel message (note on, note off, etc.)
329
339
  </div>
330
340
  </div>
331
341
 
332
- <div id="method-M000036" class="method-detail">
333
- <a name="M000036"></a>
342
+ <div id="method-M000038" class="method-detail">
343
+ <a name="M000038"></a>
334
344
 
335
345
  <div class="method-heading">
336
- <a href="MIDIFile.src/M000036.html" target="Code" class="method-signature"
337
- onclick="popupCode('MIDIFile.src/M000036.html');return false;">
346
+ <a href="MIDIFile.src/M000038.html" target="Code" class="method-signature"
347
+ onclick="popupCode('MIDIFile.src/M000038.html');return false;">
338
348
  <span class="method-name">end_track</span><span class="method-args">()</span>
339
349
  </a>
340
350
  </div>
@@ -343,12 +353,12 @@ Handle a channel message (note on, note off, etc.)
343
353
  </div>
344
354
  </div>
345
355
 
346
- <div id="method-M000049" class="method-detail">
347
- <a name="M000049"></a>
356
+ <div id="method-M000051" class="method-detail">
357
+ <a name="M000051"></a>
348
358
 
349
359
  <div class="method-heading">
350
- <a href="MIDIFile.src/M000049.html" target="Code" class="method-signature"
351
- onclick="popupCode('MIDIFile.src/M000049.html');return false;">
360
+ <a href="MIDIFile.src/M000051.html" target="Code" class="method-signature"
361
+ onclick="popupCode('MIDIFile.src/M000051.html');return false;">
352
362
  <span class="method-name">eot</span><span class="method-args">()</span>
353
363
  </a>
354
364
  </div>
@@ -357,57 +367,64 @@ Handle a channel message (note on, note off, etc.)
357
367
  </div>
358
368
  </div>
359
369
 
360
- <div id="method-M000033" class="method-detail">
361
- <a name="M000033"></a>
370
+ <div id="method-M000035" class="method-detail">
371
+ <a name="M000035"></a>
362
372
 
363
373
  <div class="method-heading">
364
- <a href="MIDIFile.src/M000033.html" target="Code" class="method-signature"
365
- onclick="popupCode('MIDIFile.src/M000033.html');return false;">
374
+ <a href="MIDIFile.src/M000035.html" target="Code" class="method-signature"
375
+ onclick="popupCode('MIDIFile.src/M000035.html');return false;">
366
376
  <span class="method-name">error</span><span class="method-args">(str)</span>
367
377
  </a>
368
378
  </div>
369
379
 
370
380
  <div class="method-description">
371
381
  <p>
372
- The default <a href="MIDIFile.html#M000033">error</a> handler.
382
+ The default <a href="MIDIFile.html#M000035">error</a> handler.
373
383
  </p>
374
384
  </div>
375
385
  </div>
376
386
 
377
- <div id="method-M000032" class="method-detail">
378
- <a name="M000032"></a>
387
+ <div id="method-M000034" class="method-detail">
388
+ <a name="M000034"></a>
379
389
 
380
390
  <div class="method-heading">
381
- <a href="MIDIFile.src/M000032.html" target="Code" class="method-signature"
382
- onclick="popupCode('MIDIFile.src/M000032.html');return false;">
383
- <span class="method-name">getc</span><span class="method-args">()</span>
391
+ <a href="MIDIFile.src/M000034.html" target="Code" class="method-signature"
392
+ onclick="popupCode('MIDIFile.src/M000034.html');return false;">
393
+ <span class="method-name">get_bytes</span><span class="method-args">(n)</span>
384
394
  </a>
385
395
  </div>
386
396
 
387
397
  <div class="method-description">
398
+ <p>
399
+ Return the next <tt>n</tt> bytes from @io as an array.
400
+ </p>
388
401
  </div>
389
402
  </div>
390
403
 
391
- <div id="method-M000031" class="method-detail">
392
- <a name="M000031"></a>
404
+ <div id="method-M000033" class="method-detail">
405
+ <a name="M000033"></a>
393
406
 
394
407
  <div class="method-heading">
395
- <a href="MIDIFile.src/M000031.html" target="Code" class="method-signature"
396
- onclick="popupCode('MIDIFile.src/M000031.html');return false;">
408
+ <a href="MIDIFile.src/M000033.html" target="Code" class="method-signature"
409
+ onclick="popupCode('MIDIFile.src/M000033.html');return false;">
397
410
  <span class="method-name">getc</span><span class="method-args">()</span>
398
411
  </a>
399
412
  </div>
400
413
 
401
414
  <div class="method-description">
415
+ <p>
416
+ This default <a href="MIDIFile.html#M000033">getc</a> implementation tries
417
+ to read a single byte from io and returns it as an integer.
418
+ </p>
402
419
  </div>
403
420
  </div>
404
421
 
405
- <div id="method-M000062" class="method-detail">
406
- <a name="M000062"></a>
422
+ <div id="method-M000064" class="method-detail">
423
+ <a name="M000064"></a>
407
424
 
408
425
  <div class="method-heading">
409
- <a href="MIDIFile.src/M000062.html" target="Code" class="method-signature"
410
- onclick="popupCode('MIDIFile.src/M000062.html');return false;">
426
+ <a href="MIDIFile.src/M000064.html" target="Code" class="method-signature"
427
+ onclick="popupCode('MIDIFile.src/M000064.html');return false;">
411
428
  <span class="method-name">handle_arbitrary</span><span class="method-args">(msg)</span>
412
429
  </a>
413
430
  </div>
@@ -415,17 +432,17 @@ The default <a href="MIDIFile.html#M000033">error</a> handler.
415
432
  <div class="method-description">
416
433
  <p>
417
434
  Copy message into raw data array, then call <a
418
- href="MIDIFile.html#M000054">arbitrary</a>().
435
+ href="MIDIFile.html#M000056">arbitrary</a>().
419
436
  </p>
420
437
  </div>
421
438
  </div>
422
439
 
423
- <div id="method-M000061" class="method-detail">
424
- <a name="M000061"></a>
440
+ <div id="method-M000063" class="method-detail">
441
+ <a name="M000063"></a>
425
442
 
426
443
  <div class="method-heading">
427
- <a href="MIDIFile.src/M000061.html" target="Code" class="method-signature"
428
- onclick="popupCode('MIDIFile.src/M000061.html');return false;">
444
+ <a href="MIDIFile.src/M000063.html" target="Code" class="method-signature"
445
+ onclick="popupCode('MIDIFile.src/M000063.html');return false;">
429
446
  <span class="method-name">handle_sysex</span><span class="method-args">(msg)</span>
430
447
  </a>
431
448
  </div>
@@ -433,17 +450,17 @@ href="MIDIFile.html#M000054">arbitrary</a>().
433
450
  <div class="method-description">
434
451
  <p>
435
452
  Copy message into raw data array, then call <a
436
- href="MIDIFile.html#M000044">sysex</a>().
453
+ href="MIDIFile.html#M000046">sysex</a>().
437
454
  </p>
438
455
  </div>
439
456
  </div>
440
457
 
441
- <div id="method-M000034" class="method-detail">
442
- <a name="M000034"></a>
458
+ <div id="method-M000036" class="method-detail">
459
+ <a name="M000036"></a>
443
460
 
444
461
  <div class="method-heading">
445
- <a href="MIDIFile.src/M000034.html" target="Code" class="method-signature"
446
- onclick="popupCode('MIDIFile.src/M000034.html');return false;">
462
+ <a href="MIDIFile.src/M000036.html" target="Code" class="method-signature"
463
+ onclick="popupCode('MIDIFile.src/M000036.html');return false;">
447
464
  <span class="method-name">header</span><span class="method-args">(format, ntrks, division)</span>
448
465
  </a>
449
466
  </div>
@@ -451,17 +468,17 @@ href="MIDIFile.html#M000044">sysex</a>().
451
468
  <div class="method-description">
452
469
  <p>
453
470
  <a href="../../MIDI.html">MIDI</a> <a
454
- href="MIDIFile.html#M000034">header</a>.
471
+ href="MIDIFile.html#M000036">header</a>.
455
472
  </p>
456
473
  </div>
457
474
  </div>
458
475
 
459
- <div id="method-M000053" class="method-detail">
460
- <a name="M000053"></a>
476
+ <div id="method-M000055" class="method-detail">
477
+ <a name="M000055"></a>
461
478
 
462
479
  <div class="method-heading">
463
- <a href="MIDIFile.src/M000053.html" target="Code" class="method-signature"
464
- onclick="popupCode('MIDIFile.src/M000053.html');return false;">
480
+ <a href="MIDIFile.src/M000055.html" target="Code" class="method-signature"
481
+ onclick="popupCode('MIDIFile.src/M000055.html');return false;">
465
482
  <span class="method-name">key_signature</span><span class="method-args">(sharpflat, is_minor)</span>
466
483
  </a>
467
484
  </div>
@@ -470,12 +487,12 @@ href="MIDIFile.html#M000034">header</a>.
470
487
  </div>
471
488
  </div>
472
489
 
473
- <div id="method-M000059" class="method-detail">
474
- <a name="M000059"></a>
490
+ <div id="method-M000061" class="method-detail">
491
+ <a name="M000061"></a>
475
492
 
476
493
  <div class="method-heading">
477
- <a href="MIDIFile.src/M000059.html" target="Code" class="method-signature"
478
- onclick="popupCode('MIDIFile.src/M000059.html');return false;">
494
+ <a href="MIDIFile.src/M000061.html" target="Code" class="method-signature"
495
+ onclick="popupCode('MIDIFile.src/M000061.html');return false;">
479
496
  <span class="method-name">meta_event</span><span class="method-args">(type)</span>
480
497
  </a>
481
498
  </div>
@@ -487,12 +504,12 @@ Handle a meta event.
487
504
  </div>
488
505
  </div>
489
506
 
490
- <div id="method-M000045" class="method-detail">
491
- <a name="M000045"></a>
507
+ <div id="method-M000047" class="method-detail">
508
+ <a name="M000047"></a>
492
509
 
493
510
  <div class="method-heading">
494
- <a href="MIDIFile.src/M000045.html" target="Code" class="method-signature"
495
- onclick="popupCode('MIDIFile.src/M000045.html');return false;">
511
+ <a href="MIDIFile.src/M000047.html" target="Code" class="method-signature"
512
+ onclick="popupCode('MIDIFile.src/M000047.html');return false;">
496
513
  <span class="method-name">meta_misc</span><span class="method-args">(type, msg)</span>
497
514
  </a>
498
515
  </div>
@@ -501,12 +518,12 @@ Handle a meta event.
501
518
  </div>
502
519
  </div>
503
520
 
504
- <div id="method-M000072" class="method-detail">
505
- <a name="M000072"></a>
521
+ <div id="method-M000074" class="method-detail">
522
+ <a name="M000074"></a>
506
523
 
507
524
  <div class="method-heading">
508
- <a href="MIDIFile.src/M000072.html" target="Code" class="method-signature"
509
- onclick="popupCode('MIDIFile.src/M000072.html');return false;">
525
+ <a href="MIDIFile.src/M000074.html" target="Code" class="method-signature"
526
+ onclick="popupCode('MIDIFile.src/M000074.html');return false;">
510
527
  <span class="method-name">msg</span><span class="method-args">()</span>
511
528
  </a>
512
529
  </div>
@@ -518,12 +535,12 @@ Return a copy of the internal message buffer.
518
535
  </div>
519
536
  </div>
520
537
 
521
- <div id="method-M000069" class="method-detail">
522
- <a name="M000069"></a>
538
+ <div id="method-M000071" class="method-detail">
539
+ <a name="M000071"></a>
523
540
 
524
541
  <div class="method-heading">
525
- <a href="MIDIFile.src/M000069.html" target="Code" class="method-signature"
526
- onclick="popupCode('MIDIFile.src/M000069.html');return false;">
542
+ <a href="MIDIFile.src/M000071.html" target="Code" class="method-signature"
543
+ onclick="popupCode('MIDIFile.src/M000071.html');return false;">
527
544
  <span class="method-name">msg_add</span><span class="method-args">(c)</span>
528
545
  </a>
529
546
  </div>
@@ -535,12 +552,12 @@ Add a byte to the current message buffer.
535
552
  </div>
536
553
  </div>
537
554
 
538
- <div id="method-M000071" class="method-detail">
539
- <a name="M000071"></a>
555
+ <div id="method-M000073" class="method-detail">
556
+ <a name="M000073"></a>
540
557
 
541
558
  <div class="method-heading">
542
- <a href="MIDIFile.src/M000071.html" target="Code" class="method-signature"
543
- onclick="popupCode('MIDIFile.src/M000071.html');return false;">
559
+ <a href="MIDIFile.src/M000073.html" target="Code" class="method-signature"
560
+ onclick="popupCode('MIDIFile.src/M000073.html');return false;">
544
561
  <span class="method-name">msg_init</span><span class="method-args">()</span>
545
562
  </a>
546
563
  </div>
@@ -552,12 +569,12 @@ Initialize the internal message buffer.
552
569
  </div>
553
570
  </div>
554
571
 
555
- <div id="method-M000070" class="method-detail">
556
- <a name="M000070"></a>
572
+ <div id="method-M000072" class="method-detail">
573
+ <a name="M000072"></a>
557
574
 
558
575
  <div class="method-heading">
559
- <a href="MIDIFile.src/M000070.html" target="Code" class="method-signature"
560
- onclick="popupCode('MIDIFile.src/M000070.html');return false;">
576
+ <a href="MIDIFile.src/M000072.html" target="Code" class="method-signature"
577
+ onclick="popupCode('MIDIFile.src/M000072.html');return false;">
561
578
  <span class="method-name">msg_read</span><span class="method-args">(n_bytes)</span>
562
579
  </a>
563
580
  </div>
@@ -570,12 +587,12 @@ Read and add a number of bytes to the message buffer. Return the last byte
570
587
  </div>
571
588
  </div>
572
589
 
573
- <div id="method-M000038" class="method-detail">
574
- <a name="M000038"></a>
590
+ <div id="method-M000040" class="method-detail">
591
+ <a name="M000040"></a>
575
592
 
576
593
  <div class="method-heading">
577
- <a href="MIDIFile.src/M000038.html" target="Code" class="method-signature"
578
- onclick="popupCode('MIDIFile.src/M000038.html');return false;">
594
+ <a href="MIDIFile.src/M000040.html" target="Code" class="method-signature"
595
+ onclick="popupCode('MIDIFile.src/M000040.html');return false;">
579
596
  <span class="method-name">note_off</span><span class="method-args">(chan, note, vel)</span>
580
597
  </a>
581
598
  </div>
@@ -584,12 +601,12 @@ Read and add a number of bytes to the message buffer. Return the last byte
584
601
  </div>
585
602
  </div>
586
603
 
587
- <div id="method-M000037" class="method-detail">
588
- <a name="M000037"></a>
604
+ <div id="method-M000039" class="method-detail">
605
+ <a name="M000039"></a>
589
606
 
590
607
  <div class="method-heading">
591
- <a href="MIDIFile.src/M000037.html" target="Code" class="method-signature"
592
- onclick="popupCode('MIDIFile.src/M000037.html');return false;">
608
+ <a href="MIDIFile.src/M000039.html" target="Code" class="method-signature"
609
+ onclick="popupCode('MIDIFile.src/M000039.html');return false;">
593
610
  <span class="method-name">note_on</span><span class="method-args">(chan, note, vel)</span>
594
611
  </a>
595
612
  </div>
@@ -598,12 +615,12 @@ Read and add a number of bytes to the message buffer. Return the last byte
598
615
  </div>
599
616
  </div>
600
617
 
601
- <div id="method-M000041" class="method-detail">
602
- <a name="M000041"></a>
618
+ <div id="method-M000043" class="method-detail">
619
+ <a name="M000043"></a>
603
620
 
604
621
  <div class="method-heading">
605
- <a href="MIDIFile.src/M000041.html" target="Code" class="method-signature"
606
- onclick="popupCode('MIDIFile.src/M000041.html');return false;">
622
+ <a href="MIDIFile.src/M000043.html" target="Code" class="method-signature"
623
+ onclick="popupCode('MIDIFile.src/M000043.html');return false;">
607
624
  <span class="method-name">pitch_bend</span><span class="method-args">(chan, msb, lsb)</span>
608
625
  </a>
609
626
  </div>
@@ -612,12 +629,12 @@ Read and add a number of bytes to the message buffer. Return the last byte
612
629
  </div>
613
630
  </div>
614
631
 
615
- <div id="method-M000039" class="method-detail">
616
- <a name="M000039"></a>
632
+ <div id="method-M000041" class="method-detail">
633
+ <a name="M000041"></a>
617
634
 
618
635
  <div class="method-heading">
619
- <a href="MIDIFile.src/M000039.html" target="Code" class="method-signature"
620
- onclick="popupCode('MIDIFile.src/M000039.html');return false;">
636
+ <a href="MIDIFile.src/M000041.html" target="Code" class="method-signature"
637
+ onclick="popupCode('MIDIFile.src/M000041.html');return false;">
621
638
  <span class="method-name">pressure</span><span class="method-args">(chan, note, press)</span>
622
639
  </a>
623
640
  </div>
@@ -626,12 +643,12 @@ Read and add a number of bytes to the message buffer. Return the last byte
626
643
  </div>
627
644
  </div>
628
645
 
629
- <div id="method-M000042" class="method-detail">
630
- <a name="M000042"></a>
646
+ <div id="method-M000044" class="method-detail">
647
+ <a name="M000044"></a>
631
648
 
632
649
  <div class="method-heading">
633
- <a href="MIDIFile.src/M000042.html" target="Code" class="method-signature"
634
- onclick="popupCode('MIDIFile.src/M000042.html');return false;">
650
+ <a href="MIDIFile.src/M000044.html" target="Code" class="method-signature"
651
+ onclick="popupCode('MIDIFile.src/M000044.html');return false;">
635
652
  <span class="method-name">program</span><span class="method-args">(chan, program)</span>
636
653
  </a>
637
654
  </div>
@@ -640,12 +657,12 @@ Read and add a number of bytes to the message buffer. Return the last byte
640
657
  </div>
641
658
  </div>
642
659
 
643
- <div id="method-M000063" class="method-detail">
644
- <a name="M000063"></a>
660
+ <div id="method-M000065" class="method-detail">
661
+ <a name="M000065"></a>
645
662
 
646
663
  <div class="method-heading">
647
- <a href="MIDIFile.src/M000063.html" target="Code" class="method-signature"
648
- onclick="popupCode('MIDIFile.src/M000063.html');return false;">
664
+ <a href="MIDIFile.src/M000065.html" target="Code" class="method-signature"
665
+ onclick="popupCode('MIDIFile.src/M000065.html');return false;">
649
666
  <span class="method-name">read16</span><span class="method-args">()</span>
650
667
  </a>
651
668
  </div>
@@ -657,12 +674,12 @@ Read and return a sixteen bit value.
657
674
  </div>
658
675
  </div>
659
676
 
660
- <div id="method-M000064" class="method-detail">
661
- <a name="M000064"></a>
677
+ <div id="method-M000066" class="method-detail">
678
+ <a name="M000066"></a>
662
679
 
663
680
  <div class="method-heading">
664
- <a href="MIDIFile.src/M000064.html" target="Code" class="method-signature"
665
- onclick="popupCode('MIDIFile.src/M000064.html');return false;">
681
+ <a href="MIDIFile.src/M000066.html" target="Code" class="method-signature"
682
+ onclick="popupCode('MIDIFile.src/M000066.html');return false;">
666
683
  <span class="method-name">read32</span><span class="method-args">()</span>
667
684
  </a>
668
685
  </div>
@@ -674,12 +691,12 @@ Read and return a 32-bit value.
674
691
  </div>
675
692
  </div>
676
693
 
677
- <div id="method-M000030" class="method-detail">
678
- <a name="M000030"></a>
694
+ <div id="method-M000032" class="method-detail">
695
+ <a name="M000032"></a>
679
696
 
680
697
  <div class="method-heading">
681
- <a href="MIDIFile.src/M000030.html" target="Code" class="method-signature"
682
- onclick="popupCode('MIDIFile.src/M000030.html');return false;">
698
+ <a href="MIDIFile.src/M000032.html" target="Code" class="method-signature"
699
+ onclick="popupCode('MIDIFile.src/M000032.html');return false;">
683
700
  <span class="method-name">read_from</span><span class="method-args">(io)</span>
684
701
  </a>
685
702
  </div>
@@ -692,50 +709,50 @@ the file causes a method to be called.
692
709
  </div>
693
710
  </div>
694
711
 
695
- <div id="method-M000056" class="method-detail">
696
- <a name="M000056"></a>
712
+ <div id="method-M000058" class="method-detail">
713
+ <a name="M000058"></a>
697
714
 
698
715
  <div class="method-heading">
699
- <a href="MIDIFile.src/M000056.html" target="Code" class="method-signature"
700
- onclick="popupCode('MIDIFile.src/M000056.html');return false;">
716
+ <a href="MIDIFile.src/M000058.html" target="Code" class="method-signature"
717
+ onclick="popupCode('MIDIFile.src/M000058.html');return false;">
701
718
  <span class="method-name">read_header</span><span class="method-args">()</span>
702
719
  </a>
703
720
  </div>
704
721
 
705
722
  <div class="method-description">
706
723
  <p>
707
- Read a <a href="MIDIFile.html#M000034">header</a> chunk.
724
+ Read a <a href="MIDIFile.html#M000036">header</a> chunk.
708
725
  </p>
709
726
  </div>
710
727
  </div>
711
728
 
712
- <div id="method-M000055" class="method-detail">
713
- <a name="M000055"></a>
729
+ <div id="method-M000057" class="method-detail">
730
+ <a name="M000057"></a>
714
731
 
715
732
  <div class="method-heading">
716
- <a href="MIDIFile.src/M000055.html" target="Code" class="method-signature"
717
- onclick="popupCode('MIDIFile.src/M000055.html');return false;">
718
- <span class="method-name">read_mt_header_string</span><span class="method-args">(s, skip)</span>
733
+ <a href="MIDIFile.src/M000057.html" target="Code" class="method-signature"
734
+ onclick="popupCode('MIDIFile.src/M000057.html');return false;">
735
+ <span class="method-name">read_mt_header_string</span><span class="method-args">(bytes, skip)</span>
719
736
  </a>
720
737
  </div>
721
738
 
722
739
  <div class="method-description">
723
740
  <p>
724
741
  Read through &#8216;MThd&#8217; or &#8216;MTrk&#8217; <a
725
- href="MIDIFile.html#M000034">header</a> string. If skip is true, attempt to
742
+ href="MIDIFile.html#M000036">header</a> string. If skip is true, attempt to
726
743
  skip initial trash. If there is an <a
727
- href="MIDIFile.html#M000033">error</a>, <a
728
- href="MIDIFile.html#M000033">error</a> is called.
744
+ href="MIDIFile.html#M000035">error</a>, <a
745
+ href="MIDIFile.html#M000035">error</a> is called.
729
746
  </p>
730
747
  </div>
731
748
  </div>
732
749
 
733
- <div id="method-M000057" class="method-detail">
734
- <a name="M000057"></a>
750
+ <div id="method-M000059" class="method-detail">
751
+ <a name="M000059"></a>
735
752
 
736
753
  <div class="method-heading">
737
- <a href="MIDIFile.src/M000057.html" target="Code" class="method-signature"
738
- onclick="popupCode('MIDIFile.src/M000057.html');return false;">
754
+ <a href="MIDIFile.src/M000059.html" target="Code" class="method-signature"
755
+ onclick="popupCode('MIDIFile.src/M000059.html');return false;">
739
756
  <span class="method-name">read_track</span><span class="method-args">()</span>
740
757
  </a>
741
758
  </div>
@@ -747,12 +764,12 @@ Read a track chunk.
747
764
  </div>
748
765
  </div>
749
766
 
750
- <div id="method-M000065" class="method-detail">
751
- <a name="M000065"></a>
767
+ <div id="method-M000067" class="method-detail">
768
+ <a name="M000067"></a>
752
769
 
753
770
  <div class="method-heading">
754
- <a href="MIDIFile.src/M000065.html" target="Code" class="method-signature"
755
- onclick="popupCode('MIDIFile.src/M000065.html');return false;">
771
+ <a href="MIDIFile.src/M000067.html" target="Code" class="method-signature"
772
+ onclick="popupCode('MIDIFile.src/M000067.html');return false;">
756
773
  <span class="method-name">read_var_len</span><span class="method-args">()</span>
757
774
  </a>
758
775
  </div>
@@ -764,12 +781,12 @@ Read a varlen value.
764
781
  </div>
765
782
  </div>
766
783
 
767
- <div id="method-M000047" class="method-detail">
768
- <a name="M000047"></a>
784
+ <div id="method-M000049" class="method-detail">
785
+ <a name="M000049"></a>
769
786
 
770
787
  <div class="method-heading">
771
- <a href="MIDIFile.src/M000047.html" target="Code" class="method-signature"
772
- onclick="popupCode('MIDIFile.src/M000047.html');return false;">
788
+ <a href="MIDIFile.src/M000049.html" target="Code" class="method-signature"
789
+ onclick="popupCode('MIDIFile.src/M000049.html');return false;">
773
790
  <span class="method-name">sequence_number</span><span class="method-args">(num)</span>
774
791
  </a>
775
792
  </div>
@@ -778,12 +795,12 @@ Read a varlen value.
778
795
  </div>
779
796
  </div>
780
797
 
781
- <div id="method-M000046" class="method-detail">
782
- <a name="M000046"></a>
798
+ <div id="method-M000048" class="method-detail">
799
+ <a name="M000048"></a>
783
800
 
784
801
  <div class="method-heading">
785
- <a href="MIDIFile.src/M000046.html" target="Code" class="method-signature"
786
- onclick="popupCode('MIDIFile.src/M000046.html');return false;">
802
+ <a href="MIDIFile.src/M000048.html" target="Code" class="method-signature"
803
+ onclick="popupCode('MIDIFile.src/M000048.html');return false;">
787
804
  <span class="method-name">sequencer_specific</span><span class="method-args">(type, msg)</span>
788
805
  </a>
789
806
  </div>
@@ -792,12 +809,12 @@ Read a varlen value.
792
809
  </div>
793
810
  </div>
794
811
 
795
- <div id="method-M000051" class="method-detail">
796
- <a name="M000051"></a>
812
+ <div id="method-M000053" class="method-detail">
813
+ <a name="M000053"></a>
797
814
 
798
815
  <div class="method-heading">
799
- <a href="MIDIFile.src/M000051.html" target="Code" class="method-signature"
800
- onclick="popupCode('MIDIFile.src/M000051.html');return false;">
816
+ <a href="MIDIFile.src/M000053.html" target="Code" class="method-signature"
817
+ onclick="popupCode('MIDIFile.src/M000053.html');return false;">
801
818
  <span class="method-name">smpte</span><span class="method-args">(hour, min, sec, frame, fract)</span>
802
819
  </a>
803
820
  </div>
@@ -806,12 +823,12 @@ Read a varlen value.
806
823
  </div>
807
824
  </div>
808
825
 
809
- <div id="method-M000035" class="method-detail">
810
- <a name="M000035"></a>
826
+ <div id="method-M000037" class="method-detail">
827
+ <a name="M000037"></a>
811
828
 
812
829
  <div class="method-heading">
813
- <a href="MIDIFile.src/M000035.html" target="Code" class="method-signature"
814
- onclick="popupCode('MIDIFile.src/M000035.html');return false;">
830
+ <a href="MIDIFile.src/M000037.html" target="Code" class="method-signature"
831
+ onclick="popupCode('MIDIFile.src/M000037.html');return false;">
815
832
  <span class="method-name">start_track</span><span class="method-args">(bytes_to_be_read)</span>
816
833
  </a>
817
834
  </div>
@@ -820,12 +837,12 @@ Read a varlen value.
820
837
  </div>
821
838
  </div>
822
839
 
823
- <div id="method-M000044" class="method-detail">
824
- <a name="M000044"></a>
840
+ <div id="method-M000046" class="method-detail">
841
+ <a name="M000046"></a>
825
842
 
826
843
  <div class="method-heading">
827
- <a href="MIDIFile.src/M000044.html" target="Code" class="method-signature"
828
- onclick="popupCode('MIDIFile.src/M000044.html');return false;">
844
+ <a href="MIDIFile.src/M000046.html" target="Code" class="method-signature"
845
+ onclick="popupCode('MIDIFile.src/M000046.html');return false;">
829
846
  <span class="method-name">sysex</span><span class="method-args">(msg)</span>
830
847
  </a>
831
848
  </div>
@@ -834,12 +851,12 @@ Read a varlen value.
834
851
  </div>
835
852
  </div>
836
853
 
837
- <div id="method-M000052" class="method-detail">
838
- <a name="M000052"></a>
854
+ <div id="method-M000054" class="method-detail">
855
+ <a name="M000054"></a>
839
856
 
840
857
  <div class="method-heading">
841
- <a href="MIDIFile.src/M000052.html" target="Code" class="method-signature"
842
- onclick="popupCode('MIDIFile.src/M000052.html');return false;">
858
+ <a href="MIDIFile.src/M000054.html" target="Code" class="method-signature"
859
+ onclick="popupCode('MIDIFile.src/M000054.html');return false;">
843
860
  <span class="method-name">tempo</span><span class="method-args">(microsecs)</span>
844
861
  </a>
845
862
  </div>
@@ -848,12 +865,12 @@ Read a varlen value.
848
865
  </div>
849
866
  </div>
850
867
 
851
- <div id="method-M000048" class="method-detail">
852
- <a name="M000048"></a>
868
+ <div id="method-M000050" class="method-detail">
869
+ <a name="M000050"></a>
853
870
 
854
871
  <div class="method-heading">
855
- <a href="MIDIFile.src/M000048.html" target="Code" class="method-signature"
856
- onclick="popupCode('MIDIFile.src/M000048.html');return false;">
872
+ <a href="MIDIFile.src/M000050.html" target="Code" class="method-signature"
873
+ onclick="popupCode('MIDIFile.src/M000050.html');return false;">
857
874
  <span class="method-name">text</span><span class="method-args">(type, msg)</span>
858
875
  </a>
859
876
  </div>
@@ -862,12 +879,12 @@ Read a varlen value.
862
879
  </div>
863
880
  </div>
864
881
 
865
- <div id="method-M000050" class="method-detail">
866
- <a name="M000050"></a>
882
+ <div id="method-M000052" class="method-detail">
883
+ <a name="M000052"></a>
867
884
 
868
885
  <div class="method-heading">
869
- <a href="MIDIFile.src/M000050.html" target="Code" class="method-signature"
870
- onclick="popupCode('MIDIFile.src/M000050.html');return false;">
886
+ <a href="MIDIFile.src/M000052.html" target="Code" class="method-signature"
887
+ onclick="popupCode('MIDIFile.src/M000052.html');return false;">
871
888
  <span class="method-name">time_signature</span><span class="method-args">(numer, denom, clocks, qnotes)</span>
872
889
  </a>
873
890
  </div>
@@ -876,12 +893,12 @@ Read a varlen value.
876
893
  </div>
877
894
  </div>
878
895
 
879
- <div id="method-M000066" class="method-detail">
880
- <a name="M000066"></a>
896
+ <div id="method-M000068" class="method-detail">
897
+ <a name="M000068"></a>
881
898
 
882
899
  <div class="method-heading">
883
- <a href="MIDIFile.src/M000066.html" target="Code" class="method-signature"
884
- onclick="popupCode('MIDIFile.src/M000066.html');return false;">
900
+ <a href="MIDIFile.src/M000068.html" target="Code" class="method-signature"
901
+ onclick="popupCode('MIDIFile.src/M000068.html');return false;">
885
902
  <span class="method-name">write16</span><span class="method-args">(val)</span>
886
903
  </a>
887
904
  </div>
@@ -893,12 +910,12 @@ Write a sixteen-bit value.
893
910
  </div>
894
911
  </div>
895
912
 
896
- <div id="method-M000067" class="method-detail">
897
- <a name="M000067"></a>
913
+ <div id="method-M000069" class="method-detail">
914
+ <a name="M000069"></a>
898
915
 
899
916
  <div class="method-heading">
900
- <a href="MIDIFile.src/M000067.html" target="Code" class="method-signature"
901
- onclick="popupCode('MIDIFile.src/M000067.html');return false;">
917
+ <a href="MIDIFile.src/M000069.html" target="Code" class="method-signature"
918
+ onclick="popupCode('MIDIFile.src/M000069.html');return false;">
902
919
  <span class="method-name">write32</span><span class="method-args">(val)</span>
903
920
  </a>
904
921
  </div>
@@ -910,12 +927,12 @@ Write a 32-bit value.
910
927
  </div>
911
928
  </div>
912
929
 
913
- <div id="method-M000068" class="method-detail">
914
- <a name="M000068"></a>
930
+ <div id="method-M000070" class="method-detail">
931
+ <a name="M000070"></a>
915
932
 
916
933
  <div class="method-heading">
917
- <a href="MIDIFile.src/M000068.html" target="Code" class="method-signature"
918
- onclick="popupCode('MIDIFile.src/M000068.html');return false;">
934
+ <a href="MIDIFile.src/M000070.html" target="Code" class="method-signature"
935
+ onclick="popupCode('MIDIFile.src/M000070.html');return false;">
919
936
  <span class="method-name">write_var_len</span><span class="method-args">(val)</span>
920
937
  </a>
921
938
  </div>