midilib 2.0.4 → 2.0.5
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.
- checksums.yaml +7 -0
- data/README.rdoc +9 -4
- data/Rakefile +2 -6
- data/examples/from_scratch.rb +3 -5
- data/examples/measures_mbt.rb +4 -4
- data/examples/print_program_changes.rb +9 -9
- data/examples/reader2text.rb +188 -188
- data/examples/seq2text.rb +17 -17
- data/examples/split.rb +19 -19
- data/examples/strings.rb +14 -14
- data/examples/transpose.rb +31 -31
- data/html/IO.html +65 -169
- data/html/MIDI.html +138 -256
- data/html/MIDI/ActiveSense.html +89 -178
- data/html/MIDI/ChannelEvent.html +95 -183
- data/html/MIDI/ChannelPressure.html +105 -190
- data/html/MIDI/Clock.html +89 -178
- data/html/MIDI/Continue.html +89 -178
- data/html/MIDI/Controller.html +107 -192
- data/html/MIDI/Event.html +138 -222
- data/html/MIDI/IO.html +45 -157
- data/html/MIDI/IO/MIDIFile.html +596 -568
- data/html/MIDI/IO/SeqReader.html +272 -314
- data/html/MIDI/IO/SeqWriter.html +229 -305
- data/html/MIDI/KeySig.html +129 -211
- data/html/MIDI/MIDI.html +45 -154
- data/html/MIDI/MIDI/MIDI.html +45 -154
- data/html/MIDI/MIDI/MIDI/Array.html +87 -185
- data/html/MIDI/Marker.html +71 -170
- data/html/MIDI/Measure.html +95 -190
- data/html/MIDI/Measures.html +103 -193
- data/html/MIDI/MetaEvent.html +180 -253
- data/html/MIDI/NoteEvent.html +118 -204
- data/html/MIDI/NoteOff.html +95 -183
- data/html/MIDI/NoteOn.html +95 -183
- data/html/MIDI/PitchBend.html +106 -191
- data/html/MIDI/PolyPressure.html +106 -189
- data/html/MIDI/ProgramChange.html +105 -190
- data/html/MIDI/Realtime.html +98 -184
- data/html/MIDI/Sequence.html +246 -311
- data/html/MIDI/SongPointer.html +106 -191
- data/html/MIDI/SongSelect.html +105 -190
- data/html/MIDI/Start.html +89 -178
- data/html/MIDI/Stop.html +89 -178
- data/html/MIDI/SystemCommon.html +71 -170
- data/html/MIDI/SystemExclusive.html +108 -193
- data/html/MIDI/SystemReset.html +89 -178
- data/html/MIDI/Tempo.html +135 -213
- data/html/MIDI/TimeSig.html +135 -214
- data/html/MIDI/Track.html +217 -291
- data/html/MIDI/TuneRequest.html +98 -184
- data/html/MIDI/Utils.html +89 -189
- data/html/README_rdoc.html +237 -257
- data/html/TODO_rdoc.html +64 -139
- data/html/created.rid +14 -14
- data/html/css/fonts.css +167 -0
- data/html/{rdoc.css → css/rdoc.css} +265 -218
- data/html/fonts/Lato-Light.ttf +0 -0
- data/html/fonts/Lato-LightItalic.ttf +0 -0
- data/html/fonts/Lato-Regular.ttf +0 -0
- data/html/fonts/Lato-RegularItalic.ttf +0 -0
- data/html/fonts/SourceCodePro-Bold.ttf +0 -0
- data/html/fonts/SourceCodePro-Regular.ttf +0 -0
- data/html/images/add.png +0 -0
- data/html/images/arrow_up.png +0 -0
- data/html/images/delete.png +0 -0
- data/html/images/tag_blue.png +0 -0
- data/html/index.html +187 -169
- data/html/js/darkfish.js +41 -33
- data/html/js/jquery.js +4 -18
- data/html/js/navigation.js.gz +0 -0
- data/html/js/search.js +20 -5
- data/html/js/search_index.js +1 -1
- data/html/js/search_index.js.gz +0 -0
- data/html/js/searcher.js.gz +0 -0
- data/html/table_of_contents.html +1111 -498
- data/install.rb +43 -32
- data/lib/midilib/consts.rb +407 -407
- data/lib/midilib/event.rb +295 -294
- data/lib/midilib/info.rb +5 -5
- data/lib/midilib/io/midifile.rb +266 -267
- data/lib/midilib/io/seqreader.rb +106 -106
- data/lib/midilib/io/seqwriter.rb +59 -60
- data/lib/midilib/measure.rb +69 -69
- data/lib/midilib/sequence.rb +68 -70
- data/lib/midilib/track.rb +96 -102
- data/lib/midilib/utils.rb +15 -15
- data/test/event_equality.rb +50 -50
- data/test/test_event.rb +120 -122
- data/test/test_io.rb +35 -48
- data/test/test_sequence.rb +60 -60
- data/test/test_track.rb +154 -154
- data/test/test_varlen.rb +23 -25
- metadata +65 -57
data/html/MIDI/TuneRequest.html
CHANGED
@@ -2,201 +2,94 @@
|
|
2
2
|
|
3
3
|
<html>
|
4
4
|
<head>
|
5
|
-
<meta
|
5
|
+
<meta charset="UTF-8">
|
6
6
|
|
7
7
|
<title>class MIDI::TuneRequest - 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
|
16
|
-
<script
|
17
|
-
|
18
|
-
<
|
19
|
-
<
|
20
|
-
|
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
|
25
|
-
<
|
26
|
-
|
27
|
-
|
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
|
-
</
|
31
|
-
</
|
32
|
-
|
33
|
+
</div>
|
34
|
+
</div>
|
33
35
|
|
34
|
-
|
36
|
+
<div id="search-section" role="search" class="project-section initially-hidden">
|
35
37
|
<form action="#" method="get" accept-charset="utf-8">
|
36
|
-
<
|
37
|
-
<input
|
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
|
-
</
|
40
|
-
</form>
|
41
|
-
|
42
|
-
<ul id="search-results" class="initially-hidden"></ul>
|
43
|
-
</nav>
|
44
|
-
|
43
|
+
</div>
|
45
44
|
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
</ul>
|
52
|
-
</nav>
|
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>
|
53
50
|
|
54
|
-
|
55
51
|
</div>
|
56
52
|
|
53
|
+
|
54
|
+
|
57
55
|
<div id="class-metadata">
|
58
56
|
|
59
|
-
<
|
60
|
-
<h3
|
57
|
+
<div id="parent-class-section" class="nav-section">
|
58
|
+
<h3>Parent</h3>
|
59
|
+
|
61
60
|
|
62
61
|
<p class="link"><a href="SystemCommon.html">MIDI::SystemCommon</a>
|
63
62
|
|
64
|
-
</
|
63
|
+
</div>
|
65
64
|
|
66
65
|
|
66
|
+
|
67
67
|
<!-- Method Quickref -->
|
68
|
-
<
|
69
|
-
<h3
|
68
|
+
<div id="method-list-section" class="nav-section">
|
69
|
+
<h3>Methods</h3>
|
70
70
|
|
71
|
-
<ul class="link-list">
|
71
|
+
<ul class="link-list" role="directory">
|
72
72
|
|
73
|
-
<li><a href="#method-c-new">::new</a>
|
73
|
+
<li class="calls-super" ><a href="#method-c-new">::new</a>
|
74
74
|
|
75
|
-
<li><a href="#method-i-data_as_bytes">#data_as_bytes</a>
|
75
|
+
<li ><a href="#method-i-data_as_bytes">#data_as_bytes</a>
|
76
76
|
|
77
|
-
<li><a href="#method-i-to_s">#to_s</a>
|
77
|
+
<li class="calls-super" ><a href="#method-i-to_s">#to_s</a>
|
78
78
|
|
79
79
|
</ul>
|
80
|
-
</
|
81
|
-
|
82
|
-
</div>
|
83
|
-
|
84
|
-
<div id="project-metadata">
|
85
|
-
<nav id="fileindex-section" class="section project-section">
|
86
|
-
<h3 class="section-header">Pages</h3>
|
87
|
-
|
88
|
-
<ul>
|
89
|
-
|
90
|
-
<li class="file"><a href="../README_rdoc.html">README</a>
|
91
|
-
|
92
|
-
<li class="file"><a href="../TODO_rdoc.html">TODO</a>
|
93
|
-
|
94
|
-
</ul>
|
95
|
-
</nav>
|
96
|
-
|
97
|
-
<nav id="classindex-section" class="section project-section">
|
98
|
-
<h3 class="section-header">Class and Module Index</h3>
|
99
|
-
|
100
|
-
<ul class="link-list">
|
101
|
-
|
102
|
-
<li><a href="../MIDI.html">MIDI</a>
|
103
|
-
|
104
|
-
<li><a href="../MIDI/ActiveSense.html">MIDI::ActiveSense</a>
|
105
|
-
|
106
|
-
<li><a href="../MIDI/ChannelEvent.html">MIDI::ChannelEvent</a>
|
107
|
-
|
108
|
-
<li><a href="../MIDI/ChannelPressure.html">MIDI::ChannelPressure</a>
|
109
|
-
|
110
|
-
<li><a href="../MIDI/Clock.html">MIDI::Clock</a>
|
111
|
-
|
112
|
-
<li><a href="../MIDI/Continue.html">MIDI::Continue</a>
|
113
|
-
|
114
|
-
<li><a href="../MIDI/Controller.html">MIDI::Controller</a>
|
115
|
-
|
116
|
-
<li><a href="../MIDI/Event.html">MIDI::Event</a>
|
117
|
-
|
118
|
-
<li><a href="../MIDI/IO.html">MIDI::IO</a>
|
119
|
-
|
120
|
-
<li><a href="../MIDI/IO/MIDIFile.html">MIDI::IO::MIDIFile</a>
|
121
|
-
|
122
|
-
<li><a href="../MIDI/IO/SeqReader.html">MIDI::IO::SeqReader</a>
|
123
|
-
|
124
|
-
<li><a href="../MIDI/IO/SeqWriter.html">MIDI::IO::SeqWriter</a>
|
125
|
-
|
126
|
-
<li><a href="../MIDI/KeySig.html">MIDI::KeySig</a>
|
127
|
-
|
128
|
-
<li><a href="../MIDI/MIDI.html">MIDI::MIDI</a>
|
129
|
-
|
130
|
-
<li><a href="../MIDI/MIDI/MIDI.html">MIDI::MIDI::MIDI</a>
|
131
|
-
|
132
|
-
<li><a href="../MIDI/MIDI/MIDI/Array.html">MIDI::MIDI::MIDI::Array</a>
|
133
|
-
|
134
|
-
<li><a href="../MIDI/Marker.html">MIDI::Marker</a>
|
135
|
-
|
136
|
-
<li><a href="../MIDI/Measure.html">MIDI::Measure</a>
|
137
|
-
|
138
|
-
<li><a href="../MIDI/Measures.html">MIDI::Measures</a>
|
139
|
-
|
140
|
-
<li><a href="../MIDI/MetaEvent.html">MIDI::MetaEvent</a>
|
141
|
-
|
142
|
-
<li><a href="../MIDI/NoteEvent.html">MIDI::NoteEvent</a>
|
143
|
-
|
144
|
-
<li><a href="../MIDI/NoteOff.html">MIDI::NoteOff</a>
|
145
|
-
|
146
|
-
<li><a href="../MIDI/NoteOff.html">MIDI::NoteOffEvent</a>
|
147
|
-
|
148
|
-
<li><a href="../MIDI/NoteOn.html">MIDI::NoteOn</a>
|
149
|
-
|
150
|
-
<li><a href="../MIDI/NoteOn.html">MIDI::NoteOnEvent</a>
|
151
|
-
|
152
|
-
<li><a href="../MIDI/PitchBend.html">MIDI::PitchBend</a>
|
153
|
-
|
154
|
-
<li><a href="../MIDI/PolyPressure.html">MIDI::PolyPressure</a>
|
155
|
-
|
156
|
-
<li><a href="../MIDI/ProgramChange.html">MIDI::ProgramChange</a>
|
157
|
-
|
158
|
-
<li><a href="../MIDI/Realtime.html">MIDI::Realtime</a>
|
159
|
-
|
160
|
-
<li><a href="../MIDI/Sequence.html">MIDI::Sequence</a>
|
161
|
-
|
162
|
-
<li><a href="../MIDI/SongPointer.html">MIDI::SongPointer</a>
|
163
|
-
|
164
|
-
<li><a href="../MIDI/SongSelect.html">MIDI::SongSelect</a>
|
165
|
-
|
166
|
-
<li><a href="../MIDI/Start.html">MIDI::Start</a>
|
167
|
-
|
168
|
-
<li><a href="../MIDI/Stop.html">MIDI::Stop</a>
|
169
|
-
|
170
|
-
<li><a href="../MIDI/SystemCommon.html">MIDI::SystemCommon</a>
|
171
|
-
|
172
|
-
<li><a href="../MIDI/SystemExclusive.html">MIDI::SystemExclusive</a>
|
173
|
-
|
174
|
-
<li><a href="../MIDI/SystemReset.html">MIDI::SystemReset</a>
|
175
|
-
|
176
|
-
<li><a href="../MIDI/Tempo.html">MIDI::Tempo</a>
|
177
|
-
|
178
|
-
<li><a href="../MIDI/TimeSig.html">MIDI::TimeSig</a>
|
179
|
-
|
180
|
-
<li><a href="../MIDI/Track.html">MIDI::Track</a>
|
181
|
-
|
182
|
-
<li><a href="../MIDI/TuneRequest.html">MIDI::TuneRequest</a>
|
183
|
-
|
184
|
-
<li><a href="../MIDI/Utils.html">MIDI::Utils</a>
|
185
|
-
|
186
|
-
<li><a href="../IO.html">IO</a>
|
187
|
-
|
188
|
-
</ul>
|
189
|
-
</nav>
|
80
|
+
</div>
|
190
81
|
|
191
82
|
</div>
|
192
83
|
</nav>
|
193
84
|
|
194
|
-
<
|
195
|
-
<h1
|
85
|
+
<main role="main" aria-labelledby="class-MIDI::TuneRequest">
|
86
|
+
<h1 id="class-MIDI::TuneRequest" class="class">
|
87
|
+
class MIDI::TuneRequest
|
88
|
+
</h1>
|
196
89
|
|
197
|
-
<
|
90
|
+
<section class="description">
|
198
91
|
|
199
|
-
</
|
92
|
+
</section>
|
200
93
|
|
201
94
|
|
202
95
|
|
@@ -210,10 +103,11 @@
|
|
210
103
|
|
211
104
|
|
212
105
|
|
213
|
-
<!-- Methods -->
|
214
106
|
|
215
|
-
<section id="public-class-5Buntitled-5D-method-details" class="method-section
|
216
|
-
|
107
|
+
<section id="public-class-5Buntitled-5D-method-details" class="method-section">
|
108
|
+
<header>
|
109
|
+
<h3>Public Class Methods</h3>
|
110
|
+
</header>
|
217
111
|
|
218
112
|
|
219
113
|
<div id="method-c-new" class="method-detail ">
|
@@ -221,7 +115,9 @@
|
|
221
115
|
<div class="method-heading">
|
222
116
|
<span class="method-name">new</span><span
|
223
117
|
class="method-args">(delta_time = 0)</span>
|
118
|
+
|
224
119
|
<span class="method-click-advice">click to toggle source</span>
|
120
|
+
|
225
121
|
</div>
|
226
122
|
|
227
123
|
|
@@ -229,27 +125,35 @@
|
|
229
125
|
|
230
126
|
|
231
127
|
|
128
|
+
|
129
|
+
<div class="method-calls-super">
|
130
|
+
Calls superclass method
|
131
|
+
<a href="SystemCommon.html#method-c-new">MIDI::SystemCommon.new</a>
|
132
|
+
</div>
|
133
|
+
|
232
134
|
|
233
135
|
|
234
136
|
<div class="method-source-code" id="new-source">
|
235
|
-
<pre><span class="ruby-comment"># File lib/midilib/event.rb, line
|
137
|
+
<pre><span class="ruby-comment"># File lib/midilib/event.rb, line 328</span>
|
236
138
|
<span class="ruby-keyword">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">delta_time</span> = <span class="ruby-value">0</span>)
|
237
|
-
|
139
|
+
<span class="ruby-keyword">super</span>(<span class="ruby-constant">TUNE_REQUEST</span>, <span class="ruby-identifier">delta_time</span>)
|
238
140
|
<span class="ruby-keyword">end</span></pre>
|
239
|
-
</div
|
141
|
+
</div>
|
240
142
|
|
241
143
|
</div>
|
242
144
|
|
243
145
|
|
244
146
|
|
245
147
|
|
246
|
-
</div
|
148
|
+
</div>
|
247
149
|
|
248
150
|
|
249
|
-
</section
|
151
|
+
</section>
|
250
152
|
|
251
|
-
<section id="public-instance-5Buntitled-5D-method-details" class="method-section
|
252
|
-
|
153
|
+
<section id="public-instance-5Buntitled-5D-method-details" class="method-section">
|
154
|
+
<header>
|
155
|
+
<h3>Public Instance Methods</h3>
|
156
|
+
</header>
|
253
157
|
|
254
158
|
|
255
159
|
<div id="method-i-data_as_bytes" class="method-detail ">
|
@@ -257,7 +161,9 @@
|
|
257
161
|
<div class="method-heading">
|
258
162
|
<span class="method-name">data_as_bytes</span><span
|
259
163
|
class="method-args">()</span>
|
164
|
+
|
260
165
|
<span class="method-click-advice">click to toggle source</span>
|
166
|
+
|
261
167
|
</div>
|
262
168
|
|
263
169
|
|
@@ -265,22 +171,23 @@
|
|
265
171
|
|
266
172
|
|
267
173
|
|
174
|
+
|
268
175
|
|
269
176
|
|
270
177
|
<div class="method-source-code" id="data_as_bytes-source">
|
271
|
-
<pre><span class="ruby-comment"># File lib/midilib/event.rb, line
|
178
|
+
<pre><span class="ruby-comment"># File lib/midilib/event.rb, line 332</span>
|
272
179
|
<span class="ruby-keyword">def</span> <span class="ruby-identifier">data_as_bytes</span>
|
273
|
-
|
274
|
-
|
180
|
+
<span class="ruby-identifier">data</span> = []
|
181
|
+
<span class="ruby-identifier">data</span> <span class="ruby-operator"><<</span> <span class="ruby-ivar">@status</span>
|
275
182
|
<span class="ruby-keyword">end</span></pre>
|
276
|
-
</div
|
183
|
+
</div>
|
277
184
|
|
278
185
|
</div>
|
279
186
|
|
280
187
|
|
281
188
|
|
282
189
|
|
283
|
-
</div
|
190
|
+
</div>
|
284
191
|
|
285
192
|
|
286
193
|
<div id="method-i-to_s" class="method-detail ">
|
@@ -288,7 +195,9 @@
|
|
288
195
|
<div class="method-heading">
|
289
196
|
<span class="method-name">to_s</span><span
|
290
197
|
class="method-args">()</span>
|
198
|
+
|
291
199
|
<span class="method-click-advice">click to toggle source</span>
|
200
|
+
|
292
201
|
</div>
|
293
202
|
|
294
203
|
|
@@ -296,33 +205,38 @@
|
|
296
205
|
|
297
206
|
|
298
207
|
|
208
|
+
|
209
|
+
<div class="method-calls-super">
|
210
|
+
Calls superclass method
|
211
|
+
<a href="Event.html#method-i-to_s">MIDI::Event#to_s</a>
|
212
|
+
</div>
|
213
|
+
|
299
214
|
|
300
215
|
|
301
216
|
<div class="method-source-code" id="to_s-source">
|
302
|
-
<pre><span class="ruby-comment"># File lib/midilib/event.rb, line
|
217
|
+
<pre><span class="ruby-comment"># File lib/midilib/event.rb, line 337</span>
|
303
218
|
<span class="ruby-keyword">def</span> <span class="ruby-identifier">to_s</span>
|
304
|
-
|
219
|
+
<span class="ruby-keyword">return</span> <span class="ruby-keyword">super</span> <span class="ruby-operator"><<</span> <span class="ruby-string">"tune req"</span>
|
305
220
|
<span class="ruby-keyword">end</span></pre>
|
306
|
-
</div
|
221
|
+
</div>
|
307
222
|
|
308
223
|
</div>
|
309
224
|
|
310
225
|
|
311
226
|
|
312
227
|
|
313
|
-
</div
|
228
|
+
</div>
|
314
229
|
|
315
230
|
|
316
|
-
</section
|
231
|
+
</section>
|
317
232
|
|
318
|
-
</section
|
319
|
-
|
320
|
-
</div><!-- documentation -->
|
233
|
+
</section>
|
234
|
+
</main>
|
321
235
|
|
322
236
|
|
323
|
-
<footer id="validator-badges">
|
324
|
-
<p><a href="http://validator.w3.org/check/referer">
|
325
|
-
<p>Generated by <a href="
|
326
|
-
<p>
|
237
|
+
<footer id="validator-badges" role="contentinfo">
|
238
|
+
<p><a href="http://validator.w3.org/check/referer">Validate</a>
|
239
|
+
<p>Generated by <a href="http://docs.seattlerb.org/rdoc/">RDoc</a> 4.2.0.
|
240
|
+
<p>Based on <a href="http://deveiate.org/projects/Darkfish-RDoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
|
327
241
|
</footer>
|
328
242
|
|
data/html/MIDI/Utils.html
CHANGED
@@ -2,201 +2,94 @@
|
|
2
2
|
|
3
3
|
<html>
|
4
4
|
<head>
|
5
|
-
<meta
|
5
|
+
<meta charset="UTF-8">
|
6
6
|
|
7
7
|
<title>class MIDI::Utils - 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
|
16
|
-
<script
|
17
|
-
|
18
|
-
<
|
19
|
-
<
|
20
|
-
|
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
|
25
|
-
<
|
26
|
-
|
27
|
-
|
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
|
-
</
|
31
|
-
</
|
32
|
-
|
33
|
+
</div>
|
34
|
+
</div>
|
33
35
|
|
34
|
-
|
36
|
+
<div id="search-section" role="search" class="project-section initially-hidden">
|
35
37
|
<form action="#" method="get" accept-charset="utf-8">
|
36
|
-
<
|
37
|
-
<input
|
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
|
-
</
|
40
|
-
</form>
|
41
|
-
|
42
|
-
<ul id="search-results" class="initially-hidden"></ul>
|
43
|
-
</nav>
|
44
|
-
|
43
|
+
</div>
|
45
44
|
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
</ul>
|
52
|
-
</nav>
|
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>
|
53
50
|
|
54
|
-
|
55
51
|
</div>
|
56
52
|
|
53
|
+
|
54
|
+
|
57
55
|
<div id="class-metadata">
|
58
56
|
|
59
|
-
<
|
60
|
-
<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
|
-
</
|
63
|
+
</div>
|
65
64
|
|
66
65
|
|
66
|
+
|
67
67
|
<!-- Method Quickref -->
|
68
|
-
<
|
69
|
-
<h3
|
68
|
+
<div id="method-list-section" class="nav-section">
|
69
|
+
<h3>Methods</h3>
|
70
70
|
|
71
|
-
<ul class="link-list">
|
71
|
+
<ul class="link-list" role="directory">
|
72
72
|
|
73
|
-
<li><a href="#method-c-as_var_len">::as_var_len</a>
|
73
|
+
<li ><a href="#method-c-as_var_len">::as_var_len</a>
|
74
74
|
|
75
|
-
<li><a href="#method-c-note_to_s">::note_to_s</a>
|
75
|
+
<li ><a href="#method-c-note_to_s">::note_to_s</a>
|
76
76
|
|
77
77
|
</ul>
|
78
|
-
</
|
79
|
-
|
80
|
-
</div>
|
81
|
-
|
82
|
-
<div id="project-metadata">
|
83
|
-
<nav id="fileindex-section" class="section project-section">
|
84
|
-
<h3 class="section-header">Pages</h3>
|
85
|
-
|
86
|
-
<ul>
|
87
|
-
|
88
|
-
<li class="file"><a href="../README_rdoc.html">README</a>
|
89
|
-
|
90
|
-
<li class="file"><a href="../TODO_rdoc.html">TODO</a>
|
91
|
-
|
92
|
-
</ul>
|
93
|
-
</nav>
|
94
|
-
|
95
|
-
<nav id="classindex-section" class="section project-section">
|
96
|
-
<h3 class="section-header">Class and Module Index</h3>
|
97
|
-
|
98
|
-
<ul class="link-list">
|
99
|
-
|
100
|
-
<li><a href="../MIDI.html">MIDI</a>
|
101
|
-
|
102
|
-
<li><a href="../MIDI/ActiveSense.html">MIDI::ActiveSense</a>
|
103
|
-
|
104
|
-
<li><a href="../MIDI/ChannelEvent.html">MIDI::ChannelEvent</a>
|
105
|
-
|
106
|
-
<li><a href="../MIDI/ChannelPressure.html">MIDI::ChannelPressure</a>
|
107
|
-
|
108
|
-
<li><a href="../MIDI/Clock.html">MIDI::Clock</a>
|
109
|
-
|
110
|
-
<li><a href="../MIDI/Continue.html">MIDI::Continue</a>
|
111
|
-
|
112
|
-
<li><a href="../MIDI/Controller.html">MIDI::Controller</a>
|
113
|
-
|
114
|
-
<li><a href="../MIDI/Event.html">MIDI::Event</a>
|
115
|
-
|
116
|
-
<li><a href="../MIDI/IO.html">MIDI::IO</a>
|
117
|
-
|
118
|
-
<li><a href="../MIDI/IO/MIDIFile.html">MIDI::IO::MIDIFile</a>
|
119
|
-
|
120
|
-
<li><a href="../MIDI/IO/SeqReader.html">MIDI::IO::SeqReader</a>
|
121
|
-
|
122
|
-
<li><a href="../MIDI/IO/SeqWriter.html">MIDI::IO::SeqWriter</a>
|
123
|
-
|
124
|
-
<li><a href="../MIDI/KeySig.html">MIDI::KeySig</a>
|
125
|
-
|
126
|
-
<li><a href="../MIDI/MIDI.html">MIDI::MIDI</a>
|
127
|
-
|
128
|
-
<li><a href="../MIDI/MIDI/MIDI.html">MIDI::MIDI::MIDI</a>
|
129
|
-
|
130
|
-
<li><a href="../MIDI/MIDI/MIDI/Array.html">MIDI::MIDI::MIDI::Array</a>
|
131
|
-
|
132
|
-
<li><a href="../MIDI/Marker.html">MIDI::Marker</a>
|
133
|
-
|
134
|
-
<li><a href="../MIDI/Measure.html">MIDI::Measure</a>
|
135
|
-
|
136
|
-
<li><a href="../MIDI/Measures.html">MIDI::Measures</a>
|
137
|
-
|
138
|
-
<li><a href="../MIDI/MetaEvent.html">MIDI::MetaEvent</a>
|
139
|
-
|
140
|
-
<li><a href="../MIDI/NoteEvent.html">MIDI::NoteEvent</a>
|
141
|
-
|
142
|
-
<li><a href="../MIDI/NoteOff.html">MIDI::NoteOff</a>
|
143
|
-
|
144
|
-
<li><a href="../MIDI/NoteOff.html">MIDI::NoteOffEvent</a>
|
145
|
-
|
146
|
-
<li><a href="../MIDI/NoteOn.html">MIDI::NoteOn</a>
|
147
|
-
|
148
|
-
<li><a href="../MIDI/NoteOn.html">MIDI::NoteOnEvent</a>
|
149
|
-
|
150
|
-
<li><a href="../MIDI/PitchBend.html">MIDI::PitchBend</a>
|
151
|
-
|
152
|
-
<li><a href="../MIDI/PolyPressure.html">MIDI::PolyPressure</a>
|
153
|
-
|
154
|
-
<li><a href="../MIDI/ProgramChange.html">MIDI::ProgramChange</a>
|
155
|
-
|
156
|
-
<li><a href="../MIDI/Realtime.html">MIDI::Realtime</a>
|
157
|
-
|
158
|
-
<li><a href="../MIDI/Sequence.html">MIDI::Sequence</a>
|
159
|
-
|
160
|
-
<li><a href="../MIDI/SongPointer.html">MIDI::SongPointer</a>
|
161
|
-
|
162
|
-
<li><a href="../MIDI/SongSelect.html">MIDI::SongSelect</a>
|
163
|
-
|
164
|
-
<li><a href="../MIDI/Start.html">MIDI::Start</a>
|
165
|
-
|
166
|
-
<li><a href="../MIDI/Stop.html">MIDI::Stop</a>
|
167
|
-
|
168
|
-
<li><a href="../MIDI/SystemCommon.html">MIDI::SystemCommon</a>
|
169
|
-
|
170
|
-
<li><a href="../MIDI/SystemExclusive.html">MIDI::SystemExclusive</a>
|
171
|
-
|
172
|
-
<li><a href="../MIDI/SystemReset.html">MIDI::SystemReset</a>
|
173
|
-
|
174
|
-
<li><a href="../MIDI/Tempo.html">MIDI::Tempo</a>
|
175
|
-
|
176
|
-
<li><a href="../MIDI/TimeSig.html">MIDI::TimeSig</a>
|
177
|
-
|
178
|
-
<li><a href="../MIDI/Track.html">MIDI::Track</a>
|
179
|
-
|
180
|
-
<li><a href="../MIDI/TuneRequest.html">MIDI::TuneRequest</a>
|
181
|
-
|
182
|
-
<li><a href="../MIDI/Utils.html">MIDI::Utils</a>
|
183
|
-
|
184
|
-
<li><a href="../IO.html">IO</a>
|
185
|
-
|
186
|
-
</ul>
|
187
|
-
</nav>
|
78
|
+
</div>
|
188
79
|
|
189
80
|
</div>
|
190
81
|
</nav>
|
191
82
|
|
192
|
-
<
|
193
|
-
<h1
|
83
|
+
<main role="main" aria-labelledby="class-MIDI::Utils">
|
84
|
+
<h1 id="class-MIDI::Utils" class="class">
|
85
|
+
class MIDI::Utils
|
86
|
+
</h1>
|
194
87
|
|
195
|
-
<
|
88
|
+
<section class="description">
|
196
89
|
|
197
90
|
<p>Utility methods.</p>
|
198
91
|
|
199
|
-
</
|
92
|
+
</section>
|
200
93
|
|
201
94
|
|
202
95
|
|
@@ -207,15 +100,16 @@
|
|
207
100
|
|
208
101
|
|
209
102
|
|
210
|
-
|
211
|
-
|
212
|
-
|
103
|
+
<section class="constants-list">
|
104
|
+
<header>
|
105
|
+
<h3>Constants</h3>
|
106
|
+
</header>
|
213
107
|
<dl>
|
214
108
|
|
215
109
|
<dt id="NOTE_NAMES">NOTE_NAMES
|
216
110
|
|
217
|
-
<dd
|
218
|
-
|
111
|
+
<dd><p><a href="MIDI.html">MIDI</a> note names. <a href="0">NOTE_NAMES</a> is
|
112
|
+
'C', <a href="1">NOTE_NAMES</a> is 'C#', etc.</p>
|
219
113
|
|
220
114
|
|
221
115
|
</dl>
|
@@ -224,10 +118,11 @@ is 'C', <a href="http://1">NOTE_NAMES</a> is 'C#', etc.</p>
|
|
224
118
|
|
225
119
|
|
226
120
|
|
227
|
-
<!-- Methods -->
|
228
121
|
|
229
|
-
<section id="public-class-5Buntitled-5D-method-details" class="method-section
|
230
|
-
|
122
|
+
<section id="public-class-5Buntitled-5D-method-details" class="method-section">
|
123
|
+
<header>
|
124
|
+
<h3>Public Class Methods</h3>
|
125
|
+
</header>
|
231
126
|
|
232
127
|
|
233
128
|
<div id="method-c-as_var_len" class="method-detail ">
|
@@ -235,7 +130,9 @@ is 'C', <a href="http://1">NOTE_NAMES</a> is 'C#', etc.</p>
|
|
235
130
|
<div class="method-heading">
|
236
131
|
<span class="method-name">as_var_len</span><span
|
237
132
|
class="method-args">(val)</span>
|
133
|
+
|
238
134
|
<span class="method-click-advice">click to toggle source</span>
|
135
|
+
|
239
136
|
</div>
|
240
137
|
|
241
138
|
|
@@ -244,32 +141,33 @@ is 'C', <a href="http://1">NOTE_NAMES</a> is 'C#', etc.</p>
|
|
244
141
|
<p>Given an integer, returns it as a variable length array of bytes (the
|
245
142
|
format used by <a href="MIDI.html">MIDI</a> files).</p>
|
246
143
|
|
247
|
-
<p>The converse operation
|
248
|
-
from a stream of bytes. Therefore we don
|
249
|
-
of the MIDIFile class.</p>
|
144
|
+
<p>The converse operation–converting a var len into a number–requires input
|
145
|
+
from a stream of bytes. Therefore we don't supply it here. That is a
|
146
|
+
part of the MIDIFile class.</p>
|
147
|
+
|
250
148
|
|
251
149
|
|
252
150
|
|
253
151
|
<div class="method-source-code" id="as_var_len-source">
|
254
152
|
<pre><span class="ruby-comment"># File lib/midilib/utils.rb, line 24</span>
|
255
153
|
<span class="ruby-keyword">def</span> <span class="ruby-constant">Utils</span>.<span class="ruby-identifier">as_var_len</span>(<span class="ruby-identifier">val</span>)
|
256
|
-
|
257
|
-
|
154
|
+
<span class="ruby-identifier">buffer</span> = []
|
155
|
+
<span class="ruby-identifier">buffer</span> <span class="ruby-operator"><<</span> (<span class="ruby-identifier">val</span> <span class="ruby-operator">&</span> <span class="ruby-value">0x7f</span>)
|
156
|
+
<span class="ruby-identifier">val</span> = (<span class="ruby-identifier">val</span> <span class="ruby-operator">>></span> <span class="ruby-value">7</span>)
|
157
|
+
<span class="ruby-keyword">while</span> <span class="ruby-identifier">val</span> <span class="ruby-operator">></span> <span class="ruby-value">0</span>
|
158
|
+
<span class="ruby-identifier">buffer</span> <span class="ruby-operator"><<</span> (<span class="ruby-value">0x80</span> <span class="ruby-operator">+</span> (<span class="ruby-identifier">val</span> <span class="ruby-operator">&</span> <span class="ruby-value">0x7f</span>))
|
258
159
|
<span class="ruby-identifier">val</span> = (<span class="ruby-identifier">val</span> <span class="ruby-operator">>></span> <span class="ruby-value">7</span>)
|
259
|
-
|
260
|
-
|
261
|
-
<span class="ruby-identifier">val</span> = (<span class="ruby-identifier">val</span> <span class="ruby-operator">>></span> <span class="ruby-value">7</span>)
|
262
|
-
<span class="ruby-keyword">end</span>
|
263
|
-
<span class="ruby-keyword">return</span> <span class="ruby-identifier">buffer</span>.<span class="ruby-identifier">reverse!</span>
|
160
|
+
<span class="ruby-keyword">end</span>
|
161
|
+
<span class="ruby-keyword">return</span> <span class="ruby-identifier">buffer</span>.<span class="ruby-identifier">reverse!</span>
|
264
162
|
<span class="ruby-keyword">end</span></pre>
|
265
|
-
</div
|
163
|
+
</div>
|
266
164
|
|
267
165
|
</div>
|
268
166
|
|
269
167
|
|
270
168
|
|
271
169
|
|
272
|
-
</div
|
170
|
+
</div>
|
273
171
|
|
274
172
|
|
275
173
|
<div id="method-c-note_to_s" class="method-detail ">
|
@@ -277,7 +175,9 @@ of the MIDIFile class.</p>
|
|
277
175
|
<div class="method-heading">
|
278
176
|
<span class="method-name">note_to_s</span><span
|
279
177
|
class="method-args">(num)</span>
|
178
|
+
|
280
179
|
<span class="method-click-advice">click to toggle source</span>
|
180
|
+
|
281
181
|
</div>
|
282
182
|
|
283
183
|
|
@@ -286,35 +186,35 @@ of the MIDIFile class.</p>
|
|
286
186
|
<p>Given a <a href="MIDI.html">MIDI</a> note number, return the name and
|
287
187
|
octave as a string.</p>
|
288
188
|
|
189
|
+
|
289
190
|
|
290
191
|
|
291
192
|
<div class="method-source-code" id="note_to_s-source">
|
292
193
|
<pre><span class="ruby-comment"># File lib/midilib/utils.rb, line 12</span>
|
293
194
|
<span class="ruby-keyword">def</span> <span class="ruby-constant">Utils</span>.<span class="ruby-identifier">note_to_s</span>(<span class="ruby-identifier">num</span>)
|
294
|
-
|
295
|
-
|
296
|
-
|
195
|
+
<span class="ruby-identifier">note</span> = <span class="ruby-identifier">num</span> <span class="ruby-operator">%</span> <span class="ruby-value">12</span>
|
196
|
+
<span class="ruby-identifier">octave</span> = <span class="ruby-identifier">num</span> <span class="ruby-operator">/</span> <span class="ruby-value">12</span>
|
197
|
+
<span class="ruby-keyword">return</span> <span class="ruby-node">"#{NOTE_NAMES[note]}#{octave - 1}"</span>
|
297
198
|
<span class="ruby-keyword">end</span></pre>
|
298
|
-
</div
|
199
|
+
</div>
|
299
200
|
|
300
201
|
</div>
|
301
202
|
|
302
203
|
|
303
204
|
|
304
205
|
|
305
|
-
</div
|
206
|
+
</div>
|
306
207
|
|
307
208
|
|
308
|
-
</section
|
209
|
+
</section>
|
309
210
|
|
310
|
-
</section
|
311
|
-
|
312
|
-
</div><!-- documentation -->
|
211
|
+
</section>
|
212
|
+
</main>
|
313
213
|
|
314
214
|
|
315
|
-
<footer id="validator-badges">
|
316
|
-
<p><a href="http://validator.w3.org/check/referer">
|
317
|
-
<p>Generated by <a href="
|
318
|
-
<p>
|
215
|
+
<footer id="validator-badges" role="contentinfo">
|
216
|
+
<p><a href="http://validator.w3.org/check/referer">Validate</a>
|
217
|
+
<p>Generated by <a href="http://docs.seattlerb.org/rdoc/">RDoc</a> 4.2.0.
|
218
|
+
<p>Based on <a href="http://deveiate.org/projects/Darkfish-RDoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
|
319
219
|
</footer>
|
320
220
|
|