midilib 1.2.1 → 2.0.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 (100) hide show
  1. data/ChangeLog +3 -1
  2. data/Credits +6 -1
  3. data/README.rdoc +41 -15
  4. data/Rakefile +3 -11
  5. data/TODO.rdoc +4 -7
  6. data/examples/from_scratch.rb +2 -2
  7. data/examples/measures_mbt.rb +1 -1
  8. data/examples/print_program_changes.rb +1 -1
  9. data/examples/strings.rb +1 -1
  10. data/examples/transpose.rb +1 -1
  11. data/html/Array.html +382 -0
  12. data/html/IO.html +277 -0
  13. data/html/MIDI.html +829 -0
  14. data/html/MIDI/ActiveSense.html +317 -0
  15. data/html/MIDI/ChannelEvent.html +347 -0
  16. data/html/MIDI/ChannelPressure.html +379 -0
  17. data/html/MIDI/Clock.html +317 -0
  18. data/html/MIDI/Continue.html +317 -0
  19. data/html/MIDI/Controller.html +398 -0
  20. data/html/MIDI/Event.html +659 -0
  21. data/html/MIDI/IO.html +238 -0
  22. data/html/MIDI/IO/MIDIFile.html +2269 -0
  23. data/html/MIDI/IO/SeqReader.html +1051 -0
  24. data/html/MIDI/IO/SeqWriter.html +706 -0
  25. data/html/MIDI/KeySig.html +487 -0
  26. data/html/MIDI/Marker.html +275 -0
  27. data/html/MIDI/Measure.html +479 -0
  28. data/html/MIDI/Measures.html +416 -0
  29. data/html/MIDI/MetaEvent.html +617 -0
  30. data/html/MIDI/NoteEvent.html +459 -0
  31. data/html/MIDI/NoteOff.html +341 -0
  32. data/html/MIDI/NoteOn.html +341 -0
  33. data/html/MIDI/PitchBend.html +380 -0
  34. data/html/MIDI/PolyPressure.html +390 -0
  35. data/html/MIDI/ProgramChange.html +379 -0
  36. data/html/MIDI/Realtime.html +354 -0
  37. data/html/MIDI/Sequence.html +1063 -0
  38. data/html/MIDI/SongPointer.html +380 -0
  39. data/html/MIDI/SongSelect.html +379 -0
  40. data/html/MIDI/Start.html +317 -0
  41. data/html/MIDI/Stop.html +317 -0
  42. data/html/MIDI/SystemCommon.html +275 -0
  43. data/html/MIDI/SystemExclusive.html +382 -0
  44. data/html/MIDI/SystemReset.html +317 -0
  45. data/html/MIDI/Tempo.html +519 -0
  46. data/html/MIDI/TimeSig.html +524 -0
  47. data/html/MIDI/Track.html +859 -0
  48. data/html/MIDI/TuneRequest.html +354 -0
  49. data/html/MIDI/Utils.html +350 -0
  50. data/html/README_rdoc.html +882 -0
  51. data/html/TODO_rdoc.html +215 -0
  52. data/html/created.rid +14 -0
  53. data/html/images/brick.png +0 -0
  54. data/html/images/brick_link.png +0 -0
  55. data/html/images/bug.png +0 -0
  56. data/html/images/bullet_black.png +0 -0
  57. data/html/images/bullet_toggle_minus.png +0 -0
  58. data/html/images/bullet_toggle_plus.png +0 -0
  59. data/html/images/date.png +0 -0
  60. data/html/images/find.png +0 -0
  61. data/html/images/loadingAnimation.gif +0 -0
  62. data/html/images/macFFBgHack.png +0 -0
  63. data/html/images/package.png +0 -0
  64. data/html/images/page_green.png +0 -0
  65. data/html/images/page_white_text.png +0 -0
  66. data/html/images/page_white_width.png +0 -0
  67. data/html/images/plugin.png +0 -0
  68. data/html/images/ruby.png +0 -0
  69. data/html/images/tag_green.png +0 -0
  70. data/html/images/wrench.png +0 -0
  71. data/html/images/wrench_orange.png +0 -0
  72. data/html/images/zoom.png +0 -0
  73. data/html/index.html +1266 -0
  74. data/html/js/darkfish.js +116 -0
  75. data/html/js/jquery.js +32 -0
  76. data/html/js/quicksearch.js +114 -0
  77. data/html/js/thickbox-compressed.js +10 -0
  78. data/html/lib/midilib/consts_rb.html +55 -0
  79. data/html/lib/midilib/event_rb.html +56 -0
  80. data/html/lib/midilib/info_rb.html +52 -0
  81. data/html/lib/midilib/io/midifile_rb.html +54 -0
  82. data/html/lib/midilib/io/seqreader_rb.html +58 -0
  83. data/html/lib/midilib/io/seqwriter_rb.html +59 -0
  84. data/html/lib/midilib/measure_rb.html +54 -0
  85. data/html/lib/midilib/sequence_rb.html +58 -0
  86. data/html/lib/midilib/track_rb.html +54 -0
  87. data/html/lib/midilib/utils_rb.html +52 -0
  88. data/html/lib/midilib_rb.html +71 -0
  89. data/html/rdoc.css +706 -0
  90. data/install.rb +1 -1
  91. data/lib/midilib/event.rb +11 -77
  92. data/lib/midilib/info.rb +4 -4
  93. data/lib/midilib/io/seqreader.rb +2 -2
  94. data/lib/midilib/io/seqwriter.rb +1 -1
  95. data/lib/midilib/sequence.rb +1 -1
  96. data/lib/midilib/track.rb +54 -8
  97. data/test/test_event.rb +4 -62
  98. data/test/test_sequence.rb +1 -1
  99. data/test/test_track.rb +39 -5
  100. metadata +102 -9
@@ -0,0 +1,459 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
3
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
4
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
5
+ <head>
6
+ <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
7
+
8
+ <title>Class: MIDI::NoteEvent</title>
9
+
10
+ <link rel="stylesheet" href="../rdoc.css" type="text/css" media="screen" />
11
+
12
+ <script src="../js/jquery.js" type="text/javascript"
13
+ charset="utf-8"></script>
14
+ <script src="../js/thickbox-compressed.js" type="text/javascript"
15
+ charset="utf-8"></script>
16
+ <script src="../js/quicksearch.js" type="text/javascript"
17
+ charset="utf-8"></script>
18
+ <script src="../js/darkfish.js" type="text/javascript"
19
+ charset="utf-8"></script>
20
+
21
+ </head>
22
+ <body class="class">
23
+
24
+ <div id="metadata">
25
+ <div id="home-metadata">
26
+ <div id="home-section" class="section">
27
+ <h3 class="section-header">
28
+ <a href="../index.html">Home</a>
29
+ <a href="../index.html#classes">Classes</a>
30
+ <a href="../index.html#methods">Methods</a>
31
+ </h3>
32
+ </div>
33
+ </div>
34
+
35
+ <div id="file-metadata">
36
+ <div id="file-list-section" class="section">
37
+ <h3 class="section-header">In Files</h3>
38
+ <div class="section-body">
39
+ <ul>
40
+
41
+ <li><a href="../lib/midilib/event_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
42
+ class="thickbox" title="lib/midilib/event.rb">lib/midilib/event.rb</a></li>
43
+
44
+ </ul>
45
+ </div>
46
+ </div>
47
+
48
+
49
+ </div>
50
+
51
+ <div id="class-metadata">
52
+
53
+ <!-- Parent Class -->
54
+
55
+ <div id="parent-class-section" class="section">
56
+ <h3 class="section-header">Parent</h3>
57
+
58
+ <p class="link"><a href="ChannelEvent.html">MIDI::ChannelEvent</a></p>
59
+
60
+ </div>
61
+
62
+
63
+ <!-- Namespace Contents -->
64
+
65
+
66
+ <!-- Method Quickref -->
67
+
68
+ <div id="method-list-section" class="section">
69
+ <h3 class="section-header">Methods</h3>
70
+ <ul class="link-list">
71
+
72
+ <li><a href="#method-c-new">::new</a></li>
73
+
74
+ <li><a href="#method-i-data_as_bytes">#data_as_bytes</a></li>
75
+
76
+ <li><a href="#method-i-note_to_s">#note_to_s</a></li>
77
+
78
+ <li><a href="#method-i-pch_oct">#pch_oct</a></li>
79
+
80
+ </ul>
81
+ </div>
82
+
83
+
84
+ <!-- Included Modules -->
85
+
86
+ </div>
87
+
88
+ <div id="project-metadata">
89
+
90
+
91
+ <div id="fileindex-section" class="section project-section">
92
+ <h3 class="section-header">Files</h3>
93
+ <ul>
94
+
95
+ <li class="file"><a href="../README_rdoc.html">README.rdoc</a></li>
96
+
97
+ <li class="file"><a href="../TODO_rdoc.html">TODO.rdoc</a></li>
98
+
99
+ </ul>
100
+ </div>
101
+
102
+
103
+ <div id="classindex-section" class="section project-section">
104
+ <h3 class="section-header">Class Index
105
+ <span class="search-toggle"><img src="../images/find.png"
106
+ height="16" width="16" alt="[+]"
107
+ title="show/hide quicksearch" /></span></h3>
108
+ <form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
109
+ <fieldset>
110
+ <legend>Quicksearch</legend>
111
+ <input type="text" name="quicksearch" value=""
112
+ class="quicksearch-field" />
113
+ </fieldset>
114
+ </form>
115
+
116
+ <ul class="link-list">
117
+
118
+ <li><a href="../MIDI.html">MIDI</a></li>
119
+
120
+ <li><a href="../MIDI/ActiveSense.html">MIDI::ActiveSense</a></li>
121
+
122
+ <li><a href="../MIDI/ChannelEvent.html">MIDI::ChannelEvent</a></li>
123
+
124
+ <li><a href="../MIDI/ChannelPressure.html">MIDI::ChannelPressure</a></li>
125
+
126
+ <li><a href="../MIDI/Clock.html">MIDI::Clock</a></li>
127
+
128
+ <li><a href="../MIDI/Continue.html">MIDI::Continue</a></li>
129
+
130
+ <li><a href="../MIDI/Controller.html">MIDI::Controller</a></li>
131
+
132
+ <li><a href="../MIDI/Event.html">MIDI::Event</a></li>
133
+
134
+ <li><a href="../MIDI/IO.html">MIDI::IO</a></li>
135
+
136
+ <li><a href="../MIDI/IO/MIDIFile.html">MIDI::IO::MIDIFile</a></li>
137
+
138
+ <li><a href="../MIDI/IO/SeqReader.html">MIDI::IO::SeqReader</a></li>
139
+
140
+ <li><a href="../MIDI/IO/SeqWriter.html">MIDI::IO::SeqWriter</a></li>
141
+
142
+ <li><a href="../MIDI/KeySig.html">MIDI::KeySig</a></li>
143
+
144
+ <li><a href="../MIDI/Marker.html">MIDI::Marker</a></li>
145
+
146
+ <li><a href="../MIDI/Measure.html">MIDI::Measure</a></li>
147
+
148
+ <li><a href="../MIDI/Measures.html">MIDI::Measures</a></li>
149
+
150
+ <li><a href="../MIDI/MetaEvent.html">MIDI::MetaEvent</a></li>
151
+
152
+ <li><a href="../MIDI/NoteEvent.html">MIDI::NoteEvent</a></li>
153
+
154
+ <li><a href="../MIDI/NoteOff.html">MIDI::NoteOff</a></li>
155
+
156
+ <li><a href="../MIDI/NoteOff.html">MIDI::NoteOff</a></li>
157
+
158
+ <li><a href="../MIDI/NoteOn.html">MIDI::NoteOn</a></li>
159
+
160
+ <li><a href="../MIDI/NoteOn.html">MIDI::NoteOn</a></li>
161
+
162
+ <li><a href="../MIDI/PitchBend.html">MIDI::PitchBend</a></li>
163
+
164
+ <li><a href="../MIDI/PolyPressure.html">MIDI::PolyPressure</a></li>
165
+
166
+ <li><a href="../MIDI/ProgramChange.html">MIDI::ProgramChange</a></li>
167
+
168
+ <li><a href="../MIDI/Realtime.html">MIDI::Realtime</a></li>
169
+
170
+ <li><a href="../MIDI/Sequence.html">MIDI::Sequence</a></li>
171
+
172
+ <li><a href="../MIDI/SongPointer.html">MIDI::SongPointer</a></li>
173
+
174
+ <li><a href="../MIDI/SongSelect.html">MIDI::SongSelect</a></li>
175
+
176
+ <li><a href="../MIDI/Start.html">MIDI::Start</a></li>
177
+
178
+ <li><a href="../MIDI/Stop.html">MIDI::Stop</a></li>
179
+
180
+ <li><a href="../MIDI/SystemCommon.html">MIDI::SystemCommon</a></li>
181
+
182
+ <li><a href="../MIDI/SystemExclusive.html">MIDI::SystemExclusive</a></li>
183
+
184
+ <li><a href="../MIDI/SystemReset.html">MIDI::SystemReset</a></li>
185
+
186
+ <li><a href="../MIDI/Tempo.html">MIDI::Tempo</a></li>
187
+
188
+ <li><a href="../MIDI/TimeSig.html">MIDI::TimeSig</a></li>
189
+
190
+ <li><a href="../MIDI/Track.html">MIDI::Track</a></li>
191
+
192
+ <li><a href="../MIDI/TuneRequest.html">MIDI::TuneRequest</a></li>
193
+
194
+ <li><a href="../MIDI/Utils.html">MIDI::Utils</a></li>
195
+
196
+ <li><a href="../Array.html">Array</a></li>
197
+
198
+ <li><a href="../IO.html">IO</a></li>
199
+
200
+ </ul>
201
+ <div id="no-class-search-results" style="display: none;">No matching classes.</div>
202
+ </div>
203
+
204
+
205
+ </div>
206
+ </div>
207
+
208
+ <div id="documentation">
209
+ <h1 class="class">MIDI::NoteEvent</h1>
210
+
211
+ <div id="description">
212
+ <p>
213
+ The abstract superclass of all note on, and note off, and polyphonic
214
+ pressure events.
215
+ </p>
216
+
217
+ </div>
218
+
219
+ <!-- Constants -->
220
+
221
+ <div id="constants-list" class="section">
222
+ <h3 class="section-header">Constants</h3>
223
+ <dl>
224
+
225
+ <dt><a name="PITCHES">PITCHES</a></dt>
226
+
227
+ <dd class="description"></dd>
228
+
229
+
230
+ </dl>
231
+ </div>
232
+
233
+
234
+ <!-- Attributes -->
235
+
236
+ <div id="attribute-method-details" class="method-section section">
237
+ <h3 class="section-header">Attributes</h3>
238
+
239
+
240
+ <div id="note-attribute-method" class="method-detail">
241
+ <a name="note"></a>
242
+
243
+ <a name="note="></a>
244
+
245
+ <div class="method-heading attribute-method-heading">
246
+ <span class="method-name">note</span><span
247
+ class="attribute-access-type">[RW]</span>
248
+ </div>
249
+
250
+ <div class="method-description">
251
+
252
+
253
+
254
+ </div>
255
+ </div>
256
+
257
+ <div id="velocity-attribute-method" class="method-detail">
258
+ <a name="velocity"></a>
259
+
260
+ <a name="velocity="></a>
261
+
262
+ <div class="method-heading attribute-method-heading">
263
+ <span class="method-name">velocity</span><span
264
+ class="attribute-access-type">[RW]</span>
265
+ </div>
266
+
267
+ <div class="method-description">
268
+
269
+
270
+
271
+ </div>
272
+ </div>
273
+
274
+ </div>
275
+
276
+
277
+ <!-- Methods -->
278
+
279
+ <div id="public-class-method-details" class="method-section section">
280
+ <h3 class="section-header">Public Class Methods</h3>
281
+
282
+
283
+ <div id="new-method" class="method-detail ">
284
+ <a name="method-c-new"></a>
285
+
286
+ <div class="method-heading">
287
+
288
+ <span class="method-name">new</span><span
289
+ class="method-args">(status, channel, note, velocity, delta_time)</span>
290
+ <span class="method-click-advice">click to toggle source</span>
291
+
292
+ </div>
293
+
294
+ <div class="method-description">
295
+
296
+
297
+
298
+
299
+
300
+ <div class="method-source-code"
301
+ id="new-source">
302
+ <pre>
303
+ <span class="ruby-comment cmt"># File lib/midilib/event.rb, line 103</span>
304
+ 103: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">status</span>, <span class="ruby-identifier">channel</span>, <span class="ruby-identifier">note</span>, <span class="ruby-identifier">velocity</span>, <span class="ruby-identifier">delta_time</span>)
305
+ 104: <span class="ruby-keyword kw">super</span>(<span class="ruby-identifier">status</span>, <span class="ruby-identifier">channel</span>, <span class="ruby-identifier">delta_time</span>)
306
+ 105: <span class="ruby-ivar">@note</span> = <span class="ruby-identifier">note</span>
307
+ 106: <span class="ruby-ivar">@velocity</span> = <span class="ruby-identifier">velocity</span>
308
+ 107: <span class="ruby-keyword kw">end</span></pre>
309
+ </div>
310
+
311
+ </div>
312
+
313
+
314
+
315
+
316
+ </div>
317
+
318
+
319
+ </div>
320
+
321
+ <div id="public-instance-method-details" class="method-section section">
322
+ <h3 class="section-header">Public Instance Methods</h3>
323
+
324
+
325
+ <div id="data-as-bytes-method" class="method-detail ">
326
+ <a name="method-i-data_as_bytes"></a>
327
+
328
+ <div class="method-heading">
329
+
330
+ <span class="method-name">data_as_bytes</span><span
331
+ class="method-args">()</span>
332
+ <span class="method-click-advice">click to toggle source</span>
333
+
334
+ </div>
335
+
336
+ <div class="method-description">
337
+
338
+
339
+
340
+
341
+
342
+ <div class="method-source-code"
343
+ id="data-as-bytes-source">
344
+ <pre>
345
+ <span class="ruby-comment cmt"># File lib/midilib/event.rb, line 125</span>
346
+ 125: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">data_as_bytes</span>
347
+ 126: <span class="ruby-identifier">data</span> = []
348
+ 127: <span class="ruby-identifier">data</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-ivar">@status</span> <span class="ruby-operator">+</span> <span class="ruby-ivar">@channel</span>)
349
+ 128: <span class="ruby-identifier">data</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-ivar">@note</span>
350
+ 129: <span class="ruby-identifier">data</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-ivar">@velocity</span>
351
+ 130: <span class="ruby-keyword kw">end</span></pre>
352
+ </div>
353
+
354
+ </div>
355
+
356
+
357
+
358
+
359
+ </div>
360
+
361
+
362
+ <div id="note-to-s-method" class="method-detail ">
363
+ <a name="method-i-note_to_s"></a>
364
+
365
+ <div class="method-heading">
366
+
367
+ <span class="method-name">note_to_s</span><span
368
+ class="method-args">()</span>
369
+ <span class="method-click-advice">click to toggle source</span>
370
+
371
+ </div>
372
+
373
+ <div class="method-description">
374
+
375
+ <p>
376
+ If @print_note_names is true, returns <a
377
+ href="NoteEvent.html#method-i-pch_oct">pch_oct</a>(val) else returns value
378
+ as a number using number_to_s.
379
+ </p>
380
+
381
+
382
+
383
+ <div class="method-source-code"
384
+ id="note-to-s-source">
385
+ <pre>
386
+ <span class="ruby-comment cmt"># File lib/midilib/event.rb, line 121</span>
387
+ 121: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">note_to_s</span>
388
+ 122: <span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@print_note_names</span> <span class="ruby-operator">?</span> <span class="ruby-identifier">pch_oct</span>(<span class="ruby-ivar">@note</span>) <span class="ruby-operator">:</span> <span class="ruby-identifier">number_to_s</span>(<span class="ruby-ivar">@note</span>)
389
+ 123: <span class="ruby-keyword kw">end</span></pre>
390
+ </div>
391
+
392
+ </div>
393
+
394
+
395
+
396
+
397
+ </div>
398
+
399
+
400
+ <div id="pch-oct-method" class="method-detail ">
401
+ <a name="method-i-pch_oct"></a>
402
+
403
+ <div class="method-heading">
404
+
405
+ <span class="method-name">pch_oct</span><span
406
+ class="method-args">(val=@note)</span>
407
+ <span class="method-click-advice">click to toggle source</span>
408
+
409
+ </div>
410
+
411
+ <div class="method-description">
412
+
413
+ <p>
414
+ Returns note name as a pitch/octave string like &#8220;C4&#8221; or
415
+ &#8220;F#6&#8221;.
416
+ </p>
417
+
418
+
419
+
420
+ <div class="method-source-code"
421
+ id="pch-oct-source">
422
+ <pre>
423
+ <span class="ruby-comment cmt"># File lib/midilib/event.rb, line 113</span>
424
+ 113: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">pch_oct</span>(<span class="ruby-identifier">val</span>=<span class="ruby-ivar">@note</span>)
425
+ 114: <span class="ruby-identifier">pch</span> = <span class="ruby-identifier">val</span> <span class="ruby-operator">%</span> <span class="ruby-value">12</span>
426
+ 115: <span class="ruby-identifier">oct</span> = (<span class="ruby-identifier">val</span> <span class="ruby-operator">/</span> <span class="ruby-value">12</span>) <span class="ruby-operator">-</span> <span class="ruby-value">1</span>
427
+ 116: <span class="ruby-node">&quot;#{PITCHES[pch]}#{oct}&quot;</span>
428
+ 117: <span class="ruby-keyword kw">end</span></pre>
429
+ </div>
430
+
431
+ </div>
432
+
433
+
434
+
435
+
436
+ </div>
437
+
438
+
439
+ </div>
440
+
441
+
442
+ </div>
443
+
444
+
445
+ <div id="rdoc-debugging-section-dump" class="debugging-section">
446
+
447
+ <p>Disabled; run with --debug to generate this.</p>
448
+
449
+ </div>
450
+
451
+ <div id="validator-badges">
452
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
453
+ <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
454
+ Rdoc Generator</a> 1.1.6</small>.</p>
455
+ </div>
456
+
457
+ </body>
458
+ </html>
459
+