midilib 2.0.5 → 3.0.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 (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/css/rdoc.css DELETED
@@ -1,590 +0,0 @@
1
- /*
2
- * "Darkfish" Rdoc CSS
3
- * $Id: rdoc.css 54 2009-01-27 01:09:48Z deveiant $
4
- *
5
- * Author: Michael Granger <ged@FaerieMUD.org>
6
- *
7
- */
8
-
9
- /* vim: ft=css et sw=2 ts=2 sts=2 */
10
- /* Base Green is: #6C8C22 */
11
-
12
- * { padding: 0; margin: 0; }
13
-
14
- body {
15
- background: #fafafa;
16
- font-family: Lato, sans-serif;
17
- font-weight: 300;
18
- }
19
-
20
- h1 span,
21
- h2 span,
22
- h3 span,
23
- h4 span,
24
- h5 span,
25
- h6 span {
26
- position: relative;
27
-
28
- display: none;
29
- padding-left: 1em;
30
- line-height: 0;
31
- vertical-align: baseline;
32
- font-size: 10px;
33
- }
34
-
35
- h1 span { top: -1.3em; }
36
- h2 span { top: -1.2em; }
37
- h3 span { top: -1.0em; }
38
- h4 span { top: -0.8em; }
39
- h5 span { top: -0.5em; }
40
- h6 span { top: -0.5em; }
41
-
42
- h1:hover span,
43
- h2:hover span,
44
- h3:hover span,
45
- h4:hover span,
46
- h5:hover span,
47
- h6:hover span {
48
- display: inline;
49
- }
50
-
51
- :link,
52
- :visited {
53
- color: #6C8C22;
54
- text-decoration: none;
55
- }
56
-
57
- :link:hover,
58
- :visited:hover {
59
- border-bottom: 1px dotted #6C8C22;
60
- }
61
-
62
- code,
63
- pre {
64
- font-family: "Source Code Pro", Monaco, monospace;
65
- }
66
-
67
- /* @group Generic Classes */
68
-
69
- .initially-hidden {
70
- display: none;
71
- }
72
-
73
- #search-field {
74
- width: 98%;
75
- background: white;
76
- border: none;
77
- height: 1.5em;
78
- -webkit-border-radius: 4px;
79
- -moz-border-radius: 4px;
80
- border-radius: 4px;
81
- text-align: left;
82
- }
83
- #search-field:focus {
84
- background: #f1edba;
85
- }
86
- #search-field:-moz-placeholder,
87
- #search-field::-webkit-input-placeholder {
88
- font-weight: bold;
89
- color: #666;
90
- }
91
-
92
- .missing-docs {
93
- font-size: 120%;
94
- background: white url(images/wrench_orange.png) no-repeat 4px center;
95
- color: #ccc;
96
- line-height: 2em;
97
- border: 1px solid #d00;
98
- opacity: 1;
99
- padding-left: 20px;
100
- text-indent: 24px;
101
- letter-spacing: 3px;
102
- font-weight: bold;
103
- -webkit-border-radius: 5px;
104
- -moz-border-radius: 5px;
105
- }
106
-
107
- .target-section {
108
- border: 2px solid #dcce90;
109
- border-left-width: 8px;
110
- padding: 0 1em;
111
- background: #fff3c2;
112
- }
113
-
114
- /* @end */
115
-
116
- /* @group Index Page, Standalone file pages */
117
- .table-of-contents ul {
118
- margin: 1em;
119
- list-style: none;
120
- }
121
-
122
- .table-of-contents ul ul {
123
- margin-top: 0.25em;
124
- }
125
-
126
- .table-of-contents ul :link,
127
- .table-of-contents ul :visited {
128
- font-size: 16px;
129
- }
130
-
131
- .table-of-contents li {
132
- margin-bottom: 0.25em;
133
- }
134
-
135
- .table-of-contents li .toc-toggle {
136
- width: 16px;
137
- height: 16px;
138
- background: url(images/add.png) no-repeat;
139
- }
140
-
141
- .table-of-contents li .toc-toggle.open {
142
- background: url(images/delete.png) no-repeat;
143
- }
144
-
145
- /* @end */
146
-
147
- /* @group Top-Level Structure */
148
-
149
- nav {
150
- float: left;
151
- width: 260px;
152
- font-family: Helvetica, sans-serif;
153
- font-size: 14px;
154
- }
155
-
156
- main {
157
- display: block;
158
- margin: 0 2em 5em 260px;
159
- padding-left: 20px;
160
- min-width: 340px;
161
- font-size: 16px;
162
- }
163
-
164
- main h1,
165
- main h2,
166
- main h3,
167
- main h4,
168
- main h5,
169
- main h6 {
170
- font-family: Helvetica, sans-serif;
171
- }
172
-
173
- .table-of-contents main {
174
- margin-left: 2em;
175
- }
176
-
177
- #validator-badges {
178
- clear: both;
179
- margin: 1em 1em 2em;
180
- font-size: smaller;
181
- }
182
-
183
- /* @end */
184
-
185
- /* @group navigation */
186
- nav {
187
- margin-bottom: 1em;
188
- }
189
-
190
- nav .nav-section {
191
- margin-top: 2em;
192
- border-top: 2px solid #aaa;
193
- font-size: 90%;
194
- overflow: hidden;
195
- }
196
-
197
- nav h2 {
198
- margin: 0;
199
- padding: 2px 8px 2px 8px;
200
- background-color: #e8e8e8;
201
- color: #555;
202
- font-size: 125%;
203
- text-align: center;
204
- }
205
-
206
- nav h3,
207
- #table-of-contents-navigation {
208
- margin: 0;
209
- padding: 2px 8px 2px 8px;
210
- text-align: right;
211
- background-color: #e8e8e8;
212
- color: #555;
213
- }
214
-
215
- nav ul,
216
- nav dl,
217
- nav p {
218
- padding: 4px 8px 0;
219
- list-style: none;
220
- }
221
-
222
- #project-navigation .nav-section {
223
- margin: 0;
224
- border-top: 0;
225
- }
226
-
227
- #home-section h2 {
228
- text-align: center;
229
- }
230
-
231
- #table-of-contents-navigation {
232
- font-size: 1.2em;
233
- font-weight: bold;
234
- text-align: center;
235
- }
236
-
237
- #search-section {
238
- margin-top: 0;
239
- border-top: 0;
240
- }
241
-
242
- #search-field-wrapper {
243
- border-top: 1px solid #aaa;
244
- border-bottom: 1px solid #aaa;
245
- padding: 3px 8px;
246
- background-color: #e8e8e8;
247
- color: #555;
248
- }
249
-
250
- ul.link-list li {
251
- white-space: nowrap;
252
- line-height: 1.4em;
253
- }
254
-
255
- ul.link-list .type {
256
- font-size: 8px;
257
- text-transform: uppercase;
258
- color: white;
259
- background: #969696;
260
- padding: 2px 4px;
261
- -webkit-border-radius: 5px;
262
- }
263
-
264
- .calls-super {
265
- background: url(images/arrow_up.png) no-repeat right center;
266
- }
267
-
268
- /* @end */
269
-
270
- /* @group Documentation Section */
271
- main {
272
- color: #333;
273
- }
274
-
275
- main > h1:first-child,
276
- main > h2:first-child,
277
- main > h3:first-child,
278
- main > h4:first-child,
279
- main > h5:first-child,
280
- main > h6:first-child {
281
- margin-top: 0px;
282
- }
283
-
284
- main sup {
285
- vertical-align: super;
286
- font-size: 0.8em;
287
- }
288
-
289
- /* The heading with the class name */
290
- main h1[class] {
291
- margin-top: 0;
292
- margin-bottom: 1em;
293
- font-size: 2em;
294
- color: #6C8C22;
295
- }
296
-
297
- main h1 {
298
- margin: 2em 0 0.5em;
299
- font-size: 1.7em;
300
- }
301
-
302
- main h2 {
303
- margin: 2em 0 0.5em;
304
- font-size: 1.5em;
305
- }
306
-
307
- main h3 {
308
- margin: 2em 0 0.5em;
309
- font-size: 1.2em;
310
- }
311
-
312
- main h4 {
313
- margin: 2em 0 0.5em;
314
- font-size: 1.1em;
315
- }
316
-
317
- main h5 {
318
- margin: 2em 0 0.5em;
319
- font-size: 1em;
320
- }
321
-
322
- main h6 {
323
- margin: 2em 0 0.5em;
324
- font-size: 1em;
325
- }
326
-
327
- main p {
328
- margin: 0 0 0.5em;
329
- line-height: 1.4em;
330
- }
331
-
332
- main pre {
333
- margin: 1.2em 0.5em;
334
- padding: 1em;
335
- font-size: 0.8em;
336
- }
337
-
338
- main hr {
339
- margin: 1.5em 1em;
340
- border: 2px solid #ddd;
341
- }
342
-
343
- main blockquote {
344
- margin: 0 2em 1.2em 1.2em;
345
- padding-left: 0.5em;
346
- border-left: 2px solid #ddd;
347
- }
348
-
349
- main ol,
350
- main ul {
351
- margin: 1em 2em;
352
- }
353
-
354
- main li > p {
355
- margin-bottom: 0.5em;
356
- }
357
-
358
- main dl {
359
- margin: 1em 0.5em;
360
- }
361
-
362
- main dt {
363
- margin-bottom: 0.5em;
364
- font-weight: bold;
365
- }
366
-
367
- main dd {
368
- margin: 0 1em 1em 0.5em;
369
- }
370
-
371
- main header h2 {
372
- margin-top: 2em;
373
- border-width: 0;
374
- border-top: 4px solid #bbb;
375
- font-size: 130%;
376
- }
377
-
378
- main header h3 {
379
- margin: 2em 0 1.5em;
380
- border-width: 0;
381
- border-top: 3px solid #bbb;
382
- font-size: 120%;
383
- }
384
-
385
- .documentation-section-title {
386
- position: relative;
387
- }
388
- .documentation-section-title .section-click-top {
389
- position: absolute;
390
- top: 6px;
391
- left: 12px;
392
- font-size: 10px;
393
- color: #9b9877;
394
- visibility: hidden;
395
- padding-left: 0.5px;
396
- }
397
-
398
- .documentation-section-title:hover .section-click-top {
399
- visibility: visible;
400
- }
401
-
402
- .constants-list > dl {
403
- margin: 1em 0 2em;
404
- border: 0;
405
- }
406
-
407
- .constants-list > dl dt {
408
- margin-bottom: 0.75em;
409
- padding-left: 0;
410
- font-family: "Source Code Pro", Monaco, monospace;
411
- font-size: 110%;
412
- }
413
-
414
- .constants-list > dl dt a {
415
- color: inherit;
416
- }
417
-
418
- .constants-list > dl dd {
419
- margin: 0 0 2em 0;
420
- padding: 0;
421
- color: #666;
422
- }
423
-
424
- .documentation-section h2 {
425
- position: relative;
426
- }
427
-
428
- .documentation-section h2 a {
429
- position: absolute;
430
- top: 8px;
431
- right: 10px;
432
- font-size: 12px;
433
- color: #9b9877;
434
- visibility: hidden;
435
- }
436
-
437
- .documentation-section h2:hover a {
438
- visibility: visible;
439
- }
440
-
441
- /* @group Method Details */
442
-
443
- main .method-source-code {
444
- display: none;
445
- }
446
-
447
- main .method-description .method-calls-super {
448
- color: #333;
449
- font-weight: bold;
450
- }
451
-
452
- main .method-detail {
453
- margin-bottom: 2.5em;
454
- cursor: pointer;
455
- }
456
-
457
- main .method-detail:target {
458
- margin-left: -10px;
459
- border-left: 10px solid #f1edba;
460
- }
461
-
462
- main .method-heading {
463
- position: relative;
464
- font-family: "Source Code Pro", Monaco, monospace;
465
- font-size: 110%;
466
- font-weight: bold;
467
- color: #333;
468
- }
469
- main .method-heading :link,
470
- main .method-heading :visited {
471
- color: inherit;
472
- }
473
- main .method-click-advice {
474
- position: absolute;
475
- top: 2px;
476
- right: 5px;
477
- font-size: 12px;
478
- color: #9b9877;
479
- visibility: hidden;
480
- padding-right: 20px;
481
- line-height: 20px;
482
- background: url(images/zoom.png) no-repeat right top;
483
- }
484
- main .method-heading:hover .method-click-advice {
485
- visibility: visible;
486
- }
487
-
488
- main .method-alias .method-heading {
489
- color: #666;
490
- }
491
-
492
- main .method-description,
493
- main .aliases {
494
- margin-top: 0.75em;
495
- color: #333;
496
- }
497
-
498
- main .aliases {
499
- padding-top: 4px;
500
- font-style: italic;
501
- cursor: default;
502
- }
503
- main .method-description ul {
504
- margin-left: 1.5em;
505
- }
506
-
507
- main #attribute-method-details .method-detail:hover {
508
- background-color: transparent;
509
- cursor: default;
510
- }
511
- main .attribute-access-type {
512
- text-transform: uppercase;
513
- padding: 0 1em;
514
- }
515
- /* @end */
516
-
517
- /* @end */
518
-
519
- /* @group Source Code */
520
-
521
- pre {
522
- margin: 0.5em 0;
523
- border: 1px dashed #999;
524
- padding: 0.5em;
525
- background: #262626;
526
- color: white;
527
- overflow: auto;
528
- }
529
-
530
- .ruby-constant { color: #7fffd4; background: transparent; }
531
- .ruby-keyword { color: #00ffff; background: transparent; }
532
- .ruby-ivar { color: #eedd82; background: transparent; }
533
- .ruby-operator { color: #00ffee; background: transparent; }
534
- .ruby-identifier { color: #ffdead; background: transparent; }
535
- .ruby-node { color: #ffa07a; background: transparent; }
536
- .ruby-comment { color: #dc0000; background: transparent; }
537
- .ruby-regexp { color: #ffa07a; background: transparent; }
538
- .ruby-value { color: #7fffd4; background: transparent; }
539
-
540
- /* @end */
541
-
542
-
543
- /* @group search results */
544
- #search-results {
545
- font-family: Lato, sans-serif;
546
- font-weight: 300;
547
- }
548
-
549
- #search-results .search-match {
550
- font-family: Helvetica, sans-serif;
551
- font-weight: normal;
552
- }
553
-
554
- #search-results .search-selected {
555
- background: #e8e8e8;
556
- border-bottom: 1px solid transparent;
557
- }
558
-
559
- #search-results li {
560
- list-style: none;
561
- border-bottom: 1px solid #aaa;
562
- margin-bottom: 0.5em;
563
- }
564
-
565
- #search-results li:last-child {
566
- border-bottom: none;
567
- margin-bottom: 0;
568
- }
569
-
570
- #search-results li p {
571
- padding: 0;
572
- margin: 0.5em;
573
- }
574
-
575
- #search-results .search-namespace {
576
- font-weight: bold;
577
- }
578
-
579
- #search-results li em {
580
- background: yellow;
581
- font-style: normal;
582
- }
583
-
584
- #search-results pre {
585
- margin: 0.5em;
586
- font-family: "Source Code Pro", Monaco, monospace;
587
- }
588
-
589
- /* @end */
590
-
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
data/html/images/add.png DELETED
Binary file
Binary file
Binary file
Binary file
data/html/images/bug.png DELETED
Binary file
Binary file
Binary file
Binary file
data/html/images/date.png DELETED
Binary file
Binary file
data/html/images/find.png DELETED
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
data/html/images/ruby.png DELETED
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
data/html/images/zoom.png DELETED
Binary file