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
@@ -0,0 +1,22 @@
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>beats_per_minute (MIDI::Sequence)</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/sequence.rb, line 68</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">beats_per_minute</span>
15
+ <span class="ruby-keyword kw">return</span> <span class="ruby-constant">DEFAULT_TEMPO</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@tracks</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-operator">||</span> <span class="ruby-ivar">@tracks</span>.<span class="ruby-identifier">empty?</span>
16
+ <span class="ruby-identifier">event</span> = <span class="ruby-ivar">@tracks</span>.<span class="ruby-identifier">first</span>.<span class="ruby-identifier">events</span>.<span class="ruby-identifier">detect</span> { <span class="ruby-operator">|</span> <span class="ruby-identifier">e</span> <span class="ruby-operator">|</span>
17
+ <span class="ruby-identifier">e</span>.<span class="ruby-identifier">kind_of?</span>(<span class="ruby-constant">MIDI</span><span class="ruby-operator">::</span><span class="ruby-constant">Tempo</span>)
18
+ }
19
+ <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">event</span> <span class="ruby-operator">?</span> (<span class="ruby-constant">Tempo</span>.<span class="ruby-identifier">mpq_to_bpm</span>(<span class="ruby-identifier">event</span>.<span class="ruby-identifier">tempo</span>)) <span class="ruby-operator">:</span> <span class="ruby-constant">DEFAULT_TEMPO</span>
20
+ <span class="ruby-keyword kw">end</span></pre>
21
+ </body>
22
+ </html>
@@ -5,14 +5,14 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>length_to_delta (MIDI::Sequence)</title>
8
+ <title>note_to_delta (MIDI::Sequence)</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/sequence.rb, line 114</span>
14
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">length_to_delta</span>(<span class="ruby-identifier">length</span>)
15
- <span class="ruby-keyword kw">return</span> (<span class="ruby-ivar">@ppqn</span> <span class="ruby-operator">*</span> <span class="ruby-identifier">length</span>).<span class="ruby-identifier">to_i</span>
13
+ <pre><span class="ruby-comment cmt"># File lib/midilib/sequence.rb, line 81</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">note_to_delta</span>(<span class="ruby-identifier">name</span>)
15
+ <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">length_to_delta</span>(<span class="ruby-identifier">note_to_length</span>(<span class="ruby-identifier">name</span>))
16
16
  <span class="ruby-keyword kw">end</span></pre>
17
17
  </body>
18
18
  </html>
@@ -5,15 +5,23 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>name (MIDI::Sequence)</title>
8
+ <title>note_to_length (MIDI::Sequence)</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/sequence.rb, line 120</span>
14
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">name</span>
15
- <span class="ruby-keyword kw">return</span> <span class="ruby-constant">UNNAMED</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@tracks</span>.<span class="ruby-identifier">empty?</span>
16
- <span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@tracks</span>.<span class="ruby-identifier">first</span>.<span class="ruby-identifier">name</span>()
13
+ <pre><span class="ruby-comment cmt"># File lib/midilib/sequence.rb, line 94</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">note_to_length</span>(<span class="ruby-identifier">name</span>)
15
+ <span class="ruby-identifier">name</span>.<span class="ruby-identifier">strip!</span>
16
+ <span class="ruby-identifier">name</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp re">/^(dotted)?(.*?)(triplet)?$/</span>
17
+ <span class="ruby-identifier">dotted</span>, <span class="ruby-identifier">note_name</span>, <span class="ruby-identifier">triplet</span> = <span class="ruby-identifier">$1</span>, <span class="ruby-identifier">$2</span>, <span class="ruby-identifier">$3</span>
18
+ <span class="ruby-identifier">note_name</span>.<span class="ruby-identifier">strip!</span>
19
+ <span class="ruby-identifier">mult</span> = <span class="ruby-value">1.0</span>
20
+ <span class="ruby-identifier">mult</span> = <span class="ruby-value">1.5</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">dotted</span>
21
+ <span class="ruby-identifier">mult</span> <span class="ruby-operator">/=</span> <span class="ruby-value">3.0</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">triplet</span>
22
+ <span class="ruby-identifier">len</span> = <span class="ruby-constant">NOTE_TO_LENGTH</span>[<span class="ruby-identifier">note_name</span>]
23
+ <span class="ruby-identifier">raise</span> <span class="ruby-node">&quot;Sequence.note_to_length: \&quot;#{note_name}\&quot; not understood in \&quot;#{name}\&quot;&quot;</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">len</span>
24
+ <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">len</span> <span class="ruby-operator">*</span> <span class="ruby-identifier">mult</span>
17
25
  <span class="ruby-keyword kw">end</span></pre>
18
26
  </body>
19
27
  </html>
@@ -5,15 +5,14 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>name= (MIDI::Sequence)</title>
8
+ <title>length_to_delta (MIDI::Sequence)</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/sequence.rb, line 126</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-keyword kw">return</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@tracks</span>.<span class="ruby-identifier">empty?</span>
16
- <span class="ruby-ivar">@tracks</span>.<span class="ruby-identifier">first</span>.<span class="ruby-identifier">name</span> = <span class="ruby-identifier">name</span>
13
+ <pre><span class="ruby-comment cmt"># File lib/midilib/sequence.rb, line 114</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">length_to_delta</span>(<span class="ruby-identifier">length</span>)
15
+ <span class="ruby-keyword kw">return</span> (<span class="ruby-ivar">@ppqn</span> <span class="ruby-operator">*</span> <span class="ruby-identifier">length</span>).<span class="ruby-identifier">to_i</span>
17
16
  <span class="ruby-keyword kw">end</span></pre>
18
17
  </body>
19
18
  </html>
@@ -5,15 +5,15 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>read (MIDI::Sequence)</title>
8
+ <title>name (MIDI::Sequence)</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/sequence.rb, line 132</span>
14
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">read</span>(<span class="ruby-identifier">io</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-identifier">reader</span> = <span class="ruby-ivar">@reader_class</span>.<span class="ruby-identifier">new</span>(<span class="ruby-keyword kw">self</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>)
16
- <span class="ruby-identifier">reader</span>.<span class="ruby-identifier">read_from</span>(<span class="ruby-identifier">io</span>)
13
+ <pre><span class="ruby-comment cmt"># File lib/midilib/sequence.rb, line 120</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">name</span>
15
+ <span class="ruby-keyword kw">return</span> <span class="ruby-constant">UNNAMED</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@tracks</span>.<span class="ruby-identifier">empty?</span>
16
+ <span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@tracks</span>.<span class="ruby-identifier">first</span>.<span class="ruby-identifier">name</span>()
17
17
  <span class="ruby-keyword kw">end</span></pre>
18
18
  </body>
19
19
  </html>
@@ -5,15 +5,15 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>write (MIDI::Sequence)</title>
8
+ <title>name= (MIDI::Sequence)</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/sequence.rb, line 138</span>
14
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">write</span>(<span class="ruby-identifier">io</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-identifier">writer</span> = <span class="ruby-ivar">@writer_class</span>.<span class="ruby-identifier">new</span>(<span class="ruby-keyword kw">self</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>)
16
- <span class="ruby-identifier">writer</span>.<span class="ruby-identifier">write_to</span>(<span class="ruby-identifier">io</span>)
13
+ <pre><span class="ruby-comment cmt"># File lib/midilib/sequence.rb, line 126</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-keyword kw">return</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@tracks</span>.<span class="ruby-identifier">empty?</span>
16
+ <span class="ruby-ivar">@tracks</span>.<span class="ruby-identifier">first</span>.<span class="ruby-identifier">name</span> = <span class="ruby-identifier">name</span>
17
17
  <span class="ruby-keyword kw">end</span></pre>
18
18
  </body>
19
19
  </html>
@@ -5,14 +5,15 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>each (MIDI::Sequence)</title>
8
+ <title>read (MIDI::Sequence)</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/sequence.rb, line 144</span>
14
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">each</span> <span class="ruby-comment cmt"># :yields: track</span>
15
- <span class="ruby-ivar">@tracks</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span> <span class="ruby-identifier">track</span> <span class="ruby-operator">|</span> <span class="ruby-keyword kw">yield</span> <span class="ruby-identifier">track</span> }
13
+ <pre><span class="ruby-comment cmt"># File lib/midilib/sequence.rb, line 132</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">read</span>(<span class="ruby-identifier">io</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-identifier">reader</span> = <span class="ruby-ivar">@reader_class</span>.<span class="ruby-identifier">new</span>(<span class="ruby-keyword kw">self</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>)
16
+ <span class="ruby-identifier">reader</span>.<span class="ruby-identifier">read_from</span>(<span class="ruby-identifier">io</span>)
16
17
  <span class="ruby-keyword kw">end</span></pre>
17
18
  </body>
18
19
  </html>
@@ -5,50 +5,15 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>get_measures (MIDI::Sequence)</title>
8
+ <title>write (MIDI::Sequence)</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/sequence.rb, line 150</span>
14
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">get_measures</span>
15
- <span class="ruby-comment cmt"># Collect time sig events and scan for last event time</span>
16
- <span class="ruby-identifier">time_sigs</span> = []
17
- <span class="ruby-identifier">max_pos</span> = <span class="ruby-value">0</span>
18
- <span class="ruby-ivar">@tracks</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">t</span><span class="ruby-operator">|</span>
19
- <span class="ruby-identifier">t</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">e</span><span class="ruby-operator">|</span>
20
- <span class="ruby-identifier">time_sigs</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">e</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">e</span>.<span class="ruby-identifier">timesig?</span>
21
- <span class="ruby-identifier">max_pos</span> = <span class="ruby-identifier">e</span>.<span class="ruby-identifier">time_from_start</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">e</span>.<span class="ruby-identifier">time_from_start</span> <span class="ruby-operator">&gt;</span> <span class="ruby-identifier">max_pos</span>
22
- }
23
- }
24
- <span class="ruby-identifier">time_sigs</span>.<span class="ruby-identifier">sort</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">x</span>,<span class="ruby-identifier">y</span><span class="ruby-operator">|</span> <span class="ruby-identifier">x</span>.<span class="ruby-identifier">time_from_start</span> <span class="ruby-operator">&lt;=&gt;</span> <span class="ruby-identifier">y</span>.<span class="ruby-identifier">time_from_start</span> }
25
-
26
- <span class="ruby-comment cmt"># Add a &quot;fake&quot; time sig event at the very last position of the sequence,</span>
27
- <span class="ruby-comment cmt"># just to make sure the whole sequence is calculated.</span>
28
- <span class="ruby-identifier">t</span> = <span class="ruby-constant">MIDI</span><span class="ruby-operator">::</span><span class="ruby-constant">TimeSig</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value">4</span>, <span class="ruby-value">2</span>, <span class="ruby-value">24</span>, <span class="ruby-value">8</span>, <span class="ruby-value">0</span>)
29
- <span class="ruby-identifier">t</span>.<span class="ruby-identifier">time_from_start</span> = <span class="ruby-identifier">max_pos</span>
30
- <span class="ruby-identifier">time_sigs</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">t</span>
31
-
32
- <span class="ruby-comment cmt"># Default to 4/4</span>
33
- <span class="ruby-identifier">measure_length</span> = <span class="ruby-ivar">@ppqn</span> <span class="ruby-operator">*</span> <span class="ruby-value">4</span>
34
- <span class="ruby-identifier">oldnumer</span>, <span class="ruby-identifier">olddenom</span>, <span class="ruby-identifier">oldbeats</span> = <span class="ruby-value">4</span>, <span class="ruby-value">2</span>, <span class="ruby-value">24</span>
35
-
36
- <span class="ruby-identifier">measures</span> = <span class="ruby-constant">MIDI</span><span class="ruby-operator">::</span><span class="ruby-constant">Measures</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">max_pos</span>, <span class="ruby-ivar">@ppqn</span>)
37
- <span class="ruby-identifier">curr_pos</span> = <span class="ruby-value">0</span>
38
- <span class="ruby-identifier">curr_meas_no</span> = <span class="ruby-value">1</span>
39
- <span class="ruby-identifier">time_sigs</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">te</span><span class="ruby-operator">|</span>
40
- <span class="ruby-identifier">meas_count</span> = (<span class="ruby-identifier">te</span>.<span class="ruby-identifier">time_from_start</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">curr_pos</span>) <span class="ruby-operator">/</span> <span class="ruby-identifier">measure_length</span>
41
- <span class="ruby-identifier">meas_count</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span> <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">te</span>.<span class="ruby-identifier">time_from_start</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">curr_pos</span>) <span class="ruby-operator">%</span> <span class="ruby-identifier">measure_length</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">0</span>
42
- <span class="ruby-value">1</span>.<span class="ruby-identifier">upto</span>(<span class="ruby-identifier">meas_count</span>) { <span class="ruby-operator">|</span><span class="ruby-identifier">i</span><span class="ruby-operator">|</span>
43
- <span class="ruby-identifier">measures</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">MIDI</span><span class="ruby-operator">::</span><span class="ruby-constant">Measure</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">curr_meas_no</span>,
44
- <span class="ruby-identifier">curr_pos</span>, <span class="ruby-identifier">measure_length</span>, <span class="ruby-identifier">oldnumer</span>, <span class="ruby-identifier">olddenom</span>, <span class="ruby-identifier">oldbeats</span>)
45
- <span class="ruby-identifier">curr_meas_no</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
46
- <span class="ruby-identifier">curr_pos</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">measure_length</span>
47
- }
48
- <span class="ruby-identifier">oldnumer</span>, <span class="ruby-identifier">olddenom</span>, <span class="ruby-identifier">oldbeats</span> = <span class="ruby-identifier">te</span>.<span class="ruby-identifier">numerator</span>, <span class="ruby-identifier">te</span>.<span class="ruby-identifier">denominator</span>, <span class="ruby-identifier">te</span>.<span class="ruby-identifier">metronome_ticks</span>
49
- <span class="ruby-identifier">measure_length</span> = <span class="ruby-identifier">te</span>.<span class="ruby-identifier">measure_duration</span>(<span class="ruby-ivar">@ppqn</span>)
50
- }
51
- <span class="ruby-identifier">measures</span>
13
+ <pre><span class="ruby-comment cmt"># File lib/midilib/sequence.rb, line 138</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">write</span>(<span class="ruby-identifier">io</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-identifier">writer</span> = <span class="ruby-ivar">@writer_class</span>.<span class="ruby-identifier">new</span>(<span class="ruby-keyword kw">self</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>)
16
+ <span class="ruby-identifier">writer</span>.<span class="ruby-identifier">write_to</span>(<span class="ruby-identifier">io</span>)
52
17
  <span class="ruby-keyword kw">end</span></pre>
53
18
  </body>
54
19
  </html>
@@ -5,14 +5,14 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>note_to_delta (MIDI::Sequence)</title>
8
+ <title>each (MIDI::Sequence)</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/sequence.rb, line 81</span>
14
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">note_to_delta</span>(<span class="ruby-identifier">name</span>)
15
- <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">length_to_delta</span>(<span class="ruby-identifier">note_to_length</span>(<span class="ruby-identifier">name</span>))
13
+ <pre><span class="ruby-comment cmt"># File lib/midilib/sequence.rb, line 144</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">each</span> <span class="ruby-comment cmt"># :yields: track</span>
15
+ <span class="ruby-ivar">@tracks</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span> <span class="ruby-identifier">track</span> <span class="ruby-operator">|</span> <span class="ruby-keyword kw">yield</span> <span class="ruby-identifier">track</span> }
16
16
  <span class="ruby-keyword kw">end</span></pre>
17
17
  </body>
18
18
  </html>
@@ -0,0 +1,54 @@
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>get_measures (MIDI::Sequence)</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/sequence.rb, line 150</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">get_measures</span>
15
+ <span class="ruby-comment cmt"># Collect time sig events and scan for last event time</span>
16
+ <span class="ruby-identifier">time_sigs</span> = []
17
+ <span class="ruby-identifier">max_pos</span> = <span class="ruby-value">0</span>
18
+ <span class="ruby-ivar">@tracks</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">t</span><span class="ruby-operator">|</span>
19
+ <span class="ruby-identifier">t</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">e</span><span class="ruby-operator">|</span>
20
+ <span class="ruby-identifier">time_sigs</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">e</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">e</span>.<span class="ruby-identifier">timesig?</span>
21
+ <span class="ruby-identifier">max_pos</span> = <span class="ruby-identifier">e</span>.<span class="ruby-identifier">time_from_start</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">e</span>.<span class="ruby-identifier">time_from_start</span> <span class="ruby-operator">&gt;</span> <span class="ruby-identifier">max_pos</span>
22
+ }
23
+ }
24
+ <span class="ruby-identifier">time_sigs</span>.<span class="ruby-identifier">sort</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">x</span>,<span class="ruby-identifier">y</span><span class="ruby-operator">|</span> <span class="ruby-identifier">x</span>.<span class="ruby-identifier">time_from_start</span> <span class="ruby-operator">&lt;=&gt;</span> <span class="ruby-identifier">y</span>.<span class="ruby-identifier">time_from_start</span> }
25
+
26
+ <span class="ruby-comment cmt"># Add a &quot;fake&quot; time sig event at the very last position of the sequence,</span>
27
+ <span class="ruby-comment cmt"># just to make sure the whole sequence is calculated.</span>
28
+ <span class="ruby-identifier">t</span> = <span class="ruby-constant">MIDI</span><span class="ruby-operator">::</span><span class="ruby-constant">TimeSig</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value">4</span>, <span class="ruby-value">2</span>, <span class="ruby-value">24</span>, <span class="ruby-value">8</span>, <span class="ruby-value">0</span>)
29
+ <span class="ruby-identifier">t</span>.<span class="ruby-identifier">time_from_start</span> = <span class="ruby-identifier">max_pos</span>
30
+ <span class="ruby-identifier">time_sigs</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">t</span>
31
+
32
+ <span class="ruby-comment cmt"># Default to 4/4</span>
33
+ <span class="ruby-identifier">measure_length</span> = <span class="ruby-ivar">@ppqn</span> <span class="ruby-operator">*</span> <span class="ruby-value">4</span>
34
+ <span class="ruby-identifier">oldnumer</span>, <span class="ruby-identifier">olddenom</span>, <span class="ruby-identifier">oldbeats</span> = <span class="ruby-value">4</span>, <span class="ruby-value">2</span>, <span class="ruby-value">24</span>
35
+
36
+ <span class="ruby-identifier">measures</span> = <span class="ruby-constant">MIDI</span><span class="ruby-operator">::</span><span class="ruby-constant">Measures</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">max_pos</span>, <span class="ruby-ivar">@ppqn</span>)
37
+ <span class="ruby-identifier">curr_pos</span> = <span class="ruby-value">0</span>
38
+ <span class="ruby-identifier">curr_meas_no</span> = <span class="ruby-value">1</span>
39
+ <span class="ruby-identifier">time_sigs</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">te</span><span class="ruby-operator">|</span>
40
+ <span class="ruby-identifier">meas_count</span> = (<span class="ruby-identifier">te</span>.<span class="ruby-identifier">time_from_start</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">curr_pos</span>) <span class="ruby-operator">/</span> <span class="ruby-identifier">measure_length</span>
41
+ <span class="ruby-identifier">meas_count</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span> <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">te</span>.<span class="ruby-identifier">time_from_start</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">curr_pos</span>) <span class="ruby-operator">%</span> <span class="ruby-identifier">measure_length</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">0</span>
42
+ <span class="ruby-value">1</span>.<span class="ruby-identifier">upto</span>(<span class="ruby-identifier">meas_count</span>) { <span class="ruby-operator">|</span><span class="ruby-identifier">i</span><span class="ruby-operator">|</span>
43
+ <span class="ruby-identifier">measures</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">MIDI</span><span class="ruby-operator">::</span><span class="ruby-constant">Measure</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">curr_meas_no</span>,
44
+ <span class="ruby-identifier">curr_pos</span>, <span class="ruby-identifier">measure_length</span>, <span class="ruby-identifier">oldnumer</span>, <span class="ruby-identifier">olddenom</span>, <span class="ruby-identifier">oldbeats</span>)
45
+ <span class="ruby-identifier">curr_meas_no</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
46
+ <span class="ruby-identifier">curr_pos</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">measure_length</span>
47
+ }
48
+ <span class="ruby-identifier">oldnumer</span>, <span class="ruby-identifier">olddenom</span>, <span class="ruby-identifier">oldbeats</span> = <span class="ruby-identifier">te</span>.<span class="ruby-identifier">numerator</span>, <span class="ruby-identifier">te</span>.<span class="ruby-identifier">denominator</span>, <span class="ruby-identifier">te</span>.<span class="ruby-identifier">metronome_ticks</span>
49
+ <span class="ruby-identifier">measure_length</span> = <span class="ruby-identifier">te</span>.<span class="ruby-identifier">measure_duration</span>(<span class="ruby-ivar">@ppqn</span>)
50
+ }
51
+ <span class="ruby-identifier">measures</span>
52
+ <span class="ruby-keyword kw">end</span></pre>
53
+ </body>
54
+ </html>
@@ -88,9 +88,9 @@
88
88
  <h3 class="section-bar">Methods</h3>
89
89
 
90
90
  <div class="name-list">
91
- <a href="#M000161">data_as_bytes</a>&nbsp;&nbsp;
92
- <a href="#M000160">new</a>&nbsp;&nbsp;
93
- <a href="#M000162">to_s</a>&nbsp;&nbsp;
91
+ <a href="#M000163">data_as_bytes</a>&nbsp;&nbsp;
92
+ <a href="#M000162">new</a>&nbsp;&nbsp;
93
+ <a href="#M000164">to_s</a>&nbsp;&nbsp;
94
94
  </div>
95
95
  </div>
96
96
 
@@ -125,12 +125,12 @@
125
125
  <div id="methods">
126
126
  <h3 class="section-bar">Public Class methods</h3>
127
127
 
128
- <div id="method-M000160" class="method-detail">
129
- <a name="M000160"></a>
128
+ <div id="method-M000162" class="method-detail">
129
+ <a name="M000162"></a>
130
130
 
131
131
  <div class="method-heading">
132
- <a href="SongPointer.src/M000160.html" target="Code" class="method-signature"
133
- onclick="popupCode('SongPointer.src/M000160.html');return false;">
132
+ <a href="SongPointer.src/M000162.html" target="Code" class="method-signature"
133
+ onclick="popupCode('SongPointer.src/M000162.html');return false;">
134
134
  <span class="method-name">new</span><span class="method-args">(pointer = 0, delta_time = 0)</span>
135
135
  </a>
136
136
  </div>
@@ -141,12 +141,12 @@
141
141
 
142
142
  <h3 class="section-bar">Public Instance methods</h3>
143
143
 
144
- <div id="method-M000161" class="method-detail">
145
- <a name="M000161"></a>
144
+ <div id="method-M000163" class="method-detail">
145
+ <a name="M000163"></a>
146
146
 
147
147
  <div class="method-heading">
148
- <a href="SongPointer.src/M000161.html" target="Code" class="method-signature"
149
- onclick="popupCode('SongPointer.src/M000161.html');return false;">
148
+ <a href="SongPointer.src/M000163.html" target="Code" class="method-signature"
149
+ onclick="popupCode('SongPointer.src/M000163.html');return false;">
150
150
  <span class="method-name">data_as_bytes</span><span class="method-args">()</span>
151
151
  </a>
152
152
  </div>
@@ -155,12 +155,12 @@
155
155
  </div>
156
156
  </div>
157
157
 
158
- <div id="method-M000162" class="method-detail">
159
- <a name="M000162"></a>
158
+ <div id="method-M000164" class="method-detail">
159
+ <a name="M000164"></a>
160
160
 
161
161
  <div class="method-heading">
162
- <a href="SongPointer.src/M000162.html" target="Code" class="method-signature"
163
- onclick="popupCode('SongPointer.src/M000162.html');return false;">
162
+ <a href="SongPointer.src/M000164.html" target="Code" class="method-signature"
163
+ onclick="popupCode('SongPointer.src/M000164.html');return false;">
164
164
  <span class="method-name">to_s</span><span class="method-args">()</span>
165
165
  </a>
166
166
  </div>
@@ -5,14 +5,15 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>to_s (MIDI::SongPointer)</title>
8
+ <title>new (MIDI::SongPointer)</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/event.rb, line 368</span>
14
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_s</span>
15
- <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">super</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot;song ptr #{number_to_s(@pointer)}&quot;</span>
13
+ <pre><span class="ruby-comment cmt"># File lib/midilib/event.rb, line 350</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">pointer</span> = <span class="ruby-value">0</span>, <span class="ruby-identifier">delta_time</span> = <span class="ruby-value">0</span>)
15
+ <span class="ruby-keyword kw">super</span>(<span class="ruby-constant">SONG_POINTER</span>, <span class="ruby-identifier">delta_time</span>)
16
+ <span class="ruby-ivar">@pointer</span> = <span class="ruby-identifier">pointer</span>
16
17
  <span class="ruby-keyword kw">end</span></pre>
17
18
  </body>
18
19
  </html>
@@ -10,13 +10,12 @@
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/event.rb, line 360</span>
13
+ <pre><span class="ruby-comment cmt"># File lib/midilib/event.rb, line 355</span>
14
14
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">data_as_bytes</span>
15
- <span class="ruby-identifier">data</span> = <span class="ruby-value str">''</span>
15
+ <span class="ruby-identifier">data</span> = []
16
16
  <span class="ruby-identifier">data</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-ivar">@status</span>
17
17
  <span class="ruby-identifier">data</span> <span class="ruby-operator">&lt;&lt;</span> ((<span class="ruby-ivar">@pointer</span> <span class="ruby-operator">&gt;&gt;</span> <span class="ruby-value">8</span>) <span class="ruby-operator">&amp;</span> <span class="ruby-value">0xff</span>)
18
18
  <span class="ruby-identifier">data</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-ivar">@pointer</span> <span class="ruby-operator">&amp;</span> <span class="ruby-value">0xff</span>)
19
- <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">data</span>
20
19
  <span class="ruby-keyword kw">end</span></pre>
21
20
  </body>
22
21
  </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>to_s (MIDI::SongPointer)</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/event.rb, line 362</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_s</span>
15
+ <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">super</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot;song ptr #{number_to_s(@pointer)}&quot;</span>
16
+ <span class="ruby-keyword kw">end</span></pre>
17
+ </body>
18
+ </html>
@@ -88,9 +88,9 @@
88
88
  <h3 class="section-bar">Methods</h3>
89
89
 
90
90
  <div class="name-list">
91
- <a href="#M000133">data_as_bytes</a>&nbsp;&nbsp;
92
- <a href="#M000132">new</a>&nbsp;&nbsp;
93
- <a href="#M000134">to_s</a>&nbsp;&nbsp;
91
+ <a href="#M000135">data_as_bytes</a>&nbsp;&nbsp;
92
+ <a href="#M000134">new</a>&nbsp;&nbsp;
93
+ <a href="#M000136">to_s</a>&nbsp;&nbsp;
94
94
  </div>
95
95
  </div>
96
96
 
@@ -125,12 +125,12 @@
125
125
  <div id="methods">
126
126
  <h3 class="section-bar">Public Class methods</h3>
127
127
 
128
- <div id="method-M000132" class="method-detail">
129
- <a name="M000132"></a>
128
+ <div id="method-M000134" class="method-detail">
129
+ <a name="M000134"></a>
130
130
 
131
131
  <div class="method-heading">
132
- <a href="SongSelect.src/M000132.html" target="Code" class="method-signature"
133
- onclick="popupCode('SongSelect.src/M000132.html');return false;">
132
+ <a href="SongSelect.src/M000134.html" target="Code" class="method-signature"
133
+ onclick="popupCode('SongSelect.src/M000134.html');return false;">
134
134
  <span class="method-name">new</span><span class="method-args">(song = 0, delta_time = 0)</span>
135
135
  </a>
136
136
  </div>
@@ -141,12 +141,12 @@
141
141
 
142
142
  <h3 class="section-bar">Public Instance methods</h3>
143
143
 
144
- <div id="method-M000133" class="method-detail">
145
- <a name="M000133"></a>
144
+ <div id="method-M000135" class="method-detail">
145
+ <a name="M000135"></a>
146
146
 
147
147
  <div class="method-heading">
148
- <a href="SongSelect.src/M000133.html" target="Code" class="method-signature"
149
- onclick="popupCode('SongSelect.src/M000133.html');return false;">
148
+ <a href="SongSelect.src/M000135.html" target="Code" class="method-signature"
149
+ onclick="popupCode('SongSelect.src/M000135.html');return false;">
150
150
  <span class="method-name">data_as_bytes</span><span class="method-args">()</span>
151
151
  </a>
152
152
  </div>
@@ -155,12 +155,12 @@
155
155
  </div>
156
156
  </div>
157
157
 
158
- <div id="method-M000134" class="method-detail">
159
- <a name="M000134"></a>
158
+ <div id="method-M000136" class="method-detail">
159
+ <a name="M000136"></a>
160
160
 
161
161
  <div class="method-heading">
162
- <a href="SongSelect.src/M000134.html" target="Code" class="method-signature"
163
- onclick="popupCode('SongSelect.src/M000134.html');return false;">
162
+ <a href="SongSelect.src/M000136.html" target="Code" class="method-signature"
163
+ onclick="popupCode('SongSelect.src/M000136.html');return false;">
164
164
  <span class="method-name">to_s</span><span class="method-args">()</span>
165
165
  </a>
166
166
  </div>
@@ -5,14 +5,15 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>to_s (MIDI::SongSelect)</title>
8
+ <title>new (MIDI::SongSelect)</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/event.rb, line 388</span>
14
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_s</span>
15
- <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">super</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot;song sel #{number_to_s(@song)}&quot;</span>
13
+ <pre><span class="ruby-comment cmt"># File lib/midilib/event.rb, line 370</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">song</span> = <span class="ruby-value">0</span>, <span class="ruby-identifier">delta_time</span> = <span class="ruby-value">0</span>)
15
+ <span class="ruby-keyword kw">super</span>(<span class="ruby-constant">SONG_SELECT</span>, <span class="ruby-identifier">delta_time</span>)
16
+ <span class="ruby-ivar">@song</span> = <span class="ruby-identifier">song</span>
16
17
  <span class="ruby-keyword kw">end</span></pre>
17
18
  </body>
18
19
  </html>
@@ -10,12 +10,11 @@
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/event.rb, line 381</span>
13
+ <pre><span class="ruby-comment cmt"># File lib/midilib/event.rb, line 375</span>
14
14
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">data_as_bytes</span>
15
- <span class="ruby-identifier">data</span> = <span class="ruby-value str">''</span>
15
+ <span class="ruby-identifier">data</span> = []
16
16
  <span class="ruby-identifier">data</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-ivar">@status</span>
17
17
  <span class="ruby-identifier">data</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-ivar">@song</span>
18
- <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">data</span>
19
18
  <span class="ruby-keyword kw">end</span></pre>
20
19
  </body>
21
20
  </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>to_s (MIDI::SongSelect)</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/event.rb, line 381</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_s</span>
15
+ <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">super</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot;song sel #{number_to_s(@song)}&quot;</span>
16
+ <span class="ruby-keyword kw">end</span></pre>
17
+ </body>
18
+ </html>