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
@@ -90,12 +90,12 @@ href="../Event.html">Event</a> objects and give the tracks to a <a
90
90
  href="../Sequence.html">Sequence</a>.
91
91
  </p>
92
92
  <p>
93
- We append <a href="SeqReader.html#M000001">new</a> events to the end of a
93
+ We append <a href="SeqReader.html#M000002">new</a> events to the end of a
94
94
  track&#8216;s event list, bypassing a call to <a
95
95
  href="../Track.html">Track</a>.add. This means that we must call <a
96
- href="../Track.html#M000079">Track.recalc_times</a> at the end of the track
96
+ href="../Track.html#M000081">Track.recalc_times</a> at the end of the track
97
97
  so it can update each event with its time from the track&#8216;s start (see
98
- <a href="SeqReader.html#M000004">end_track</a> below).
98
+ <a href="SeqReader.html#M000005">end_track</a> below).
99
99
  </p>
100
100
  <p>
101
101
  META_TRACK_END events are not added to tracks. This way, we don&#8216;t
@@ -113,25 +113,25 @@ META_TRACK_END event to each track when it is output.
113
113
  <h3 class="section-bar">Methods</h3>
114
114
 
115
115
  <div class="name-list">
116
- <a href="#M000012">chan_pressure</a>&nbsp;&nbsp;
117
- <a href="#M000009">controller</a>&nbsp;&nbsp;
118
- <a href="#M000004">end_track</a>&nbsp;&nbsp;
119
- <a href="#M000002">header</a>&nbsp;&nbsp;
120
- <a href="#M000018">key_signature</a>&nbsp;&nbsp;
121
- <a href="#M000007">make_note_off</a>&nbsp;&nbsp;
122
- <a href="#M000014">meta_misc</a>&nbsp;&nbsp;
123
- <a href="#M000001">new</a>&nbsp;&nbsp;
124
- <a href="#M000006">note_off</a>&nbsp;&nbsp;
125
- <a href="#M000005">note_on</a>&nbsp;&nbsp;
126
- <a href="#M000010">pitch_bend</a>&nbsp;&nbsp;
127
- <a href="#M000008">pressure</a>&nbsp;&nbsp;
128
- <a href="#M000011">program</a>&nbsp;&nbsp;
129
- <a href="#M000003">start_track</a>&nbsp;&nbsp;
130
- <a href="#M000013">sysex</a>&nbsp;&nbsp;
131
- <a href="#M000017">tempo</a>&nbsp;&nbsp;
132
- <a href="#M000015">text</a>&nbsp;&nbsp;
133
- <a href="#M000016">time_signature</a>&nbsp;&nbsp;
134
- <a href="#M000019">track_uses_channel</a>&nbsp;&nbsp;
116
+ <a href="#M000013">chan_pressure</a>&nbsp;&nbsp;
117
+ <a href="#M000010">controller</a>&nbsp;&nbsp;
118
+ <a href="#M000005">end_track</a>&nbsp;&nbsp;
119
+ <a href="#M000003">header</a>&nbsp;&nbsp;
120
+ <a href="#M000019">key_signature</a>&nbsp;&nbsp;
121
+ <a href="#M000008">make_note_off</a>&nbsp;&nbsp;
122
+ <a href="#M000015">meta_misc</a>&nbsp;&nbsp;
123
+ <a href="#M000002">new</a>&nbsp;&nbsp;
124
+ <a href="#M000007">note_off</a>&nbsp;&nbsp;
125
+ <a href="#M000006">note_on</a>&nbsp;&nbsp;
126
+ <a href="#M000011">pitch_bend</a>&nbsp;&nbsp;
127
+ <a href="#M000009">pressure</a>&nbsp;&nbsp;
128
+ <a href="#M000012">program</a>&nbsp;&nbsp;
129
+ <a href="#M000004">start_track</a>&nbsp;&nbsp;
130
+ <a href="#M000014">sysex</a>&nbsp;&nbsp;
131
+ <a href="#M000018">tempo</a>&nbsp;&nbsp;
132
+ <a href="#M000016">text</a>&nbsp;&nbsp;
133
+ <a href="#M000017">time_signature</a>&nbsp;&nbsp;
134
+ <a href="#M000020">track_uses_channel</a>&nbsp;&nbsp;
135
135
  </div>
136
136
  </div>
137
137
 
@@ -153,12 +153,12 @@ META_TRACK_END event to each track when it is output.
153
153
  <div id="methods">
154
154
  <h3 class="section-bar">Public Class methods</h3>
155
155
 
156
- <div id="method-M000001" class="method-detail">
157
- <a name="M000001"></a>
156
+ <div id="method-M000002" class="method-detail">
157
+ <a name="M000002"></a>
158
158
 
159
159
  <div class="method-heading">
160
- <a href="SeqReader.src/M000001.html" target="Code" class="method-signature"
161
- onclick="popupCode('SeqReader.src/M000001.html');return false;">
160
+ <a href="SeqReader.src/M000002.html" target="Code" class="method-signature"
161
+ onclick="popupCode('SeqReader.src/M000002.html');return false;">
162
162
  <span class="method-name">new</span><span class="method-args">(seq, proc = nil) {|track, num_tracks, index| ...}</span>
163
163
  </a>
164
164
  </div>
@@ -175,12 +175,12 @@ tracks.
175
175
 
176
176
  <h3 class="section-bar">Public Instance methods</h3>
177
177
 
178
- <div id="method-M000012" class="method-detail">
179
- <a name="M000012"></a>
178
+ <div id="method-M000013" class="method-detail">
179
+ <a name="M000013"></a>
180
180
 
181
181
  <div class="method-heading">
182
- <a href="SeqReader.src/M000012.html" target="Code" class="method-signature"
183
- onclick="popupCode('SeqReader.src/M000012.html');return false;">
182
+ <a href="SeqReader.src/M000013.html" target="Code" class="method-signature"
183
+ onclick="popupCode('SeqReader.src/M000013.html');return false;">
184
184
  <span class="method-name">chan_pressure</span><span class="method-args">(chan, press)</span>
185
185
  </a>
186
186
  </div>
@@ -189,12 +189,12 @@ tracks.
189
189
  </div>
190
190
  </div>
191
191
 
192
- <div id="method-M000009" class="method-detail">
193
- <a name="M000009"></a>
192
+ <div id="method-M000010" class="method-detail">
193
+ <a name="M000010"></a>
194
194
 
195
195
  <div class="method-heading">
196
- <a href="SeqReader.src/M000009.html" target="Code" class="method-signature"
197
- onclick="popupCode('SeqReader.src/M000009.html');return false;">
196
+ <a href="SeqReader.src/M000010.html" target="Code" class="method-signature"
197
+ onclick="popupCode('SeqReader.src/M000010.html');return false;">
198
198
  <span class="method-name">controller</span><span class="method-args">(chan, control, value)</span>
199
199
  </a>
200
200
  </div>
@@ -203,12 +203,12 @@ tracks.
203
203
  </div>
204
204
  </div>
205
205
 
206
- <div id="method-M000004" class="method-detail">
207
- <a name="M000004"></a>
206
+ <div id="method-M000005" class="method-detail">
207
+ <a name="M000005"></a>
208
208
 
209
209
  <div class="method-heading">
210
- <a href="SeqReader.src/M000004.html" target="Code" class="method-signature"
211
- onclick="popupCode('SeqReader.src/M000004.html');return false;">
210
+ <a href="SeqReader.src/M000005.html" target="Code" class="method-signature"
211
+ onclick="popupCode('SeqReader.src/M000005.html');return false;">
212
212
  <span class="method-name">end_track</span><span class="method-args">()</span>
213
213
  </a>
214
214
  </div>
@@ -217,12 +217,12 @@ tracks.
217
217
  </div>
218
218
  </div>
219
219
 
220
- <div id="method-M000002" class="method-detail">
221
- <a name="M000002"></a>
220
+ <div id="method-M000003" class="method-detail">
221
+ <a name="M000003"></a>
222
222
 
223
223
  <div class="method-heading">
224
- <a href="SeqReader.src/M000002.html" target="Code" class="method-signature"
225
- onclick="popupCode('SeqReader.src/M000002.html');return false;">
224
+ <a href="SeqReader.src/M000003.html" target="Code" class="method-signature"
225
+ onclick="popupCode('SeqReader.src/M000003.html');return false;">
226
226
  <span class="method-name">header</span><span class="method-args">(format, ntrks, division)</span>
227
227
  </a>
228
228
  </div>
@@ -231,12 +231,12 @@ tracks.
231
231
  </div>
232
232
  </div>
233
233
 
234
- <div id="method-M000018" class="method-detail">
235
- <a name="M000018"></a>
234
+ <div id="method-M000019" class="method-detail">
235
+ <a name="M000019"></a>
236
236
 
237
237
  <div class="method-heading">
238
- <a href="SeqReader.src/M000018.html" target="Code" class="method-signature"
239
- onclick="popupCode('SeqReader.src/M000018.html');return false;">
238
+ <a href="SeqReader.src/M000019.html" target="Code" class="method-signature"
239
+ onclick="popupCode('SeqReader.src/M000019.html');return false;">
240
240
  <span class="method-name">key_signature</span><span class="method-args">(sharpflat, is_minor)</span>
241
241
  </a>
242
242
  </div>
@@ -245,12 +245,12 @@ tracks.
245
245
  </div>
246
246
  </div>
247
247
 
248
- <div id="method-M000007" class="method-detail">
249
- <a name="M000007"></a>
248
+ <div id="method-M000008" class="method-detail">
249
+ <a name="M000008"></a>
250
250
 
251
251
  <div class="method-heading">
252
- <a href="SeqReader.src/M000007.html" target="Code" class="method-signature"
253
- onclick="popupCode('SeqReader.src/M000007.html');return false;">
252
+ <a href="SeqReader.src/M000008.html" target="Code" class="method-signature"
253
+ onclick="popupCode('SeqReader.src/M000008.html');return false;">
254
254
  <span class="method-name">make_note_off</span><span class="method-args">(on, vel)</span>
255
255
  </a>
256
256
  </div>
@@ -259,12 +259,12 @@ tracks.
259
259
  </div>
260
260
  </div>
261
261
 
262
- <div id="method-M000014" class="method-detail">
263
- <a name="M000014"></a>
262
+ <div id="method-M000015" class="method-detail">
263
+ <a name="M000015"></a>
264
264
 
265
265
  <div class="method-heading">
266
- <a href="SeqReader.src/M000014.html" target="Code" class="method-signature"
267
- onclick="popupCode('SeqReader.src/M000014.html');return false;">
266
+ <a href="SeqReader.src/M000015.html" target="Code" class="method-signature"
267
+ onclick="popupCode('SeqReader.src/M000015.html');return false;">
268
268
  <span class="method-name">meta_misc</span><span class="method-args">(type, msg)</span>
269
269
  </a>
270
270
  </div>
@@ -273,12 +273,12 @@ tracks.
273
273
  </div>
274
274
  </div>
275
275
 
276
- <div id="method-M000006" class="method-detail">
277
- <a name="M000006"></a>
276
+ <div id="method-M000007" class="method-detail">
277
+ <a name="M000007"></a>
278
278
 
279
279
  <div class="method-heading">
280
- <a href="SeqReader.src/M000006.html" target="Code" class="method-signature"
281
- onclick="popupCode('SeqReader.src/M000006.html');return false;">
280
+ <a href="SeqReader.src/M000007.html" target="Code" class="method-signature"
281
+ onclick="popupCode('SeqReader.src/M000007.html');return false;">
282
282
  <span class="method-name">note_off</span><span class="method-args">(chan, note, vel)</span>
283
283
  </a>
284
284
  </div>
@@ -287,12 +287,12 @@ tracks.
287
287
  </div>
288
288
  </div>
289
289
 
290
- <div id="method-M000005" class="method-detail">
291
- <a name="M000005"></a>
290
+ <div id="method-M000006" class="method-detail">
291
+ <a name="M000006"></a>
292
292
 
293
293
  <div class="method-heading">
294
- <a href="SeqReader.src/M000005.html" target="Code" class="method-signature"
295
- onclick="popupCode('SeqReader.src/M000005.html');return false;">
294
+ <a href="SeqReader.src/M000006.html" target="Code" class="method-signature"
295
+ onclick="popupCode('SeqReader.src/M000006.html');return false;">
296
296
  <span class="method-name">note_on</span><span class="method-args">(chan, note, vel)</span>
297
297
  </a>
298
298
  </div>
@@ -301,12 +301,12 @@ tracks.
301
301
  </div>
302
302
  </div>
303
303
 
304
- <div id="method-M000010" class="method-detail">
305
- <a name="M000010"></a>
304
+ <div id="method-M000011" class="method-detail">
305
+ <a name="M000011"></a>
306
306
 
307
307
  <div class="method-heading">
308
- <a href="SeqReader.src/M000010.html" target="Code" class="method-signature"
309
- onclick="popupCode('SeqReader.src/M000010.html');return false;">
308
+ <a href="SeqReader.src/M000011.html" target="Code" class="method-signature"
309
+ onclick="popupCode('SeqReader.src/M000011.html');return false;">
310
310
  <span class="method-name">pitch_bend</span><span class="method-args">(chan, msb, lsb)</span>
311
311
  </a>
312
312
  </div>
@@ -315,12 +315,12 @@ tracks.
315
315
  </div>
316
316
  </div>
317
317
 
318
- <div id="method-M000008" class="method-detail">
319
- <a name="M000008"></a>
318
+ <div id="method-M000009" class="method-detail">
319
+ <a name="M000009"></a>
320
320
 
321
321
  <div class="method-heading">
322
- <a href="SeqReader.src/M000008.html" target="Code" class="method-signature"
323
- onclick="popupCode('SeqReader.src/M000008.html');return false;">
322
+ <a href="SeqReader.src/M000009.html" target="Code" class="method-signature"
323
+ onclick="popupCode('SeqReader.src/M000009.html');return false;">
324
324
  <span class="method-name">pressure</span><span class="method-args">(chan, note, press)</span>
325
325
  </a>
326
326
  </div>
@@ -329,12 +329,12 @@ tracks.
329
329
  </div>
330
330
  </div>
331
331
 
332
- <div id="method-M000011" class="method-detail">
333
- <a name="M000011"></a>
332
+ <div id="method-M000012" class="method-detail">
333
+ <a name="M000012"></a>
334
334
 
335
335
  <div class="method-heading">
336
- <a href="SeqReader.src/M000011.html" target="Code" class="method-signature"
337
- onclick="popupCode('SeqReader.src/M000011.html');return false;">
336
+ <a href="SeqReader.src/M000012.html" target="Code" class="method-signature"
337
+ onclick="popupCode('SeqReader.src/M000012.html');return false;">
338
338
  <span class="method-name">program</span><span class="method-args">(chan, program)</span>
339
339
  </a>
340
340
  </div>
@@ -343,12 +343,12 @@ tracks.
343
343
  </div>
344
344
  </div>
345
345
 
346
- <div id="method-M000003" class="method-detail">
347
- <a name="M000003"></a>
346
+ <div id="method-M000004" class="method-detail">
347
+ <a name="M000004"></a>
348
348
 
349
349
  <div class="method-heading">
350
- <a href="SeqReader.src/M000003.html" target="Code" class="method-signature"
351
- onclick="popupCode('SeqReader.src/M000003.html');return false;">
350
+ <a href="SeqReader.src/M000004.html" target="Code" class="method-signature"
351
+ onclick="popupCode('SeqReader.src/M000004.html');return false;">
352
352
  <span class="method-name">start_track</span><span class="method-args">()</span>
353
353
  </a>
354
354
  </div>
@@ -357,12 +357,12 @@ tracks.
357
357
  </div>
358
358
  </div>
359
359
 
360
- <div id="method-M000013" class="method-detail">
361
- <a name="M000013"></a>
360
+ <div id="method-M000014" class="method-detail">
361
+ <a name="M000014"></a>
362
362
 
363
363
  <div class="method-heading">
364
- <a href="SeqReader.src/M000013.html" target="Code" class="method-signature"
365
- onclick="popupCode('SeqReader.src/M000013.html');return false;">
364
+ <a href="SeqReader.src/M000014.html" target="Code" class="method-signature"
365
+ onclick="popupCode('SeqReader.src/M000014.html');return false;">
366
366
  <span class="method-name">sysex</span><span class="method-args">(msg)</span>
367
367
  </a>
368
368
  </div>
@@ -371,12 +371,12 @@ tracks.
371
371
  </div>
372
372
  </div>
373
373
 
374
- <div id="method-M000017" class="method-detail">
375
- <a name="M000017"></a>
374
+ <div id="method-M000018" class="method-detail">
375
+ <a name="M000018"></a>
376
376
 
377
377
  <div class="method-heading">
378
- <a href="SeqReader.src/M000017.html" target="Code" class="method-signature"
379
- onclick="popupCode('SeqReader.src/M000017.html');return false;">
378
+ <a href="SeqReader.src/M000018.html" target="Code" class="method-signature"
379
+ onclick="popupCode('SeqReader.src/M000018.html');return false;">
380
380
  <span class="method-name">tempo</span><span class="method-args">(microsecs)</span>
381
381
  </a>
382
382
  </div>
@@ -395,12 +395,12 @@ tracks.
395
395
  </div>
396
396
  </div>
397
397
 
398
- <div id="method-M000015" class="method-detail">
399
- <a name="M000015"></a>
398
+ <div id="method-M000016" class="method-detail">
399
+ <a name="M000016"></a>
400
400
 
401
401
  <div class="method-heading">
402
- <a href="SeqReader.src/M000015.html" target="Code" class="method-signature"
403
- onclick="popupCode('SeqReader.src/M000015.html');return false;">
402
+ <a href="SeqReader.src/M000016.html" target="Code" class="method-signature"
403
+ onclick="popupCode('SeqReader.src/M000016.html');return false;">
404
404
  <span class="method-name">text</span><span class="method-args">(type, msg)</span>
405
405
  </a>
406
406
  </div>
@@ -416,12 +416,12 @@ tracks.
416
416
  </div>
417
417
  </div>
418
418
 
419
- <div id="method-M000016" class="method-detail">
420
- <a name="M000016"></a>
419
+ <div id="method-M000017" class="method-detail">
420
+ <a name="M000017"></a>
421
421
 
422
422
  <div class="method-heading">
423
- <a href="SeqReader.src/M000016.html" target="Code" class="method-signature"
424
- onclick="popupCode('SeqReader.src/M000016.html');return false;">
423
+ <a href="SeqReader.src/M000017.html" target="Code" class="method-signature"
424
+ onclick="popupCode('SeqReader.src/M000017.html');return false;">
425
425
  <span class="method-name">time_signature</span><span class="method-args">(numer, denom, clocks, qnotes)</span>
426
426
  </a>
427
427
  </div>
@@ -444,12 +444,12 @@ when the track is output back to a file.
444
444
  </div>
445
445
  </div>
446
446
 
447
- <div id="method-M000019" class="method-detail">
448
- <a name="M000019"></a>
447
+ <div id="method-M000020" class="method-detail">
448
+ <a name="M000020"></a>
449
449
 
450
450
  <div class="method-heading">
451
- <a href="SeqReader.src/M000019.html" target="Code" class="method-signature"
452
- onclick="popupCode('SeqReader.src/M000019.html');return false;">
451
+ <a href="SeqReader.src/M000020.html" target="Code" class="method-signature"
452
+ onclick="popupCode('SeqReader.src/M000020.html');return false;">
453
453
  <span class="method-name">track_uses_channel</span><span class="method-args">(chan)</span>
454
454
  </a>
455
455
  </div>
@@ -5,18 +5,18 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>header (MIDI::IO::SeqReader)</title>
8
+ <title>new (MIDI::IO::SeqReader)</title>
9
9
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
10
  <link rel="stylesheet" href="../../../.././rdoc-style.css" type="text/css" media="screen" />
11
11
  </head>
12
12
  <body class="standalone-code">
13
- <pre><span class="ruby-comment cmt"># File lib/midilib/io/seqreader.rb, line 37</span>
14
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">header</span>(<span class="ruby-identifier">format</span>, <span class="ruby-identifier">ntrks</span>, <span class="ruby-identifier">division</span>)
15
- <span class="ruby-ivar">@seq</span>.<span class="ruby-identifier">format</span> = <span class="ruby-identifier">format</span>
16
- <span class="ruby-ivar">@seq</span>.<span class="ruby-identifier">ppqn</span> = <span class="ruby-identifier">division</span>
17
-
18
- <span class="ruby-ivar">@ntrks</span> = <span class="ruby-identifier">ntrks</span>
19
- <span class="ruby-ivar">@update_block</span>.<span class="ruby-identifier">call</span>(<span class="ruby-keyword kw">nil</span>, <span class="ruby-ivar">@ntrks</span>, <span class="ruby-value">0</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@update_block</span>
13
+ <pre><span class="ruby-comment cmt"># File lib/midilib/io/seqreader.rb, line 29</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">seq</span>, <span class="ruby-identifier">proc</span> = <span class="ruby-keyword kw">nil</span>) <span class="ruby-comment cmt"># :yields: track, num_tracks, index</span>
15
+ <span class="ruby-keyword kw">super</span>()
16
+ <span class="ruby-ivar">@seq</span> = <span class="ruby-identifier">seq</span>
17
+ <span class="ruby-ivar">@track</span> = <span class="ruby-keyword kw">nil</span>
18
+ <span class="ruby-ivar">@chan_mask</span> = <span class="ruby-value">0</span>
19
+ <span class="ruby-ivar">@update_block</span> = <span class="ruby-identifier">block_given?</span>() <span class="ruby-operator">?</span> <span class="ruby-constant">Proc</span>.<span class="ruby-identifier">new</span>() <span class="ruby-operator">:</span> <span class="ruby-identifier">proc</span>
20
20
  <span class="ruby-keyword kw">end</span></pre>
21
21
  </body>
22
22
  </html>
@@ -5,17 +5,18 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>start_track (MIDI::IO::SeqReader)</title>
8
+ <title>header (MIDI::IO::SeqReader)</title>
9
9
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
10
  <link rel="stylesheet" href="../../../.././rdoc-style.css" type="text/css" media="screen" />
11
11
  </head>
12
12
  <body class="standalone-code">
13
- <pre><span class="ruby-comment cmt"># File lib/midilib/io/seqreader.rb, line 45</span>
14
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">start_track</span>()
15
- <span class="ruby-ivar">@track</span> = <span class="ruby-constant">Track</span>.<span class="ruby-identifier">new</span>(<span class="ruby-ivar">@seq</span>)
16
- <span class="ruby-ivar">@seq</span>.<span class="ruby-identifier">tracks</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-ivar">@track</span>
13
+ <pre><span class="ruby-comment cmt"># File lib/midilib/io/seqreader.rb, line 37</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">header</span>(<span class="ruby-identifier">format</span>, <span class="ruby-identifier">ntrks</span>, <span class="ruby-identifier">division</span>)
15
+ <span class="ruby-ivar">@seq</span>.<span class="ruby-identifier">format</span> = <span class="ruby-identifier">format</span>
16
+ <span class="ruby-ivar">@seq</span>.<span class="ruby-identifier">ppqn</span> = <span class="ruby-identifier">division</span>
17
17
 
18
- <span class="ruby-ivar">@pending</span> = []
18
+ <span class="ruby-ivar">@ntrks</span> = <span class="ruby-identifier">ntrks</span>
19
+ <span class="ruby-ivar">@update_block</span>.<span class="ruby-identifier">call</span>(<span class="ruby-keyword kw">nil</span>, <span class="ruby-ivar">@ntrks</span>, <span class="ruby-value">0</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@update_block</span>
19
20
  <span class="ruby-keyword kw">end</span></pre>
20
21
  </body>
21
22
  </html>
@@ -5,30 +5,17 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>end_track (MIDI::IO::SeqReader)</title>
8
+ <title>start_track (MIDI::IO::SeqReader)</title>
9
9
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
10
  <link rel="stylesheet" href="../../../.././rdoc-style.css" type="text/css" media="screen" />
11
11
  </head>
12
12
  <body class="standalone-code">
13
- <pre><span class="ruby-comment cmt"># File lib/midilib/io/seqreader.rb, line 52</span>
14
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">end_track</span>()
15
- <span class="ruby-comment cmt"># Turn off any pending note on messages</span>
16
- <span class="ruby-ivar">@pending</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span> <span class="ruby-identifier">on</span> <span class="ruby-operator">|</span> <span class="ruby-identifier">make_note_off</span>(<span class="ruby-identifier">on</span>, <span class="ruby-value">64</span>) }
17
- <span class="ruby-ivar">@pending</span> = <span class="ruby-keyword kw">nil</span>
13
+ <pre><span class="ruby-comment cmt"># File lib/midilib/io/seqreader.rb, line 45</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">start_track</span>()
15
+ <span class="ruby-ivar">@track</span> = <span class="ruby-constant">Track</span>.<span class="ruby-identifier">new</span>(<span class="ruby-ivar">@seq</span>)
16
+ <span class="ruby-ivar">@seq</span>.<span class="ruby-identifier">tracks</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-ivar">@track</span>
18
17
 
19
- <span class="ruby-comment cmt"># Don't bother adding the META_TRACK_END event to the track.</span>
20
- <span class="ruby-comment cmt"># This way, we don't have to worry about making sure the</span>
21
- <span class="ruby-comment cmt"># last event is always a track end event.</span>
22
-
23
- <span class="ruby-comment cmt"># Let the track calculate event times from start of track. This is</span>
24
- <span class="ruby-comment cmt"># in lieu of calling Track.add for each event.</span>
25
- <span class="ruby-ivar">@track</span>.<span class="ruby-identifier">recalc_times</span>()
26
-
27
- <span class="ruby-comment cmt"># Store bitmask of all channels used into track</span>
28
- <span class="ruby-ivar">@track</span>.<span class="ruby-identifier">channels_used</span> = <span class="ruby-ivar">@chan_mask</span>
29
-
30
- <span class="ruby-comment cmt"># call update block</span>
31
- <span class="ruby-ivar">@update_block</span>.<span class="ruby-identifier">call</span>(<span class="ruby-ivar">@track</span>, <span class="ruby-ivar">@ntrks</span>, <span class="ruby-ivar">@seq</span>.<span class="ruby-identifier">tracks</span>.<span class="ruby-identifier">length</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@update_block</span>
18
+ <span class="ruby-ivar">@pending</span> = []
32
19
  <span class="ruby-keyword kw">end</span></pre>
33
20
  </body>
34
21
  </html>
@@ -5,22 +5,30 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>note_on (MIDI::IO::SeqReader)</title>
8
+ <title>end_track (MIDI::IO::SeqReader)</title>
9
9
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
10
  <link rel="stylesheet" href="../../../.././rdoc-style.css" type="text/css" media="screen" />
11
11
  </head>
12
12
  <body class="standalone-code">
13
- <pre><span class="ruby-comment cmt"># File lib/midilib/io/seqreader.rb, line 72</span>
14
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">note_on</span>(<span class="ruby-identifier">chan</span>, <span class="ruby-identifier">note</span>, <span class="ruby-identifier">vel</span>)
15
- <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">vel</span> <span class="ruby-operator">==</span> <span class="ruby-value">0</span>
16
- <span class="ruby-identifier">note_off</span>(<span class="ruby-identifier">chan</span>, <span class="ruby-identifier">note</span>, <span class="ruby-value">64</span>)
17
- <span class="ruby-keyword kw">return</span>
18
- <span class="ruby-keyword kw">end</span>
13
+ <pre><span class="ruby-comment cmt"># File lib/midilib/io/seqreader.rb, line 52</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">end_track</span>()
15
+ <span class="ruby-comment cmt"># Turn off any pending note on messages</span>
16
+ <span class="ruby-ivar">@pending</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span> <span class="ruby-identifier">on</span> <span class="ruby-operator">|</span> <span class="ruby-identifier">make_note_off</span>(<span class="ruby-identifier">on</span>, <span class="ruby-value">64</span>) }
17
+ <span class="ruby-ivar">@pending</span> = <span class="ruby-keyword kw">nil</span>
19
18
 
20
- <span class="ruby-identifier">on</span> = <span class="ruby-constant">NoteOnEvent</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">chan</span>, <span class="ruby-identifier">note</span>, <span class="ruby-identifier">vel</span>, <span class="ruby-ivar">@curr_ticks</span>)
21
- <span class="ruby-ivar">@track</span>.<span class="ruby-identifier">events</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">on</span>
22
- <span class="ruby-ivar">@pending</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">on</span>
23
- <span class="ruby-identifier">track_uses_channel</span>(<span class="ruby-identifier">chan</span>)
19
+ <span class="ruby-comment cmt"># Don't bother adding the META_TRACK_END event to the track.</span>
20
+ <span class="ruby-comment cmt"># This way, we don't have to worry about making sure the</span>
21
+ <span class="ruby-comment cmt"># last event is always a track end event.</span>
22
+
23
+ <span class="ruby-comment cmt"># Let the track calculate event times from start of track. This is</span>
24
+ <span class="ruby-comment cmt"># in lieu of calling Track.add for each event.</span>
25
+ <span class="ruby-ivar">@track</span>.<span class="ruby-identifier">recalc_times</span>()
26
+
27
+ <span class="ruby-comment cmt"># Store bitmask of all channels used into track</span>
28
+ <span class="ruby-ivar">@track</span>.<span class="ruby-identifier">channels_used</span> = <span class="ruby-ivar">@chan_mask</span>
29
+
30
+ <span class="ruby-comment cmt"># call update block</span>
31
+ <span class="ruby-ivar">@update_block</span>.<span class="ruby-identifier">call</span>(<span class="ruby-ivar">@track</span>, <span class="ruby-ivar">@ntrks</span>, <span class="ruby-ivar">@seq</span>.<span class="ruby-identifier">tracks</span>.<span class="ruby-identifier">length</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@update_block</span>
24
32
  <span class="ruby-keyword kw">end</span></pre>
25
33
  </body>
26
34
  </html>
@@ -5,24 +5,22 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>note_off (MIDI::IO::SeqReader)</title>
8
+ <title>note_on (MIDI::IO::SeqReader)</title>
9
9
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
10
  <link rel="stylesheet" href="../../../.././rdoc-style.css" type="text/css" media="screen" />
11
11
  </head>
12
12
  <body class="standalone-code">
13
- <pre><span class="ruby-comment cmt"># File lib/midilib/io/seqreader.rb, line 84</span>
14
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">note_off</span>(<span class="ruby-identifier">chan</span>, <span class="ruby-identifier">note</span>, <span class="ruby-identifier">vel</span>)
15
- <span class="ruby-comment cmt"># Find note on, create note off, connect the two, and remove</span>
16
- <span class="ruby-comment cmt"># note on from pending list.</span>
17
- <span class="ruby-ivar">@pending</span>.<span class="ruby-identifier">each_with_index</span> { <span class="ruby-operator">|</span> <span class="ruby-identifier">on</span>, <span class="ruby-identifier">i</span> <span class="ruby-operator">|</span>
18
- <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">on</span>.<span class="ruby-identifier">note</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">note</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">on</span>.<span class="ruby-identifier">channel</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">chan</span>
19
- <span class="ruby-identifier">make_note_off</span>(<span class="ruby-identifier">on</span>, <span class="ruby-identifier">vel</span>)
20
- <span class="ruby-ivar">@pending</span>.<span class="ruby-identifier">delete_at</span>(<span class="ruby-identifier">i</span>)
21
- <span class="ruby-keyword kw">return</span>
22
- <span class="ruby-keyword kw">end</span>
23
- }
24
- <span class="ruby-identifier">$stderr</span>.<span class="ruby-identifier">puts</span> <span class="ruby-node">&quot;note off with no earlier note on (ch #{chan}, note&quot;</span> <span class="ruby-operator">+</span>
25
- <span class="ruby-node">&quot; #{note}, vel #{vel})&quot;</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">$DEBUG</span>
13
+ <pre><span class="ruby-comment cmt"># File lib/midilib/io/seqreader.rb, line 72</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">note_on</span>(<span class="ruby-identifier">chan</span>, <span class="ruby-identifier">note</span>, <span class="ruby-identifier">vel</span>)
15
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">vel</span> <span class="ruby-operator">==</span> <span class="ruby-value">0</span>
16
+ <span class="ruby-identifier">note_off</span>(<span class="ruby-identifier">chan</span>, <span class="ruby-identifier">note</span>, <span class="ruby-value">64</span>)
17
+ <span class="ruby-keyword kw">return</span>
18
+ <span class="ruby-keyword kw">end</span>
19
+
20
+ <span class="ruby-identifier">on</span> = <span class="ruby-constant">NoteOnEvent</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">chan</span>, <span class="ruby-identifier">note</span>, <span class="ruby-identifier">vel</span>, <span class="ruby-ivar">@curr_ticks</span>)
21
+ <span class="ruby-ivar">@track</span>.<span class="ruby-identifier">events</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">on</span>
22
+ <span class="ruby-ivar">@pending</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">on</span>
23
+ <span class="ruby-identifier">track_uses_channel</span>(<span class="ruby-identifier">chan</span>)
26
24
  <span class="ruby-keyword kw">end</span></pre>
27
25
  </body>
28
26
  </html>