midilib 1.2.1 → 2.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (100) hide show
  1. data/ChangeLog +3 -1
  2. data/Credits +6 -1
  3. data/README.rdoc +41 -15
  4. data/Rakefile +3 -11
  5. data/TODO.rdoc +4 -7
  6. data/examples/from_scratch.rb +2 -2
  7. data/examples/measures_mbt.rb +1 -1
  8. data/examples/print_program_changes.rb +1 -1
  9. data/examples/strings.rb +1 -1
  10. data/examples/transpose.rb +1 -1
  11. data/html/Array.html +382 -0
  12. data/html/IO.html +277 -0
  13. data/html/MIDI.html +829 -0
  14. data/html/MIDI/ActiveSense.html +317 -0
  15. data/html/MIDI/ChannelEvent.html +347 -0
  16. data/html/MIDI/ChannelPressure.html +379 -0
  17. data/html/MIDI/Clock.html +317 -0
  18. data/html/MIDI/Continue.html +317 -0
  19. data/html/MIDI/Controller.html +398 -0
  20. data/html/MIDI/Event.html +659 -0
  21. data/html/MIDI/IO.html +238 -0
  22. data/html/MIDI/IO/MIDIFile.html +2269 -0
  23. data/html/MIDI/IO/SeqReader.html +1051 -0
  24. data/html/MIDI/IO/SeqWriter.html +706 -0
  25. data/html/MIDI/KeySig.html +487 -0
  26. data/html/MIDI/Marker.html +275 -0
  27. data/html/MIDI/Measure.html +479 -0
  28. data/html/MIDI/Measures.html +416 -0
  29. data/html/MIDI/MetaEvent.html +617 -0
  30. data/html/MIDI/NoteEvent.html +459 -0
  31. data/html/MIDI/NoteOff.html +341 -0
  32. data/html/MIDI/NoteOn.html +341 -0
  33. data/html/MIDI/PitchBend.html +380 -0
  34. data/html/MIDI/PolyPressure.html +390 -0
  35. data/html/MIDI/ProgramChange.html +379 -0
  36. data/html/MIDI/Realtime.html +354 -0
  37. data/html/MIDI/Sequence.html +1063 -0
  38. data/html/MIDI/SongPointer.html +380 -0
  39. data/html/MIDI/SongSelect.html +379 -0
  40. data/html/MIDI/Start.html +317 -0
  41. data/html/MIDI/Stop.html +317 -0
  42. data/html/MIDI/SystemCommon.html +275 -0
  43. data/html/MIDI/SystemExclusive.html +382 -0
  44. data/html/MIDI/SystemReset.html +317 -0
  45. data/html/MIDI/Tempo.html +519 -0
  46. data/html/MIDI/TimeSig.html +524 -0
  47. data/html/MIDI/Track.html +859 -0
  48. data/html/MIDI/TuneRequest.html +354 -0
  49. data/html/MIDI/Utils.html +350 -0
  50. data/html/README_rdoc.html +882 -0
  51. data/html/TODO_rdoc.html +215 -0
  52. data/html/created.rid +14 -0
  53. data/html/images/brick.png +0 -0
  54. data/html/images/brick_link.png +0 -0
  55. data/html/images/bug.png +0 -0
  56. data/html/images/bullet_black.png +0 -0
  57. data/html/images/bullet_toggle_minus.png +0 -0
  58. data/html/images/bullet_toggle_plus.png +0 -0
  59. data/html/images/date.png +0 -0
  60. data/html/images/find.png +0 -0
  61. data/html/images/loadingAnimation.gif +0 -0
  62. data/html/images/macFFBgHack.png +0 -0
  63. data/html/images/package.png +0 -0
  64. data/html/images/page_green.png +0 -0
  65. data/html/images/page_white_text.png +0 -0
  66. data/html/images/page_white_width.png +0 -0
  67. data/html/images/plugin.png +0 -0
  68. data/html/images/ruby.png +0 -0
  69. data/html/images/tag_green.png +0 -0
  70. data/html/images/wrench.png +0 -0
  71. data/html/images/wrench_orange.png +0 -0
  72. data/html/images/zoom.png +0 -0
  73. data/html/index.html +1266 -0
  74. data/html/js/darkfish.js +116 -0
  75. data/html/js/jquery.js +32 -0
  76. data/html/js/quicksearch.js +114 -0
  77. data/html/js/thickbox-compressed.js +10 -0
  78. data/html/lib/midilib/consts_rb.html +55 -0
  79. data/html/lib/midilib/event_rb.html +56 -0
  80. data/html/lib/midilib/info_rb.html +52 -0
  81. data/html/lib/midilib/io/midifile_rb.html +54 -0
  82. data/html/lib/midilib/io/seqreader_rb.html +58 -0
  83. data/html/lib/midilib/io/seqwriter_rb.html +59 -0
  84. data/html/lib/midilib/measure_rb.html +54 -0
  85. data/html/lib/midilib/sequence_rb.html +58 -0
  86. data/html/lib/midilib/track_rb.html +54 -0
  87. data/html/lib/midilib/utils_rb.html +52 -0
  88. data/html/lib/midilib_rb.html +71 -0
  89. data/html/rdoc.css +706 -0
  90. data/install.rb +1 -1
  91. data/lib/midilib/event.rb +11 -77
  92. data/lib/midilib/info.rb +4 -4
  93. data/lib/midilib/io/seqreader.rb +2 -2
  94. data/lib/midilib/io/seqwriter.rb +1 -1
  95. data/lib/midilib/sequence.rb +1 -1
  96. data/lib/midilib/track.rb +54 -8
  97. data/test/test_event.rb +4 -62
  98. data/test/test_sequence.rb +1 -1
  99. data/test/test_track.rb +39 -5
  100. metadata +102 -9
@@ -0,0 +1,416 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
3
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
4
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
5
+ <head>
6
+ <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
7
+
8
+ <title>Class: MIDI::Measures</title>
9
+
10
+ <link rel="stylesheet" href="../rdoc.css" type="text/css" media="screen" />
11
+
12
+ <script src="../js/jquery.js" type="text/javascript"
13
+ charset="utf-8"></script>
14
+ <script src="../js/thickbox-compressed.js" type="text/javascript"
15
+ charset="utf-8"></script>
16
+ <script src="../js/quicksearch.js" type="text/javascript"
17
+ charset="utf-8"></script>
18
+ <script src="../js/darkfish.js" type="text/javascript"
19
+ charset="utf-8"></script>
20
+
21
+ </head>
22
+ <body class="class">
23
+
24
+ <div id="metadata">
25
+ <div id="home-metadata">
26
+ <div id="home-section" class="section">
27
+ <h3 class="section-header">
28
+ <a href="../index.html">Home</a>
29
+ <a href="../index.html#classes">Classes</a>
30
+ <a href="../index.html#methods">Methods</a>
31
+ </h3>
32
+ </div>
33
+ </div>
34
+
35
+ <div id="file-metadata">
36
+ <div id="file-list-section" class="section">
37
+ <h3 class="section-header">In Files</h3>
38
+ <div class="section-body">
39
+ <ul>
40
+
41
+ <li><a href="../lib/midilib/measure_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
42
+ class="thickbox" title="lib/midilib/measure.rb">lib/midilib/measure.rb</a></li>
43
+
44
+ </ul>
45
+ </div>
46
+ </div>
47
+
48
+
49
+ </div>
50
+
51
+ <div id="class-metadata">
52
+
53
+ <!-- Parent Class -->
54
+
55
+ <div id="parent-class-section" class="section">
56
+ <h3 class="section-header">Parent</h3>
57
+
58
+ <p class="link"><a href="../Array.html">Array</a></p>
59
+
60
+ </div>
61
+
62
+
63
+ <!-- Namespace Contents -->
64
+
65
+
66
+ <!-- Method Quickref -->
67
+
68
+ <div id="method-list-section" class="section">
69
+ <h3 class="section-header">Methods</h3>
70
+ <ul class="link-list">
71
+
72
+ <li><a href="#method-c-new">::new</a></li>
73
+
74
+ <li><a href="#method-i-measure_for_event">#measure_for_event</a></li>
75
+
76
+ <li><a href="#method-i-to_mbt">#to_mbt</a></li>
77
+
78
+ </ul>
79
+ </div>
80
+
81
+
82
+ <!-- Included Modules -->
83
+
84
+ </div>
85
+
86
+ <div id="project-metadata">
87
+
88
+
89
+ <div id="fileindex-section" class="section project-section">
90
+ <h3 class="section-header">Files</h3>
91
+ <ul>
92
+
93
+ <li class="file"><a href="../README_rdoc.html">README.rdoc</a></li>
94
+
95
+ <li class="file"><a href="../TODO_rdoc.html">TODO.rdoc</a></li>
96
+
97
+ </ul>
98
+ </div>
99
+
100
+
101
+ <div id="classindex-section" class="section project-section">
102
+ <h3 class="section-header">Class Index
103
+ <span class="search-toggle"><img src="../images/find.png"
104
+ height="16" width="16" alt="[+]"
105
+ title="show/hide quicksearch" /></span></h3>
106
+ <form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
107
+ <fieldset>
108
+ <legend>Quicksearch</legend>
109
+ <input type="text" name="quicksearch" value=""
110
+ class="quicksearch-field" />
111
+ </fieldset>
112
+ </form>
113
+
114
+ <ul class="link-list">
115
+
116
+ <li><a href="../MIDI.html">MIDI</a></li>
117
+
118
+ <li><a href="../MIDI/ActiveSense.html">MIDI::ActiveSense</a></li>
119
+
120
+ <li><a href="../MIDI/ChannelEvent.html">MIDI::ChannelEvent</a></li>
121
+
122
+ <li><a href="../MIDI/ChannelPressure.html">MIDI::ChannelPressure</a></li>
123
+
124
+ <li><a href="../MIDI/Clock.html">MIDI::Clock</a></li>
125
+
126
+ <li><a href="../MIDI/Continue.html">MIDI::Continue</a></li>
127
+
128
+ <li><a href="../MIDI/Controller.html">MIDI::Controller</a></li>
129
+
130
+ <li><a href="../MIDI/Event.html">MIDI::Event</a></li>
131
+
132
+ <li><a href="../MIDI/IO.html">MIDI::IO</a></li>
133
+
134
+ <li><a href="../MIDI/IO/MIDIFile.html">MIDI::IO::MIDIFile</a></li>
135
+
136
+ <li><a href="../MIDI/IO/SeqReader.html">MIDI::IO::SeqReader</a></li>
137
+
138
+ <li><a href="../MIDI/IO/SeqWriter.html">MIDI::IO::SeqWriter</a></li>
139
+
140
+ <li><a href="../MIDI/KeySig.html">MIDI::KeySig</a></li>
141
+
142
+ <li><a href="../MIDI/Marker.html">MIDI::Marker</a></li>
143
+
144
+ <li><a href="../MIDI/Measure.html">MIDI::Measure</a></li>
145
+
146
+ <li><a href="../MIDI/Measures.html">MIDI::Measures</a></li>
147
+
148
+ <li><a href="../MIDI/MetaEvent.html">MIDI::MetaEvent</a></li>
149
+
150
+ <li><a href="../MIDI/NoteEvent.html">MIDI::NoteEvent</a></li>
151
+
152
+ <li><a href="../MIDI/NoteOff.html">MIDI::NoteOff</a></li>
153
+
154
+ <li><a href="../MIDI/NoteOff.html">MIDI::NoteOff</a></li>
155
+
156
+ <li><a href="../MIDI/NoteOn.html">MIDI::NoteOn</a></li>
157
+
158
+ <li><a href="../MIDI/NoteOn.html">MIDI::NoteOn</a></li>
159
+
160
+ <li><a href="../MIDI/PitchBend.html">MIDI::PitchBend</a></li>
161
+
162
+ <li><a href="../MIDI/PolyPressure.html">MIDI::PolyPressure</a></li>
163
+
164
+ <li><a href="../MIDI/ProgramChange.html">MIDI::ProgramChange</a></li>
165
+
166
+ <li><a href="../MIDI/Realtime.html">MIDI::Realtime</a></li>
167
+
168
+ <li><a href="../MIDI/Sequence.html">MIDI::Sequence</a></li>
169
+
170
+ <li><a href="../MIDI/SongPointer.html">MIDI::SongPointer</a></li>
171
+
172
+ <li><a href="../MIDI/SongSelect.html">MIDI::SongSelect</a></li>
173
+
174
+ <li><a href="../MIDI/Start.html">MIDI::Start</a></li>
175
+
176
+ <li><a href="../MIDI/Stop.html">MIDI::Stop</a></li>
177
+
178
+ <li><a href="../MIDI/SystemCommon.html">MIDI::SystemCommon</a></li>
179
+
180
+ <li><a href="../MIDI/SystemExclusive.html">MIDI::SystemExclusive</a></li>
181
+
182
+ <li><a href="../MIDI/SystemReset.html">MIDI::SystemReset</a></li>
183
+
184
+ <li><a href="../MIDI/Tempo.html">MIDI::Tempo</a></li>
185
+
186
+ <li><a href="../MIDI/TimeSig.html">MIDI::TimeSig</a></li>
187
+
188
+ <li><a href="../MIDI/Track.html">MIDI::Track</a></li>
189
+
190
+ <li><a href="../MIDI/TuneRequest.html">MIDI::TuneRequest</a></li>
191
+
192
+ <li><a href="../MIDI/Utils.html">MIDI::Utils</a></li>
193
+
194
+ <li><a href="../Array.html">Array</a></li>
195
+
196
+ <li><a href="../IO.html">IO</a></li>
197
+
198
+ </ul>
199
+ <div id="no-class-search-results" style="display: none;">No matching classes.</div>
200
+ </div>
201
+
202
+
203
+ </div>
204
+ </div>
205
+
206
+ <div id="documentation">
207
+ <h1 class="class">MIDI::Measures</h1>
208
+
209
+ <div id="description">
210
+ <p>
211
+ A specialized container for <a href="Measure.html">MIDI::Measure</a>
212
+ objects, which can be use to map
213
  event times to measure numbers. Please
214
+ note that this object has to be remade
1
215
  when events are deleted/added in
216
+ the sequence.
217
+ </p>
218
+
219
+ </div>
220
+
221
+ <!-- Constants -->
222
+
223
+
224
+ <!-- Attributes -->
225
+
226
+ <div id="attribute-method-details" class="method-section section">
227
+ <h3 class="section-header">Attributes</h3>
228
+
229
+
230
+ <div id="max-time-attribute-method" class="method-detail">
231
+ <a name="max_time"></a>
232
+
233
+ <div class="method-heading attribute-method-heading">
234
+ <span class="method-name">max_time</span><span
235
+ class="attribute-access-type">[R]</span>
236
+ </div>
237
+
238
+ <div class="method-description">
239
+
240
+ <p>
241
+ The highest event time in the sequence (at the time when the
2
242
  object was
243
+ created)
244
+ </p>
245
+
246
+ </div>
247
+ </div>
248
+
249
+ <div id="ppqd-attribute-method" class="method-detail">
250
+ <a name="ppqd"></a>
251
+
252
+ <div class="method-heading attribute-method-heading">
253
+ <span class="method-name">ppqd</span><span
254
+ class="attribute-access-type">[R]</span>
255
+ </div>
256
+
257
+ <div class="method-description">
258
+
259
+ <p>
260
+ The ppqd from the sequence
261
+ </p>
262
+
263
+ </div>
264
+ </div>
265
+
266
+ </div>
267
+
268
+
269
+ <!-- Methods -->
270
+
271
+ <div id="public-class-method-details" class="method-section section">
272
+ <h3 class="section-header">Public Class Methods</h3>
273
+
274
+
275
+ <div id="new-method" class="method-detail ">
276
+ <a name="method-c-new"></a>
277
+
278
+ <div class="method-heading">
279
+
280
+ <span class="method-name">new</span><span
281
+ class="method-args">(max_time, ppqd)</span>
282
+ <span class="method-click-advice">click to toggle source</span>
283
+
284
+ </div>
285
+
286
+ <div class="method-description">
287
+
288
+ <p>
289
+ Constructor
290
+ </p>
291
+
292
+
293
+
294
+ <div class="method-source-code"
295
+ id="new-source">
296
+ <pre>
297
+ <span class="ruby-comment cmt"># File lib/midilib/measure.rb, line 57</span>
298
+ 57: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">max_time</span>, <span class="ruby-identifier">ppqd</span>)
299
+ 58: <span class="ruby-keyword kw">super</span>(<span class="ruby-value">0</span>)
300
+ 59: <span class="ruby-ivar">@max_time</span> = <span class="ruby-identifier">max_time</span>
301
+ 60: <span class="ruby-ivar">@ppqd</span> = <span class="ruby-identifier">ppqd</span>
302
+ 61: <span class="ruby-keyword kw">end</span></pre>
303
+ </div>
304
+
305
+ </div>
306
+
307
+
308
+
309
+
310
+ </div>
311
+
312
+
313
+ </div>
314
+
315
+ <div id="public-instance-method-details" class="method-section section">
316
+ <h3 class="section-header">Public Instance Methods</h3>
317
+
318
+
319
+ <div id="measure-for-event-method" class="method-detail ">
320
+ <a name="method-i-measure_for_event"></a>
321
+
322
+ <div class="method-heading">
323
+
324
+ <span class="method-name">measure_for_event</span><span
325
+ class="method-args">(e)</span>
326
+ <span class="method-click-advice">click to toggle source</span>
327
+
328
+ </div>
329
+
330
+ <div class="method-description">
331
+
332
+ <p>
333
+ Returns the <a href="Measure.html">MIDI::Measure</a> object where the event
334
+ is located.
3
335
  Returns <tt>nil</tt> if the event isn&#8217;t found in the
336
+ container (should
4
337
  never happen if the <a
338
+ href="Measures.html">MIDI::Measures</a> object is up to date).
339
+ </p>
340
+
341
+
342
+
343
+ <div class="method-source-code"
344
+ id="measure-for-event-source">
345
+ <pre>
346
+ <span class="ruby-comment cmt"># File lib/midilib/measure.rb, line 66</span>
347
+ 66: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">measure_for_event</span>(<span class="ruby-identifier">e</span>)
348
+ 67: <span class="ruby-identifier">detect</span> { <span class="ruby-operator">|</span> <span class="ruby-identifier">m</span> <span class="ruby-operator">|</span> <span class="ruby-identifier">m</span>.<span class="ruby-identifier">contains_event?</span>(<span class="ruby-identifier">e</span>) }
349
+ 68: <span class="ruby-keyword kw">end</span></pre>
350
+ </div>
351
+
352
+ </div>
353
+
354
+
355
+
356
+
357
+ </div>
358
+
359
+
360
+ <div id="to-mbt-method" class="method-detail ">
361
+ <a name="method-i-to_mbt"></a>
362
+
363
+ <div class="method-heading">
364
+
365
+ <span class="method-name">to_mbt</span><span
366
+ class="method-args">(e)</span>
367
+ <span class="method-click-advice">click to toggle source</span>
368
+
369
+ </div>
370
+
371
+ <div class="method-description">
372
+
373
+ <p>
374
+ Returns the event&#8217;s time as a formatted MBT string
375
+ (Measure:Beat:Ticks)
5
376
  as found in <a href="../MIDI.html">MIDI</a>
377
+ sequencers.
378
+ </p>
379
+
380
+
381
+
382
+ <div class="method-source-code"
383
+ id="to-mbt-source">
384
+ <pre>
385
+ <span class="ruby-comment cmt"># File lib/midilib/measure.rb, line 72</span>
386
+ 72: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_mbt</span>(<span class="ruby-identifier">e</span>)
387
+ 73: <span class="ruby-identifier">m</span> = <span class="ruby-identifier">measure_for_event</span>(<span class="ruby-identifier">e</span>)
388
+ 74: <span class="ruby-identifier">b</span> = (<span class="ruby-identifier">e</span>.<span class="ruby-identifier">time_from_start</span>.<span class="ruby-identifier">to_f</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">m</span>.<span class="ruby-identifier">start</span>.<span class="ruby-identifier">to_f</span>) <span class="ruby-operator">/</span> <span class="ruby-ivar">@ppqd</span>
389
+ 75: <span class="ruby-identifier">b</span> <span class="ruby-operator">*=</span> <span class="ruby-value">24</span> <span class="ruby-operator">/</span> <span class="ruby-identifier">m</span>.<span class="ruby-identifier">metronome_ticks</span>
390
+ 76: <span class="ruby-identifier">sprintf</span>(<span class="ruby-value str">&quot;%d:%02d:%03d&quot;</span>, <span class="ruby-identifier">m</span>.<span class="ruby-identifier">measure_number</span>, <span class="ruby-identifier">b</span>.<span class="ruby-identifier">to_i</span> <span class="ruby-operator">+</span> <span class="ruby-value">1</span>, (<span class="ruby-identifier">b</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">b</span>.<span class="ruby-identifier">to_i</span>) * <span class="ruby-ivar">@ppqd</span>)
391
+ 77: <span class="ruby-keyword kw">end</span></pre>
392
+ </div>
393
+
394
+ </div>
395
+
396
+
397
+
398
+
399
+ </div>
400
+
401
+
402
+ </div>
403
+
404
+
405
+ </div>
406
+
407
+
408
+ <div id="rdoc-debugging-section-dump" class="debugging-section">
409
+
410
+ <p>Disabled; run with --debug to generate this.</p>
411
+
412
+ </div>
413
+
414
+ <div id="validator-badges">
415
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
416
+ <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
417
+ Rdoc Generator</a> 1.1.6</small>.</p>
418
+ </div>
419
+
420
+ </body>
421
+ </html>
422
+
@@ -0,0 +1,617 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
3
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
4
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
5
+ <head>
6
+ <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
7
+
8
+ <title>Class: MIDI::MetaEvent</title>
9
+
10
+ <link rel="stylesheet" href="../rdoc.css" type="text/css" media="screen" />
11
+
12
+ <script src="../js/jquery.js" type="text/javascript"
13
+ charset="utf-8"></script>
14
+ <script src="../js/thickbox-compressed.js" type="text/javascript"
15
+ charset="utf-8"></script>
16
+ <script src="../js/quicksearch.js" type="text/javascript"
17
+ charset="utf-8"></script>
18
+ <script src="../js/darkfish.js" type="text/javascript"
19
+ charset="utf-8"></script>
20
+
21
+ </head>
22
+ <body class="class">
23
+
24
+ <div id="metadata">
25
+ <div id="home-metadata">
26
+ <div id="home-section" class="section">
27
+ <h3 class="section-header">
28
+ <a href="../index.html">Home</a>
29
+ <a href="../index.html#classes">Classes</a>
30
+ <a href="../index.html#methods">Methods</a>
31
+ </h3>
32
+ </div>
33
+ </div>
34
+
35
+ <div id="file-metadata">
36
+ <div id="file-list-section" class="section">
37
+ <h3 class="section-header">In Files</h3>
38
+ <div class="section-body">
39
+ <ul>
40
+
41
+ <li><a href="../lib/midilib/event_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
42
+ class="thickbox" title="lib/midilib/event.rb">lib/midilib/event.rb</a></li>
43
+
44
+ </ul>
45
+ </div>
46
+ </div>
47
+
48
+
49
+ </div>
50
+
51
+ <div id="class-metadata">
52
+
53
+ <!-- Parent Class -->
54
+
55
+ <div id="parent-class-section" class="section">
56
+ <h3 class="section-header">Parent</h3>
57
+
58
+ <p class="link"><a href="Event.html">MIDI::Event</a></p>
59
+
60
+ </div>
61
+
62
+
63
+ <!-- Namespace Contents -->
64
+
65
+
66
+ <!-- Method Quickref -->
67
+
68
+ <div id="method-list-section" class="section">
69
+ <h3 class="section-header">Methods</h3>
70
+ <ul class="link-list">
71
+
72
+ <li><a href="#method-c-bytes_as_str">::bytes_as_str</a></li>
73
+
74
+ <li><a href="#method-c-new">::new</a></li>
75
+
76
+ <li><a href="#method-c-str_as_bytes">::str_as_bytes</a></li>
77
+
78
+ <li><a href="#method-c-str_as_bytes">::str_as_bytes</a></li>
79
+
80
+ <li><a href="#method-i-data%3D">#data=</a></li>
81
+
82
+ <li><a href="#method-i-data_as_bytes">#data_as_bytes</a></li>
83
+
84
+ <li><a href="#method-i-data_as_str">#data_as_str</a></li>
85
+
86
+ <li><a href="#method-i-to_s">#to_s</a></li>
87
+
88
+ </ul>
89
+ </div>
90
+
91
+
92
+ <!-- Included Modules -->
93
+
94
+ </div>
95
+
96
+ <div id="project-metadata">
97
+
98
+
99
+ <div id="fileindex-section" class="section project-section">
100
+ <h3 class="section-header">Files</h3>
101
+ <ul>
102
+
103
+ <li class="file"><a href="../README_rdoc.html">README.rdoc</a></li>
104
+
105
+ <li class="file"><a href="../TODO_rdoc.html">TODO.rdoc</a></li>
106
+
107
+ </ul>
108
+ </div>
109
+
110
+
111
+ <div id="classindex-section" class="section project-section">
112
+ <h3 class="section-header">Class Index
113
+ <span class="search-toggle"><img src="../images/find.png"
114
+ height="16" width="16" alt="[+]"
115
+ title="show/hide quicksearch" /></span></h3>
116
+ <form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
117
+ <fieldset>
118
+ <legend>Quicksearch</legend>
119
+ <input type="text" name="quicksearch" value=""
120
+ class="quicksearch-field" />
121
+ </fieldset>
122
+ </form>
123
+
124
+ <ul class="link-list">
125
+
126
+ <li><a href="../MIDI.html">MIDI</a></li>
127
+
128
+ <li><a href="../MIDI/ActiveSense.html">MIDI::ActiveSense</a></li>
129
+
130
+ <li><a href="../MIDI/ChannelEvent.html">MIDI::ChannelEvent</a></li>
131
+
132
+ <li><a href="../MIDI/ChannelPressure.html">MIDI::ChannelPressure</a></li>
133
+
134
+ <li><a href="../MIDI/Clock.html">MIDI::Clock</a></li>
135
+
136
+ <li><a href="../MIDI/Continue.html">MIDI::Continue</a></li>
137
+
138
+ <li><a href="../MIDI/Controller.html">MIDI::Controller</a></li>
139
+
140
+ <li><a href="../MIDI/Event.html">MIDI::Event</a></li>
141
+
142
+ <li><a href="../MIDI/IO.html">MIDI::IO</a></li>
143
+
144
+ <li><a href="../MIDI/IO/MIDIFile.html">MIDI::IO::MIDIFile</a></li>
145
+
146
+ <li><a href="../MIDI/IO/SeqReader.html">MIDI::IO::SeqReader</a></li>
147
+
148
+ <li><a href="../MIDI/IO/SeqWriter.html">MIDI::IO::SeqWriter</a></li>
149
+
150
+ <li><a href="../MIDI/KeySig.html">MIDI::KeySig</a></li>
151
+
152
+ <li><a href="../MIDI/Marker.html">MIDI::Marker</a></li>
153
+
154
+ <li><a href="../MIDI/Measure.html">MIDI::Measure</a></li>
155
+
156
+ <li><a href="../MIDI/Measures.html">MIDI::Measures</a></li>
157
+
158
+ <li><a href="../MIDI/MetaEvent.html">MIDI::MetaEvent</a></li>
159
+
160
+ <li><a href="../MIDI/NoteEvent.html">MIDI::NoteEvent</a></li>
161
+
162
+ <li><a href="../MIDI/NoteOff.html">MIDI::NoteOff</a></li>
163
+
164
+ <li><a href="../MIDI/NoteOff.html">MIDI::NoteOff</a></li>
165
+
166
+ <li><a href="../MIDI/NoteOn.html">MIDI::NoteOn</a></li>
167
+
168
+ <li><a href="../MIDI/NoteOn.html">MIDI::NoteOn</a></li>
169
+
170
+ <li><a href="../MIDI/PitchBend.html">MIDI::PitchBend</a></li>
171
+
172
+ <li><a href="../MIDI/PolyPressure.html">MIDI::PolyPressure</a></li>
173
+
174
+ <li><a href="../MIDI/ProgramChange.html">MIDI::ProgramChange</a></li>
175
+
176
+ <li><a href="../MIDI/Realtime.html">MIDI::Realtime</a></li>
177
+
178
+ <li><a href="../MIDI/Sequence.html">MIDI::Sequence</a></li>
179
+
180
+ <li><a href="../MIDI/SongPointer.html">MIDI::SongPointer</a></li>
181
+
182
+ <li><a href="../MIDI/SongSelect.html">MIDI::SongSelect</a></li>
183
+
184
+ <li><a href="../MIDI/Start.html">MIDI::Start</a></li>
185
+
186
+ <li><a href="../MIDI/Stop.html">MIDI::Stop</a></li>
187
+
188
+ <li><a href="../MIDI/SystemCommon.html">MIDI::SystemCommon</a></li>
189
+
190
+ <li><a href="../MIDI/SystemExclusive.html">MIDI::SystemExclusive</a></li>
191
+
192
+ <li><a href="../MIDI/SystemReset.html">MIDI::SystemReset</a></li>
193
+
194
+ <li><a href="../MIDI/Tempo.html">MIDI::Tempo</a></li>
195
+
196
+ <li><a href="../MIDI/TimeSig.html">MIDI::TimeSig</a></li>
197
+
198
+ <li><a href="../MIDI/Track.html">MIDI::Track</a></li>
199
+
200
+ <li><a href="../MIDI/TuneRequest.html">MIDI::TuneRequest</a></li>
201
+
202
+ <li><a href="../MIDI/Utils.html">MIDI::Utils</a></li>
203
+
204
+ <li><a href="../Array.html">Array</a></li>
205
+
206
+ <li><a href="../IO.html">IO</a></li>
207
+
208
+ </ul>
209
+ <div id="no-class-search-results" style="display: none;">No matching classes.</div>
210
+ </div>
211
+
212
+
213
+ </div>
214
+ </div>
215
+
216
+ <div id="documentation">
217
+ <h1 class="class">MIDI::MetaEvent</h1>
218
+
219
+ <div id="description">
220
+
221
+ </div>
222
+
223
+ <!-- Constants -->
224
+
225
+
226
+ <!-- Attributes -->
227
+
228
+ <div id="attribute-method-details" class="method-section section">
229
+ <h3 class="section-header">Attributes</h3>
230
+
231
+
232
+ <div id="meta-type-attribute-method" class="method-detail">
233
+ <a name="meta_type"></a>
234
+
235
+ <div class="method-heading attribute-method-heading">
236
+ <span class="method-name">meta_type</span><span
237
+ class="attribute-access-type">[R]</span>
238
+ </div>
239
+
240
+ <div class="method-description">
241
+
242
+
243
+
244
+ </div>
245
+ </div>
246
+
247
+ <div id="data-attribute-method" class="method-detail">
248
+ <a name="data"></a>
249
+
250
+ <div class="method-heading attribute-method-heading">
251
+ <span class="method-name">data</span><span
252
+ class="attribute-access-type">[R]</span>
253
+ </div>
254
+
255
+ <div class="method-description">
256
+
257
+
258
+
259
+ </div>
260
+ </div>
261
+
262
+ </div>
263
+
264
+
265
+ <!-- Methods -->
266
+
267
+ <div id="public-class-method-details" class="method-section section">
268
+ <h3 class="section-header">Public Class Methods</h3>
269
+
270
+
271
+ <div id="bytes-as-str-method" class="method-detail ">
272
+ <a name="method-c-bytes_as_str"></a>
273
+
274
+ <div class="method-heading">
275
+
276
+ <span class="method-name">bytes_as_str</span><span
277
+ class="method-args">(bytes)</span>
278
+ <span class="method-click-advice">click to toggle source</span>
279
+
280
+ </div>
281
+
282
+ <div class="method-description">
283
+
284
+
285
+
286
+
287
+
288
+ <div class="method-source-code"
289
+ id="bytes-as-str-source">
290
+ <pre>
291
+ <span class="ruby-comment cmt"># File lib/midilib/event.rb, line 415</span>
292
+ 415: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">bytes_as_str</span>(<span class="ruby-identifier">bytes</span>)
293
+ 416: <span class="ruby-identifier">bytes</span> <span class="ruby-operator">?</span> <span class="ruby-identifier">bytes</span>.<span class="ruby-identifier">collect</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">byte</span><span class="ruby-operator">|</span> <span class="ruby-identifier">byte</span>.<span class="ruby-identifier">chr</span> }.<span class="ruby-identifier">join</span> <span class="ruby-operator">:</span> <span class="ruby-keyword kw">nil</span>
294
+ 417: <span class="ruby-keyword kw">end</span></pre>
295
+ </div>
296
+
297
+ </div>
298
+
299
+
300
+
301
+
302
+ </div>
303
+
304
+
305
+ <div id="new-method" class="method-detail ">
306
+ <a name="method-c-new"></a>
307
+
308
+ <div class="method-heading">
309
+
310
+ <span class="method-name">new</span><span
311
+ class="method-args">(meta_type, data = nil, delta_time = 0)</span>
312
+ <span class="method-click-advice">click to toggle source</span>
313
+
314
+ </div>
315
+
316
+ <div class="method-description">
317
+
318
+
319
+
320
+
321
+
322
+ <div class="method-source-code"
323
+ id="new-source">
324
+ <pre>
325
+ <span class="ruby-comment cmt"># File lib/midilib/event.rb, line 429</span>
326
+ 429: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">meta_type</span>, <span class="ruby-identifier">data</span> = <span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">delta_time</span> = <span class="ruby-value">0</span>)
327
+ 430: <span class="ruby-keyword kw">super</span>(<span class="ruby-constant">META_EVENT</span>, <span class="ruby-identifier">delta_time</span>)
328
+ 431: <span class="ruby-ivar">@meta_type</span> = <span class="ruby-identifier">meta_type</span>
329
+ 432: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">data</span>=(<span class="ruby-identifier">data</span>)
330
+ 433: <span class="ruby-keyword kw">end</span></pre>
331
+ </div>
332
+
333
+ </div>
334
+
335
+
336
+
337
+
338
+ </div>
339
+
340
+
341
+ <div id="str-as-bytes-method" class="method-detail ">
342
+ <a name="method-c-str_as_bytes"></a>
343
+
344
+ <div class="method-heading">
345
+
346
+ <span class="method-name">str_as_bytes</span><span
347
+ class="method-args">(str)</span>
348
+ <span class="method-click-advice">click to toggle source</span>
349
+
350
+ </div>
351
+
352
+ <div class="method-description">
353
+
354
+
355
+
356
+
357
+
358
+ <div class="method-source-code"
359
+ id="str-as-bytes-source">
360
+ <pre>
361
+ <span class="ruby-comment cmt"># File lib/midilib/event.rb, line 420</span>
362
+ 420: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">str_as_bytes</span>(<span class="ruby-identifier">str</span>)
363
+ 421: <span class="ruby-identifier">str</span>.<span class="ruby-identifier">split</span>(<span class="ruby-regexp re">//</span>).<span class="ruby-identifier">collect</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">chr</span><span class="ruby-operator">|</span> <span class="ruby-identifier">chr</span>.<span class="ruby-identifier">ord</span> }
364
+ 422: <span class="ruby-keyword kw">end</span></pre>
365
+ </div>
366
+
367
+ </div>
368
+
369
+
370
+
371
+
372
+ </div>
373
+
374
+
375
+ <div id="str-as-bytes-method" class="method-detail ">
376
+ <a name="method-c-str_as_bytes"></a>
377
+
378
+ <div class="method-heading">
379
+
380
+ <span class="method-name">str_as_bytes</span><span
381
+ class="method-args">(str)</span>
382
+ <span class="method-click-advice">click to toggle source</span>
383
+
384
+ </div>
385
+
386
+ <div class="method-description">
387
+
388
+
389
+
390
+
391
+
392
+ <div class="method-source-code"
393
+ id="str-as-bytes-source">
394
+ <pre>
395
+ <span class="ruby-comment cmt"># File lib/midilib/event.rb, line 424</span>
396
+ 424: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">str_as_bytes</span>(<span class="ruby-identifier">str</span>)
397
+ 425: <span class="ruby-identifier">str</span>.<span class="ruby-identifier">split</span>(<span class="ruby-regexp re">//</span>).<span class="ruby-identifier">collect</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">chr</span><span class="ruby-operator">|</span> <span class="ruby-identifier">chr</span>[<span class="ruby-value">0</span>] }
398
+ 426: <span class="ruby-keyword kw">end</span></pre>
399
+ </div>
400
+
401
+ </div>
402
+
403
+
404
+
405
+
406
+ </div>
407
+
408
+
409
+ </div>
410
+
411
+ <div id="public-instance-method-details" class="method-section section">
412
+ <h3 class="section-header">Public Instance Methods</h3>
413
+
414
+
415
+ <div id="data--method" class="method-detail ">
416
+ <a name="method-i-data%3D"></a>
417
+
418
+ <div class="method-heading">
419
+
420
+ <span class="method-name">data=</span><span
421
+ class="method-args">(data)</span>
422
+ <span class="method-click-advice">click to toggle source</span>
423
+
424
+ </div>
425
+
426
+ <div class="method-description">
427
+
428
+ <p>
429
+ Stores bytes. If data is a string, splits it into an array of bytes.
430
+ </p>
431
+
432
+
433
+
434
+ <div class="method-source-code"
435
+ id="data--source">
436
+ <pre>
437
+ <span class="ruby-comment cmt"># File lib/midilib/event.rb, line 449</span>
438
+ 449: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">data=</span>(<span class="ruby-identifier">data</span>)
439
+ 450: <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">data</span>
440
+ 451: <span class="ruby-keyword kw">when</span> <span class="ruby-constant">String</span>
441
+ 452: <span class="ruby-ivar">@data</span> = <span class="ruby-constant">MetaEvent</span>.<span class="ruby-identifier">str_as_bytes</span>(<span class="ruby-identifier">data</span>)
442
+ 453: <span class="ruby-keyword kw">else</span>
443
+ 454: <span class="ruby-ivar">@data</span> = <span class="ruby-identifier">data</span>
444
+ 455: <span class="ruby-keyword kw">end</span>
445
+ 456: <span class="ruby-keyword kw">end</span></pre>
446
+ </div>
447
+
448
+ </div>
449
+
450
+
451
+
452
+
453
+ </div>
454
+
455
+
456
+ <div id="data-as-bytes-method" class="method-detail ">
457
+ <a name="method-i-data_as_bytes"></a>
458
+
459
+ <div class="method-heading">
460
+
461
+ <span class="method-name">data_as_bytes</span><span
462
+ class="method-args">()</span>
463
+ <span class="method-click-advice">click to toggle source</span>
464
+
465
+ </div>
466
+
467
+ <div class="method-description">
468
+
469
+
470
+
471
+
472
+
473
+ <div class="method-source-code"
474
+ id="data-as-bytes-source">
475
+ <pre>
476
+ <span class="ruby-comment cmt"># File lib/midilib/event.rb, line 435</span>
477
+ 435: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">data_as_bytes</span>
478
+ 436: <span class="ruby-identifier">data</span> = []
479
+ 437: <span class="ruby-identifier">data</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-ivar">@status</span>
480
+ 438: <span class="ruby-identifier">data</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-ivar">@meta_type</span>
481
+ 439: <span class="ruby-identifier">data</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-ivar">@data</span> <span class="ruby-operator">?</span> <span class="ruby-constant">Utils</span>.<span class="ruby-identifier">as_var_len</span>(<span class="ruby-ivar">@data</span>.<span class="ruby-identifier">length</span>) <span class="ruby-operator">:</span> <span class="ruby-value">0</span>)
482
+ 440: <span class="ruby-identifier">data</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-ivar">@data</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@data</span>
483
+ 441: <span class="ruby-identifier">data</span>.<span class="ruby-identifier">flatten</span>
484
+ 442: <span class="ruby-keyword kw">end</span></pre>
485
+ </div>
486
+
487
+ </div>
488
+
489
+
490
+
491
+
492
+ </div>
493
+
494
+
495
+ <div id="data-as-str-method" class="method-detail ">
496
+ <a name="method-i-data_as_str"></a>
497
+
498
+ <div class="method-heading">
499
+
500
+ <span class="method-name">data_as_str</span><span
501
+ class="method-args">()</span>
502
+ <span class="method-click-advice">click to toggle source</span>
503
+
504
+ </div>
505
+
506
+ <div class="method-description">
507
+
508
+
509
+
510
+
511
+
512
+ <div class="method-source-code"
513
+ id="data-as-str-source">
514
+ <pre>
515
+ <span class="ruby-comment cmt"># File lib/midilib/event.rb, line 444</span>
516
+ 444: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">data_as_str</span>
517
+ 445: <span class="ruby-constant">MetaEvent</span>.<span class="ruby-identifier">bytes_as_str</span>(<span class="ruby-ivar">@data</span>)
518
+ 446: <span class="ruby-keyword kw">end</span></pre>
519
+ </div>
520
+
521
+ </div>
522
+
523
+
524
+
525
+
526
+ </div>
527
+
528
+
529
+ <div id="to-s-method" class="method-detail ">
530
+ <a name="method-i-to_s"></a>
531
+
532
+ <div class="method-heading">
533
+
534
+ <span class="method-name">to_s</span><span
535
+ class="method-args">()</span>
536
+ <span class="method-click-advice">click to toggle source</span>
537
+
538
+ </div>
539
+
540
+ <div class="method-description">
541
+
542
+
543
+
544
+
545
+
546
+ <div class="method-source-code"
547
+ id="to-s-source">
548
+ <pre>
549
+ <span class="ruby-comment cmt"># File lib/midilib/event.rb, line 458</span>
550
+ 458: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_s</span>
551
+ 459: <span class="ruby-identifier">str</span> = <span class="ruby-keyword kw">super</span>()
552
+ 460: <span class="ruby-identifier">str</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot;meta #{number_to_s(@meta_type)} &quot;</span>
553
+ 461: <span class="ruby-comment cmt"># I know, I know...this isn't OO.</span>
554
+ 462: <span class="ruby-keyword kw">case</span> <span class="ruby-ivar">@meta_type</span>
555
+ 463: <span class="ruby-keyword kw">when</span> <span class="ruby-constant">META_SEQ_NUM</span>
556
+ 464: <span class="ruby-identifier">str</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot;sequence number&quot;</span>
557
+ 465: <span class="ruby-keyword kw">when</span> <span class="ruby-constant">META_TEXT</span>
558
+ 466: <span class="ruby-identifier">str</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot;text: #{data_as_str}&quot;</span>
559
+ 467: <span class="ruby-keyword kw">when</span> <span class="ruby-constant">META_COPYRIGHT</span>
560
+ 468: <span class="ruby-identifier">str</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot;copyright: #{data_as_str}&quot;</span>
561
+ 469: <span class="ruby-keyword kw">when</span> <span class="ruby-constant">META_SEQ_NAME</span>
562
+ 470: <span class="ruby-identifier">str</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot;sequence or track name: #{data_as_str}&quot;</span>
563
+ 471: <span class="ruby-keyword kw">when</span> <span class="ruby-constant">META_INSTRUMENT</span>
564
+ 472: <span class="ruby-identifier">str</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot;instrument name: #{data_as_str}&quot;</span>
565
+ 473: <span class="ruby-keyword kw">when</span> <span class="ruby-constant">META_LYRIC</span>
566
+ 474: <span class="ruby-identifier">str</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot;lyric: #{data_as_str}&quot;</span>
567
+ 475: <span class="ruby-keyword kw">when</span> <span class="ruby-constant">META_MARKER</span>
568
+ 476: <span class="ruby-identifier">str</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot;marker: #{data_as_str}&quot;</span>
569
+ 477: <span class="ruby-keyword kw">when</span> <span class="ruby-constant">META_CUE</span>
570
+ 478: <span class="ruby-identifier">str</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot;cue point: #{@data}&quot;</span>
571
+ 479: <span class="ruby-keyword kw">when</span> <span class="ruby-constant">META_TRACK_END</span>
572
+ 480: <span class="ruby-identifier">str</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot;track end&quot;</span>
573
+ 481: <span class="ruby-keyword kw">when</span> <span class="ruby-constant">META_SMPTE</span>
574
+ 482: <span class="ruby-identifier">str</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot;smpte&quot;</span>
575
+ 483: <span class="ruby-keyword kw">when</span> <span class="ruby-constant">META_TIME_SIG</span>
576
+ 484: <span class="ruby-identifier">str</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot;time signature&quot;</span>
577
+ 485: <span class="ruby-keyword kw">when</span> <span class="ruby-constant">META_KEY_SIG</span>
578
+ 486: <span class="ruby-identifier">str</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot;key signature&quot;</span>
579
+ 487: <span class="ruby-keyword kw">when</span> <span class="ruby-constant">META_SEQ_SPECIF</span>
580
+ 488: <span class="ruby-identifier">str</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot;sequence specific&quot;</span>
581
+ 489: <span class="ruby-keyword kw">else</span>
582
+ 490: <span class="ruby-comment cmt"># Some other possible @meta_type values are handled by subclasses.</span>
583
+ 491: <span class="ruby-identifier">str</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot;(other)&quot;</span>
584
+ 492: <span class="ruby-keyword kw">end</span>
585
+ 493: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">str</span>
586
+ 494: <span class="ruby-keyword kw">end</span></pre>
587
+ </div>
588
+
589
+ </div>
590
+
591
+
592
+
593
+
594
+ </div>
595
+
596
+
597
+ </div>
598
+
599
+
600
+ </div>
601
+
602
+
603
+ <div id="rdoc-debugging-section-dump" class="debugging-section">
604
+
605
+ <p>Disabled; run with --debug to generate this.</p>
606
+
607
+ </div>
608
+
609
+ <div id="validator-badges">
610
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
611
+ <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
612
+ Rdoc Generator</a> 1.1.6</small>.</p>
613
+ </div>
614
+
615
+ </body>
616
+ </html>
617
+