midilib 2.0.5 → 3.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (124) hide show
  1. checksums.yaml +5 -5
  2. data/ChangeLog +2 -1
  3. data/Credits +39 -2
  4. data/README.rdoc +5 -6
  5. data/Rakefile +36 -49
  6. data/TODO.rdoc +13 -2
  7. data/examples/from_scratch.rb +1 -1
  8. data/examples/measures_mbt.rb +11 -11
  9. data/examples/print_program_changes.rb +2 -2
  10. data/examples/reader2text.rb +47 -47
  11. data/examples/seq2text.rb +1 -1
  12. data/examples/split.rb +4 -3
  13. data/examples/strings.rb +4 -4
  14. data/examples/transpose.rb +19 -20
  15. data/install.rb +21 -13
  16. data/lib/midilib/consts.rb +237 -239
  17. data/lib/midilib/event.rb +128 -100
  18. data/lib/midilib/info.rb +3 -5
  19. data/lib/midilib/io/midifile.rb +155 -182
  20. data/lib/midilib/io/seqreader.rb +80 -85
  21. data/lib/midilib/io/seqwriter.rb +93 -88
  22. data/lib/midilib/measure.rb +78 -80
  23. data/lib/midilib/mergesort.rb +39 -0
  24. data/lib/midilib/sequence.rb +40 -32
  25. data/lib/midilib/track.rb +16 -57
  26. data/lib/midilib/utils.rb +4 -7
  27. data/lib/midilib.rb +5 -5
  28. data/test/event_equality.rb +28 -30
  29. data/test/test_event.rb +9 -11
  30. data/test/test_io.rb +83 -3
  31. data/test/test_mergesort.rb +37 -0
  32. data/test/test_midifile.rb +6 -19
  33. data/test/test_sequence.rb +5 -4
  34. data/test/test_track.rb +9 -38
  35. data/test/test_varlen.rb +1 -3
  36. metadata +8 -95
  37. data/html/IO.html +0 -155
  38. data/html/MIDI/ActiveSense.html +0 -206
  39. data/html/MIDI/ChannelEvent.html +0 -231
  40. data/html/MIDI/ChannelPressure.html +0 -265
  41. data/html/MIDI/Clock.html +0 -206
  42. data/html/MIDI/Continue.html +0 -206
  43. data/html/MIDI/Controller.html +0 -280
  44. data/html/MIDI/Event.html +0 -489
  45. data/html/MIDI/IO/MIDIFile.html +0 -2024
  46. data/html/MIDI/IO/SeqReader.html +0 -904
  47. data/html/MIDI/IO/SeqWriter.html +0 -572
  48. data/html/MIDI/IO.html +0 -95
  49. data/html/MIDI/KeySig.html +0 -353
  50. data/html/MIDI/MIDI/MIDI/Array.html +0 -255
  51. data/html/MIDI/MIDI/MIDI.html +0 -95
  52. data/html/MIDI/MIDI.html +0 -95
  53. data/html/MIDI/Marker.html +0 -158
  54. data/html/MIDI/Measure.html +0 -328
  55. data/html/MIDI/Measures.html +0 -285
  56. data/html/MIDI/MetaEvent.html +0 -461
  57. data/html/MIDI/NoteEvent.html +0 -331
  58. data/html/MIDI/NoteOff.html +0 -228
  59. data/html/MIDI/NoteOn.html +0 -228
  60. data/html/MIDI/PitchBend.html +0 -266
  61. data/html/MIDI/PolyPressure.html +0 -277
  62. data/html/MIDI/ProgramChange.html +0 -265
  63. data/html/MIDI/Realtime.html +0 -242
  64. data/html/MIDI/Sequence.html +0 -896
  65. data/html/MIDI/SongPointer.html +0 -266
  66. data/html/MIDI/SongSelect.html +0 -265
  67. data/html/MIDI/Start.html +0 -206
  68. data/html/MIDI/Stop.html +0 -206
  69. data/html/MIDI/SystemCommon.html +0 -158
  70. data/html/MIDI/SystemExclusive.html +0 -268
  71. data/html/MIDI/SystemReset.html +0 -206
  72. data/html/MIDI/Tempo.html +0 -396
  73. data/html/MIDI/TimeSig.html +0 -388
  74. data/html/MIDI/Track.html +0 -695
  75. data/html/MIDI/TuneRequest.html +0 -242
  76. data/html/MIDI/Utils.html +0 -220
  77. data/html/MIDI.html +0 -547
  78. data/html/README_rdoc.html +0 -731
  79. data/html/TODO_rdoc.html +0 -125
  80. data/html/created.rid +0 -14
  81. data/html/css/fonts.css +0 -167
  82. data/html/css/rdoc.css +0 -590
  83. data/html/fonts/Lato-Light.ttf +0 -0
  84. data/html/fonts/Lato-LightItalic.ttf +0 -0
  85. data/html/fonts/Lato-Regular.ttf +0 -0
  86. data/html/fonts/Lato-RegularItalic.ttf +0 -0
  87. data/html/fonts/SourceCodePro-Bold.ttf +0 -0
  88. data/html/fonts/SourceCodePro-Regular.ttf +0 -0
  89. data/html/images/add.png +0 -0
  90. data/html/images/arrow_up.png +0 -0
  91. data/html/images/brick.png +0 -0
  92. data/html/images/brick_link.png +0 -0
  93. data/html/images/bug.png +0 -0
  94. data/html/images/bullet_black.png +0 -0
  95. data/html/images/bullet_toggle_minus.png +0 -0
  96. data/html/images/bullet_toggle_plus.png +0 -0
  97. data/html/images/date.png +0 -0
  98. data/html/images/delete.png +0 -0
  99. data/html/images/find.png +0 -0
  100. data/html/images/loadingAnimation.gif +0 -0
  101. data/html/images/macFFBgHack.png +0 -0
  102. data/html/images/package.png +0 -0
  103. data/html/images/page_green.png +0 -0
  104. data/html/images/page_white_text.png +0 -0
  105. data/html/images/page_white_width.png +0 -0
  106. data/html/images/plugin.png +0 -0
  107. data/html/images/ruby.png +0 -0
  108. data/html/images/tag_blue.png +0 -0
  109. data/html/images/tag_green.png +0 -0
  110. data/html/images/transparent.png +0 -0
  111. data/html/images/wrench.png +0 -0
  112. data/html/images/wrench_orange.png +0 -0
  113. data/html/images/zoom.png +0 -0
  114. data/html/index.html +0 -768
  115. data/html/js/darkfish.js +0 -161
  116. data/html/js/jquery.js +0 -4
  117. data/html/js/navigation.js +0 -142
  118. data/html/js/navigation.js.gz +0 -0
  119. data/html/js/search.js +0 -109
  120. data/html/js/search_index.js +0 -1
  121. data/html/js/search_index.js.gz +0 -0
  122. data/html/js/searcher.js +0 -228
  123. data/html/js/searcher.js.gz +0 -0
  124. data/html/table_of_contents.html +0 -1265
data/html/MIDI.html DELETED
@@ -1,547 +0,0 @@
1
- <!DOCTYPE html>
2
-
3
- <html>
4
- <head>
5
- <meta charset="UTF-8">
6
-
7
- <title>module MIDI - midilib</title>
8
-
9
- <script type="text/javascript">
10
- var rdoc_rel_prefix = "./";
11
- </script>
12
-
13
- <script src="./js/jquery.js"></script>
14
- <script src="./js/darkfish.js"></script>
15
-
16
- <link href="./css/fonts.css" rel="stylesheet">
17
- <link href="./css/rdoc.css" rel="stylesheet">
18
-
19
-
20
-
21
- <body id="top" role="document" class="module">
22
- <nav role="navigation">
23
- <div id="project-navigation">
24
- <div id="home-section" role="region" title="Quick navigation" class="nav-section">
25
- <h2>
26
- <a href="./index.html" rel="home">Home</a>
27
- </h2>
28
-
29
- <div id="table-of-contents-navigation">
30
- <a href="./table_of_contents.html#pages">Pages</a>
31
- <a href="./table_of_contents.html#classes">Classes</a>
32
- <a href="./table_of_contents.html#methods">Methods</a>
33
- </div>
34
- </div>
35
-
36
- <div id="search-section" role="search" class="project-section initially-hidden">
37
- <form action="#" method="get" accept-charset="utf-8">
38
- <div id="search-field-wrapper">
39
- <input id="search-field" role="combobox" aria-label="Search"
40
- aria-autocomplete="list" aria-controls="search-results"
41
- type="text" name="search" placeholder="Search" spellcheck="false"
42
- title="Type to search, Up and Down to navigate, Enter to load">
43
- </div>
44
-
45
- <ul id="search-results" aria-label="Search Results"
46
- aria-busy="false" aria-expanded="false"
47
- aria-atomic="false" class="initially-hidden"></ul>
48
- </form>
49
- </div>
50
-
51
- </div>
52
-
53
-
54
-
55
- <div id="class-metadata">
56
-
57
-
58
-
59
-
60
-
61
- </div>
62
- </nav>
63
-
64
- <main role="main" aria-labelledby="module-MIDI">
65
- <h1 id="module-MIDI" class="module">
66
- module MIDI
67
- </h1>
68
-
69
- <section class="description">
70
-
71
- <p><a href="MIDI/MIDI.html">MIDI</a> constants.</p>
72
-
73
- </section>
74
-
75
-
76
-
77
-
78
- <section id="5Buntitled-5D" class="documentation-section">
79
-
80
-
81
-
82
-
83
-
84
- <section class="constants-list">
85
- <header>
86
- <h3>Constants</h3>
87
- </header>
88
- <dl>
89
-
90
- <dt id="ACTIVE_SENSE">ACTIVE_SENSE
91
-
92
- <dd><p>Active sensing (sent every 300 ms when nothing else being sent)</p>
93
-
94
-
95
- <dt id="CC_BALANCE">CC_BALANCE
96
-
97
- <dd>
98
-
99
-
100
- <dt id="CC_BREATH_CONTROLLER">CC_BREATH_CONTROLLER
101
-
102
- <dd>
103
-
104
-
105
- <dt id="CC_CHORUS_DEPTH">CC_CHORUS_DEPTH
106
-
107
- <dd>
108
-
109
-
110
- <dt id="CC_DATA_DECREMENT">CC_DATA_DECREMENT
111
-
112
- <dd>
113
-
114
-
115
- <dt id="CC_DATA_ENTRY_LSB">CC_DATA_ENTRY_LSB
116
-
117
- <dd><dl class="rdoc-list label-list"><dt>32 - 63
118
- <dd>
119
- <p>are LSB for [0 - 31]</p>
120
- </dd></dl>
121
-
122
-
123
- <dt id="CC_DATA_ENTRY_MSB">CC_DATA_ENTRY_MSB
124
-
125
- <dd>
126
-
127
-
128
- <dt id="CC_DATA_INCREMENT">CC_DATA_INCREMENT
129
-
130
- <dd>
131
-
132
-
133
- <dt id="CC_DETUNE_DEPTH">CC_DETUNE_DEPTH
134
-
135
- <dd>
136
-
137
-
138
- <dt id="CC_EXPRESSION_CONTROLLER">CC_EXPRESSION_CONTROLLER
139
-
140
- <dd>
141
-
142
-
143
- <dt id="CC_FOOT_CONTROLLER">CC_FOOT_CONTROLLER
144
-
145
- <dd>
146
-
147
-
148
- <dt id="CC_GEN_PURPOSE_1">CC_GEN_PURPOSE_1
149
-
150
- <dd>
151
-
152
-
153
- <dt id="CC_GEN_PURPOSE_2">CC_GEN_PURPOSE_2
154
-
155
- <dd>
156
-
157
-
158
- <dt id="CC_GEN_PURPOSE_3">CC_GEN_PURPOSE_3
159
-
160
- <dd>
161
-
162
-
163
- <dt id="CC_GEN_PURPOSE_4">CC_GEN_PURPOSE_4
164
-
165
- <dd>
166
-
167
-
168
- <dt id="CC_GEN_PURPOSE_5">CC_GEN_PURPOSE_5
169
-
170
- <dd>
171
-
172
-
173
- <dt id="CC_GEN_PURPOSE_6">CC_GEN_PURPOSE_6
174
-
175
- <dd>
176
-
177
-
178
- <dt id="CC_GEN_PURPOSE_7">CC_GEN_PURPOSE_7
179
-
180
- <dd>
181
-
182
-
183
- <dt id="CC_GEN_PURPOSE_8">CC_GEN_PURPOSE_8
184
-
185
- <dd>
186
-
187
-
188
- <dt id="CC_HOLD_2">CC_HOLD_2
189
-
190
- <dd>
191
-
192
-
193
- <dt id="CC_MOD_WHEEL">CC_MOD_WHEEL
194
-
195
- <dd><p><a href="MIDI/Controller.html">Controller</a> numbers</p>
196
-
197
- <h1 id="label-0+-+31+-3D+continuous-2C+LSB">0 - 31 = continuous, LSB<span><a href="#label-0+-+31+-3D+continuous-2C+LSB">&para;</a> <a href="#top">&uarr;</a></span></h1>
198
-
199
- <h1 id="label-32+-+63+-3D+continuous-2C+MSB">32 - 63 = continuous, MSB<span><a href="#label-32+-+63+-3D+continuous-2C+MSB">&para;</a> <a href="#top">&uarr;</a></span></h1>
200
-
201
- <h1 id="label-64+-+97+-3D+switches">64 - 97 = switches<span><a href="#label-64+-+97+-3D+switches">&para;</a> <a href="#top">&uarr;</a></span></h1>
202
-
203
-
204
- <dt id="CC_NREG_PARAM_LSB">CC_NREG_PARAM_LSB
205
-
206
- <dd>
207
-
208
-
209
- <dt id="CC_NREG_PARAM_MSB">CC_NREG_PARAM_MSB
210
-
211
- <dd>
212
-
213
-
214
- <dt id="CC_PAN">CC_PAN
215
-
216
- <dd>
217
-
218
-
219
- <dt id="CC_PHASER_DEPTH">CC_PHASER_DEPTH
220
-
221
- <dd>
222
-
223
-
224
- <dt id="CC_PORTAMENTO">CC_PORTAMENTO
225
-
226
- <dd>
227
-
228
-
229
- <dt id="CC_PORTAMENTO_TIME">CC_PORTAMENTO_TIME
230
-
231
- <dd>
232
-
233
-
234
- <dt id="CC_REG_PARAM_LSB">CC_REG_PARAM_LSB
235
-
236
- <dd>
237
-
238
-
239
- <dt id="CC_REG_PARAM_MSB">CC_REG_PARAM_MSB
240
-
241
- <dd>
242
-
243
-
244
- <dt id="CC_SOFT_PEDAL">CC_SOFT_PEDAL
245
-
246
- <dd>
247
-
248
-
249
- <dt id="CC_SUSTAIN">CC_SUSTAIN
250
-
251
- <dd>
252
-
253
-
254
- <dt id="CC_SUSTENUTO">CC_SUSTENUTO
255
-
256
- <dd>
257
-
258
-
259
- <dt id="CC_TREMELO_DEPTH">CC_TREMELO_DEPTH
260
-
261
- <dd>
262
-
263
-
264
- <dt id="CC_VOLUME">CC_VOLUME
265
-
266
- <dd>
267
-
268
-
269
- <dt id="CHANNEL_PRESSURE">CHANNEL_PRESSURE
270
-
271
- <dd><p>Channel pressure</p>
272
-
273
-
274
- <dt id="CLOCK">CLOCK
275
-
276
- <dd><p><a href="MIDI/MIDI.html">MIDI</a> clock (24 per quarter note)</p>
277
-
278
-
279
- <dt id="CM_ALL_NOTES_OFF">CM_ALL_NOTES_OFF
280
-
281
- <dd>
282
-
283
-
284
- <dt id="CM_LOCAL_CONTROL">CM_LOCAL_CONTROL
285
-
286
- <dd><p>Val 0 == off, 0x7f == on</p>
287
-
288
-
289
- <dt id="CM_MONO_MODE_ON">CM_MONO_MODE_ON
290
-
291
- <dd>
292
-
293
-
294
- <dt id="CM_OMNI_MODE_OFF">CM_OMNI_MODE_OFF
295
-
296
- <dd>
297
-
298
-
299
- <dt id="CM_OMNI_MODE_ON">CM_OMNI_MODE_ON
300
-
301
- <dd>
302
-
303
-
304
- <dt id="CM_POLY_MODE_ON">CM_POLY_MODE_ON
305
-
306
- <dd>
307
-
308
-
309
- <dt id="CONTINUE">CONTINUE
310
-
311
- <dd><p><a href="MIDI/Sequence.html">Sequence</a> continue</p>
312
-
313
-
314
- <dt id="CONTROLLER">CONTROLLER
315
-
316
- <dd><p><a href="MIDI/Controller.html">Controller</a> #, val</p>
317
-
318
-
319
- <dt id="CONTROLLER_NAMES">CONTROLLER_NAMES
320
-
321
- <dd><p><a href="MIDI/Controller.html">Controller</a> names</p>
322
-
323
-
324
- <dt id="Copyright">Copyright
325
-
326
- <dd>
327
-
328
-
329
- <dt id="EOX">EOX
330
-
331
- <dd><p>End of system exclusive</p>
332
-
333
-
334
- <dt id="GM_DRUM_NOTE_LOWEST">GM_DRUM_NOTE_LOWEST
335
-
336
- <dd><p>GM drum notes start at 35 (C), so subtrack <a
337
- href="MIDI.html#GM_DRUM_NOTE_LOWEST">GM_DRUM_NOTE_LOWEST</a> from your note
338
- number before using this array.</p>
339
-
340
-
341
- <dt id="GM_DRUM_NOTE_NAMES">GM_DRUM_NOTE_NAMES
342
-
343
- <dd><p>General <a href="MIDI/MIDI.html">MIDI</a> drum channel note names.</p>
344
-
345
-
346
- <dt id="GM_PATCH_NAMES">GM_PATCH_NAMES
347
-
348
- <dd><p>General <a href="MIDI/MIDI.html">MIDI</a> patch names</p>
349
-
350
-
351
- <dt id="META_COPYRIGHT">META_COPYRIGHT
352
-
353
- <dd>
354
-
355
-
356
- <dt id="META_CUE">META_CUE
357
-
358
- <dd>
359
-
360
-
361
- <dt id="META_EVENT">META_EVENT
362
-
363
- <dd>
364
-
365
-
366
- <dt id="META_INSTRUMENT">META_INSTRUMENT
367
-
368
- <dd>
369
-
370
-
371
- <dt id="META_KEY_SIG">META_KEY_SIG
372
-
373
- <dd>
374
-
375
-
376
- <dt id="META_LYRIC">META_LYRIC
377
-
378
- <dd>
379
-
380
-
381
- <dt id="META_MARKER">META_MARKER
382
-
383
- <dd>
384
-
385
-
386
- <dt id="META_MIDI_CHAN_PREFIX">META_MIDI_CHAN_PREFIX
387
-
388
- <dd>
389
-
390
-
391
- <dt id="META_SEQ_NAME">META_SEQ_NAME
392
-
393
- <dd>
394
-
395
-
396
- <dt id="META_SEQ_NUM">META_SEQ_NUM
397
-
398
- <dd>
399
-
400
-
401
- <dt id="META_SEQ_SPECIF">META_SEQ_SPECIF
402
-
403
- <dd>
404
-
405
-
406
- <dt id="META_SET_TEMPO">META_SET_TEMPO
407
-
408
- <dd>
409
-
410
-
411
- <dt id="META_SMPTE">META_SMPTE
412
-
413
- <dd>
414
-
415
-
416
- <dt id="META_TEXT">META_TEXT
417
-
418
- <dd>
419
-
420
-
421
- <dt id="META_TIME_SIG">META_TIME_SIG
422
-
423
- <dd>
424
-
425
-
426
- <dt id="META_TRACK_END">META_TRACK_END
427
-
428
- <dd>
429
-
430
-
431
- <dt id="MIDI_CHANNELS">MIDI_CHANNELS
432
-
433
- <dd><p>Number of <a href="MIDI/MIDI.html">MIDI</a> channels</p>
434
-
435
-
436
- <dt id="NOTES_PER_CHANNEL">NOTES_PER_CHANNEL
437
-
438
- <dd><p>Number of note per <a href="MIDI/MIDI.html">MIDI</a> channel</p>
439
-
440
-
441
- <dt id="NOTE_OFF">NOTE_OFF
442
-
443
- <dd><p>Note, val</p>
444
-
445
-
446
- <dt id="NOTE_ON">NOTE_ON
447
-
448
- <dd><p>Note, val</p>
449
-
450
-
451
- <dt id="NoteOffEvent">NoteOffEvent
452
-
453
- <dd><p>Old class name for compatability</p>
454
-
455
-
456
- <dt id="NoteOnEvent">NoteOnEvent
457
-
458
- <dd><p>Old class name for compatability</p>
459
-
460
-
461
- <dt id="PITCH_BEND">PITCH_BEND
462
-
463
- <dd><p>LSB, MSB</p>
464
-
465
-
466
- <dt id="POLY_PRESSURE">POLY_PRESSURE
467
-
468
- <dd><p>Note, val</p>
469
-
470
-
471
- <dt id="PROGRAM_CHANGE">PROGRAM_CHANGE
472
-
473
- <dd><p>Program number</p>
474
-
475
-
476
- <dt id="SONG_POINTER">SONG_POINTER
477
-
478
- <dd><p>Beats from top: LSB/MSB 6 ticks = 1 beat</p>
479
-
480
-
481
- <dt id="SONG_SELECT">SONG_SELECT
482
-
483
- <dd><p>Val = number of song</p>
484
-
485
-
486
- <dt id="START">START
487
-
488
- <dd><p><a href="MIDI/Sequence.html">Sequence</a> start</p>
489
-
490
-
491
- <dt id="STOP">STOP
492
-
493
- <dd><p><a href="MIDI/Sequence.html">Sequence</a> stop</p>
494
-
495
-
496
- <dt id="SYSEX">SYSEX
497
-
498
- <dd><p>System exclusive start</p>
499
-
500
-
501
- <dt id="SYSTEM_RESET">SYSTEM_RESET
502
-
503
- <dd><p>System reset</p>
504
-
505
-
506
- <dt id="TUNE_REQUEST">TUNE_REQUEST
507
-
508
- <dd><p>Tune request</p>
509
-
510
-
511
- <dt id="VERSION_MAJOR">VERSION_MAJOR
512
-
513
- <dd>
514
-
515
-
516
- <dt id="VERSION_MINOR">VERSION_MINOR
517
-
518
- <dd>
519
-
520
-
521
- <dt id="VERSION_TWEAK">VERSION_TWEAK
522
-
523
- <dd>
524
-
525
-
526
- <dt id="Version">Version
527
-
528
- <dd>
529
-
530
-
531
- </dl>
532
- </section>
533
-
534
-
535
-
536
-
537
-
538
- </section>
539
- </main>
540
-
541
-
542
- <footer id="validator-badges" role="contentinfo">
543
- <p><a href="http://validator.w3.org/check/referer">Validate</a>
544
- <p>Generated by <a href="http://docs.seattlerb.org/rdoc/">RDoc</a> 4.2.0.
545
- <p>Based on <a href="http://deveiate.org/projects/Darkfish-RDoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
546
- </footer>
547
-