midilib 2.0.4 → 3.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (105) hide show
  1. checksums.yaml +7 -0
  2. data/ChangeLog +2 -1
  3. data/Credits +44 -2
  4. data/README.rdoc +13 -9
  5. data/Rakefile +36 -53
  6. data/TODO.rdoc +13 -2
  7. data/examples/from_scratch.rb +4 -6
  8. data/examples/measures_mbt.rb +11 -11
  9. data/examples/print_program_changes.rb +11 -11
  10. data/examples/reader2text.rb +191 -191
  11. data/examples/seq2text.rb +18 -18
  12. data/examples/split.rb +21 -20
  13. data/examples/strings.rb +15 -15
  14. data/examples/transpose.rb +41 -42
  15. data/html/MIDI/ActiveSense.html +89 -213
  16. data/html/MIDI/ChannelEvent.html +95 -224
  17. data/html/MIDI/ChannelPressure.html +103 -241
  18. data/html/MIDI/Clock.html +89 -213
  19. data/html/MIDI/Continue.html +89 -213
  20. data/html/MIDI/Controller.html +105 -246
  21. data/html/MIDI/Event.html +134 -358
  22. data/html/MIDI/IO/MIDIFile.html +544 -1148
  23. data/html/MIDI/IO/SeqReader.html +273 -577
  24. data/html/MIDI/IO/SeqWriter.html +233 -439
  25. data/html/MIDI/IO.html +48 -164
  26. data/html/MIDI/KeySig.html +148 -291
  27. data/html/MIDI/Marker.html +73 -192
  28. data/html/MIDI/Measure.html +104 -267
  29. data/html/MIDI/Measures.html +106 -259
  30. data/html/MIDI/MetaEvent.html +171 -352
  31. data/html/MIDI/NoteEvent.html +114 -276
  32. data/html/MIDI/NoteOff.html +95 -223
  33. data/html/MIDI/NoteOn.html +95 -223
  34. data/html/MIDI/PitchBend.html +104 -242
  35. data/html/MIDI/PolyPressure.html +102 -246
  36. data/html/MIDI/ProgramChange.html +103 -241
  37. data/html/MIDI/Realtime.html +96 -230
  38. data/html/MIDI/Sequence.html +256 -576
  39. data/html/MIDI/SongPointer.html +104 -242
  40. data/html/MIDI/SongSelect.html +103 -241
  41. data/html/MIDI/Start.html +89 -213
  42. data/html/MIDI/Stop.html +89 -213
  43. data/html/MIDI/SystemCommon.html +73 -192
  44. data/html/MIDI/SystemExclusive.html +106 -244
  45. data/html/MIDI/SystemReset.html +89 -213
  46. data/html/MIDI/Tempo.html +127 -309
  47. data/html/MIDI/TimeSig.html +119 -300
  48. data/html/MIDI/Track.html +214 -494
  49. data/html/MIDI/TuneRequest.html +96 -230
  50. data/html/MIDI/Utils.html +91 -233
  51. data/html/MIDI.html +142 -526
  52. data/html/Object.html +197 -0
  53. data/html/README_rdoc.html +280 -486
  54. data/html/TODO_rdoc.html +68 -145
  55. data/html/created.rid +15 -14
  56. data/html/css/fonts.css +167 -0
  57. data/html/css/rdoc.css +639 -0
  58. data/html/fonts/Lato-Light.ttf +0 -0
  59. data/html/fonts/Lato-LightItalic.ttf +0 -0
  60. data/html/fonts/Lato-Regular.ttf +0 -0
  61. data/html/fonts/Lato-RegularItalic.ttf +0 -0
  62. data/html/fonts/SourceCodePro-Bold.ttf +0 -0
  63. data/html/fonts/SourceCodePro-Regular.ttf +0 -0
  64. data/html/images/add.png +0 -0
  65. data/html/images/arrow_up.png +0 -0
  66. data/html/images/delete.png +0 -0
  67. data/html/images/tag_blue.png +0 -0
  68. data/html/index.html +230 -446
  69. data/html/js/darkfish.js +22 -91
  70. data/html/js/navigation.js +4 -41
  71. data/html/js/navigation.js.gz +0 -0
  72. data/html/js/search.js +41 -25
  73. data/html/js/search_index.js +1 -1
  74. data/html/js/search_index.js.gz +0 -0
  75. data/html/js/searcher.js +9 -8
  76. data/html/js/searcher.js.gz +0 -0
  77. data/html/table_of_contents.html +1111 -505
  78. data/install.rb +53 -34
  79. data/lib/midilib/consts.rb +406 -408
  80. data/lib/midilib/event.rb +335 -306
  81. data/lib/midilib/info.rb +5 -7
  82. data/lib/midilib/io/midifile.rb +424 -452
  83. data/lib/midilib/io/seqreader.rb +200 -192
  84. data/lib/midilib/io/seqwriter.rb +151 -147
  85. data/lib/midilib/measure.rb +78 -80
  86. data/lib/midilib/mergesort.rb +39 -0
  87. data/lib/midilib/sequence.rb +93 -87
  88. data/lib/midilib/track.rb +71 -118
  89. data/lib/midilib/utils.rb +17 -20
  90. data/lib/midilib.rb +5 -5
  91. data/test/event_equality.rb +50 -52
  92. data/test/test_event.rb +120 -124
  93. data/test/test_io.rb +118 -38
  94. data/test/test_mergesort.rb +37 -0
  95. data/test/test_midifile.rb +6 -19
  96. data/test/test_sequence.rb +62 -61
  97. data/test/test_track.rb +126 -155
  98. data/test/test_varlen.rb +23 -27
  99. metadata +67 -62
  100. data/html/IO.html +0 -259
  101. data/html/MIDI/MIDI/MIDI/Array.html +0 -353
  102. data/html/MIDI/MIDI/MIDI.html +0 -204
  103. data/html/MIDI/MIDI.html +0 -204
  104. data/html/js/jquery.js +0 -18
  105. data/html/rdoc.css +0 -543
data/html/rdoc.css DELETED
@@ -1,543 +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
- /* Base Green is: #6C8C22 */
10
-
11
- * { padding: 0; margin: 0; }
12
-
13
- body {
14
- background: #efefef;
15
- font: 14px "Helvetica Neue", Helvetica, Tahoma, sans-serif;
16
- margin-left: 40px;
17
- }
18
- body.file-popup {
19
- font-size: 90%;
20
- margin-left: 0;
21
- }
22
-
23
- h1 {
24
- font-size: 300%;
25
- text-shadow: rgba(135,145,135,0.65) 2px 2px 3px;
26
- color: #6C8C22;
27
- }
28
- h2,h3,h4 { margin-top: 1.5em; }
29
-
30
- :link,
31
- :visited {
32
- color: #6C8C22;
33
- text-decoration: none;
34
- }
35
- :link:hover,
36
- :visited:hover {
37
- border-bottom: 1px dotted #6C8C22;
38
- }
39
-
40
- pre {
41
- background: #ddd;
42
- padding: 0.5em 0;
43
- }
44
-
45
- /* @group Generic Classes */
46
-
47
- .initially-hidden {
48
- display: none;
49
- }
50
-
51
- #search-field {
52
- width: 98%;
53
- background: #eee;
54
- border: none;
55
- height: 1.5em;
56
- -webkit-border-radius: 4px;
57
- }
58
- #search-field:focus {
59
- background: #f1edba;
60
- }
61
- #search-field:-moz-placeholder,
62
- #search-field::-webkit-input-placeholder {
63
- font-weight: bold;
64
- color: #666;
65
- }
66
-
67
- .missing-docs {
68
- font-size: 120%;
69
- background: white url(images/wrench_orange.png) no-repeat 4px center;
70
- color: #ccc;
71
- line-height: 2em;
72
- border: 1px solid #d00;
73
- opacity: 1;
74
- padding-left: 20px;
75
- text-indent: 24px;
76
- letter-spacing: 3px;
77
- font-weight: bold;
78
- -webkit-border-radius: 5px;
79
- -moz-border-radius: 5px;
80
- }
81
-
82
- .target-section {
83
- border: 2px solid #dcce90;
84
- border-left-width: 8px;
85
- padding: 0 1em;
86
- background: #fff3c2;
87
- }
88
-
89
- /* @end */
90
-
91
- /* @group Index Page, Standalone file pages */
92
- .indexpage ul {
93
- line-height: 160%;
94
- list-style: none;
95
- }
96
- .indexpage ul :link,
97
- .indexpage ul :visited {
98
- font-size: 16px;
99
- }
100
-
101
- .indexpage li {
102
- padding-left: 20px;
103
- }
104
-
105
- .indexpage ul > li {
106
- background: url(images/bullet_black.png) no-repeat left 4px;
107
- }
108
- .indexpage li.method {
109
- background: url(images/plugin.png) no-repeat left 4px;
110
- }
111
- .indexpage li.module {
112
- background: url(images/package.png) no-repeat left 4px;
113
- }
114
- .indexpage li.class {
115
- background: url(images/ruby.png) no-repeat left 4px;
116
- }
117
- .indexpage li.file {
118
- background: url(images/page_white_text.png) no-repeat left 4px;
119
- }
120
- .indexpage li li {
121
- background: url(images/tag_blue.png) no-repeat left 4px;
122
- }
123
- .indexpage li .toc-toggle {
124
- width: 16px;
125
- height: 16px;
126
- background: url(images/add.png) no-repeat;
127
- }
128
-
129
- .indexpage li .toc-toggle.open {
130
- background: url(images/delete.png) no-repeat;
131
- }
132
-
133
- /* @end */
134
-
135
- /* @group Top-Level Structure */
136
-
137
- #metadata {
138
- float: left;
139
- width: 260px;
140
- }
141
-
142
- #documentation {
143
- margin: 2em 1em 5em 300px;
144
- min-width: 340px;
145
- }
146
-
147
- #validator-badges {
148
- clear: both;
149
- margin: 1em 1em 2em;
150
- font-size: smaller;
151
- }
152
-
153
- /* @end */
154
-
155
- /* @group Metadata Section */
156
- #metadata .section {
157
- background-color: #dedede;
158
- -moz-border-radius: 5px;
159
- -webkit-border-radius: 5px;
160
- border: 1px solid #aaa;
161
- margin: 0 8px 8px;
162
- font-size: 90%;
163
- overflow: hidden;
164
- }
165
- #metadata h3.section-header {
166
- margin: 0;
167
- padding: 2px 8px;
168
- background: #ccc;
169
- color: #666;
170
- -moz-border-radius-topleft: 4px;
171
- -moz-border-radius-topright: 4px;
172
- -webkit-border-top-left-radius: 4px;
173
- -webkit-border-top-right-radius: 4px;
174
- border-bottom: 1px solid #aaa;
175
- }
176
- #metadata #home-section h3.section-header {
177
- border-bottom: 0;
178
- }
179
-
180
- #metadata ul,
181
- #metadata dl,
182
- #metadata p {
183
- padding: 8px;
184
- list-style: none;
185
- }
186
-
187
- #file-metadata {
188
- margin-top: 2em;
189
- }
190
-
191
- #file-metadata ul {
192
- padding-left: 28px;
193
- list-style-image: url(images/page_green.png);
194
- }
195
-
196
- dl.svninfo {
197
- color: #666;
198
- margin: 0;
199
- }
200
- dl.svninfo dt {
201
- font-weight: bold;
202
- }
203
-
204
- ul.link-list li {
205
- white-space: nowrap;
206
- }
207
- ul.link-list .type {
208
- font-size: 8px;
209
- text-transform: uppercase;
210
- color: white;
211
- background: #969696;
212
- padding: 2px 4px;
213
- -webkit-border-radius: 5px;
214
- }
215
-
216
- /* @end */
217
-
218
- /* @group Class Metadata Section */
219
- #class-metadata {
220
- margin-top: 2em;
221
- }
222
- /* @end */
223
-
224
- /* @group Project Metadata Section */
225
- #project-metadata {
226
- margin-top: 2em;
227
- }
228
-
229
- #project-metadata .section {
230
- border: 1px solid #aaa;
231
- }
232
- #project-metadata h3.section-header {
233
- border-bottom: 1px solid #aaa;
234
- position: relative;
235
- }
236
-
237
- #project-metadata form {
238
- color: #777;
239
- background: #ccc;
240
- }
241
-
242
- /* @end */
243
-
244
- /* @group Documentation Section */
245
- .description {
246
- font-size: 100%;
247
- color: #333;
248
- }
249
-
250
- .description p {
251
- margin: 1em 0.4em;
252
- }
253
-
254
- .description li p {
255
- margin: 0;
256
- }
257
-
258
- .description ol,
259
- .description ul {
260
- margin-left: 1.5em;
261
- }
262
- .description ol li,
263
- .description ul li {
264
- line-height: 1.4em;
265
- }
266
-
267
- .note-list {
268
- margin: 8px 0;
269
- }
270
-
271
- .label-list {
272
- margin: 8px 1.5em;
273
- border: 1px solid #ccc;
274
- }
275
- .description .label-list {
276
- font-size: 14px;
277
- }
278
-
279
- .note-list dt {
280
- font-weight: bold;
281
- }
282
- .note-list dd {
283
- padding: 0 12px;
284
- }
285
-
286
- .label-list dt {
287
- padding: 2px 4px;
288
- font-weight: bold;
289
- background: #ddd;
290
- }
291
- .label-list dd {
292
- padding: 2px 12px;
293
- }
294
- .label-list dd + dt,
295
- .note-list dd + dt {
296
- margin-top: 0.7em;
297
- }
298
-
299
- #documentation .section {
300
- font-size: 90%;
301
- }
302
-
303
- #documentation h2.section-header {
304
- margin-top: 1em;
305
- padding: 0.25em 0.5em;
306
- background: #ccc;
307
- color: #333;
308
- font-size: 175%;
309
- border: 1px solid #bbb;
310
- -moz-border-radius: 3px;
311
- -webkit-border-radius: 3px;
312
- }
313
-
314
- .documentation-section-title {
315
- position: relative;
316
- }
317
- .documentation-section-title .section-click-top {
318
- position: absolute;
319
- top: 6px;
320
- right: 12px;
321
- font-size: 10px;
322
- color: #9b9877;
323
- visibility: hidden;
324
- padding-right: 0.5px;
325
- }
326
-
327
- .documentation-section-title:hover .section-click-top {
328
- visibility: visible;
329
- }
330
-
331
- #documentation h3.section-header {
332
- margin-top: 1em;
333
- padding: 0.25em 0.5em;
334
- background-color: #dedede;
335
- color: #333;
336
- font-size: 150%;
337
- border: 1px solid #bbb;
338
- -moz-border-radius: 3px;
339
- -webkit-border-radius: 3px;
340
- }
341
-
342
- #constants-list > dl,
343
- #attributes-list > dl {
344
- margin: 1em 0 2em;
345
- border: 0;
346
- }
347
- #constants-list > dl dt,
348
- #attributes-list > dl dt {
349
- padding-left: 0;
350
- font-weight: bold;
351
- font-family: Monaco, "Andale Mono";
352
- background: inherit;
353
- }
354
- #constants-list > dl dt a,
355
- #attributes-list > dl dt a {
356
- color: inherit;
357
- }
358
- #constants-list > dl dd,
359
- #attributes-list > dl dd {
360
- margin: 0 0 1em 0;
361
- padding: 0;
362
- color: #666;
363
- }
364
-
365
- .documentation-section h2 {
366
- position: relative;
367
- }
368
-
369
- .documentation-section h2 a {
370
- position: absolute;
371
- top: 8px;
372
- right: 10px;
373
- font-size: 12px;
374
- color: #9b9877;
375
- visibility: hidden;
376
- }
377
-
378
- .documentation-section h2:hover a {
379
- visibility: visible;
380
- }
381
-
382
- /* @group Method Details */
383
-
384
- #documentation .method-source-code {
385
- display: none;
386
- }
387
-
388
- #documentation .method-detail {
389
- margin: 0.5em 0;
390
- padding: 0.5em 0;
391
- cursor: pointer;
392
- }
393
- #documentation .method-detail:hover {
394
- background-color: #f1edba;
395
- }
396
- #documentation .method-heading {
397
- position: relative;
398
- padding: 2px 4px 0 20px;
399
- font-size: 125%;
400
- font-weight: bold;
401
- color: #333;
402
- background: url(images/brick.png) no-repeat left bottom;
403
- }
404
- #documentation .method-heading :link,
405
- #documentation .method-heading :visited {
406
- color: inherit;
407
- }
408
- #documentation .method-click-advice {
409
- position: absolute;
410
- top: 2px;
411
- right: 5px;
412
- font-size: 10px;
413
- color: #9b9877;
414
- visibility: hidden;
415
- padding-right: 20px;
416
- line-height: 20px;
417
- background: url(images/zoom.png) no-repeat right top;
418
- }
419
- #documentation .method-heading:hover .method-click-advice {
420
- visibility: visible;
421
- }
422
-
423
- #documentation .method-alias .method-heading {
424
- color: #666;
425
- background: url(images/brick_link.png) no-repeat left bottom;
426
- }
427
-
428
- #documentation .method-description,
429
- #documentation .aliases {
430
- margin: 0 20px;
431
- color: #666;
432
- }
433
-
434
- #documentation .method-description p,
435
- #documentation .aliases p {
436
- line-height: 1.2em;
437
- }
438
-
439
- #documentation .aliases {
440
- padding-top: 4px;
441
- font-style: italic;
442
- cursor: default;
443
- }
444
- #documentation .method-description p {
445
- margin-bottom: 0.5em;
446
- }
447
- #documentation .method-description ul {
448
- margin-left: 1.5em;
449
- }
450
- pre {
451
- margin: 0.5em 0;
452
- }
453
-
454
- #documentation .attribute-method-heading {
455
- background: url(images/tag_green.png) no-repeat left bottom;
456
- }
457
- #documentation #attribute-method-details .method-detail:hover {
458
- background-color: transparent;
459
- cursor: default;
460
- }
461
- #documentation .attribute-access-type {
462
- font-size: 60%;
463
- text-transform: uppercase;
464
- vertical-align: super;
465
- padding: 0 2px;
466
- }
467
- /* @end */
468
-
469
- /* @end */
470
-
471
- /* @group Source Code */
472
-
473
- pre {
474
- overflow: auto;
475
- background: #262626;
476
- color: white;
477
- border: 1px dashed #999;
478
- padding: 0.5em;
479
- }
480
-
481
- .description pre {
482
- margin: 0 0.4em;
483
- }
484
-
485
- .ruby-constant { color: #7fffd4; background: transparent; }
486
- .ruby-keyword { color: #00ffff; background: transparent; }
487
- .ruby-ivar { color: #eedd82; background: transparent; }
488
- .ruby-operator { color: #00ffee; background: transparent; }
489
- .ruby-identifier { color: #ffdead; background: transparent; }
490
- .ruby-node { color: #ffa07a; background: transparent; }
491
- .ruby-comment { color: #dc0000; font-weight: bold; background: transparent; }
492
- .ruby-regexp { color: #ffa07a; background: transparent; }
493
- .ruby-value { color: #7fffd4; background: transparent; }
494
-
495
- /* @end */
496
-
497
-
498
- /* @group search results */
499
- #search-results h1 {
500
- font-size: 1em;
501
- font-weight: normal;
502
- text-shadow: none;
503
- }
504
-
505
- #search-results .current {
506
- background: #ccc;
507
- border-bottom: 1px solid transparent;
508
- }
509
-
510
- #search-results li {
511
- list-style: none;
512
- border-bottom: 1px solid #aaa;
513
- -moz-border-radius: 4px;
514
- -webkit-border-radius: 4px;
515
- border-radius: 4px;
516
- margin-bottom: 0.5em;
517
- }
518
-
519
- #search-results li:last-child {
520
- border-bottom: none;
521
- margin-bottom: 0;
522
- }
523
-
524
- #search-results li p {
525
- padding: 0;
526
- margin: 0.5em;
527
- }
528
-
529
- #search-results .search-namespace {
530
- font-weight: bold;
531
- }
532
-
533
- #search-results li em {
534
- background: yellow;
535
- font-style: normal;
536
- }
537
-
538
- #search-results pre {
539
- margin: 0.5em;
540
- }
541
-
542
- /* @end */
543
-