midilib 1.2.0 → 1.2.1

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 (265) hide show
  1. data/Credits +5 -0
  2. data/README.rdoc +7 -0
  3. data/lib/midilib/event.rb +37 -10
  4. data/lib/midilib/info.rb +1 -1
  5. data/lib/midilib/track.rb +15 -2
  6. data/test/test_event.rb +29 -0
  7. data/test/test_io.rb +7 -0
  8. data/test/test_track.rb +5 -0
  9. metadata +2 -301
  10. data/html/classes/IO.html +0 -137
  11. data/html/classes/IO.src/M000001.html +0 -20
  12. data/html/classes/MIDI/ActiveSense.html +0 -156
  13. data/html/classes/MIDI/ActiveSense.src/M000160.html +0 -18
  14. data/html/classes/MIDI/ActiveSense.src/M000161.html +0 -18
  15. data/html/classes/MIDI/ChannelEvent.html +0 -179
  16. data/html/classes/MIDI/ChannelEvent.src/M000132.html +0 -20
  17. data/html/classes/MIDI/ChannelEvent.src/M000133.html +0 -18
  18. data/html/classes/MIDI/ChannelPressure.html +0 -184
  19. data/html/classes/MIDI/ChannelPressure.src/M000092.html +0 -19
  20. data/html/classes/MIDI/ChannelPressure.src/M000093.html +0 -20
  21. data/html/classes/MIDI/ChannelPressure.src/M000094.html +0 -18
  22. data/html/classes/MIDI/Clock.html +0 -156
  23. data/html/classes/MIDI/Clock.src/M000148.html +0 -18
  24. data/html/classes/MIDI/Clock.src/M000149.html +0 -18
  25. data/html/classes/MIDI/Continue.html +0 -156
  26. data/html/classes/MIDI/Continue.src/M000146.html +0 -18
  27. data/html/classes/MIDI/Continue.src/M000147.html +0 -18
  28. data/html/classes/MIDI/Controller.html +0 -189
  29. data/html/classes/MIDI/Controller.src/M000137.html +0 -21
  30. data/html/classes/MIDI/Controller.src/M000138.html +0 -21
  31. data/html/classes/MIDI/Controller.src/M000139.html +0 -18
  32. data/html/classes/MIDI/Event.html +0 -507
  33. data/html/classes/MIDI/Event.src/M000169.html +0 -30
  34. data/html/classes/MIDI/Event.src/M000170.html +0 -18
  35. data/html/classes/MIDI/Event.src/M000171.html +0 -18
  36. data/html/classes/MIDI/Event.src/M000172.html +0 -18
  37. data/html/classes/MIDI/Event.src/M000173.html +0 -18
  38. data/html/classes/MIDI/Event.src/M000174.html +0 -18
  39. data/html/classes/MIDI/Event.src/M000175.html +0 -18
  40. data/html/classes/MIDI/Event.src/M000176.html +0 -18
  41. data/html/classes/MIDI/Event.src/M000177.html +0 -18
  42. data/html/classes/MIDI/Event.src/M000178.html +0 -18
  43. data/html/classes/MIDI/Event.src/M000179.html +0 -18
  44. data/html/classes/MIDI/Event.src/M000180.html +0 -18
  45. data/html/classes/MIDI/Event.src/M000181.html +0 -22
  46. data/html/classes/MIDI/Event.src/M000182.html +0 -18
  47. data/html/classes/MIDI/Event.src/M000183.html +0 -18
  48. data/html/classes/MIDI/Event.src/M000184.html +0 -19
  49. data/html/classes/MIDI/Event.src/M000185.html +0 -18
  50. data/html/classes/MIDI/IO/MIDIFile.html +0 -959
  51. data/html/classes/MIDI/IO/MIDIFile.src/M000031.html +0 -22
  52. data/html/classes/MIDI/IO/MIDIFile.src/M000032.html +0 -24
  53. data/html/classes/MIDI/IO/MIDIFile.src/M000033.html +0 -19
  54. data/html/classes/MIDI/IO/MIDIFile.src/M000034.html +0 -20
  55. data/html/classes/MIDI/IO/MIDIFile.src/M000035.html +0 -19
  56. data/html/classes/MIDI/IO/MIDIFile.src/M000036.html +0 -17
  57. data/html/classes/MIDI/IO/MIDIFile.src/M000037.html +0 -17
  58. data/html/classes/MIDI/IO/MIDIFile.src/M000038.html +0 -17
  59. data/html/classes/MIDI/IO/MIDIFile.src/M000039.html +0 -17
  60. data/html/classes/MIDI/IO/MIDIFile.src/M000040.html +0 -17
  61. data/html/classes/MIDI/IO/MIDIFile.src/M000041.html +0 -17
  62. data/html/classes/MIDI/IO/MIDIFile.src/M000042.html +0 -17
  63. data/html/classes/MIDI/IO/MIDIFile.src/M000043.html +0 -17
  64. data/html/classes/MIDI/IO/MIDIFile.src/M000044.html +0 -17
  65. data/html/classes/MIDI/IO/MIDIFile.src/M000045.html +0 -17
  66. data/html/classes/MIDI/IO/MIDIFile.src/M000046.html +0 -17
  67. data/html/classes/MIDI/IO/MIDIFile.src/M000047.html +0 -17
  68. data/html/classes/MIDI/IO/MIDIFile.src/M000048.html +0 -17
  69. data/html/classes/MIDI/IO/MIDIFile.src/M000049.html +0 -17
  70. data/html/classes/MIDI/IO/MIDIFile.src/M000050.html +0 -17
  71. data/html/classes/MIDI/IO/MIDIFile.src/M000051.html +0 -17
  72. data/html/classes/MIDI/IO/MIDIFile.src/M000052.html +0 -17
  73. data/html/classes/MIDI/IO/MIDIFile.src/M000053.html +0 -17
  74. data/html/classes/MIDI/IO/MIDIFile.src/M000054.html +0 -17
  75. data/html/classes/MIDI/IO/MIDIFile.src/M000055.html +0 -17
  76. data/html/classes/MIDI/IO/MIDIFile.src/M000056.html +0 -17
  77. data/html/classes/MIDI/IO/MIDIFile.src/M000057.html +0 -43
  78. data/html/classes/MIDI/IO/MIDIFile.src/M000058.html +0 -34
  79. data/html/classes/MIDI/IO/MIDIFile.src/M000059.html +0 -96
  80. data/html/classes/MIDI/IO/MIDIFile.src/M000060.html +0 -18
  81. data/html/classes/MIDI/IO/MIDIFile.src/M000061.html +0 -49
  82. data/html/classes/MIDI/IO/MIDIFile.src/M000062.html +0 -42
  83. data/html/classes/MIDI/IO/MIDIFile.src/M000063.html +0 -19
  84. data/html/classes/MIDI/IO/MIDIFile.src/M000064.html +0 -19
  85. data/html/classes/MIDI/IO/MIDIFile.src/M000065.html +0 -20
  86. data/html/classes/MIDI/IO/MIDIFile.src/M000066.html +0 -21
  87. data/html/classes/MIDI/IO/MIDIFile.src/M000067.html +0 -31
  88. data/html/classes/MIDI/IO/MIDIFile.src/M000068.html +0 -20
  89. data/html/classes/MIDI/IO/MIDIFile.src/M000069.html +0 -22
  90. data/html/classes/MIDI/IO/MIDIFile.src/M000070.html +0 -30
  91. data/html/classes/MIDI/IO/MIDIFile.src/M000071.html +0 -18
  92. data/html/classes/MIDI/IO/MIDIFile.src/M000072.html +0 -20
  93. data/html/classes/MIDI/IO/MIDIFile.src/M000073.html +0 -18
  94. data/html/classes/MIDI/IO/MIDIFile.src/M000074.html +0 -18
  95. data/html/classes/MIDI/IO/SeqReader.html +0 -476
  96. data/html/classes/MIDI/IO/SeqReader.src/M000002.html +0 -22
  97. data/html/classes/MIDI/IO/SeqReader.src/M000003.html +0 -22
  98. data/html/classes/MIDI/IO/SeqReader.src/M000004.html +0 -21
  99. data/html/classes/MIDI/IO/SeqReader.src/M000005.html +0 -34
  100. data/html/classes/MIDI/IO/SeqReader.src/M000006.html +0 -26
  101. data/html/classes/MIDI/IO/SeqReader.src/M000007.html +0 -28
  102. data/html/classes/MIDI/IO/SeqReader.src/M000008.html +0 -21
  103. data/html/classes/MIDI/IO/SeqReader.src/M000009.html +0 -19
  104. data/html/classes/MIDI/IO/SeqReader.src/M000010.html +0 -19
  105. data/html/classes/MIDI/IO/SeqReader.src/M000011.html +0 -19
  106. data/html/classes/MIDI/IO/SeqReader.src/M000012.html +0 -19
  107. data/html/classes/MIDI/IO/SeqReader.src/M000013.html +0 -19
  108. data/html/classes/MIDI/IO/SeqReader.src/M000014.html +0 -18
  109. data/html/classes/MIDI/IO/SeqReader.src/M000015.html +0 -18
  110. data/html/classes/MIDI/IO/SeqReader.src/M000016.html +0 -29
  111. data/html/classes/MIDI/IO/SeqReader.src/M000017.html +0 -19
  112. data/html/classes/MIDI/IO/SeqReader.src/M000018.html +0 -18
  113. data/html/classes/MIDI/IO/SeqReader.src/M000019.html +0 -18
  114. data/html/classes/MIDI/IO/SeqReader.src/M000020.html +0 -18
  115. data/html/classes/MIDI/IO/SeqWriter.html +0 -282
  116. data/html/classes/MIDI/IO/SeqWriter.src/M000021.html +0 -19
  117. data/html/classes/MIDI/IO/SeqWriter.src/M000022.html +0 -25
  118. data/html/classes/MIDI/IO/SeqWriter.src/M000023.html +0 -22
  119. data/html/classes/MIDI/IO/SeqWriter.src/M000024.html +0 -54
  120. data/html/classes/MIDI/IO/SeqWriter.src/M000025.html +0 -49
  121. data/html/classes/MIDI/IO/SeqWriter.src/M000026.html +0 -21
  122. data/html/classes/MIDI/IO/SeqWriter.src/M000027.html +0 -19
  123. data/html/classes/MIDI/IO/SeqWriter.src/M000028.html +0 -23
  124. data/html/classes/MIDI/IO/SeqWriter.src/M000029.html +0 -24
  125. data/html/classes/MIDI/IO/SeqWriter.src/M000030.html +0 -19
  126. data/html/classes/MIDI/IO.html +0 -121
  127. data/html/classes/MIDI/KeySig.html +0 -241
  128. data/html/classes/MIDI/KeySig.src/M000140.html +0 -19
  129. data/html/classes/MIDI/KeySig.src/M000141.html +0 -23
  130. data/html/classes/MIDI/KeySig.src/M000142.html +0 -18
  131. data/html/classes/MIDI/KeySig.src/M000143.html +0 -18
  132. data/html/classes/MIDI/KeySig.src/M000144.html +0 -18
  133. data/html/classes/MIDI/KeySig.src/M000145.html +0 -23
  134. data/html/classes/MIDI/Marker.html +0 -139
  135. data/html/classes/MIDI/Marker.src/M000114.html +0 -18
  136. data/html/classes/MIDI/Measure.html +0 -242
  137. data/html/classes/MIDI/Measure.src/M000150.html +0 -23
  138. data/html/classes/MIDI/Measure.src/M000151.html +0 -20
  139. data/html/classes/MIDI/Measure.src/M000152.html +0 -18
  140. data/html/classes/MIDI/Measures.html +0 -217
  141. data/html/classes/MIDI/Measures.src/M000108.html +0 -20
  142. data/html/classes/MIDI/Measures.src/M000109.html +0 -18
  143. data/html/classes/MIDI/Measures.src/M000110.html +0 -21
  144. data/html/classes/MIDI/MetaEvent.html +0 -189
  145. data/html/classes/MIDI/MetaEvent.src/M000195.html +0 -21
  146. data/html/classes/MIDI/MetaEvent.src/M000196.html +0 -23
  147. data/html/classes/MIDI/MetaEvent.src/M000197.html +0 -53
  148. data/html/classes/MIDI/NoteEvent.html +0 -233
  149. data/html/classes/MIDI/NoteEvent.src/M000095.html +0 -21
  150. data/html/classes/MIDI/NoteEvent.src/M000096.html +0 -20
  151. data/html/classes/MIDI/NoteEvent.src/M000097.html +0 -18
  152. data/html/classes/MIDI/NoteEvent.src/M000098.html +0 -21
  153. data/html/classes/MIDI/NoteOffEvent.html +0 -169
  154. data/html/classes/MIDI/NoteOffEvent.src/M000090.html +0 -19
  155. data/html/classes/MIDI/NoteOffEvent.src/M000091.html +0 -19
  156. data/html/classes/MIDI/NoteOnEvent.html +0 -169
  157. data/html/classes/MIDI/NoteOnEvent.src/M000106.html +0 -19
  158. data/html/classes/MIDI/NoteOnEvent.src/M000107.html +0 -19
  159. data/html/classes/MIDI/PitchBend.html +0 -184
  160. data/html/classes/MIDI/PitchBend.src/M000111.html +0 -19
  161. data/html/classes/MIDI/PitchBend.src/M000112.html +0 -21
  162. data/html/classes/MIDI/PitchBend.src/M000113.html +0 -18
  163. data/html/classes/MIDI/PolyPressure.html +0 -186
  164. data/html/classes/MIDI/PolyPressure.src/M000198.html +0 -18
  165. data/html/classes/MIDI/PolyPressure.src/M000199.html +0 -18
  166. data/html/classes/MIDI/PolyPressure.src/M000200.html +0 -18
  167. data/html/classes/MIDI/PolyPressure.src/M000201.html +0 -19
  168. data/html/classes/MIDI/ProgramChange.html +0 -184
  169. data/html/classes/MIDI/ProgramChange.src/M000103.html +0 -20
  170. data/html/classes/MIDI/ProgramChange.src/M000104.html +0 -20
  171. data/html/classes/MIDI/ProgramChange.src/M000105.html +0 -18
  172. data/html/classes/MIDI/Realtime.html +0 -171
  173. data/html/classes/MIDI/Realtime.src/M000087.html +0 -19
  174. data/html/classes/MIDI/Realtime.src/M000088.html +0 -19
  175. data/html/classes/MIDI/Realtime.src/M000089.html +0 -18
  176. data/html/classes/MIDI/Sequence.html +0 -500
  177. data/html/classes/MIDI/Sequence.src/M000115.html +0 -28
  178. data/html/classes/MIDI/Sequence.src/M000116.html +0 -21
  179. data/html/classes/MIDI/Sequence.src/M000117.html +0 -22
  180. data/html/classes/MIDI/Sequence.src/M000120.html +0 -18
  181. data/html/classes/MIDI/Sequence.src/M000121.html +0 -27
  182. data/html/classes/MIDI/Sequence.src/M000122.html +0 -18
  183. data/html/classes/MIDI/Sequence.src/M000123.html +0 -19
  184. data/html/classes/MIDI/Sequence.src/M000124.html +0 -19
  185. data/html/classes/MIDI/Sequence.src/M000125.html +0 -19
  186. data/html/classes/MIDI/Sequence.src/M000126.html +0 -19
  187. data/html/classes/MIDI/Sequence.src/M000127.html +0 -18
  188. data/html/classes/MIDI/Sequence.src/M000128.html +0 -54
  189. data/html/classes/MIDI/SongPointer.html +0 -184
  190. data/html/classes/MIDI/SongPointer.src/M000162.html +0 -19
  191. data/html/classes/MIDI/SongPointer.src/M000163.html +0 -21
  192. data/html/classes/MIDI/SongPointer.src/M000164.html +0 -18
  193. data/html/classes/MIDI/SongSelect.html +0 -184
  194. data/html/classes/MIDI/SongSelect.src/M000134.html +0 -19
  195. data/html/classes/MIDI/SongSelect.src/M000135.html +0 -20
  196. data/html/classes/MIDI/SongSelect.src/M000136.html +0 -18
  197. data/html/classes/MIDI/Start.html +0 -156
  198. data/html/classes/MIDI/Start.src/M000101.html +0 -18
  199. data/html/classes/MIDI/Start.src/M000102.html +0 -18
  200. data/html/classes/MIDI/Stop.html +0 -156
  201. data/html/classes/MIDI/Stop.src/M000099.html +0 -18
  202. data/html/classes/MIDI/Stop.src/M000100.html +0 -18
  203. data/html/classes/MIDI/SystemCommon.html +0 -139
  204. data/html/classes/MIDI/SystemCommon.src/M000168.html +0 -19
  205. data/html/classes/MIDI/SystemExclusive.html +0 -184
  206. data/html/classes/MIDI/SystemExclusive.src/M000165.html +0 -19
  207. data/html/classes/MIDI/SystemExclusive.src/M000166.html +0 -23
  208. data/html/classes/MIDI/SystemExclusive.src/M000167.html +0 -18
  209. data/html/classes/MIDI/SystemReset.html +0 -156
  210. data/html/classes/MIDI/SystemReset.src/M000085.html +0 -18
  211. data/html/classes/MIDI/SystemReset.src/M000086.html +0 -18
  212. data/html/classes/MIDI/Tempo.html +0 -250
  213. data/html/classes/MIDI/Tempo.src/M000186.html +0 -18
  214. data/html/classes/MIDI/Tempo.src/M000187.html +0 -20
  215. data/html/classes/MIDI/Tempo.src/M000188.html +0 -18
  216. data/html/classes/MIDI/Tempo.src/M000189.html +0 -18
  217. data/html/classes/MIDI/Tempo.src/M000190.html +0 -18
  218. data/html/classes/MIDI/Tempo.src/M000191.html +0 -24
  219. data/html/classes/MIDI/Tempo.src/M000192.html +0 -18
  220. data/html/classes/MIDI/TimeSig.html +0 -263
  221. data/html/classes/MIDI/TimeSig.src/M000153.html +0 -19
  222. data/html/classes/MIDI/TimeSig.src/M000154.html +0 -25
  223. data/html/classes/MIDI/TimeSig.src/M000155.html +0 -18
  224. data/html/classes/MIDI/TimeSig.src/M000156.html +0 -18
  225. data/html/classes/MIDI/TimeSig.src/M000157.html +0 -18
  226. data/html/classes/MIDI/TimeSig.src/M000158.html +0 -18
  227. data/html/classes/MIDI/TimeSig.src/M000159.html +0 -18
  228. data/html/classes/MIDI/Track.html +0 -389
  229. data/html/classes/MIDI/Track.src/M000075.html +0 -23
  230. data/html/classes/MIDI/Track.src/M000076.html +0 -21
  231. data/html/classes/MIDI/Track.src/M000077.html +0 -26
  232. data/html/classes/MIDI/Track.src/M000078.html +0 -18
  233. data/html/classes/MIDI/Track.src/M000079.html +0 -22
  234. data/html/classes/MIDI/Track.src/M000080.html +0 -25
  235. data/html/classes/MIDI/Track.src/M000081.html +0 -22
  236. data/html/classes/MIDI/Track.src/M000082.html +0 -26
  237. data/html/classes/MIDI/Track.src/M000083.html +0 -18
  238. data/html/classes/MIDI/Track.src/M000084.html +0 -19
  239. data/html/classes/MIDI/TuneRequest.html +0 -171
  240. data/html/classes/MIDI/TuneRequest.src/M000129.html +0 -18
  241. data/html/classes/MIDI/TuneRequest.src/M000130.html +0 -19
  242. data/html/classes/MIDI/TuneRequest.src/M000131.html +0 -18
  243. data/html/classes/MIDI/Utils.html +0 -190
  244. data/html/classes/MIDI/Utils.src/M000193.html +0 -20
  245. data/html/classes/MIDI/Utils.src/M000194.html +0 -25
  246. data/html/classes/MIDI.html +0 -758
  247. data/html/created.rid +0 -1
  248. data/html/files/README_rdoc.html +0 -720
  249. data/html/files/TODO_rdoc.html +0 -150
  250. data/html/files/lib/midilib/consts_rb.html +0 -107
  251. data/html/files/lib/midilib/event_rb.html +0 -109
  252. data/html/files/lib/midilib/info_rb.html +0 -101
  253. data/html/files/lib/midilib/io/midifile_rb.html +0 -108
  254. data/html/files/lib/midilib/io/seqreader_rb.html +0 -110
  255. data/html/files/lib/midilib/io/seqwriter_rb.html +0 -115
  256. data/html/files/lib/midilib/measure_rb.html +0 -108
  257. data/html/files/lib/midilib/sequence_rb.html +0 -110
  258. data/html/files/lib/midilib/track_rb.html +0 -108
  259. data/html/files/lib/midilib/utils_rb.html +0 -101
  260. data/html/files/lib/midilib_rb.html +0 -124
  261. data/html/fr_class_index.html +0 -64
  262. data/html/fr_file_index.html +0 -39
  263. data/html/fr_method_index.html +0 -227
  264. data/html/index.html +0 -24
  265. data/html/rdoc-style.css +0 -208
data/Credits CHANGED
@@ -30,3 +30,8 @@ Noah Thorp <noah@rixiform.com>
30
30
 
31
31
  Found a bug in the code intended to make midilib work under Ruby 1.9.
32
32
  Found another bug in KeySing.data_as_bytes.
33
+
34
+ Zach Chadwick (zachad on Github)
35
+
36
+ Reported a problem that led to a fix in the way that strings and byte
37
+ arrays are handled and output in meta events.
data/README.rdoc CHANGED
@@ -134,6 +134,13 @@ received and should be sent. This is useful for start/continue/stop events
134
134
  that control other devices, for example.) Note that when a MIDI::Realtime
135
135
  event is written out to a MIDI file, the delta time is not written.
136
136
 
137
+ MIDI::MetaEvent events hold an array of bytes named 'data'. Many meta events
138
+ are string holders (text, lyric, marker, etc.) Though the 'data' value is
139
+ always an array of bytes, MIDI::MetaEvent helps with saving and accessing
140
+ string. The MIDI::MetaEvent#data_as_str method returns the data bytes as a
141
+ string. When assigning to a meta event's data, if you pass in a string it will
142
+ get converted to an array of bytes.
143
+
137
144
 
138
145
  == How To Use
139
146
 
data/lib/midilib/event.rb CHANGED
@@ -471,13 +471,27 @@ end
471
471
 
472
472
  class MetaEvent < Event
473
473
  attr_reader :meta_type
474
- attr_accessor :data
474
+ attr_reader :data
475
+
476
+ def self.bytes_as_str(bytes)
477
+ bytes ? bytes.collect { |byte| byte.chr }.join : nil
478
+ end
479
+
480
+ if RUBY_VERSION >= '1.9'
481
+ def self.str_as_bytes(str)
482
+ str.split(//).collect { |chr| chr.ord }
483
+ end
484
+ else
485
+ def self.str_as_bytes(str)
486
+ str.split(//).collect { |chr| chr[0] }
487
+ end
488
+ end
475
489
 
476
490
  def initialize(meta_type, data = nil, delta_time = 0)
477
491
  super(META_EVENT, delta_time)
478
492
  @meta_type = meta_type
479
- @data = data
480
493
  @is_meta = true
494
+ self.data=(data)
481
495
  end
482
496
 
483
497
  def data_as_bytes
@@ -489,6 +503,20 @@ class MetaEvent < Event
489
503
  data.flatten
490
504
  end
491
505
 
506
+ def data_as_str
507
+ MetaEvent.bytes_as_str(@data)
508
+ end
509
+
510
+ # Stores bytes. If data is a string, splits it into an array of bytes.
511
+ def data=(data)
512
+ case data
513
+ when String
514
+ @data = MetaEvent.str_as_bytes(data)
515
+ else
516
+ @data = data
517
+ end
518
+ end
519
+
492
520
  def to_s
493
521
  str = super()
494
522
  str << "meta #{number_to_s(@meta_type)} "
@@ -497,23 +525,21 @@ class MetaEvent < Event
497
525
  when META_SEQ_NUM
498
526
  str << "sequence number"
499
527
  when META_TEXT
500
- str << "text: #{@data}"
528
+ str << "text: #{data_as_str}"
501
529
  when META_COPYRIGHT
502
- str << "copyright: #{@data}"
530
+ str << "copyright: #{data_as_str}"
503
531
  when META_SEQ_NAME
504
- str << "sequence or track name: #{@data}"
532
+ str << "sequence or track name: #{data_as_str}"
505
533
  when META_INSTRUMENT
506
- str << "instrument name: #{@data}"
534
+ str << "instrument name: #{data_as_str}"
507
535
  when META_LYRIC
508
- str << "lyric: #{@data}"
536
+ str << "lyric: #{data_as_str}"
509
537
  when META_MARKER
510
- str << "marker: #{@data}"
538
+ str << "marker: #{data_as_str}"
511
539
  when META_CUE
512
540
  str << "cue point: #{@data}"
513
541
  when META_TRACK_END
514
542
  str << "track end"
515
- # when META_SET_TEMPO
516
- # str << "set tempo: #{@data}"
517
543
  when META_SMPTE
518
544
  str << "smpte"
519
545
  when META_TIME_SIG
@@ -523,6 +549,7 @@ class MetaEvent < Event
523
549
  when META_SEQ_SPECIF
524
550
  str << "sequence specific"
525
551
  else
552
+ # Some other possible @meta_type values are handled by subclasses.
526
553
  str << "(other)"
527
554
  end
528
555
  return str
data/lib/midilib/info.rb CHANGED
@@ -2,7 +2,7 @@ module MIDI
2
2
 
3
3
  VERSION_MAJOR = 1
4
4
  VERSION_MINOR = 2
5
- VERSION_TWEAK = 0
5
+ VERSION_TWEAK = 1
6
6
  Version = "#{VERSION_MAJOR}.#{VERSION_MINOR}.#{VERSION_TWEAK}"
7
7
  Copyright = 'Copyright (c) 2003-2009 by Jim Menard <jimm@io.com>'
8
8
 
data/lib/midilib/track.rb CHANGED
@@ -17,7 +17,7 @@ class Track
17
17
 
18
18
  UNNAMED = 'Unnamed'
19
19
 
20
- attr_accessor :instrument, :events, :channels_used
20
+ attr_accessor :events, :channels_used
21
21
  attr_reader :sequence
22
22
 
23
23
  def initialize(sequence)
@@ -34,7 +34,7 @@ class Track
34
34
  event = @events.detect { | e |
35
35
  e.meta? && e.meta_type == META_SEQ_NAME
36
36
  }
37
- return event ? event.data : UNNAMED
37
+ return event ? event.data_as_str : UNNAMED
38
38
  end
39
39
 
40
40
  # Set track name. Replaces or creates a name meta-event.
@@ -50,6 +50,19 @@ class Track
50
50
  end
51
51
  end
52
52
 
53
+ def instrument
54
+ MetaEvent.bytes_as_str(@instrument)
55
+ end
56
+
57
+ def instrument=(str_or_bytes)
58
+ @instrument = case str_or_bytes
59
+ when String
60
+ MetaEvent.str_as_bytes(str_or_bytes)
61
+ else
62
+ str_or_bytes
63
+ end
64
+ end
65
+
53
66
  # Merges an array of events into our event list. After merging, the
54
67
  # events' time_from_start values are correct so you don't need to worry
55
68
  # about calling recalc_times.
data/test/test_event.rb CHANGED
@@ -163,4 +163,33 @@ class EventTester < Test::Unit::TestCase
163
163
  assert_equal(480, e.time_from_start)
164
164
  end
165
165
 
166
+ def test_meta_strings
167
+ e = MIDI::MetaEvent.new(MIDI::META_TEXT, [97, 98, 99])
168
+ assert_equal([97, 98, 99], e.data)
169
+ assert_equal('abc', e.data_as_str)
170
+
171
+ assert_equal([MIDI::META_EVENT, MIDI::META_TEXT, 3, 97, 98, 99], e.data_as_bytes)
172
+ end
173
+
174
+ def test_meta_event_string_in_ctor
175
+ e = MIDI::MetaEvent.new(MIDI::META_TEXT, 'abc')
176
+ assert_equal([97, 98, 99], e.data)
177
+ assert_equal('abc', e.data_as_str)
178
+ assert_equal([MIDI::META_EVENT, MIDI::META_TEXT, 3, 97, 98, 99], e.data_as_bytes)
179
+ end
180
+
181
+ def test_meta_event_data_assignment
182
+ foobar_as_array = [102, 111, 111, 98, 97, 114]
183
+
184
+ e = MIDI::MetaEvent.new(MIDI::META_TEXT, [97, 98, 99])
185
+ e.data = 'foobar'
186
+ assert_equal('foobar', e.data_as_str)
187
+ assert_equal(foobar_as_array, e.data)
188
+
189
+ e.data = nil
190
+ e.data = foobar_as_array
191
+ assert_equal('foobar', e.data_as_str)
192
+ assert_equal(foobar_as_array, e.data)
193
+ end
194
+
166
195
  end
data/test/test_io.rb CHANGED
@@ -53,4 +53,11 @@ class IOTester < Test::Unit::TestCase
53
53
  File.delete(OUTPUT_FILE) if File.exist?(OUTPUT_FILE)
54
54
  end
55
55
 
56
+ def test_read_strings
57
+ seq = MIDI::Sequence.new
58
+ File.open(SEQ_TEST_FILE, 'rb') { |f| seq.read(f) }
59
+ assert_equal('Sequence Name', seq.tracks[0].name)
60
+ assert_equal(MIDI::GM_PATCH_NAMES[0], seq.tracks[1].instrument)
61
+ end
62
+
56
63
  end
data/test/test_track.rb CHANGED
@@ -130,4 +130,9 @@ class TrackTester < Test::Unit::TestCase
130
130
  assert_equal(320, @track.events[2].time_from_start) # was 300
131
131
  end
132
132
 
133
+ def test_instrument
134
+ @track.instrument = 'foo'
135
+ assert_equal('foo', @track.instrument)
136
+ end
137
+
133
138
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: midilib
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.0
4
+ version: 1.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jim Menard
@@ -9,7 +9,7 @@ autorequire: midilib
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-01-06 00:00:00 -05:00
12
+ date: 2009-05-06 00:00:00 -04:00
13
13
  default_executable:
14
14
  dependencies: []
15
15
 
@@ -38,305 +38,6 @@ files:
38
38
  - examples/split.rb
39
39
  - examples/strings.rb
40
40
  - examples/transpose.rb
41
- - html/classes
42
- - html/classes/IO.html
43
- - html/classes/IO.src
44
- - html/classes/IO.src/M000001.html
45
- - html/classes/MIDI
46
- - html/classes/MIDI/ActiveSense.html
47
- - html/classes/MIDI/ActiveSense.src
48
- - html/classes/MIDI/ActiveSense.src/M000160.html
49
- - html/classes/MIDI/ActiveSense.src/M000161.html
50
- - html/classes/MIDI/ChannelEvent.html
51
- - html/classes/MIDI/ChannelEvent.src
52
- - html/classes/MIDI/ChannelEvent.src/M000132.html
53
- - html/classes/MIDI/ChannelEvent.src/M000133.html
54
- - html/classes/MIDI/ChannelPressure.html
55
- - html/classes/MIDI/ChannelPressure.src
56
- - html/classes/MIDI/ChannelPressure.src/M000092.html
57
- - html/classes/MIDI/ChannelPressure.src/M000093.html
58
- - html/classes/MIDI/ChannelPressure.src/M000094.html
59
- - html/classes/MIDI/Clock.html
60
- - html/classes/MIDI/Clock.src
61
- - html/classes/MIDI/Clock.src/M000148.html
62
- - html/classes/MIDI/Clock.src/M000149.html
63
- - html/classes/MIDI/Continue.html
64
- - html/classes/MIDI/Continue.src
65
- - html/classes/MIDI/Continue.src/M000146.html
66
- - html/classes/MIDI/Continue.src/M000147.html
67
- - html/classes/MIDI/Controller.html
68
- - html/classes/MIDI/Controller.src
69
- - html/classes/MIDI/Controller.src/M000137.html
70
- - html/classes/MIDI/Controller.src/M000138.html
71
- - html/classes/MIDI/Controller.src/M000139.html
72
- - html/classes/MIDI/Event.html
73
- - html/classes/MIDI/Event.src
74
- - html/classes/MIDI/Event.src/M000169.html
75
- - html/classes/MIDI/Event.src/M000170.html
76
- - html/classes/MIDI/Event.src/M000171.html
77
- - html/classes/MIDI/Event.src/M000172.html
78
- - html/classes/MIDI/Event.src/M000173.html
79
- - html/classes/MIDI/Event.src/M000174.html
80
- - html/classes/MIDI/Event.src/M000175.html
81
- - html/classes/MIDI/Event.src/M000176.html
82
- - html/classes/MIDI/Event.src/M000177.html
83
- - html/classes/MIDI/Event.src/M000178.html
84
- - html/classes/MIDI/Event.src/M000179.html
85
- - html/classes/MIDI/Event.src/M000180.html
86
- - html/classes/MIDI/Event.src/M000181.html
87
- - html/classes/MIDI/Event.src/M000182.html
88
- - html/classes/MIDI/Event.src/M000183.html
89
- - html/classes/MIDI/Event.src/M000184.html
90
- - html/classes/MIDI/Event.src/M000185.html
91
- - html/classes/MIDI/IO
92
- - html/classes/MIDI/IO/MIDIFile.html
93
- - html/classes/MIDI/IO/MIDIFile.src
94
- - html/classes/MIDI/IO/MIDIFile.src/M000031.html
95
- - html/classes/MIDI/IO/MIDIFile.src/M000032.html
96
- - html/classes/MIDI/IO/MIDIFile.src/M000033.html
97
- - html/classes/MIDI/IO/MIDIFile.src/M000034.html
98
- - html/classes/MIDI/IO/MIDIFile.src/M000035.html
99
- - html/classes/MIDI/IO/MIDIFile.src/M000036.html
100
- - html/classes/MIDI/IO/MIDIFile.src/M000037.html
101
- - html/classes/MIDI/IO/MIDIFile.src/M000038.html
102
- - html/classes/MIDI/IO/MIDIFile.src/M000039.html
103
- - html/classes/MIDI/IO/MIDIFile.src/M000040.html
104
- - html/classes/MIDI/IO/MIDIFile.src/M000041.html
105
- - html/classes/MIDI/IO/MIDIFile.src/M000042.html
106
- - html/classes/MIDI/IO/MIDIFile.src/M000043.html
107
- - html/classes/MIDI/IO/MIDIFile.src/M000044.html
108
- - html/classes/MIDI/IO/MIDIFile.src/M000045.html
109
- - html/classes/MIDI/IO/MIDIFile.src/M000046.html
110
- - html/classes/MIDI/IO/MIDIFile.src/M000047.html
111
- - html/classes/MIDI/IO/MIDIFile.src/M000048.html
112
- - html/classes/MIDI/IO/MIDIFile.src/M000049.html
113
- - html/classes/MIDI/IO/MIDIFile.src/M000050.html
114
- - html/classes/MIDI/IO/MIDIFile.src/M000051.html
115
- - html/classes/MIDI/IO/MIDIFile.src/M000052.html
116
- - html/classes/MIDI/IO/MIDIFile.src/M000053.html
117
- - html/classes/MIDI/IO/MIDIFile.src/M000054.html
118
- - html/classes/MIDI/IO/MIDIFile.src/M000055.html
119
- - html/classes/MIDI/IO/MIDIFile.src/M000056.html
120
- - html/classes/MIDI/IO/MIDIFile.src/M000057.html
121
- - html/classes/MIDI/IO/MIDIFile.src/M000058.html
122
- - html/classes/MIDI/IO/MIDIFile.src/M000059.html
123
- - html/classes/MIDI/IO/MIDIFile.src/M000060.html
124
- - html/classes/MIDI/IO/MIDIFile.src/M000061.html
125
- - html/classes/MIDI/IO/MIDIFile.src/M000062.html
126
- - html/classes/MIDI/IO/MIDIFile.src/M000063.html
127
- - html/classes/MIDI/IO/MIDIFile.src/M000064.html
128
- - html/classes/MIDI/IO/MIDIFile.src/M000065.html
129
- - html/classes/MIDI/IO/MIDIFile.src/M000066.html
130
- - html/classes/MIDI/IO/MIDIFile.src/M000067.html
131
- - html/classes/MIDI/IO/MIDIFile.src/M000068.html
132
- - html/classes/MIDI/IO/MIDIFile.src/M000069.html
133
- - html/classes/MIDI/IO/MIDIFile.src/M000070.html
134
- - html/classes/MIDI/IO/MIDIFile.src/M000071.html
135
- - html/classes/MIDI/IO/MIDIFile.src/M000072.html
136
- - html/classes/MIDI/IO/MIDIFile.src/M000073.html
137
- - html/classes/MIDI/IO/MIDIFile.src/M000074.html
138
- - html/classes/MIDI/IO/SeqReader.html
139
- - html/classes/MIDI/IO/SeqReader.src
140
- - html/classes/MIDI/IO/SeqReader.src/M000002.html
141
- - html/classes/MIDI/IO/SeqReader.src/M000003.html
142
- - html/classes/MIDI/IO/SeqReader.src/M000004.html
143
- - html/classes/MIDI/IO/SeqReader.src/M000005.html
144
- - html/classes/MIDI/IO/SeqReader.src/M000006.html
145
- - html/classes/MIDI/IO/SeqReader.src/M000007.html
146
- - html/classes/MIDI/IO/SeqReader.src/M000008.html
147
- - html/classes/MIDI/IO/SeqReader.src/M000009.html
148
- - html/classes/MIDI/IO/SeqReader.src/M000010.html
149
- - html/classes/MIDI/IO/SeqReader.src/M000011.html
150
- - html/classes/MIDI/IO/SeqReader.src/M000012.html
151
- - html/classes/MIDI/IO/SeqReader.src/M000013.html
152
- - html/classes/MIDI/IO/SeqReader.src/M000014.html
153
- - html/classes/MIDI/IO/SeqReader.src/M000015.html
154
- - html/classes/MIDI/IO/SeqReader.src/M000016.html
155
- - html/classes/MIDI/IO/SeqReader.src/M000017.html
156
- - html/classes/MIDI/IO/SeqReader.src/M000018.html
157
- - html/classes/MIDI/IO/SeqReader.src/M000019.html
158
- - html/classes/MIDI/IO/SeqReader.src/M000020.html
159
- - html/classes/MIDI/IO/SeqWriter.html
160
- - html/classes/MIDI/IO/SeqWriter.src
161
- - html/classes/MIDI/IO/SeqWriter.src/M000021.html
162
- - html/classes/MIDI/IO/SeqWriter.src/M000022.html
163
- - html/classes/MIDI/IO/SeqWriter.src/M000023.html
164
- - html/classes/MIDI/IO/SeqWriter.src/M000024.html
165
- - html/classes/MIDI/IO/SeqWriter.src/M000025.html
166
- - html/classes/MIDI/IO/SeqWriter.src/M000026.html
167
- - html/classes/MIDI/IO/SeqWriter.src/M000027.html
168
- - html/classes/MIDI/IO/SeqWriter.src/M000028.html
169
- - html/classes/MIDI/IO/SeqWriter.src/M000029.html
170
- - html/classes/MIDI/IO/SeqWriter.src/M000030.html
171
- - html/classes/MIDI/IO.html
172
- - html/classes/MIDI/KeySig.html
173
- - html/classes/MIDI/KeySig.src
174
- - html/classes/MIDI/KeySig.src/M000140.html
175
- - html/classes/MIDI/KeySig.src/M000141.html
176
- - html/classes/MIDI/KeySig.src/M000142.html
177
- - html/classes/MIDI/KeySig.src/M000143.html
178
- - html/classes/MIDI/KeySig.src/M000144.html
179
- - html/classes/MIDI/KeySig.src/M000145.html
180
- - html/classes/MIDI/Marker.html
181
- - html/classes/MIDI/Marker.src
182
- - html/classes/MIDI/Marker.src/M000114.html
183
- - html/classes/MIDI/Measure.html
184
- - html/classes/MIDI/Measure.src
185
- - html/classes/MIDI/Measure.src/M000150.html
186
- - html/classes/MIDI/Measure.src/M000151.html
187
- - html/classes/MIDI/Measure.src/M000152.html
188
- - html/classes/MIDI/Measures.html
189
- - html/classes/MIDI/Measures.src
190
- - html/classes/MIDI/Measures.src/M000108.html
191
- - html/classes/MIDI/Measures.src/M000109.html
192
- - html/classes/MIDI/Measures.src/M000110.html
193
- - html/classes/MIDI/MetaEvent.html
194
- - html/classes/MIDI/MetaEvent.src
195
- - html/classes/MIDI/MetaEvent.src/M000195.html
196
- - html/classes/MIDI/MetaEvent.src/M000196.html
197
- - html/classes/MIDI/MetaEvent.src/M000197.html
198
- - html/classes/MIDI/NoteEvent.html
199
- - html/classes/MIDI/NoteEvent.src
200
- - html/classes/MIDI/NoteEvent.src/M000095.html
201
- - html/classes/MIDI/NoteEvent.src/M000096.html
202
- - html/classes/MIDI/NoteEvent.src/M000097.html
203
- - html/classes/MIDI/NoteEvent.src/M000098.html
204
- - html/classes/MIDI/NoteOffEvent.html
205
- - html/classes/MIDI/NoteOffEvent.src
206
- - html/classes/MIDI/NoteOffEvent.src/M000090.html
207
- - html/classes/MIDI/NoteOffEvent.src/M000091.html
208
- - html/classes/MIDI/NoteOnEvent.html
209
- - html/classes/MIDI/NoteOnEvent.src
210
- - html/classes/MIDI/NoteOnEvent.src/M000106.html
211
- - html/classes/MIDI/NoteOnEvent.src/M000107.html
212
- - html/classes/MIDI/PitchBend.html
213
- - html/classes/MIDI/PitchBend.src
214
- - html/classes/MIDI/PitchBend.src/M000111.html
215
- - html/classes/MIDI/PitchBend.src/M000112.html
216
- - html/classes/MIDI/PitchBend.src/M000113.html
217
- - html/classes/MIDI/PolyPressure.html
218
- - html/classes/MIDI/PolyPressure.src
219
- - html/classes/MIDI/PolyPressure.src/M000198.html
220
- - html/classes/MIDI/PolyPressure.src/M000199.html
221
- - html/classes/MIDI/PolyPressure.src/M000200.html
222
- - html/classes/MIDI/PolyPressure.src/M000201.html
223
- - html/classes/MIDI/ProgramChange.html
224
- - html/classes/MIDI/ProgramChange.src
225
- - html/classes/MIDI/ProgramChange.src/M000103.html
226
- - html/classes/MIDI/ProgramChange.src/M000104.html
227
- - html/classes/MIDI/ProgramChange.src/M000105.html
228
- - html/classes/MIDI/Realtime.html
229
- - html/classes/MIDI/Realtime.src
230
- - html/classes/MIDI/Realtime.src/M000087.html
231
- - html/classes/MIDI/Realtime.src/M000088.html
232
- - html/classes/MIDI/Realtime.src/M000089.html
233
- - html/classes/MIDI/Sequence.html
234
- - html/classes/MIDI/Sequence.src
235
- - html/classes/MIDI/Sequence.src/M000115.html
236
- - html/classes/MIDI/Sequence.src/M000116.html
237
- - html/classes/MIDI/Sequence.src/M000117.html
238
- - html/classes/MIDI/Sequence.src/M000120.html
239
- - html/classes/MIDI/Sequence.src/M000121.html
240
- - html/classes/MIDI/Sequence.src/M000122.html
241
- - html/classes/MIDI/Sequence.src/M000123.html
242
- - html/classes/MIDI/Sequence.src/M000124.html
243
- - html/classes/MIDI/Sequence.src/M000125.html
244
- - html/classes/MIDI/Sequence.src/M000126.html
245
- - html/classes/MIDI/Sequence.src/M000127.html
246
- - html/classes/MIDI/Sequence.src/M000128.html
247
- - html/classes/MIDI/SongPointer.html
248
- - html/classes/MIDI/SongPointer.src
249
- - html/classes/MIDI/SongPointer.src/M000162.html
250
- - html/classes/MIDI/SongPointer.src/M000163.html
251
- - html/classes/MIDI/SongPointer.src/M000164.html
252
- - html/classes/MIDI/SongSelect.html
253
- - html/classes/MIDI/SongSelect.src
254
- - html/classes/MIDI/SongSelect.src/M000134.html
255
- - html/classes/MIDI/SongSelect.src/M000135.html
256
- - html/classes/MIDI/SongSelect.src/M000136.html
257
- - html/classes/MIDI/Start.html
258
- - html/classes/MIDI/Start.src
259
- - html/classes/MIDI/Start.src/M000101.html
260
- - html/classes/MIDI/Start.src/M000102.html
261
- - html/classes/MIDI/Stop.html
262
- - html/classes/MIDI/Stop.src
263
- - html/classes/MIDI/Stop.src/M000099.html
264
- - html/classes/MIDI/Stop.src/M000100.html
265
- - html/classes/MIDI/SystemCommon.html
266
- - html/classes/MIDI/SystemCommon.src
267
- - html/classes/MIDI/SystemCommon.src/M000168.html
268
- - html/classes/MIDI/SystemExclusive.html
269
- - html/classes/MIDI/SystemExclusive.src
270
- - html/classes/MIDI/SystemExclusive.src/M000165.html
271
- - html/classes/MIDI/SystemExclusive.src/M000166.html
272
- - html/classes/MIDI/SystemExclusive.src/M000167.html
273
- - html/classes/MIDI/SystemReset.html
274
- - html/classes/MIDI/SystemReset.src
275
- - html/classes/MIDI/SystemReset.src/M000085.html
276
- - html/classes/MIDI/SystemReset.src/M000086.html
277
- - html/classes/MIDI/Tempo.html
278
- - html/classes/MIDI/Tempo.src
279
- - html/classes/MIDI/Tempo.src/M000186.html
280
- - html/classes/MIDI/Tempo.src/M000187.html
281
- - html/classes/MIDI/Tempo.src/M000188.html
282
- - html/classes/MIDI/Tempo.src/M000189.html
283
- - html/classes/MIDI/Tempo.src/M000190.html
284
- - html/classes/MIDI/Tempo.src/M000191.html
285
- - html/classes/MIDI/Tempo.src/M000192.html
286
- - html/classes/MIDI/TimeSig.html
287
- - html/classes/MIDI/TimeSig.src
288
- - html/classes/MIDI/TimeSig.src/M000153.html
289
- - html/classes/MIDI/TimeSig.src/M000154.html
290
- - html/classes/MIDI/TimeSig.src/M000155.html
291
- - html/classes/MIDI/TimeSig.src/M000156.html
292
- - html/classes/MIDI/TimeSig.src/M000157.html
293
- - html/classes/MIDI/TimeSig.src/M000158.html
294
- - html/classes/MIDI/TimeSig.src/M000159.html
295
- - html/classes/MIDI/Track.html
296
- - html/classes/MIDI/Track.src
297
- - html/classes/MIDI/Track.src/M000075.html
298
- - html/classes/MIDI/Track.src/M000076.html
299
- - html/classes/MIDI/Track.src/M000077.html
300
- - html/classes/MIDI/Track.src/M000078.html
301
- - html/classes/MIDI/Track.src/M000079.html
302
- - html/classes/MIDI/Track.src/M000080.html
303
- - html/classes/MIDI/Track.src/M000081.html
304
- - html/classes/MIDI/Track.src/M000082.html
305
- - html/classes/MIDI/Track.src/M000083.html
306
- - html/classes/MIDI/Track.src/M000084.html
307
- - html/classes/MIDI/TuneRequest.html
308
- - html/classes/MIDI/TuneRequest.src
309
- - html/classes/MIDI/TuneRequest.src/M000129.html
310
- - html/classes/MIDI/TuneRequest.src/M000130.html
311
- - html/classes/MIDI/TuneRequest.src/M000131.html
312
- - html/classes/MIDI/Utils.html
313
- - html/classes/MIDI/Utils.src
314
- - html/classes/MIDI/Utils.src/M000193.html
315
- - html/classes/MIDI/Utils.src/M000194.html
316
- - html/classes/MIDI.html
317
- - html/created.rid
318
- - html/files
319
- - html/files/lib
320
- - html/files/lib/midilib
321
- - html/files/lib/midilib/consts_rb.html
322
- - html/files/lib/midilib/event_rb.html
323
- - html/files/lib/midilib/info_rb.html
324
- - html/files/lib/midilib/io
325
- - html/files/lib/midilib/io/midifile_rb.html
326
- - html/files/lib/midilib/io/seqreader_rb.html
327
- - html/files/lib/midilib/io/seqwriter_rb.html
328
- - html/files/lib/midilib/measure_rb.html
329
- - html/files/lib/midilib/sequence_rb.html
330
- - html/files/lib/midilib/track_rb.html
331
- - html/files/lib/midilib/utils_rb.html
332
- - html/files/lib/midilib_rb.html
333
- - html/files/README_rdoc.html
334
- - html/files/TODO_rdoc.html
335
- - html/fr_class_index.html
336
- - html/fr_file_index.html
337
- - html/fr_method_index.html
338
- - html/index.html
339
- - html/rdoc-style.css
340
41
  - install.rb
341
42
  - lib/midilib/consts.rb
342
43
  - lib/midilib/event.rb
data/html/classes/IO.html DELETED
@@ -1,137 +0,0 @@
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 xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
7
- <head>
8
- <title>Class: IO</title>
9
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
- <meta http-equiv="Content-Script-Type" content="text/javascript" />
11
- <link rel="stylesheet" href=".././rdoc-style.css" type="text/css" media="screen" />
12
- <script type="text/javascript">
13
- // <![CDATA[
14
-
15
- function popupCode( url ) {
16
- window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
17
- }
18
-
19
- function toggleCode( id ) {
20
- if ( document.getElementById )
21
- elem = document.getElementById( id );
22
- else if ( document.all )
23
- elem = eval( "document.all." + id );
24
- else
25
- return false;
26
-
27
- elemStyle = elem.style;
28
-
29
- if ( elemStyle.display != "block" ) {
30
- elemStyle.display = "block"
31
- } else {
32
- elemStyle.display = "none"
33
- }
34
-
35
- return true;
36
- }
37
-
38
- // Make codeblocks hidden by default
39
- document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
40
-
41
- // ]]>
42
- </script>
43
-
44
- </head>
45
- <body>
46
-
47
-
48
-
49
- <div id="classHeader">
50
- <table class="header-table">
51
- <tr class="top-aligned-row">
52
- <td><strong>Class</strong></td>
53
- <td class="class-name-in-header">IO</td>
54
- </tr>
55
- <tr class="top-aligned-row">
56
- <td><strong>In:</strong></td>
57
- <td>
58
- <a href="../files/lib/midilib/io/midifile_rb.html">
59
- lib/midilib/io/midifile.rb
60
- </a>
61
- <br />
62
- </td>
63
- </tr>
64
-
65
- <tr class="top-aligned-row">
66
- <td><strong>Parent:</strong></td>
67
- <td>
68
- Object
69
- </td>
70
- </tr>
71
- </table>
72
- </div>
73
- <!-- banner header -->
74
-
75
- <div id="bodyContent">
76
-
77
-
78
-
79
- <div id="contextContent">
80
-
81
-
82
-
83
- </div>
84
-
85
- <div id="method-list">
86
- <h3 class="section-bar">Methods</h3>
87
-
88
- <div class="name-list">
89
- <a href="#M000001">readbyte</a>&nbsp;&nbsp;
90
- </div>
91
- </div>
92
-
93
- </div>
94
-
95
-
96
- <!-- if includes -->
97
-
98
- <div id="section">
99
-
100
-
101
-
102
-
103
-
104
-
105
-
106
-
107
- <!-- if method_list -->
108
- <div id="methods">
109
- <h3 class="section-bar">Public Instance methods</h3>
110
-
111
- <div id="method-M000001" class="method-detail">
112
- <a name="M000001"></a>
113
-
114
- <div class="method-heading">
115
- <a href="IO.src/M000001.html" target="Code" class="method-signature"
116
- onclick="popupCode('IO.src/M000001.html');return false;">
117
- <span class="method-name">readbyte</span><span class="method-args">()</span>
118
- </a>
119
- </div>
120
-
121
- <div class="method-description">
122
- </div>
123
- </div>
124
-
125
-
126
- </div>
127
-
128
-
129
- </div>
130
-
131
-
132
- <div id="validator-badges">
133
- <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
134
- </div>
135
-
136
- </body>
137
- </html>