midilib 2.0.4 → 2.0.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (94) hide show
  1. checksums.yaml +7 -0
  2. data/README.rdoc +9 -4
  3. data/Rakefile +2 -6
  4. data/examples/from_scratch.rb +3 -5
  5. data/examples/measures_mbt.rb +4 -4
  6. data/examples/print_program_changes.rb +9 -9
  7. data/examples/reader2text.rb +188 -188
  8. data/examples/seq2text.rb +17 -17
  9. data/examples/split.rb +19 -19
  10. data/examples/strings.rb +14 -14
  11. data/examples/transpose.rb +31 -31
  12. data/html/IO.html +65 -169
  13. data/html/MIDI.html +138 -256
  14. data/html/MIDI/ActiveSense.html +89 -178
  15. data/html/MIDI/ChannelEvent.html +95 -183
  16. data/html/MIDI/ChannelPressure.html +105 -190
  17. data/html/MIDI/Clock.html +89 -178
  18. data/html/MIDI/Continue.html +89 -178
  19. data/html/MIDI/Controller.html +107 -192
  20. data/html/MIDI/Event.html +138 -222
  21. data/html/MIDI/IO.html +45 -157
  22. data/html/MIDI/IO/MIDIFile.html +596 -568
  23. data/html/MIDI/IO/SeqReader.html +272 -314
  24. data/html/MIDI/IO/SeqWriter.html +229 -305
  25. data/html/MIDI/KeySig.html +129 -211
  26. data/html/MIDI/MIDI.html +45 -154
  27. data/html/MIDI/MIDI/MIDI.html +45 -154
  28. data/html/MIDI/MIDI/MIDI/Array.html +87 -185
  29. data/html/MIDI/Marker.html +71 -170
  30. data/html/MIDI/Measure.html +95 -190
  31. data/html/MIDI/Measures.html +103 -193
  32. data/html/MIDI/MetaEvent.html +180 -253
  33. data/html/MIDI/NoteEvent.html +118 -204
  34. data/html/MIDI/NoteOff.html +95 -183
  35. data/html/MIDI/NoteOn.html +95 -183
  36. data/html/MIDI/PitchBend.html +106 -191
  37. data/html/MIDI/PolyPressure.html +106 -189
  38. data/html/MIDI/ProgramChange.html +105 -190
  39. data/html/MIDI/Realtime.html +98 -184
  40. data/html/MIDI/Sequence.html +246 -311
  41. data/html/MIDI/SongPointer.html +106 -191
  42. data/html/MIDI/SongSelect.html +105 -190
  43. data/html/MIDI/Start.html +89 -178
  44. data/html/MIDI/Stop.html +89 -178
  45. data/html/MIDI/SystemCommon.html +71 -170
  46. data/html/MIDI/SystemExclusive.html +108 -193
  47. data/html/MIDI/SystemReset.html +89 -178
  48. data/html/MIDI/Tempo.html +135 -213
  49. data/html/MIDI/TimeSig.html +135 -214
  50. data/html/MIDI/Track.html +217 -291
  51. data/html/MIDI/TuneRequest.html +98 -184
  52. data/html/MIDI/Utils.html +89 -189
  53. data/html/README_rdoc.html +237 -257
  54. data/html/TODO_rdoc.html +64 -139
  55. data/html/created.rid +14 -14
  56. data/html/css/fonts.css +167 -0
  57. data/html/{rdoc.css → css/rdoc.css} +265 -218
  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 +187 -169
  69. data/html/js/darkfish.js +41 -33
  70. data/html/js/jquery.js +4 -18
  71. data/html/js/navigation.js.gz +0 -0
  72. data/html/js/search.js +20 -5
  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.gz +0 -0
  76. data/html/table_of_contents.html +1111 -498
  77. data/install.rb +43 -32
  78. data/lib/midilib/consts.rb +407 -407
  79. data/lib/midilib/event.rb +295 -294
  80. data/lib/midilib/info.rb +5 -5
  81. data/lib/midilib/io/midifile.rb +266 -267
  82. data/lib/midilib/io/seqreader.rb +106 -106
  83. data/lib/midilib/io/seqwriter.rb +59 -60
  84. data/lib/midilib/measure.rb +69 -69
  85. data/lib/midilib/sequence.rb +68 -70
  86. data/lib/midilib/track.rb +96 -102
  87. data/lib/midilib/utils.rb +15 -15
  88. data/test/event_equality.rb +50 -50
  89. data/test/test_event.rb +120 -122
  90. data/test/test_io.rb +35 -48
  91. data/test/test_sequence.rb +60 -60
  92. data/test/test_track.rb +154 -154
  93. data/test/test_varlen.rb +23 -25
  94. metadata +65 -57
@@ -2,70 +2,68 @@
2
2
 
3
3
  <html>
4
4
  <head>
5
- <meta content="text/html; charset=US-ASCII" http-equiv="Content-Type">
5
+ <meta charset="UTF-8">
6
6
 
7
7
  <title>class MIDI::Sequence - midilib</title>
8
8
 
9
- <link type="text/css" media="screen" href="../rdoc.css" rel="stylesheet">
10
-
11
9
  <script type="text/javascript">
12
10
  var rdoc_rel_prefix = "../";
13
11
  </script>
14
12
 
15
- <script type="text/javascript" charset="utf-8" src="../js/jquery.js"></script>
16
- <script type="text/javascript" charset="utf-8" src="../js/navigation.js"></script>
17
- <script type="text/javascript" charset="utf-8" src="../js/search_index.js"></script>
18
- <script type="text/javascript" charset="utf-8" src="../js/search.js"></script>
19
- <script type="text/javascript" charset="utf-8" src="../js/searcher.js"></script>
20
- <script type="text/javascript" charset="utf-8" src="../js/darkfish.js"></script>
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
+
21
19
 
22
20
 
23
- <body id="top" class="class">
24
- <nav id="metadata">
25
- <nav id="home-section" class="section">
26
- <h3 class="section-header">
27
- <a href="../index.html">Home</a>
21
+ <body id="top" role="document" class="class">
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>
28
31
  <a href="../table_of_contents.html#classes">Classes</a>
29
32
  <a href="../table_of_contents.html#methods">Methods</a>
30
- </h3>
31
- </nav>
32
-
33
+ </div>
34
+ </div>
33
35
 
34
- <nav id="search-section" class="section project-section" class="initially-hidden">
36
+ <div id="search-section" role="search" class="project-section initially-hidden">
35
37
  <form action="#" method="get" accept-charset="utf-8">
36
- <h3 class="section-header">
37
- <input type="text" name="search" placeholder="Search" id="search-field"
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"
38
42
  title="Type to search, Up and Down to navigate, Enter to load">
39
- </h3>
40
- </form>
41
-
42
- <ul id="search-results" class="initially-hidden"></ul>
43
- </nav>
43
+ </div>
44
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>
45
50
 
46
- <div id="file-metadata">
47
- <nav id="file-list-section" class="section">
48
- <h3 class="section-header">Defined In</h3>
49
- <ul>
50
- <li>lib/midilib/sequence.rb
51
- </ul>
52
- </nav>
53
-
54
-
55
51
  </div>
56
52
 
53
+
54
+
57
55
  <div id="class-metadata">
58
56
 
59
- <nav id="parent-class-section" class="section">
60
- <h3 class="section-header">Parent</h3>
57
+ <div id="parent-class-section" class="nav-section">
58
+ <h3>Parent</h3>
59
+
61
60
 
62
61
  <p class="link">Object
63
62
 
64
- </nav>
63
+ </div>
65
64
 
66
- <!-- Included Modules -->
67
- <nav id="includes-section" class="section">
68
- <h3 class="section-header">Included Modules</h3>
65
+ <div id="includes-section" class="nav-section">
66
+ <h3>Included Modules</h3>
69
67
 
70
68
  <ul class="link-list">
71
69
 
@@ -74,168 +72,62 @@
74
72
 
75
73
 
76
74
  </ul>
77
- </nav>
75
+ </div>
78
76
 
77
+
79
78
  <!-- Method Quickref -->
80
- <nav id="method-list-section" class="section">
81
- <h3 class="section-header">Methods</h3>
79
+ <div id="method-list-section" class="nav-section">
80
+ <h3>Methods</h3>
82
81
 
83
- <ul class="link-list">
82
+ <ul class="link-list" role="directory">
84
83
 
85
- <li><a href="#method-c-new">::new</a>
84
+ <li ><a href="#method-c-new">::new</a>
86
85
 
87
- <li><a href="#method-i-beats_per_minute">#beats_per_minute</a>
86
+ <li ><a href="#method-i-beats_per_minute">#beats_per_minute</a>
88
87
 
89
- <li><a href="#method-i-bpm">#bpm</a>
88
+ <li ><a href="#method-i-bpm">#bpm</a>
90
89
 
91
- <li><a href="#method-i-each">#each</a>
90
+ <li ><a href="#method-i-each">#each</a>
92
91
 
93
- <li><a href="#method-i-get_measures">#get_measures</a>
92
+ <li ><a href="#method-i-get_measures">#get_measures</a>
94
93
 
95
- <li><a href="#method-i-length_to_delta">#length_to_delta</a>
94
+ <li ><a href="#method-i-length_to_delta">#length_to_delta</a>
96
95
 
97
- <li><a href="#method-i-name">#name</a>
96
+ <li ><a href="#method-i-name">#name</a>
98
97
 
99
- <li><a href="#method-i-name-3D">#name=</a>
98
+ <li ><a href="#method-i-name-3D">#name=</a>
100
99
 
101
- <li><a href="#method-i-note_to_delta">#note_to_delta</a>
100
+ <li ><a href="#method-i-note_to_delta">#note_to_delta</a>
102
101
 
103
- <li><a href="#method-i-note_to_length">#note_to_length</a>
102
+ <li ><a href="#method-i-note_to_length">#note_to_length</a>
104
103
 
105
- <li><a href="#method-i-pulses_to_seconds">#pulses_to_seconds</a>
104
+ <li ><a href="#method-i-pulses_to_seconds">#pulses_to_seconds</a>
106
105
 
107
- <li><a href="#method-i-read">#read</a>
106
+ <li ><a href="#method-i-read">#read</a>
108
107
 
109
- <li><a href="#method-i-tempo">#tempo</a>
108
+ <li ><a href="#method-i-tempo">#tempo</a>
110
109
 
111
- <li><a href="#method-i-time_signature">#time_signature</a>
110
+ <li ><a href="#method-i-time_signature">#time_signature</a>
112
111
 
113
- <li><a href="#method-i-write">#write</a>
112
+ <li ><a href="#method-i-write">#write</a>
114
113
 
115
114
  </ul>
116
- </nav>
117
-
118
- </div>
119
-
120
- <div id="project-metadata">
121
- <nav id="fileindex-section" class="section project-section">
122
- <h3 class="section-header">Pages</h3>
123
-
124
- <ul>
125
-
126
- <li class="file"><a href="../README_rdoc.html">README</a>
127
-
128
- <li class="file"><a href="../TODO_rdoc.html">TODO</a>
129
-
130
- </ul>
131
- </nav>
132
-
133
- <nav id="classindex-section" class="section project-section">
134
- <h3 class="section-header">Class and Module Index</h3>
135
-
136
- <ul class="link-list">
137
-
138
- <li><a href="../MIDI.html">MIDI</a>
139
-
140
- <li><a href="../MIDI/ActiveSense.html">MIDI::ActiveSense</a>
141
-
142
- <li><a href="../MIDI/ChannelEvent.html">MIDI::ChannelEvent</a>
143
-
144
- <li><a href="../MIDI/ChannelPressure.html">MIDI::ChannelPressure</a>
145
-
146
- <li><a href="../MIDI/Clock.html">MIDI::Clock</a>
147
-
148
- <li><a href="../MIDI/Continue.html">MIDI::Continue</a>
149
-
150
- <li><a href="../MIDI/Controller.html">MIDI::Controller</a>
151
-
152
- <li><a href="../MIDI/Event.html">MIDI::Event</a>
153
-
154
- <li><a href="../MIDI/IO.html">MIDI::IO</a>
155
-
156
- <li><a href="../MIDI/IO/MIDIFile.html">MIDI::IO::MIDIFile</a>
157
-
158
- <li><a href="../MIDI/IO/SeqReader.html">MIDI::IO::SeqReader</a>
159
-
160
- <li><a href="../MIDI/IO/SeqWriter.html">MIDI::IO::SeqWriter</a>
161
-
162
- <li><a href="../MIDI/KeySig.html">MIDI::KeySig</a>
163
-
164
- <li><a href="../MIDI/MIDI.html">MIDI::MIDI</a>
165
-
166
- <li><a href="../MIDI/MIDI/MIDI.html">MIDI::MIDI::MIDI</a>
167
-
168
- <li><a href="../MIDI/MIDI/MIDI/Array.html">MIDI::MIDI::MIDI::Array</a>
169
-
170
- <li><a href="../MIDI/Marker.html">MIDI::Marker</a>
171
-
172
- <li><a href="../MIDI/Measure.html">MIDI::Measure</a>
173
-
174
- <li><a href="../MIDI/Measures.html">MIDI::Measures</a>
175
-
176
- <li><a href="../MIDI/MetaEvent.html">MIDI::MetaEvent</a>
177
-
178
- <li><a href="../MIDI/NoteEvent.html">MIDI::NoteEvent</a>
179
-
180
- <li><a href="../MIDI/NoteOff.html">MIDI::NoteOff</a>
181
-
182
- <li><a href="../MIDI/NoteOff.html">MIDI::NoteOffEvent</a>
183
-
184
- <li><a href="../MIDI/NoteOn.html">MIDI::NoteOn</a>
185
-
186
- <li><a href="../MIDI/NoteOn.html">MIDI::NoteOnEvent</a>
187
-
188
- <li><a href="../MIDI/PitchBend.html">MIDI::PitchBend</a>
189
-
190
- <li><a href="../MIDI/PolyPressure.html">MIDI::PolyPressure</a>
191
-
192
- <li><a href="../MIDI/ProgramChange.html">MIDI::ProgramChange</a>
193
-
194
- <li><a href="../MIDI/Realtime.html">MIDI::Realtime</a>
195
-
196
- <li><a href="../MIDI/Sequence.html">MIDI::Sequence</a>
197
-
198
- <li><a href="../MIDI/SongPointer.html">MIDI::SongPointer</a>
199
-
200
- <li><a href="../MIDI/SongSelect.html">MIDI::SongSelect</a>
201
-
202
- <li><a href="../MIDI/Start.html">MIDI::Start</a>
203
-
204
- <li><a href="../MIDI/Stop.html">MIDI::Stop</a>
205
-
206
- <li><a href="../MIDI/SystemCommon.html">MIDI::SystemCommon</a>
207
-
208
- <li><a href="../MIDI/SystemExclusive.html">MIDI::SystemExclusive</a>
209
-
210
- <li><a href="../MIDI/SystemReset.html">MIDI::SystemReset</a>
211
-
212
- <li><a href="../MIDI/Tempo.html">MIDI::Tempo</a>
213
-
214
- <li><a href="../MIDI/TimeSig.html">MIDI::TimeSig</a>
215
-
216
- <li><a href="../MIDI/Track.html">MIDI::Track</a>
217
-
218
- <li><a href="../MIDI/TuneRequest.html">MIDI::TuneRequest</a>
219
-
220
- <li><a href="../MIDI/Utils.html">MIDI::Utils</a>
221
-
222
- <li><a href="../IO.html">IO</a>
223
-
224
- </ul>
225
- </nav>
115
+ </div>
226
116
 
227
117
  </div>
228
118
  </nav>
229
119
 
230
- <div id="documentation">
231
- <h1 class="class">class MIDI::Sequence</h1>
120
+ <main role="main" aria-labelledby="class-MIDI::Sequence">
121
+ <h1 id="class-MIDI::Sequence" class="class">
122
+ class MIDI::Sequence
123
+ </h1>
232
124
 
233
- <div id="description" class="description">
125
+ <section class="description">
234
126
 
235
127
  <p>A <a href="Sequence.html">MIDI::Sequence</a> contains <a
236
128
  href="Track.html">MIDI::Track</a> objects.</p>
237
129
 
238
- </div><!-- description -->
130
+ </section>
239
131
 
240
132
 
241
133
 
@@ -246,24 +138,25 @@ href="Track.html">MIDI::Track</a> objects.</p>
246
138
 
247
139
 
248
140
 
249
- <!-- Constants -->
250
- <section id="constants-list" class="section">
251
- <h3 class="section-header">Constants</h3>
141
+ <section class="constants-list">
142
+ <header>
143
+ <h3>Constants</h3>
144
+ </header>
252
145
  <dl>
253
146
 
254
147
  <dt id="DEFAULT_TEMPO">DEFAULT_TEMPO
255
148
 
256
- <dd class="description">
149
+ <dd>
257
150
 
258
151
 
259
152
  <dt id="NOTE_TO_LENGTH">NOTE_TO_LENGTH
260
153
 
261
- <dd class="description">
154
+ <dd>
262
155
 
263
156
 
264
157
  <dt id="UNNAMED">UNNAMED
265
158
 
266
- <dd class="description">
159
+ <dd>
267
160
 
268
161
 
269
162
  </dl>
@@ -271,9 +164,10 @@ href="Track.html">MIDI::Track</a> objects.</p>
271
164
 
272
165
 
273
166
 
274
- <!-- Attributes -->
275
- <section id="attribute-method-details" class="method-section section">
276
- <h3 class="section-header">Attributes</h3>
167
+ <section class="attribute-method-details" class="method-section">
168
+ <header>
169
+ <h3>Attributes</h3>
170
+ </header>
277
171
 
278
172
 
279
173
  <div id="attribute-i-clocks" class="method-detail">
@@ -397,13 +291,14 @@ change this at any time.</p>
397
291
  </div>
398
292
  </div>
399
293
 
400
- </section><!-- attribute-method-details -->
294
+ </section>
401
295
 
402
296
 
403
- <!-- Methods -->
404
297
 
405
- <section id="public-class-5Buntitled-5D-method-details" class="method-section section">
406
- <h3 class="section-header">Public Class Methods</h3>
298
+ <section id="public-class-5Buntitled-5D-method-details" class="method-section">
299
+ <header>
300
+ <h3>Public Class Methods</h3>
301
+ </header>
407
302
 
408
303
 
409
304
  <div id="method-c-new" class="method-detail ">
@@ -411,7 +306,9 @@ change this at any time.</p>
411
306
  <div class="method-heading">
412
307
  <span class="method-name">new</span><span
413
308
  class="method-args">()</span>
309
+
414
310
  <span class="method-click-advice">click to toggle source</span>
311
+
415
312
  </div>
416
313
 
417
314
 
@@ -419,37 +316,40 @@ change this at any time.</p>
419
316
 
420
317
 
421
318
 
319
+
422
320
 
423
321
 
424
322
  <div class="method-source-code" id="new-source">
425
323
  <pre><span class="ruby-comment"># File lib/midilib/sequence.rb, line 45</span>
426
324
  <span class="ruby-keyword">def</span> <span class="ruby-identifier">initialize</span>
427
- <span class="ruby-ivar">@tracks</span> = <span class="ruby-constant">Array</span>.<span class="ruby-identifier">new</span>()
428
- <span class="ruby-ivar">@ppqn</span> = <span class="ruby-value">480</span>
325
+ <span class="ruby-ivar">@tracks</span> = <span class="ruby-constant">Array</span>.<span class="ruby-identifier">new</span>()
326
+ <span class="ruby-ivar">@ppqn</span> = <span class="ruby-value">480</span>
429
327
 
430
- <span class="ruby-comment"># Time signature</span>
431
- <span class="ruby-ivar">@numer</span> = <span class="ruby-value">4</span> <span class="ruby-comment"># Numer + denom = 4/4 time default</span>
432
- <span class="ruby-ivar">@denom</span> = <span class="ruby-value">2</span>
433
- <span class="ruby-ivar">@clocks</span> = <span class="ruby-value">24</span> <span class="ruby-comment"># Bug fix Nov 11, 2007 - this is not the same as ppqn!</span>
434
- <span class="ruby-ivar">@qnotes</span> = <span class="ruby-value">8</span>
328
+ <span class="ruby-comment"># Time signature</span>
329
+ <span class="ruby-ivar">@numer</span> = <span class="ruby-value">4</span> <span class="ruby-comment"># Numer + denom = 4/4 time default</span>
330
+ <span class="ruby-ivar">@denom</span> = <span class="ruby-value">2</span>
331
+ <span class="ruby-ivar">@clocks</span> = <span class="ruby-value">24</span> <span class="ruby-comment"># Bug fix Nov 11, 2007 - this is not the same as ppqn!</span>
332
+ <span class="ruby-ivar">@qnotes</span> = <span class="ruby-value">8</span>
435
333
 
436
- <span class="ruby-ivar">@reader_class</span> = <span class="ruby-constant">IO</span><span class="ruby-operator">::</span><span class="ruby-constant">SeqReader</span>
437
- <span class="ruby-ivar">@writer_class</span> = <span class="ruby-constant">IO</span><span class="ruby-operator">::</span><span class="ruby-constant">SeqWriter</span>
334
+ <span class="ruby-ivar">@reader_class</span> = <span class="ruby-constant">IO</span><span class="ruby-operator">::</span><span class="ruby-constant">SeqReader</span>
335
+ <span class="ruby-ivar">@writer_class</span> = <span class="ruby-constant">IO</span><span class="ruby-operator">::</span><span class="ruby-constant">SeqWriter</span>
438
336
  <span class="ruby-keyword">end</span></pre>
439
- </div><!-- new-source -->
337
+ </div>
440
338
 
441
339
  </div>
442
340
 
443
341
 
444
342
 
445
343
 
446
- </div><!-- new-method -->
344
+ </div>
447
345
 
448
346
 
449
- </section><!-- public-class-method-details -->
347
+ </section>
450
348
 
451
- <section id="public-instance-5Buntitled-5D-method-details" class="method-section section">
452
- <h3 class="section-header">Public Instance Methods</h3>
349
+ <section id="public-instance-5Buntitled-5D-method-details" class="method-section">
350
+ <header>
351
+ <h3>Public Instance Methods</h3>
352
+ </header>
453
353
 
454
354
 
455
355
  <div id="method-i-beats_per_minute" class="method-detail ">
@@ -457,7 +357,9 @@ change this at any time.</p>
457
357
  <div class="method-heading">
458
358
  <span class="method-name">beats_per_minute</span><span
459
359
  class="method-args">()</span>
360
+
460
361
  <span class="method-click-advice">click to toggle source</span>
362
+
461
363
  </div>
462
364
 
463
365
 
@@ -465,18 +367,17 @@ change this at any time.</p>
465
367
 
466
368
  <p>Returns the song tempo in beats per minute.</p>
467
369
 
370
+
468
371
 
469
372
 
470
373
  <div class="method-source-code" id="beats_per_minute-source">
471
374
  <pre><span class="ruby-comment"># File lib/midilib/sequence.rb, line 68</span>
472
375
  <span class="ruby-keyword">def</span> <span class="ruby-identifier">beats_per_minute</span>
473
- <span class="ruby-keyword">return</span> <span class="ruby-constant">DEFAULT_TEMPO</span> <span class="ruby-keyword">if</span> <span class="ruby-ivar">@tracks</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-operator">||</span> <span class="ruby-ivar">@tracks</span>.<span class="ruby-identifier">empty?</span>
474
- <span class="ruby-identifier">event</span> = <span class="ruby-ivar">@tracks</span>.<span class="ruby-identifier">first</span>.<span class="ruby-identifier">events</span>.<span class="ruby-identifier">detect</span> { <span class="ruby-operator">|</span> <span class="ruby-identifier">e</span> <span class="ruby-operator">|</span>
475
- <span class="ruby-identifier">e</span>.<span class="ruby-identifier">kind_of?</span>(<span class="ruby-constant">MIDI</span><span class="ruby-operator">::</span><span class="ruby-constant">Tempo</span>)
476
- }
477
- <span class="ruby-keyword">return</span> <span class="ruby-identifier">event</span> <span class="ruby-operator">?</span> (<span class="ruby-constant">Tempo</span>.<span class="ruby-identifier">mpq_to_bpm</span>(<span class="ruby-identifier">event</span>.<span class="ruby-identifier">tempo</span>)) <span class="ruby-operator">:</span> <span class="ruby-constant">DEFAULT_TEMPO</span>
376
+ <span class="ruby-keyword">return</span> <span class="ruby-constant">DEFAULT_TEMPO</span> <span class="ruby-keyword">if</span> <span class="ruby-ivar">@tracks</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-operator">||</span> <span class="ruby-ivar">@tracks</span>.<span class="ruby-identifier">empty?</span>
377
+ <span class="ruby-identifier">event</span> = <span class="ruby-ivar">@tracks</span>.<span class="ruby-identifier">first</span>.<span class="ruby-identifier">events</span>.<span class="ruby-identifier">detect</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">e</span><span class="ruby-operator">|</span> <span class="ruby-identifier">e</span>.<span class="ruby-identifier">kind_of?</span>(<span class="ruby-constant">MIDI</span><span class="ruby-operator">::</span><span class="ruby-constant">Tempo</span>) }
378
+ <span class="ruby-keyword">return</span> <span class="ruby-identifier">event</span> <span class="ruby-operator">?</span> (<span class="ruby-constant">Tempo</span>.<span class="ruby-identifier">mpq_to_bpm</span>(<span class="ruby-identifier">event</span>.<span class="ruby-identifier">tempo</span>)) <span class="ruby-operator">:</span> <span class="ruby-constant">DEFAULT_TEMPO</span>
478
379
  <span class="ruby-keyword">end</span></pre>
479
- </div><!-- beats_per_minute-source -->
380
+ </div>
480
381
 
481
382
  </div>
482
383
 
@@ -487,7 +388,7 @@ change this at any time.</p>
487
388
 
488
389
 
489
390
 
490
- </div><!-- beats_per_minute-method -->
391
+ </div>
491
392
 
492
393
 
493
394
  <div id="method-i-bpm" class="method-detail method-alias">
@@ -495,7 +396,7 @@ change this at any time.</p>
495
396
  <div class="method-heading">
496
397
  <span class="method-name">bpm</span><span
497
398
  class="method-args">()</span>
498
- <span class="method-click-advice">click to toggle source</span>
399
+
499
400
  </div>
500
401
 
501
402
 
@@ -503,6 +404,7 @@ change this at any time.</p>
503
404
 
504
405
 
505
406
 
407
+
506
408
 
507
409
 
508
410
  </div>
@@ -514,7 +416,7 @@ change this at any time.</p>
514
416
  Alias for: <a href="Sequence.html#method-i-beats_per_minute">beats_per_minute</a>
515
417
  </div>
516
418
 
517
- </div><!-- bpm-method -->
419
+ </div>
518
420
 
519
421
 
520
422
  <div id="method-i-each" class="method-detail ">
@@ -522,7 +424,9 @@ change this at any time.</p>
522
424
  <div class="method-heading">
523
425
  <span class="method-name">each</span><span
524
426
  class="method-args">() { |track| ... }</span>
427
+
525
428
  <span class="method-click-advice">click to toggle source</span>
429
+
526
430
  </div>
527
431
 
528
432
 
@@ -530,21 +434,22 @@ change this at any time.</p>
530
434
 
531
435
  <p>Iterates over the tracks.</p>
532
436
 
437
+
533
438
 
534
439
 
535
440
  <div class="method-source-code" id="each-source">
536
- <pre><span class="ruby-comment"># File lib/midilib/sequence.rb, line 151</span>
441
+ <pre><span class="ruby-comment"># File lib/midilib/sequence.rb, line 149</span>
537
442
  <span class="ruby-keyword">def</span> <span class="ruby-identifier">each</span> <span class="ruby-comment"># :yields: track</span>
538
- <span class="ruby-ivar">@tracks</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span> <span class="ruby-identifier">track</span> <span class="ruby-operator">|</span> <span class="ruby-keyword">yield</span> <span class="ruby-identifier">track</span> }
443
+ <span class="ruby-ivar">@tracks</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">track</span><span class="ruby-operator">|</span> <span class="ruby-keyword">yield</span> <span class="ruby-identifier">track</span> }
539
444
  <span class="ruby-keyword">end</span></pre>
540
- </div><!-- each-source -->
445
+ </div>
541
446
 
542
447
  </div>
543
448
 
544
449
 
545
450
 
546
451
 
547
- </div><!-- each-method -->
452
+ </div>
548
453
 
549
454
 
550
455
  <div id="method-i-get_measures" class="method-detail ">
@@ -552,7 +457,9 @@ change this at any time.</p>
552
457
  <div class="method-heading">
553
458
  <span class="method-name">get_measures</span><span
554
459
  class="method-args">()</span>
460
+
555
461
  <span class="method-click-advice">click to toggle source</span>
462
+
556
463
  </div>
557
464
 
558
465
 
@@ -561,57 +468,58 @@ change this at any time.</p>
561
468
  <p>Returns a <a href="Measures.html">Measures</a> object, which is an array
562
469
  container for all measures in the sequence</p>
563
470
 
471
+
564
472
 
565
473
 
566
474
  <div class="method-source-code" id="get_measures-source">
567
- <pre><span class="ruby-comment"># File lib/midilib/sequence.rb, line 157</span>
568
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">get_measures</span>
569
- <span class="ruby-comment"># Collect time sig events and scan for last event time</span>
570
- <span class="ruby-identifier">time_sigs</span> = []
571
- <span class="ruby-identifier">max_pos</span> = <span class="ruby-value">0</span>
572
- <span class="ruby-ivar">@tracks</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">t</span><span class="ruby-operator">|</span>
573
- <span class="ruby-identifier">t</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">e</span><span class="ruby-operator">|</span>
574
- <span class="ruby-identifier">time_sigs</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">e</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">e</span>.<span class="ruby-identifier">kind_of?</span>(<span class="ruby-constant">MIDI</span><span class="ruby-operator">::</span><span class="ruby-constant">TimeSig</span>)
575
- <span class="ruby-identifier">max_pos</span> = <span class="ruby-identifier">e</span>.<span class="ruby-identifier">time_from_start</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">e</span>.<span class="ruby-identifier">time_from_start</span> <span class="ruby-operator">&gt;</span> <span class="ruby-identifier">max_pos</span>
576
- }
577
- }
578
- <span class="ruby-identifier">time_sigs</span>.<span class="ruby-identifier">sort</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">x</span>,<span class="ruby-identifier">y</span><span class="ruby-operator">|</span> <span class="ruby-identifier">x</span>.<span class="ruby-identifier">time_from_start</span> <span class="ruby-operator">&lt;=&gt;</span> <span class="ruby-identifier">y</span>.<span class="ruby-identifier">time_from_start</span> }
579
-
580
- <span class="ruby-comment"># Add a &quot;fake&quot; time sig event at the very last position of the sequence,</span>
581
- <span class="ruby-comment"># just to make sure the whole sequence is calculated.</span>
582
- <span class="ruby-identifier">t</span> = <span class="ruby-constant">MIDI</span><span class="ruby-operator">::</span><span class="ruby-constant">TimeSig</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value">4</span>, <span class="ruby-value">2</span>, <span class="ruby-value">24</span>, <span class="ruby-value">8</span>, <span class="ruby-value">0</span>)
583
- <span class="ruby-identifier">t</span>.<span class="ruby-identifier">time_from_start</span> = <span class="ruby-identifier">max_pos</span>
584
- <span class="ruby-identifier">time_sigs</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">t</span>
585
-
586
- <span class="ruby-comment"># Default to 4/4</span>
587
- <span class="ruby-identifier">measure_length</span> = <span class="ruby-ivar">@ppqn</span> * <span class="ruby-value">4</span>
588
- <span class="ruby-identifier">oldnumer</span>, <span class="ruby-identifier">olddenom</span>, <span class="ruby-identifier">oldbeats</span> = <span class="ruby-value">4</span>, <span class="ruby-value">2</span>, <span class="ruby-value">24</span>
589
-
590
- <span class="ruby-identifier">measures</span> = <span class="ruby-constant">MIDI</span><span class="ruby-operator">::</span><span class="ruby-constant">Measures</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">max_pos</span>, <span class="ruby-ivar">@ppqn</span>)
591
- <span class="ruby-identifier">curr_pos</span> = <span class="ruby-value">0</span>
592
- <span class="ruby-identifier">curr_meas_no</span> = <span class="ruby-value">1</span>
593
- <span class="ruby-identifier">time_sigs</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">te</span><span class="ruby-operator">|</span>
594
- <span class="ruby-identifier">meas_count</span> = (<span class="ruby-identifier">te</span>.<span class="ruby-identifier">time_from_start</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">curr_pos</span>) <span class="ruby-operator">/</span> <span class="ruby-identifier">measure_length</span>
595
- <span class="ruby-identifier">meas_count</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span> <span class="ruby-keyword">if</span> (<span class="ruby-identifier">te</span>.<span class="ruby-identifier">time_from_start</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">curr_pos</span>) <span class="ruby-operator">%</span> <span class="ruby-identifier">measure_length</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">0</span>
596
- <span class="ruby-value">1</span>.<span class="ruby-identifier">upto</span>(<span class="ruby-identifier">meas_count</span>) { <span class="ruby-operator">|</span><span class="ruby-identifier">i</span><span class="ruby-operator">|</span>
597
- <span class="ruby-identifier">measures</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">MIDI</span><span class="ruby-operator">::</span><span class="ruby-constant">Measure</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">curr_meas_no</span>,
598
- <span class="ruby-identifier">curr_pos</span>, <span class="ruby-identifier">measure_length</span>, <span class="ruby-identifier">oldnumer</span>, <span class="ruby-identifier">olddenom</span>, <span class="ruby-identifier">oldbeats</span>)
599
- <span class="ruby-identifier">curr_meas_no</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
600
- <span class="ruby-identifier">curr_pos</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">measure_length</span>
601
- }
602
- <span class="ruby-identifier">oldnumer</span>, <span class="ruby-identifier">olddenom</span>, <span class="ruby-identifier">oldbeats</span> = <span class="ruby-identifier">te</span>.<span class="ruby-identifier">numerator</span>, <span class="ruby-identifier">te</span>.<span class="ruby-identifier">denominator</span>, <span class="ruby-identifier">te</span>.<span class="ruby-identifier">metronome_ticks</span>
603
- <span class="ruby-identifier">measure_length</span> = <span class="ruby-identifier">te</span>.<span class="ruby-identifier">measure_duration</span>(<span class="ruby-ivar">@ppqn</span>)
604
- }
605
- <span class="ruby-identifier">measures</span>
475
+ <pre><span class="ruby-comment"># File lib/midilib/sequence.rb, line 155</span>
476
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">get_measures</span>
477
+ <span class="ruby-comment"># Collect time sig events and scan for last event time</span>
478
+ <span class="ruby-identifier">time_sigs</span> = []
479
+ <span class="ruby-identifier">max_pos</span> = <span class="ruby-value">0</span>
480
+ <span class="ruby-ivar">@tracks</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">t</span><span class="ruby-operator">|</span>
481
+ <span class="ruby-identifier">t</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">e</span><span class="ruby-operator">|</span>
482
+ <span class="ruby-identifier">time_sigs</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">e</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">e</span>.<span class="ruby-identifier">kind_of?</span>(<span class="ruby-constant">MIDI</span><span class="ruby-operator">::</span><span class="ruby-constant">TimeSig</span>)
483
+ <span class="ruby-identifier">max_pos</span> = <span class="ruby-identifier">e</span>.<span class="ruby-identifier">time_from_start</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">e</span>.<span class="ruby-identifier">time_from_start</span> <span class="ruby-operator">&gt;</span> <span class="ruby-identifier">max_pos</span>
484
+ <span class="ruby-keyword">end</span>
485
+ <span class="ruby-keyword">end</span>
486
+ <span class="ruby-identifier">time_sigs</span>.<span class="ruby-identifier">sort</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">x</span>,<span class="ruby-identifier">y</span><span class="ruby-operator">|</span> <span class="ruby-identifier">x</span>.<span class="ruby-identifier">time_from_start</span> <span class="ruby-operator">&lt;=&gt;</span> <span class="ruby-identifier">y</span>.<span class="ruby-identifier">time_from_start</span> }
487
+
488
+ <span class="ruby-comment"># Add a &quot;fake&quot; time sig event at the very last position of the sequence,</span>
489
+ <span class="ruby-comment"># just to make sure the whole sequence is calculated.</span>
490
+ <span class="ruby-identifier">t</span> = <span class="ruby-constant">MIDI</span><span class="ruby-operator">::</span><span class="ruby-constant">TimeSig</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value">4</span>, <span class="ruby-value">2</span>, <span class="ruby-value">24</span>, <span class="ruby-value">8</span>, <span class="ruby-value">0</span>)
491
+ <span class="ruby-identifier">t</span>.<span class="ruby-identifier">time_from_start</span> = <span class="ruby-identifier">max_pos</span>
492
+ <span class="ruby-identifier">time_sigs</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">t</span>
493
+
494
+ <span class="ruby-comment"># Default to 4/4</span>
495
+ <span class="ruby-identifier">measure_length</span> = <span class="ruby-ivar">@ppqn</span> <span class="ruby-operator">*</span> <span class="ruby-value">4</span>
496
+ <span class="ruby-identifier">oldnumer</span>, <span class="ruby-identifier">olddenom</span>, <span class="ruby-identifier">oldbeats</span> = <span class="ruby-value">4</span>, <span class="ruby-value">2</span>, <span class="ruby-value">24</span>
497
+
498
+ <span class="ruby-identifier">measures</span> = <span class="ruby-constant">MIDI</span><span class="ruby-operator">::</span><span class="ruby-constant">Measures</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">max_pos</span>, <span class="ruby-ivar">@ppqn</span>)
499
+ <span class="ruby-identifier">curr_pos</span> = <span class="ruby-value">0</span>
500
+ <span class="ruby-identifier">curr_meas_no</span> = <span class="ruby-value">1</span>
501
+ <span class="ruby-identifier">time_sigs</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">te</span><span class="ruby-operator">|</span>
502
+ <span class="ruby-identifier">meas_count</span> = (<span class="ruby-identifier">te</span>.<span class="ruby-identifier">time_from_start</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">curr_pos</span>) <span class="ruby-operator">/</span> <span class="ruby-identifier">measure_length</span>
503
+ <span class="ruby-identifier">meas_count</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span> <span class="ruby-keyword">if</span> (<span class="ruby-identifier">te</span>.<span class="ruby-identifier">time_from_start</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">curr_pos</span>) <span class="ruby-operator">%</span> <span class="ruby-identifier">measure_length</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">0</span>
504
+ <span class="ruby-value">1</span>.<span class="ruby-identifier">upto</span>(<span class="ruby-identifier">meas_count</span>) <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">i</span><span class="ruby-operator">|</span>
505
+ <span class="ruby-identifier">measures</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">MIDI</span><span class="ruby-operator">::</span><span class="ruby-constant">Measure</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">curr_meas_no</span>, <span class="ruby-identifier">curr_pos</span>, <span class="ruby-identifier">measure_length</span>,
506
+ <span class="ruby-identifier">oldnumer</span>, <span class="ruby-identifier">olddenom</span>, <span class="ruby-identifier">oldbeats</span>)
507
+ <span class="ruby-identifier">curr_meas_no</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
508
+ <span class="ruby-identifier">curr_pos</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">measure_length</span>
509
+ <span class="ruby-keyword">end</span>
510
+ <span class="ruby-identifier">oldnumer</span>, <span class="ruby-identifier">olddenom</span>, <span class="ruby-identifier">oldbeats</span> = <span class="ruby-identifier">te</span>.<span class="ruby-identifier">numerator</span>, <span class="ruby-identifier">te</span>.<span class="ruby-identifier">denominator</span>, <span class="ruby-identifier">te</span>.<span class="ruby-identifier">metronome_ticks</span>
511
+ <span class="ruby-identifier">measure_length</span> = <span class="ruby-identifier">te</span>.<span class="ruby-identifier">measure_duration</span>(<span class="ruby-ivar">@ppqn</span>)
512
+ <span class="ruby-keyword">end</span>
513
+ <span class="ruby-identifier">measures</span>
606
514
  <span class="ruby-keyword">end</span></pre>
607
- </div><!-- get_measures-source -->
515
+ </div>
608
516
 
609
517
  </div>
610
518
 
611
519
 
612
520
 
613
521
 
614
- </div><!-- get_measures-method -->
522
+ </div>
615
523
 
616
524
 
617
525
  <div id="method-i-length_to_delta" class="method-detail ">
@@ -619,7 +527,9 @@ container for all measures in the sequence</p>
619
527
  <div class="method-heading">
620
528
  <span class="method-name">length_to_delta</span><span
621
529
  class="method-args">(length)</span>
530
+
622
531
  <span class="method-click-advice">click to toggle source</span>
532
+
623
533
  </div>
624
534
 
625
535
 
@@ -634,21 +544,22 @@ integer mathematics and rounding. Use floating-point numbers like 1.0 and
634
544
  <p>See also <a href="Sequence.html#method-i-note_to_delta">#note_to_delta</a>
635
545
  and note_to_length.</p>
636
546
 
547
+
637
548
 
638
549
 
639
550
  <div class="method-source-code" id="length_to_delta-source">
640
- <pre><span class="ruby-comment"># File lib/midilib/sequence.rb, line 121</span>
551
+ <pre><span class="ruby-comment"># File lib/midilib/sequence.rb, line 119</span>
641
552
  <span class="ruby-keyword">def</span> <span class="ruby-identifier">length_to_delta</span>(<span class="ruby-identifier">length</span>)
642
- <span class="ruby-keyword">return</span> (<span class="ruby-ivar">@ppqn</span> * <span class="ruby-identifier">length</span>).<span class="ruby-identifier">to_i</span>
553
+ <span class="ruby-keyword">return</span> (<span class="ruby-ivar">@ppqn</span> <span class="ruby-operator">*</span> <span class="ruby-identifier">length</span>).<span class="ruby-identifier">to_i</span>
643
554
  <span class="ruby-keyword">end</span></pre>
644
- </div><!-- length_to_delta-source -->
555
+ </div>
645
556
 
646
557
  </div>
647
558
 
648
559
 
649
560
 
650
561
 
651
- </div><!-- length_to_delta-method -->
562
+ </div>
652
563
 
653
564
 
654
565
  <div id="method-i-name" class="method-detail ">
@@ -656,7 +567,9 @@ and note_to_length.</p>
656
567
  <div class="method-heading">
657
568
  <span class="method-name">name</span><span
658
569
  class="method-args">()</span>
570
+
659
571
  <span class="method-click-advice">click to toggle source</span>
572
+
660
573
  </div>
661
574
 
662
575
 
@@ -665,22 +578,23 @@ and note_to_length.</p>
665
578
  <p>Returns the name of the first track (track zero). If there are no tracks,
666
579
  returns <a href="Sequence.html#UNNAMED">UNNAMED</a>.</p>
667
580
 
581
+
668
582
 
669
583
 
670
584
  <div class="method-source-code" id="name-source">
671
- <pre><span class="ruby-comment"># File lib/midilib/sequence.rb, line 127</span>
585
+ <pre><span class="ruby-comment"># File lib/midilib/sequence.rb, line 125</span>
672
586
  <span class="ruby-keyword">def</span> <span class="ruby-identifier">name</span>
673
- <span class="ruby-keyword">return</span> <span class="ruby-constant">UNNAMED</span> <span class="ruby-keyword">if</span> <span class="ruby-ivar">@tracks</span>.<span class="ruby-identifier">empty?</span>
674
- <span class="ruby-keyword">return</span> <span class="ruby-ivar">@tracks</span>.<span class="ruby-identifier">first</span>.<span class="ruby-identifier">name</span>()
587
+ <span class="ruby-keyword">return</span> <span class="ruby-constant">UNNAMED</span> <span class="ruby-keyword">if</span> <span class="ruby-ivar">@tracks</span>.<span class="ruby-identifier">empty?</span>
588
+ <span class="ruby-keyword">return</span> <span class="ruby-ivar">@tracks</span>.<span class="ruby-identifier">first</span>.<span class="ruby-identifier">name</span>()
675
589
  <span class="ruby-keyword">end</span></pre>
676
- </div><!-- name-source -->
590
+ </div>
677
591
 
678
592
  </div>
679
593
 
680
594
 
681
595
 
682
596
 
683
- </div><!-- name-method -->
597
+ </div>
684
598
 
685
599
 
686
600
  <div id="method-i-name-3D" class="method-detail ">
@@ -688,7 +602,9 @@ returns <a href="Sequence.html#UNNAMED">UNNAMED</a>.</p>
688
602
  <div class="method-heading">
689
603
  <span class="method-name">name=</span><span
690
604
  class="method-args">(name)</span>
605
+
691
606
  <span class="method-click-advice">click to toggle source</span>
607
+
692
608
  </div>
693
609
 
694
610
 
@@ -696,22 +612,23 @@ returns <a href="Sequence.html#UNNAMED">UNNAMED</a>.</p>
696
612
 
697
613
  <p>Hands the name to the first track. Does nothing if there are no tracks.</p>
698
614
 
615
+
699
616
 
700
617
 
701
618
  <div class="method-source-code" id="name-3D-source">
702
- <pre><span class="ruby-comment"># File lib/midilib/sequence.rb, line 133</span>
619
+ <pre><span class="ruby-comment"># File lib/midilib/sequence.rb, line 131</span>
703
620
  <span class="ruby-keyword">def</span> <span class="ruby-identifier">name=</span>(<span class="ruby-identifier">name</span>)
704
- <span class="ruby-keyword">return</span> <span class="ruby-keyword">if</span> <span class="ruby-ivar">@tracks</span>.<span class="ruby-identifier">empty?</span>
705
- <span class="ruby-ivar">@tracks</span>.<span class="ruby-identifier">first</span>.<span class="ruby-identifier">name</span> = <span class="ruby-identifier">name</span>
621
+ <span class="ruby-keyword">return</span> <span class="ruby-keyword">if</span> <span class="ruby-ivar">@tracks</span>.<span class="ruby-identifier">empty?</span>
622
+ <span class="ruby-ivar">@tracks</span>.<span class="ruby-identifier">first</span>.<span class="ruby-identifier">name</span> = <span class="ruby-identifier">name</span>
706
623
  <span class="ruby-keyword">end</span></pre>
707
- </div><!-- name-3D-source -->
624
+ </div>
708
625
 
709
626
  </div>
710
627
 
711
628
 
712
629
 
713
630
 
714
- </div><!-- name-3D-method -->
631
+ </div>
715
632
 
716
633
 
717
634
  <div id="method-i-note_to_delta" class="method-detail ">
@@ -719,30 +636,33 @@ returns <a href="Sequence.html#UNNAMED">UNNAMED</a>.</p>
719
636
  <div class="method-heading">
720
637
  <span class="method-name">note_to_delta</span><span
721
638
  class="method-args">(name)</span>
639
+
722
640
  <span class="method-click-advice">click to toggle source</span>
641
+
723
642
  </div>
724
643
 
725
644
 
726
645
  <div class="method-description">
727
646
 
728
- <p>Given a note length name like "whole", "dotted quarter", or "8th triplet",
647
+ <p>Given a note length name like whole”, dotted quarter”, or 8th triplet”,
729
648
  return the length of that note in quarter notes as a delta time.</p>
730
649
 
650
+
731
651
 
732
652
 
733
653
  <div class="method-source-code" id="note_to_delta-source">
734
- <pre><span class="ruby-comment"># File lib/midilib/sequence.rb, line 88</span>
654
+ <pre><span class="ruby-comment"># File lib/midilib/sequence.rb, line 86</span>
735
655
  <span class="ruby-keyword">def</span> <span class="ruby-identifier">note_to_delta</span>(<span class="ruby-identifier">name</span>)
736
656
  <span class="ruby-keyword">return</span> <span class="ruby-identifier">length_to_delta</span>(<span class="ruby-identifier">note_to_length</span>(<span class="ruby-identifier">name</span>))
737
657
  <span class="ruby-keyword">end</span></pre>
738
- </div><!-- note_to_delta-source -->
658
+ </div>
739
659
 
740
660
  </div>
741
661
 
742
662
 
743
663
 
744
664
 
745
- </div><!-- note_to_delta-method -->
665
+ </div>
746
666
 
747
667
 
748
668
  <div id="method-i-note_to_length" class="method-detail ">
@@ -750,29 +670,32 @@ return the length of that note in quarter notes as a delta time.</p>
750
670
  <div class="method-heading">
751
671
  <span class="method-name">note_to_length</span><span
752
672
  class="method-args">(name)</span>
673
+
753
674
  <span class="method-click-advice">click to toggle source</span>
675
+
754
676
  </div>
755
677
 
756
678
 
757
679
  <div class="method-description">
758
680
 
759
- <p>Given a note length name like "whole", "dotted quarter", or "8th triplet",
681
+ <p>Given a note length name like whole”, dotted quarter”, or 8th triplet”,
760
682
  return the length of that note in quarter notes as a floating-point number,
761
683
  suitable for use as an argument to length_to_delta.</p>
762
684
 
763
685
  <p>Legal names are any value in <a
764
686
  href="Sequence.html#NOTE_TO_LENGTH">NOTE_TO_LENGTH</a>, optionally prefixed
765
- by "dotted_" and/or suffixed by "_triplet". So, for example,
766
- "dotted_quarter_triplet" returns the length of a dotted quarter-note
767
- triplet and "32nd" returns 1/32.</p>
687
+ by dotted_ and/or suffixed by _triplet”. So, for example,
688
+ dotted_quarter_triplet returns the length of a dotted quarter-note
689
+ triplet and 32nd returns 1/32.</p>
690
+
768
691
 
769
692
 
770
693
 
771
694
  <div class="method-source-code" id="note_to_length-source">
772
- <pre><span class="ruby-comment"># File lib/midilib/sequence.rb, line 101</span>
695
+ <pre><span class="ruby-comment"># File lib/midilib/sequence.rb, line 99</span>
773
696
  <span class="ruby-keyword">def</span> <span class="ruby-identifier">note_to_length</span>(<span class="ruby-identifier">name</span>)
774
697
  <span class="ruby-identifier">name</span>.<span class="ruby-identifier">strip!</span>
775
- <span class="ruby-identifier">name</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp">%r^(dotted)?(.*?)(triplet)?$/</span>
698
+ <span class="ruby-identifier">name</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp">/^(dotted)?(.*?)(triplet)?$/</span>
776
699
  <span class="ruby-identifier">dotted</span>, <span class="ruby-identifier">note_name</span>, <span class="ruby-identifier">triplet</span> = <span class="ruby-node">$1</span>, <span class="ruby-node">$2</span>, <span class="ruby-node">$3</span>
777
700
  <span class="ruby-identifier">note_name</span>.<span class="ruby-identifier">strip!</span>
778
701
  <span class="ruby-identifier">mult</span> = <span class="ruby-value">1.0</span>
@@ -780,16 +703,16 @@ triplet and "32nd" returns 1/32.</p>
780
703
  <span class="ruby-identifier">mult</span> <span class="ruby-operator">/=</span> <span class="ruby-value">3.0</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">triplet</span>
781
704
  <span class="ruby-identifier">len</span> = <span class="ruby-constant">NOTE_TO_LENGTH</span>[<span class="ruby-identifier">note_name</span>]
782
705
  <span class="ruby-identifier">raise</span> <span class="ruby-node">&quot;Sequence.note_to_length: \&quot;#{note_name}\&quot; not understood in \&quot;#{name}\&quot;&quot;</span> <span class="ruby-keyword">unless</span> <span class="ruby-identifier">len</span>
783
- <span class="ruby-keyword">return</span> <span class="ruby-identifier">len</span> * <span class="ruby-identifier">mult</span>
706
+ <span class="ruby-keyword">return</span> <span class="ruby-identifier">len</span> <span class="ruby-operator">*</span> <span class="ruby-identifier">mult</span>
784
707
  <span class="ruby-keyword">end</span></pre>
785
- </div><!-- note_to_length-source -->
708
+ </div>
786
709
 
787
710
  </div>
788
711
 
789
712
 
790
713
 
791
714
 
792
- </div><!-- note_to_length-method -->
715
+ </div>
793
716
 
794
717
 
795
718
  <div id="method-i-pulses_to_seconds" class="method-detail ">
@@ -797,7 +720,9 @@ triplet and "32nd" returns 1/32.</p>
797
720
  <div class="method-heading">
798
721
  <span class="method-name">pulses_to_seconds</span><span
799
722
  class="method-args">(pulses)</span>
723
+
800
724
  <span class="method-click-advice">click to toggle source</span>
725
+
801
726
  </div>
802
727
 
803
728
 
@@ -807,21 +732,22 @@ triplet and "32nd" returns 1/32.</p>
807
732
  time_from_start values. This method converts a number of pulses to a float
808
733
  value that is a time in seconds.</p>
809
734
 
735
+
810
736
 
811
737
 
812
738
  <div class="method-source-code" id="pulses_to_seconds-source">
813
- <pre><span class="ruby-comment"># File lib/midilib/sequence.rb, line 81</span>
739
+ <pre><span class="ruby-comment"># File lib/midilib/sequence.rb, line 79</span>
814
740
  <span class="ruby-keyword">def</span> <span class="ruby-identifier">pulses_to_seconds</span>(<span class="ruby-identifier">pulses</span>)
815
- (<span class="ruby-identifier">pulses</span>.<span class="ruby-identifier">to_f</span> <span class="ruby-operator">/</span> <span class="ruby-ivar">@ppqn</span>.<span class="ruby-identifier">to_f</span> <span class="ruby-operator">/</span> <span class="ruby-identifier">beats_per_minute</span>()) * <span class="ruby-value">60.0</span>
741
+ (<span class="ruby-identifier">pulses</span>.<span class="ruby-identifier">to_f</span> <span class="ruby-operator">/</span> <span class="ruby-ivar">@ppqn</span>.<span class="ruby-identifier">to_f</span> <span class="ruby-operator">/</span> <span class="ruby-identifier">beats_per_minute</span>()) <span class="ruby-operator">*</span> <span class="ruby-value">60.0</span>
816
742
  <span class="ruby-keyword">end</span></pre>
817
- </div><!-- pulses_to_seconds-source -->
743
+ </div>
818
744
 
819
745
  </div>
820
746
 
821
747
 
822
748
 
823
749
 
824
- </div><!-- pulses_to_seconds-method -->
750
+ </div>
825
751
 
826
752
 
827
753
  <div id="method-i-read" class="method-detail ">
@@ -829,7 +755,9 @@ value that is a time in seconds.</p>
829
755
  <div class="method-heading">
830
756
  <span class="method-name">read</span><span
831
757
  class="method-args">(io, proc = nil) { |track, num_tracks, index| ... }</span>
758
+
832
759
  <span class="method-click-advice">click to toggle source</span>
760
+
833
761
  </div>
834
762
 
835
763
 
@@ -837,22 +765,23 @@ value that is a time in seconds.</p>
837
765
 
838
766
  <p>Reads a <a href="MIDI.html">MIDI</a> stream.</p>
839
767
 
768
+
840
769
 
841
770
 
842
771
  <div class="method-source-code" id="read-source">
843
- <pre><span class="ruby-comment"># File lib/midilib/sequence.rb, line 139</span>
772
+ <pre><span class="ruby-comment"># File lib/midilib/sequence.rb, line 137</span>
844
773
  <span class="ruby-keyword">def</span> <span class="ruby-identifier">read</span>(<span class="ruby-identifier">io</span>, <span class="ruby-identifier">proc</span> = <span class="ruby-keyword">nil</span>) <span class="ruby-comment"># :yields: track, num_tracks, index</span>
845
- <span class="ruby-identifier">reader</span> = <span class="ruby-ivar">@reader_class</span>.<span class="ruby-identifier">new</span>(<span class="ruby-keyword">self</span>, <span class="ruby-identifier">block_given?</span>() <span class="ruby-operator">?</span> <span class="ruby-constant">Proc</span>.<span class="ruby-identifier">new</span>() <span class="ruby-operator">:</span> <span class="ruby-identifier">proc</span>)
846
- <span class="ruby-identifier">reader</span>.<span class="ruby-identifier">read_from</span>(<span class="ruby-identifier">io</span>)
774
+ <span class="ruby-identifier">reader</span> = <span class="ruby-ivar">@reader_class</span>.<span class="ruby-identifier">new</span>(<span class="ruby-keyword">self</span>, <span class="ruby-identifier">block_given?</span>() <span class="ruby-operator">?</span> <span class="ruby-constant">Proc</span>.<span class="ruby-identifier">new</span>() <span class="ruby-operator">:</span> <span class="ruby-identifier">proc</span>)
775
+ <span class="ruby-identifier">reader</span>.<span class="ruby-identifier">read_from</span>(<span class="ruby-identifier">io</span>)
847
776
  <span class="ruby-keyword">end</span></pre>
848
- </div><!-- read-source -->
777
+ </div>
849
778
 
850
779
  </div>
851
780
 
852
781
 
853
782
 
854
783
 
855
- </div><!-- read-method -->
784
+ </div>
856
785
 
857
786
 
858
787
  <div id="method-i-tempo" class="method-detail method-alias">
@@ -860,7 +789,7 @@ value that is a time in seconds.</p>
860
789
  <div class="method-heading">
861
790
  <span class="method-name">tempo</span><span
862
791
  class="method-args">()</span>
863
- <span class="method-click-advice">click to toggle source</span>
792
+
864
793
  </div>
865
794
 
866
795
 
@@ -868,6 +797,7 @@ value that is a time in seconds.</p>
868
797
 
869
798
 
870
799
 
800
+
871
801
 
872
802
 
873
803
  </div>
@@ -879,7 +809,7 @@ value that is a time in seconds.</p>
879
809
  Alias for: <a href="Sequence.html#method-i-beats_per_minute">beats_per_minute</a>
880
810
  </div>
881
811
 
882
- </div><!-- tempo-method -->
812
+ </div>
883
813
 
884
814
 
885
815
  <div id="method-i-time_signature" class="method-detail ">
@@ -887,7 +817,9 @@ value that is a time in seconds.</p>
887
817
  <div class="method-heading">
888
818
  <span class="method-name">time_signature</span><span
889
819
  class="method-args">(numer, denom, clocks, qnotes)</span>
820
+
890
821
  <span class="method-click-advice">click to toggle source</span>
822
+
891
823
  </div>
892
824
 
893
825
 
@@ -895,24 +827,25 @@ value that is a time in seconds.</p>
895
827
 
896
828
  <p>Sets the time signature.</p>
897
829
 
830
+
898
831
 
899
832
 
900
833
  <div class="method-source-code" id="time_signature-source">
901
834
  <pre><span class="ruby-comment"># File lib/midilib/sequence.rb, line 60</span>
902
835
  <span class="ruby-keyword">def</span> <span class="ruby-identifier">time_signature</span>(<span class="ruby-identifier">numer</span>, <span class="ruby-identifier">denom</span>, <span class="ruby-identifier">clocks</span>, <span class="ruby-identifier">qnotes</span>)
903
- <span class="ruby-ivar">@numer</span> = <span class="ruby-identifier">numer</span>
904
- <span class="ruby-ivar">@denom</span> = <span class="ruby-identifier">denom</span>
905
- <span class="ruby-ivar">@clocks</span> = <span class="ruby-identifier">clocks</span>
906
- <span class="ruby-ivar">@qnotes</span> = <span class="ruby-identifier">qnotes</span>
836
+ <span class="ruby-ivar">@numer</span> = <span class="ruby-identifier">numer</span>
837
+ <span class="ruby-ivar">@denom</span> = <span class="ruby-identifier">denom</span>
838
+ <span class="ruby-ivar">@clocks</span> = <span class="ruby-identifier">clocks</span>
839
+ <span class="ruby-ivar">@qnotes</span> = <span class="ruby-identifier">qnotes</span>
907
840
  <span class="ruby-keyword">end</span></pre>
908
- </div><!-- time_signature-source -->
841
+ </div>
909
842
 
910
843
  </div>
911
844
 
912
845
 
913
846
 
914
847
 
915
- </div><!-- time_signature-method -->
848
+ </div>
916
849
 
917
850
 
918
851
  <div id="method-i-write" class="method-detail ">
@@ -920,7 +853,9 @@ value that is a time in seconds.</p>
920
853
  <div class="method-heading">
921
854
  <span class="method-name">write</span><span
922
855
  class="method-args">(io, proc = nil) { |track, num_tracks, index| ... }</span>
856
+
923
857
  <span class="method-click-advice">click to toggle source</span>
858
+
924
859
  </div>
925
860
 
926
861
 
@@ -928,34 +863,34 @@ value that is a time in seconds.</p>
928
863
 
929
864
  <p>Writes to a <a href="MIDI.html">MIDI</a> stream.</p>
930
865
 
866
+
931
867
 
932
868
 
933
869
  <div class="method-source-code" id="write-source">
934
- <pre><span class="ruby-comment"># File lib/midilib/sequence.rb, line 145</span>
870
+ <pre><span class="ruby-comment"># File lib/midilib/sequence.rb, line 143</span>
935
871
  <span class="ruby-keyword">def</span> <span class="ruby-identifier">write</span>(<span class="ruby-identifier">io</span>, <span class="ruby-identifier">proc</span> = <span class="ruby-keyword">nil</span>) <span class="ruby-comment"># :yields: track, num_tracks, index</span>
936
- <span class="ruby-identifier">writer</span> = <span class="ruby-ivar">@writer_class</span>.<span class="ruby-identifier">new</span>(<span class="ruby-keyword">self</span>, <span class="ruby-identifier">block_given?</span>() <span class="ruby-operator">?</span> <span class="ruby-constant">Proc</span>.<span class="ruby-identifier">new</span>() <span class="ruby-operator">:</span> <span class="ruby-identifier">proc</span>)
937
- <span class="ruby-identifier">writer</span>.<span class="ruby-identifier">write_to</span>(<span class="ruby-identifier">io</span>)
872
+ <span class="ruby-identifier">writer</span> = <span class="ruby-ivar">@writer_class</span>.<span class="ruby-identifier">new</span>(<span class="ruby-keyword">self</span>, <span class="ruby-identifier">block_given?</span>() <span class="ruby-operator">?</span> <span class="ruby-constant">Proc</span>.<span class="ruby-identifier">new</span>() <span class="ruby-operator">:</span> <span class="ruby-identifier">proc</span>)
873
+ <span class="ruby-identifier">writer</span>.<span class="ruby-identifier">write_to</span>(<span class="ruby-identifier">io</span>)
938
874
  <span class="ruby-keyword">end</span></pre>
939
- </div><!-- write-source -->
875
+ </div>
940
876
 
941
877
  </div>
942
878
 
943
879
 
944
880
 
945
881
 
946
- </div><!-- write-method -->
882
+ </div>
947
883
 
948
884
 
949
- </section><!-- public-instance-method-details -->
885
+ </section>
950
886
 
951
- </section><!-- 5Buntitled-5D -->
952
-
953
- </div><!-- documentation -->
887
+ </section>
888
+ </main>
954
889
 
955
890
 
956
- <footer id="validator-badges">
957
- <p><a href="http://validator.w3.org/check/referer">[Validate]</a>
958
- <p>Generated by <a href="https://github.com/rdoc/rdoc">RDoc</a> 3.12.
959
- <p>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish Rdoc Generator</a> 3.
891
+ <footer id="validator-badges" role="contentinfo">
892
+ <p><a href="http://validator.w3.org/check/referer">Validate</a>
893
+ <p>Generated by <a href="http://docs.seattlerb.org/rdoc/">RDoc</a> 4.2.0.
894
+ <p>Based on <a href="http://deveiate.org/projects/Darkfish-RDoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
960
895
  </footer>
961
896