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
@@ -84,8 +84,8 @@ A <a href="Track.html">Track</a> is a list of events.
84
84
  </p>
85
85
  <p>
86
86
  When you modify the <tt>events</tt> array, make sure to call <a
87
- href="Track.html#M000079">recalc_times</a> so <a
88
- href="Track.html#M000081">each</a> <a href="Event.html">Event</a> gets its
87
+ href="Track.html#M000081">recalc_times</a> so <a
88
+ href="Track.html#M000083">each</a> <a href="Event.html">Event</a> gets its
89
89
  <tt>time_from_start</tt> recalculated.
90
90
  </p>
91
91
  <p>
@@ -105,16 +105,16 @@ date by any other methods.
105
105
  <h3 class="section-bar">Methods</h3>
106
106
 
107
107
  <div class="name-list">
108
- <a href="#M000081">each</a>&nbsp;&nbsp;
109
- <a href="#M000076">merge</a>&nbsp;&nbsp;
110
- <a href="#M000077">merge_event_lists</a>&nbsp;&nbsp;
111
- <a href="#M000074">name</a>&nbsp;&nbsp;
112
- <a href="#M000075">name=</a>&nbsp;&nbsp;
113
- <a href="#M000073">new</a>&nbsp;&nbsp;
114
- <a href="#M000078">quantize</a>&nbsp;&nbsp;
115
- <a href="#M000080">recalc_delta_from_times</a>&nbsp;&nbsp;
116
- <a href="#M000079">recalc_times</a>&nbsp;&nbsp;
117
- <a href="#M000082">sort</a>&nbsp;&nbsp;
108
+ <a href="#M000083">each</a>&nbsp;&nbsp;
109
+ <a href="#M000078">merge</a>&nbsp;&nbsp;
110
+ <a href="#M000079">merge_event_lists</a>&nbsp;&nbsp;
111
+ <a href="#M000076">name</a>&nbsp;&nbsp;
112
+ <a href="#M000077">name=</a>&nbsp;&nbsp;
113
+ <a href="#M000075">new</a>&nbsp;&nbsp;
114
+ <a href="#M000080">quantize</a>&nbsp;&nbsp;
115
+ <a href="#M000082">recalc_delta_from_times</a>&nbsp;&nbsp;
116
+ <a href="#M000081">recalc_times</a>&nbsp;&nbsp;
117
+ <a href="#M000084">sort</a>&nbsp;&nbsp;
118
118
  </div>
119
119
  </div>
120
120
 
@@ -184,12 +184,12 @@ date by any other methods.
184
184
  <div id="methods">
185
185
  <h3 class="section-bar">Public Class methods</h3>
186
186
 
187
- <div id="method-M000073" class="method-detail">
188
- <a name="M000073"></a>
187
+ <div id="method-M000075" class="method-detail">
188
+ <a name="M000075"></a>
189
189
 
190
190
  <div class="method-heading">
191
- <a href="Track.src/M000073.html" target="Code" class="method-signature"
192
- onclick="popupCode('Track.src/M000073.html');return false;">
191
+ <a href="Track.src/M000075.html" target="Code" class="method-signature"
192
+ onclick="popupCode('Track.src/M000075.html');return false;">
193
193
  <span class="method-name">new</span><span class="method-args">(sequence)</span>
194
194
  </a>
195
195
  </div>
@@ -200,12 +200,12 @@ date by any other methods.
200
200
 
201
201
  <h3 class="section-bar">Public Instance methods</h3>
202
202
 
203
- <div id="method-M000081" class="method-detail">
204
- <a name="M000081"></a>
203
+ <div id="method-M000083" class="method-detail">
204
+ <a name="M000083"></a>
205
205
 
206
206
  <div class="method-heading">
207
- <a href="Track.src/M000081.html" target="Code" class="method-signature"
208
- onclick="popupCode('Track.src/M000081.html');return false;">
207
+ <a href="Track.src/M000083.html" target="Code" class="method-signature"
208
+ onclick="popupCode('Track.src/M000083.html');return false;">
209
209
  <span class="method-name">each</span><span class="method-args">( {|event| ...}</span>
210
210
  </a>
211
211
  </div>
@@ -217,12 +217,12 @@ Iterate over events.
217
217
  </div>
218
218
  </div>
219
219
 
220
- <div id="method-M000076" class="method-detail">
221
- <a name="M000076"></a>
220
+ <div id="method-M000078" class="method-detail">
221
+ <a name="M000078"></a>
222
222
 
223
223
  <div class="method-heading">
224
- <a href="Track.src/M000076.html" target="Code" class="method-signature"
225
- onclick="popupCode('Track.src/M000076.html');return false;">
224
+ <a href="Track.src/M000078.html" target="Code" class="method-signature"
225
+ onclick="popupCode('Track.src/M000078.html');return false;">
226
226
  <span class="method-name">merge</span><span class="method-args">(event_list)</span>
227
227
  </a>
228
228
  </div>
@@ -231,17 +231,17 @@ Iterate over events.
231
231
  <p>
232
232
  Merges an array of events into our event list. After merging, the
233
233
  events&#8217; time_from_start values are correct so you don&#8216;t need to
234
- worry about calling <a href="Track.html#M000079">recalc_times</a>.
234
+ worry about calling <a href="Track.html#M000081">recalc_times</a>.
235
235
  </p>
236
236
  </div>
237
237
  </div>
238
238
 
239
- <div id="method-M000077" class="method-detail">
240
- <a name="M000077"></a>
239
+ <div id="method-M000079" class="method-detail">
240
+ <a name="M000079"></a>
241
241
 
242
242
  <div class="method-heading">
243
- <a href="Track.src/M000077.html" target="Code" class="method-signature"
244
- onclick="popupCode('Track.src/M000077.html');return false;">
243
+ <a href="Track.src/M000079.html" target="Code" class="method-signature"
244
+ onclick="popupCode('Track.src/M000079.html');return false;">
245
245
  <span class="method-name">merge_event_lists</span><span class="method-args">(list1, list2)</span>
246
246
  </a>
247
247
  </div>
@@ -253,48 +253,48 @@ Merges two event arrays together. Does not modify this track.
253
253
  </div>
254
254
  </div>
255
255
 
256
- <div id="method-M000074" class="method-detail">
257
- <a name="M000074"></a>
256
+ <div id="method-M000076" class="method-detail">
257
+ <a name="M000076"></a>
258
258
 
259
259
  <div class="method-heading">
260
- <a href="Track.src/M000074.html" target="Code" class="method-signature"
261
- onclick="popupCode('Track.src/M000074.html');return false;">
260
+ <a href="Track.src/M000076.html" target="Code" class="method-signature"
261
+ onclick="popupCode('Track.src/M000076.html');return false;">
262
262
  <span class="method-name">name</span><span class="method-args">()</span>
263
263
  </a>
264
264
  </div>
265
265
 
266
266
  <div class="method-description">
267
267
  <p>
268
- Return track <a href="Track.html#M000074">name</a>. If there is no <a
269
- href="Track.html#M000074">name</a>, return UNNAMED.
268
+ Return track <a href="Track.html#M000076">name</a>. If there is no <a
269
+ href="Track.html#M000076">name</a>, return UNNAMED.
270
270
  </p>
271
271
  </div>
272
272
  </div>
273
273
 
274
- <div id="method-M000075" class="method-detail">
275
- <a name="M000075"></a>
274
+ <div id="method-M000077" class="method-detail">
275
+ <a name="M000077"></a>
276
276
 
277
277
  <div class="method-heading">
278
- <a href="Track.src/M000075.html" target="Code" class="method-signature"
279
- onclick="popupCode('Track.src/M000075.html');return false;">
278
+ <a href="Track.src/M000077.html" target="Code" class="method-signature"
279
+ onclick="popupCode('Track.src/M000077.html');return false;">
280
280
  <span class="method-name">name=</span><span class="method-args">(name)</span>
281
281
  </a>
282
282
  </div>
283
283
 
284
284
  <div class="method-description">
285
285
  <p>
286
- Set track <a href="Track.html#M000074">name</a>. Replaces or creates a <a
287
- href="Track.html#M000074">name</a> meta-event.
286
+ Set track <a href="Track.html#M000076">name</a>. Replaces or creates a <a
287
+ href="Track.html#M000076">name</a> meta-event.
288
288
  </p>
289
289
  </div>
290
290
  </div>
291
291
 
292
- <div id="method-M000078" class="method-detail">
293
- <a name="M000078"></a>
292
+ <div id="method-M000080" class="method-detail">
293
+ <a name="M000080"></a>
294
294
 
295
295
  <div class="method-heading">
296
- <a href="Track.src/M000078.html" target="Code" class="method-signature"
297
- onclick="popupCode('Track.src/M000078.html');return false;">
296
+ <a href="Track.src/M000080.html" target="Code" class="method-signature"
297
+ onclick="popupCode('Track.src/M000080.html');return false;">
298
298
  <span class="method-name">quantize</span><span class="method-args">(length_or_note)</span>
299
299
  </a>
300
300
  </div>
@@ -303,45 +303,45 @@ href="Track.html#M000074">name</a> meta-event.
303
303
  <p>
304
304
  Quantize every event. length_or_note is either a length (1 = quarter, 0.25
305
305
  = sixteenth, 4 = whole note) or a note <a
306
- href="Track.html#M000074">name</a> (&quot;sixteenth&quot;,
306
+ href="Track.html#M000076">name</a> (&quot;sixteenth&quot;,
307
307
  &quot;32nd&quot;, &quot;8th triplet&quot;, &quot;dotted quarter&quot;).
308
308
  </p>
309
309
  <p>
310
- Since <a href="Track.html#M000081">each</a> event&#8216;s time_from_start
310
+ Since <a href="Track.html#M000083">each</a> event&#8216;s time_from_start
311
311
  is modified, we call <a
312
- href="Track.html#M000080">recalc_delta_from_times</a> after <a
313
- href="Track.html#M000081">each</a> event quantizes itself.
312
+ href="Track.html#M000082">recalc_delta_from_times</a> after <a
313
+ href="Track.html#M000083">each</a> event quantizes itself.
314
314
  </p>
315
315
  </div>
316
316
  </div>
317
317
 
318
- <div id="method-M000080" class="method-detail">
319
- <a name="M000080"></a>
318
+ <div id="method-M000082" class="method-detail">
319
+ <a name="M000082"></a>
320
320
 
321
321
  <div class="method-heading">
322
- <a href="Track.src/M000080.html" target="Code" class="method-signature"
323
- onclick="popupCode('Track.src/M000080.html');return false;">
322
+ <a href="Track.src/M000082.html" target="Code" class="method-signature"
323
+ onclick="popupCode('Track.src/M000082.html');return false;">
324
324
  <span class="method-name">recalc_delta_from_times</span><span class="method-args">(starting_at=0, list=@events)</span>
325
325
  </a>
326
326
  </div>
327
327
 
328
328
  <div class="method-description">
329
329
  <p>
330
- The opposite of <a href="Track.html#M000079">recalc_times</a>: recalculates
331
- delta_time for <a href="Track.html#M000081">each</a> event from <a
332
- href="Track.html#M000081">each</a> event&#8216;s time_from_start. This is
330
+ The opposite of <a href="Track.html#M000081">recalc_times</a>: recalculates
331
+ delta_time for <a href="Track.html#M000083">each</a> event from <a
332
+ href="Track.html#M000083">each</a> event&#8216;s time_from_start. This is
333
333
  useful, for example, when merging two event lists. As a side-effect,
334
334
  elements from starting_at are sorted by time_from_start.
335
335
  </p>
336
336
  </div>
337
337
  </div>
338
338
 
339
- <div id="method-M000079" class="method-detail">
340
- <a name="M000079"></a>
339
+ <div id="method-M000081" class="method-detail">
340
+ <a name="M000081"></a>
341
341
 
342
342
  <div class="method-heading">
343
- <a href="Track.src/M000079.html" target="Code" class="method-signature"
344
- onclick="popupCode('Track.src/M000079.html');return false;">
343
+ <a href="Track.src/M000081.html" target="Code" class="method-signature"
344
+ onclick="popupCode('Track.src/M000081.html');return false;">
345
345
  <span class="method-name">recalc_times</span><span class="method-args">(starting_at=0, list=@events)</span>
346
346
  </a>
347
347
  </div>
@@ -354,12 +354,12 @@ end.
354
354
  </div>
355
355
  </div>
356
356
 
357
- <div id="method-M000082" class="method-detail">
358
- <a name="M000082"></a>
357
+ <div id="method-M000084" class="method-detail">
358
+ <a name="M000084"></a>
359
359
 
360
360
  <div class="method-heading">
361
- <a href="Track.src/M000082.html" target="Code" class="method-signature"
362
- onclick="popupCode('Track.src/M000082.html');return false;">
361
+ <a href="Track.src/M000084.html" target="Code" class="method-signature"
362
+ onclick="popupCode('Track.src/M000084.html');return false;">
363
363
  <span class="method-name">sort</span><span class="method-args">()</span>
364
364
  </a>
365
365
  </div>
@@ -367,9 +367,9 @@ end.
367
367
  <div class="method-description">
368
368
  <p>
369
369
  Sort events by their time_from_start. After sorting, <a
370
- href="Track.html#M000080">recalc_delta_from_times</a> is called to make
370
+ href="Track.html#M000082">recalc_delta_from_times</a> is called to make
371
371
  sure that the delta times reflect the possibly <a
372
- href="Track.html#M000073">new</a> event order.
372
+ href="Track.html#M000075">new</a> event order.
373
373
  </p>
374
374
  </div>
375
375
  </div>
@@ -5,22 +5,19 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>name= (MIDI::Track)</title>
8
+ <title>new (MIDI::Track)</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/track.rb, line 41</span>
14
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">name=</span>(<span class="ruby-identifier">name</span>)
15
- <span class="ruby-identifier">event</span> = <span class="ruby-ivar">@events</span>.<span class="ruby-identifier">detect</span> { <span class="ruby-operator">|</span> <span class="ruby-identifier">e</span> <span class="ruby-operator">|</span>
16
- <span class="ruby-identifier">e</span>.<span class="ruby-identifier">meta?</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">e</span>.<span class="ruby-identifier">meta_type</span> <span class="ruby-operator">==</span> <span class="ruby-constant">META_SEQ_NAME</span>
17
- }
18
- <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">event</span>
19
- <span class="ruby-identifier">event</span>.<span class="ruby-identifier">data</span> = <span class="ruby-identifier">name</span>
20
- <span class="ruby-keyword kw">else</span>
21
- <span class="ruby-identifier">event</span> = <span class="ruby-constant">MetaEvent</span>.<span class="ruby-identifier">new</span>(<span class="ruby-constant">META_SEQ_NAME</span>, <span class="ruby-identifier">name</span>, <span class="ruby-value">0</span>)
22
- <span class="ruby-ivar">@events</span>[<span class="ruby-value">0</span>, <span class="ruby-value">0</span>] = <span class="ruby-identifier">event</span>
23
- <span class="ruby-keyword kw">end</span>
13
+ <pre><span class="ruby-comment cmt"># File lib/midilib/track.rb, line 23</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">sequence</span>)
15
+ <span class="ruby-ivar">@sequence</span> = <span class="ruby-identifier">sequence</span>
16
+ <span class="ruby-ivar">@events</span> = <span class="ruby-constant">Array</span>.<span class="ruby-identifier">new</span>()
17
+
18
+ <span class="ruby-comment cmt"># Bitmask of all channels used. Set when track is read in from</span>
19
+ <span class="ruby-comment cmt"># a MIDI file.</span>
20
+ <span class="ruby-ivar">@channels_used</span> = <span class="ruby-value">0</span>
24
21
  <span class="ruby-keyword kw">end</span></pre>
25
22
  </body>
26
23
  </html>
@@ -5,14 +5,17 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>merge (MIDI::Track)</title>
8
+ <title>name (MIDI::Track)</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/track.rb, line 56</span>
14
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">merge</span>(<span class="ruby-identifier">event_list</span>)
15
- <span class="ruby-ivar">@events</span> = <span class="ruby-identifier">merge_event_lists</span>(<span class="ruby-ivar">@events</span>, <span class="ruby-identifier">event_list</span>)
13
+ <pre><span class="ruby-comment cmt"># File lib/midilib/track.rb, line 33</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">name</span>
15
+ <span class="ruby-identifier">event</span> = <span class="ruby-ivar">@events</span>.<span class="ruby-identifier">detect</span> { <span class="ruby-operator">|</span> <span class="ruby-identifier">e</span> <span class="ruby-operator">|</span>
16
+ <span class="ruby-identifier">e</span>.<span class="ruby-identifier">meta?</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">e</span>.<span class="ruby-identifier">meta_type</span> <span class="ruby-operator">==</span> <span class="ruby-constant">META_SEQ_NAME</span>
17
+ }
18
+ <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">event</span> <span class="ruby-operator">?</span> <span class="ruby-identifier">event</span>.<span class="ruby-identifier">data</span> <span class="ruby-operator">:</span> <span class="ruby-constant">UNNAMED</span>
16
19
  <span class="ruby-keyword kw">end</span></pre>
17
20
  </body>
18
21
  </html>
@@ -5,18 +5,22 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>merge_event_lists (MIDI::Track)</title>
8
+ <title>name= (MIDI::Track)</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/track.rb, line 61</span>
14
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">merge_event_lists</span>(<span class="ruby-identifier">list1</span>, <span class="ruby-identifier">list2</span>)
15
- <span class="ruby-identifier">recalc_times</span>(<span class="ruby-value">0</span>, <span class="ruby-identifier">list1</span>)
16
- <span class="ruby-identifier">recalc_times</span>(<span class="ruby-value">0</span>, <span class="ruby-identifier">list2</span>)
17
- <span class="ruby-identifier">list</span> = (<span class="ruby-identifier">list1</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">list2</span>).<span class="ruby-identifier">sort_by</span> { <span class="ruby-operator">|</span> <span class="ruby-identifier">e</span> <span class="ruby-operator">|</span> <span class="ruby-identifier">e</span>.<span class="ruby-identifier">time_from_start</span> }
18
- <span class="ruby-identifier">recalc_delta_from_times</span>(<span class="ruby-value">0</span>, <span class="ruby-identifier">list</span>)
19
- <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">list</span>
13
+ <pre><span class="ruby-comment cmt"># File lib/midilib/track.rb, line 41</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">name=</span>(<span class="ruby-identifier">name</span>)
15
+ <span class="ruby-identifier">event</span> = <span class="ruby-ivar">@events</span>.<span class="ruby-identifier">detect</span> { <span class="ruby-operator">|</span> <span class="ruby-identifier">e</span> <span class="ruby-operator">|</span>
16
+ <span class="ruby-identifier">e</span>.<span class="ruby-identifier">meta?</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">e</span>.<span class="ruby-identifier">meta_type</span> <span class="ruby-operator">==</span> <span class="ruby-constant">META_SEQ_NAME</span>
17
+ }
18
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">event</span>
19
+ <span class="ruby-identifier">event</span>.<span class="ruby-identifier">data</span> = <span class="ruby-identifier">name</span>
20
+ <span class="ruby-keyword kw">else</span>
21
+ <span class="ruby-identifier">event</span> = <span class="ruby-constant">MetaEvent</span>.<span class="ruby-identifier">new</span>(<span class="ruby-constant">META_SEQ_NAME</span>, <span class="ruby-identifier">name</span>, <span class="ruby-value">0</span>)
22
+ <span class="ruby-ivar">@events</span>[<span class="ruby-value">0</span>, <span class="ruby-value">0</span>] = <span class="ruby-identifier">event</span>
23
+ <span class="ruby-keyword kw">end</span>
20
24
  <span class="ruby-keyword kw">end</span></pre>
21
25
  </body>
22
26
  </html>
@@ -5,21 +5,14 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>quantize (MIDI::Track)</title>
8
+ <title>merge (MIDI::Track)</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/track.rb, line 75</span>
14
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">quantize</span>(<span class="ruby-identifier">length_or_note</span>)
15
- <span class="ruby-identifier">delta</span> = <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">length_or_note</span>
16
- <span class="ruby-keyword kw">when</span> <span class="ruby-constant">String</span>
17
- <span class="ruby-ivar">@sequence</span>.<span class="ruby-identifier">note_to_delta</span>(<span class="ruby-identifier">length_or_note</span>)
18
- <span class="ruby-keyword kw">else</span>
19
- <span class="ruby-ivar">@sequence</span>.<span class="ruby-identifier">length_to_delta</span>(<span class="ruby-identifier">length_or_note</span>.<span class="ruby-identifier">to_i</span>)
20
- <span class="ruby-keyword kw">end</span>
21
- <span class="ruby-ivar">@events</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span> <span class="ruby-identifier">event</span> <span class="ruby-operator">|</span> <span class="ruby-identifier">event</span>.<span class="ruby-identifier">quantize_to</span>(<span class="ruby-identifier">delta</span>) }
22
- <span class="ruby-identifier">recalc_delta_from_times</span>
13
+ <pre><span class="ruby-comment cmt"># File lib/midilib/track.rb, line 56</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">merge</span>(<span class="ruby-identifier">event_list</span>)
15
+ <span class="ruby-ivar">@events</span> = <span class="ruby-identifier">merge_event_lists</span>(<span class="ruby-ivar">@events</span>, <span class="ruby-identifier">event_list</span>)
23
16
  <span class="ruby-keyword kw">end</span></pre>
24
17
  </body>
25
18
  </html>
@@ -5,18 +5,18 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>recalc_times (MIDI::Track)</title>
8
+ <title>merge_event_lists (MIDI::Track)</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/track.rb, line 88</span>
14
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">recalc_times</span>(<span class="ruby-identifier">starting_at</span>=<span class="ruby-value">0</span>, <span class="ruby-identifier">list</span>=<span class="ruby-ivar">@events</span>)
15
- <span class="ruby-identifier">t</span> = (<span class="ruby-identifier">starting_at</span> <span class="ruby-operator">==</span> <span class="ruby-value">0</span>) <span class="ruby-operator">?</span> <span class="ruby-value">0</span> <span class="ruby-operator">:</span> <span class="ruby-identifier">list</span>[<span class="ruby-identifier">starting_at</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span>].<span class="ruby-identifier">time_from_start</span>
16
- <span class="ruby-identifier">list</span>[<span class="ruby-identifier">starting_at</span> <span class="ruby-operator">..</span> <span class="ruby-value">-1</span>].<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span> <span class="ruby-identifier">e</span> <span class="ruby-operator">|</span>
17
- <span class="ruby-identifier">t</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">e</span>.<span class="ruby-identifier">delta_time</span>
18
- <span class="ruby-identifier">e</span>.<span class="ruby-identifier">time_from_start</span> = <span class="ruby-identifier">t</span>
19
- }
13
+ <pre><span class="ruby-comment cmt"># File lib/midilib/track.rb, line 61</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">merge_event_lists</span>(<span class="ruby-identifier">list1</span>, <span class="ruby-identifier">list2</span>)
15
+ <span class="ruby-identifier">recalc_times</span>(<span class="ruby-value">0</span>, <span class="ruby-identifier">list1</span>)
16
+ <span class="ruby-identifier">recalc_times</span>(<span class="ruby-value">0</span>, <span class="ruby-identifier">list2</span>)
17
+ <span class="ruby-identifier">list</span> = (<span class="ruby-identifier">list1</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">list2</span>).<span class="ruby-identifier">sort_by</span> { <span class="ruby-operator">|</span> <span class="ruby-identifier">e</span> <span class="ruby-operator">|</span> <span class="ruby-identifier">e</span>.<span class="ruby-identifier">time_from_start</span> }
18
+ <span class="ruby-identifier">recalc_delta_from_times</span>(<span class="ruby-value">0</span>, <span class="ruby-identifier">list</span>)
19
+ <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">list</span>
20
20
  <span class="ruby-keyword kw">end</span></pre>
21
21
  </body>
22
22
  </html>
@@ -5,22 +5,21 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>recalc_delta_from_times (MIDI::Track)</title>
8
+ <title>quantize (MIDI::Track)</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/track.rb, line 100</span>
14
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">recalc_delta_from_times</span>(<span class="ruby-identifier">starting_at</span>=<span class="ruby-value">0</span>, <span class="ruby-identifier">list</span>=<span class="ruby-ivar">@events</span>)
15
- <span class="ruby-identifier">prev_time_from_start</span> = <span class="ruby-value">0</span>
16
- <span class="ruby-comment cmt"># We need to sort the sublist. sublist.sort! does not do what we want.</span>
17
- <span class="ruby-identifier">list</span>[<span class="ruby-identifier">starting_at</span> <span class="ruby-operator">..</span> <span class="ruby-value">-1</span>] = <span class="ruby-identifier">list</span>[<span class="ruby-identifier">starting_at</span> <span class="ruby-operator">..</span> <span class="ruby-value">-1</span>].<span class="ruby-identifier">sort</span> { <span class="ruby-operator">|</span> <span class="ruby-identifier">e1</span>, <span class="ruby-identifier">e2</span> <span class="ruby-operator">|</span>
18
- <span class="ruby-identifier">e1</span>.<span class="ruby-identifier">time_from_start</span> <span class="ruby-operator">&lt;=&gt;</span> <span class="ruby-identifier">e2</span>.<span class="ruby-identifier">time_from_start</span>
19
- }
20
- <span class="ruby-identifier">list</span>[<span class="ruby-identifier">starting_at</span> <span class="ruby-operator">..</span> <span class="ruby-value">-1</span>].<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span> <span class="ruby-identifier">e</span> <span class="ruby-operator">|</span>
21
- <span class="ruby-identifier">e</span>.<span class="ruby-identifier">delta_time</span> = <span class="ruby-identifier">e</span>.<span class="ruby-identifier">time_from_start</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">prev_time_from_start</span>
22
- <span class="ruby-identifier">prev_time_from_start</span> = <span class="ruby-identifier">e</span>.<span class="ruby-identifier">time_from_start</span>
23
- }
13
+ <pre><span class="ruby-comment cmt"># File lib/midilib/track.rb, line 75</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">quantize</span>(<span class="ruby-identifier">length_or_note</span>)
15
+ <span class="ruby-identifier">delta</span> = <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">length_or_note</span>
16
+ <span class="ruby-keyword kw">when</span> <span class="ruby-constant">String</span>
17
+ <span class="ruby-ivar">@sequence</span>.<span class="ruby-identifier">note_to_delta</span>(<span class="ruby-identifier">length_or_note</span>)
18
+ <span class="ruby-keyword kw">else</span>
19
+ <span class="ruby-ivar">@sequence</span>.<span class="ruby-identifier">length_to_delta</span>(<span class="ruby-identifier">length_or_note</span>.<span class="ruby-identifier">to_i</span>)
20
+ <span class="ruby-keyword kw">end</span>
21
+ <span class="ruby-ivar">@events</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span> <span class="ruby-identifier">event</span> <span class="ruby-operator">|</span> <span class="ruby-identifier">event</span>.<span class="ruby-identifier">quantize_to</span>(<span class="ruby-identifier">delta</span>) }
22
+ <span class="ruby-identifier">recalc_delta_from_times</span>
24
23
  <span class="ruby-keyword kw">end</span></pre>
25
24
  </body>
26
25
  </html>
@@ -5,14 +5,18 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>each (MIDI::Track)</title>
8
+ <title>recalc_times (MIDI::Track)</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/track.rb, line 113</span>
14
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">each</span> <span class="ruby-comment cmt"># :yields: event</span>
15
- <span class="ruby-ivar">@events</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span> <span class="ruby-identifier">event</span> <span class="ruby-operator">|</span> <span class="ruby-keyword kw">yield</span> <span class="ruby-identifier">event</span> }
13
+ <pre><span class="ruby-comment cmt"># File lib/midilib/track.rb, line 88</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">recalc_times</span>(<span class="ruby-identifier">starting_at</span>=<span class="ruby-value">0</span>, <span class="ruby-identifier">list</span>=<span class="ruby-ivar">@events</span>)
15
+ <span class="ruby-identifier">t</span> = (<span class="ruby-identifier">starting_at</span> <span class="ruby-operator">==</span> <span class="ruby-value">0</span>) <span class="ruby-operator">?</span> <span class="ruby-value">0</span> <span class="ruby-operator">:</span> <span class="ruby-identifier">list</span>[<span class="ruby-identifier">starting_at</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span>].<span class="ruby-identifier">time_from_start</span>
16
+ <span class="ruby-identifier">list</span>[<span class="ruby-identifier">starting_at</span> <span class="ruby-operator">..</span> <span class="ruby-value">-1</span>].<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span> <span class="ruby-identifier">e</span> <span class="ruby-operator">|</span>
17
+ <span class="ruby-identifier">t</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">e</span>.<span class="ruby-identifier">delta_time</span>
18
+ <span class="ruby-identifier">e</span>.<span class="ruby-identifier">time_from_start</span> = <span class="ruby-identifier">t</span>
19
+ }
16
20
  <span class="ruby-keyword kw">end</span></pre>
17
21
  </body>
18
22
  </html>
@@ -5,15 +5,22 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>sort (MIDI::Track)</title>
8
+ <title>recalc_delta_from_times (MIDI::Track)</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/track.rb, line 120</span>
14
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">sort</span>
15
- <span class="ruby-ivar">@events</span> = <span class="ruby-ivar">@events</span>.<span class="ruby-identifier">sort_by</span> { <span class="ruby-operator">|</span> <span class="ruby-identifier">e</span> <span class="ruby-operator">|</span> <span class="ruby-identifier">e</span>.<span class="ruby-identifier">time_from_start</span> }
16
- <span class="ruby-identifier">recalc_delta_from_times</span>()
13
+ <pre><span class="ruby-comment cmt"># File lib/midilib/track.rb, line 100</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">recalc_delta_from_times</span>(<span class="ruby-identifier">starting_at</span>=<span class="ruby-value">0</span>, <span class="ruby-identifier">list</span>=<span class="ruby-ivar">@events</span>)
15
+ <span class="ruby-identifier">prev_time_from_start</span> = <span class="ruby-value">0</span>
16
+ <span class="ruby-comment cmt"># We need to sort the sublist. sublist.sort! does not do what we want.</span>
17
+ <span class="ruby-identifier">list</span>[<span class="ruby-identifier">starting_at</span> <span class="ruby-operator">..</span> <span class="ruby-value">-1</span>] = <span class="ruby-identifier">list</span>[<span class="ruby-identifier">starting_at</span> <span class="ruby-operator">..</span> <span class="ruby-value">-1</span>].<span class="ruby-identifier">sort</span> { <span class="ruby-operator">|</span> <span class="ruby-identifier">e1</span>, <span class="ruby-identifier">e2</span> <span class="ruby-operator">|</span>
18
+ <span class="ruby-identifier">e1</span>.<span class="ruby-identifier">time_from_start</span> <span class="ruby-operator">&lt;=&gt;</span> <span class="ruby-identifier">e2</span>.<span class="ruby-identifier">time_from_start</span>
19
+ }
20
+ <span class="ruby-identifier">list</span>[<span class="ruby-identifier">starting_at</span> <span class="ruby-operator">..</span> <span class="ruby-value">-1</span>].<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span> <span class="ruby-identifier">e</span> <span class="ruby-operator">|</span>
21
+ <span class="ruby-identifier">e</span>.<span class="ruby-identifier">delta_time</span> = <span class="ruby-identifier">e</span>.<span class="ruby-identifier">time_from_start</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">prev_time_from_start</span>
22
+ <span class="ruby-identifier">prev_time_from_start</span> = <span class="ruby-identifier">e</span>.<span class="ruby-identifier">time_from_start</span>
23
+ }
17
24
  <span class="ruby-keyword kw">end</span></pre>
18
25
  </body>
19
26
  </html>
@@ -0,0 +1,18 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html>
7
+ <head>
8
+ <title>each (MIDI::Track)</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
11
+ </head>
12
+ <body class="standalone-code">
13
+ <pre><span class="ruby-comment cmt"># File lib/midilib/track.rb, line 113</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">each</span> <span class="ruby-comment cmt"># :yields: event</span>
15
+ <span class="ruby-ivar">@events</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span> <span class="ruby-identifier">event</span> <span class="ruby-operator">|</span> <span class="ruby-keyword kw">yield</span> <span class="ruby-identifier">event</span> }
16
+ <span class="ruby-keyword kw">end</span></pre>
17
+ </body>
18
+ </html>
@@ -5,19 +5,15 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>new (MIDI::Track)</title>
8
+ <title>sort (MIDI::Track)</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/track.rb, line 23</span>
14
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">sequence</span>)
15
- <span class="ruby-ivar">@sequence</span> = <span class="ruby-identifier">sequence</span>
16
- <span class="ruby-ivar">@events</span> = <span class="ruby-constant">Array</span>.<span class="ruby-identifier">new</span>()
17
-
18
- <span class="ruby-comment cmt"># Bitmask of all channels used. Set when track is read in from</span>
19
- <span class="ruby-comment cmt"># a MIDI file.</span>
20
- <span class="ruby-ivar">@channels_used</span> = <span class="ruby-value">0</span>
13
+ <pre><span class="ruby-comment cmt"># File lib/midilib/track.rb, line 120</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">sort</span>
15
+ <span class="ruby-ivar">@events</span> = <span class="ruby-ivar">@events</span>.<span class="ruby-identifier">sort_by</span> { <span class="ruby-operator">|</span> <span class="ruby-identifier">e</span> <span class="ruby-operator">|</span> <span class="ruby-identifier">e</span>.<span class="ruby-identifier">time_from_start</span> }
16
+ <span class="ruby-identifier">recalc_delta_from_times</span>()
21
17
  <span class="ruby-keyword kw">end</span></pre>
22
18
  </body>
23
19
  </html>