midilib 0.8.4
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.
- data/ChangeLog +87 -0
- data/Credits +8 -0
- data/README +361 -0
- data/Rakefile +68 -0
- data/TODO +25 -0
- data/examples/NoFences.mid +0 -0
- data/examples/from_scratch.mid +0 -0
- data/examples/from_scratch.rb +56 -0
- data/examples/reader2text.rb +220 -0
- data/examples/seq2text.rb +41 -0
- data/examples/strings.rb +34 -0
- data/examples/transpose.rb +75 -0
- data/html/classes/MIDI.html +738 -0
- data/html/classes/MIDI/ActiveSense.html +156 -0
- data/html/classes/MIDI/ActiveSense.src/M000136.html +18 -0
- data/html/classes/MIDI/ActiveSense.src/M000137.html +18 -0
- data/html/classes/MIDI/ChannelEvent.html +179 -0
- data/html/classes/MIDI/ChannelEvent.src/M000124.html +20 -0
- data/html/classes/MIDI/ChannelEvent.src/M000125.html +18 -0
- data/html/classes/MIDI/ChannelPressure.html +184 -0
- data/html/classes/MIDI/ChannelPressure.src/M000088.html +19 -0
- data/html/classes/MIDI/ChannelPressure.src/M000089.html +21 -0
- data/html/classes/MIDI/ChannelPressure.src/M000090.html +18 -0
- data/html/classes/MIDI/Clock.html +156 -0
- data/html/classes/MIDI/Clock.src/M000134.html +18 -0
- data/html/classes/MIDI/Clock.src/M000135.html +18 -0
- data/html/classes/MIDI/Continue.html +156 -0
- data/html/classes/MIDI/Continue.src/M000132.html +18 -0
- data/html/classes/MIDI/Continue.src/M000133.html +18 -0
- data/html/classes/MIDI/Controller.html +189 -0
- data/html/classes/MIDI/Controller.src/M000129.html +21 -0
- data/html/classes/MIDI/Controller.src/M000130.html +22 -0
- data/html/classes/MIDI/Controller.src/M000131.html +18 -0
- data/html/classes/MIDI/Event.html +424 -0
- data/html/classes/MIDI/Event.src/M000145.html +27 -0
- data/html/classes/MIDI/Event.src/M000146.html +18 -0
- data/html/classes/MIDI/Event.src/M000147.html +18 -0
- data/html/classes/MIDI/Event.src/M000148.html +18 -0
- data/html/classes/MIDI/Event.src/M000149.html +18 -0
- data/html/classes/MIDI/Event.src/M000150.html +18 -0
- data/html/classes/MIDI/Event.src/M000151.html +18 -0
- data/html/classes/MIDI/Event.src/M000152.html +18 -0
- data/html/classes/MIDI/Event.src/M000153.html +18 -0
- data/html/classes/MIDI/Event.src/M000154.html +22 -0
- data/html/classes/MIDI/Event.src/M000155.html +18 -0
- data/html/classes/MIDI/Event.src/M000156.html +18 -0
- data/html/classes/MIDI/Event.src/M000157.html +18 -0
- data/html/classes/MIDI/IO.html +121 -0
- data/html/classes/MIDI/IO/MIDIFile.html +925 -0
- data/html/classes/MIDI/IO/MIDIFile.src/M000028.html +22 -0
- data/html/classes/MIDI/IO/MIDIFile.src/M000029.html +24 -0
- data/html/classes/MIDI/IO/MIDIFile.src/M000030.html +19 -0
- data/html/classes/MIDI/IO/MIDIFile.src/M000031.html +19 -0
- data/html/classes/MIDI/IO/MIDIFile.src/M000032.html +17 -0
- data/html/classes/MIDI/IO/MIDIFile.src/M000033.html +17 -0
- data/html/classes/MIDI/IO/MIDIFile.src/M000034.html +17 -0
- data/html/classes/MIDI/IO/MIDIFile.src/M000035.html +17 -0
- data/html/classes/MIDI/IO/MIDIFile.src/M000036.html +17 -0
- data/html/classes/MIDI/IO/MIDIFile.src/M000037.html +17 -0
- data/html/classes/MIDI/IO/MIDIFile.src/M000038.html +17 -0
- data/html/classes/MIDI/IO/MIDIFile.src/M000039.html +17 -0
- data/html/classes/MIDI/IO/MIDIFile.src/M000040.html +17 -0
- data/html/classes/MIDI/IO/MIDIFile.src/M000041.html +17 -0
- data/html/classes/MIDI/IO/MIDIFile.src/M000042.html +17 -0
- data/html/classes/MIDI/IO/MIDIFile.src/M000043.html +17 -0
- data/html/classes/MIDI/IO/MIDIFile.src/M000044.html +17 -0
- data/html/classes/MIDI/IO/MIDIFile.src/M000045.html +17 -0
- data/html/classes/MIDI/IO/MIDIFile.src/M000046.html +17 -0
- data/html/classes/MIDI/IO/MIDIFile.src/M000047.html +17 -0
- data/html/classes/MIDI/IO/MIDIFile.src/M000048.html +17 -0
- data/html/classes/MIDI/IO/MIDIFile.src/M000049.html +17 -0
- data/html/classes/MIDI/IO/MIDIFile.src/M000050.html +17 -0
- data/html/classes/MIDI/IO/MIDIFile.src/M000051.html +17 -0
- data/html/classes/MIDI/IO/MIDIFile.src/M000052.html +17 -0
- data/html/classes/MIDI/IO/MIDIFile.src/M000053.html +43 -0
- data/html/classes/MIDI/IO/MIDIFile.src/M000054.html +34 -0
- data/html/classes/MIDI/IO/MIDIFile.src/M000055.html +96 -0
- data/html/classes/MIDI/IO/MIDIFile.src/M000056.html +18 -0
- data/html/classes/MIDI/IO/MIDIFile.src/M000057.html +48 -0
- data/html/classes/MIDI/IO/MIDIFile.src/M000058.html +42 -0
- data/html/classes/MIDI/IO/MIDIFile.src/M000059.html +19 -0
- data/html/classes/MIDI/IO/MIDIFile.src/M000060.html +19 -0
- data/html/classes/MIDI/IO/MIDIFile.src/M000061.html +20 -0
- data/html/classes/MIDI/IO/MIDIFile.src/M000062.html +21 -0
- data/html/classes/MIDI/IO/MIDIFile.src/M000063.html +31 -0
- data/html/classes/MIDI/IO/MIDIFile.src/M000064.html +20 -0
- data/html/classes/MIDI/IO/MIDIFile.src/M000065.html +22 -0
- data/html/classes/MIDI/IO/MIDIFile.src/M000066.html +30 -0
- data/html/classes/MIDI/IO/MIDIFile.src/M000067.html +18 -0
- data/html/classes/MIDI/IO/MIDIFile.src/M000068.html +20 -0
- data/html/classes/MIDI/IO/MIDIFile.src/M000069.html +18 -0
- data/html/classes/MIDI/IO/MIDIFile.src/M000070.html +18 -0
- data/html/classes/MIDI/IO/SeqReader.html +460 -0
- data/html/classes/MIDI/IO/SeqReader.src/M000001.html +22 -0
- data/html/classes/MIDI/IO/SeqReader.src/M000002.html +22 -0
- data/html/classes/MIDI/IO/SeqReader.src/M000003.html +21 -0
- data/html/classes/MIDI/IO/SeqReader.src/M000004.html +34 -0
- data/html/classes/MIDI/IO/SeqReader.src/M000005.html +26 -0
- data/html/classes/MIDI/IO/SeqReader.src/M000006.html +28 -0
- data/html/classes/MIDI/IO/SeqReader.src/M000007.html +21 -0
- data/html/classes/MIDI/IO/SeqReader.src/M000008.html +19 -0
- data/html/classes/MIDI/IO/SeqReader.src/M000009.html +19 -0
- data/html/classes/MIDI/IO/SeqReader.src/M000010.html +19 -0
- data/html/classes/MIDI/IO/SeqReader.src/M000011.html +19 -0
- data/html/classes/MIDI/IO/SeqReader.src/M000012.html +19 -0
- data/html/classes/MIDI/IO/SeqReader.src/M000013.html +18 -0
- data/html/classes/MIDI/IO/SeqReader.src/M000014.html +18 -0
- data/html/classes/MIDI/IO/SeqReader.src/M000015.html +27 -0
- data/html/classes/MIDI/IO/SeqReader.src/M000016.html +18 -0
- data/html/classes/MIDI/IO/SeqReader.src/M000017.html +18 -0
- data/html/classes/MIDI/IO/SeqReader.src/M000018.html +18 -0
- data/html/classes/MIDI/IO/SeqWriter.html +267 -0
- data/html/classes/MIDI/IO/SeqWriter.src/M000019.html +19 -0
- data/html/classes/MIDI/IO/SeqWriter.src/M000020.html +25 -0
- data/html/classes/MIDI/IO/SeqWriter.src/M000021.html +22 -0
- data/html/classes/MIDI/IO/SeqWriter.src/M000022.html +54 -0
- data/html/classes/MIDI/IO/SeqWriter.src/M000023.html +49 -0
- data/html/classes/MIDI/IO/SeqWriter.src/M000024.html +21 -0
- data/html/classes/MIDI/IO/SeqWriter.src/M000025.html +19 -0
- data/html/classes/MIDI/IO/SeqWriter.src/M000026.html +24 -0
- data/html/classes/MIDI/IO/SeqWriter.src/M000027.html +26 -0
- data/html/classes/MIDI/Marker.html +139 -0
- data/html/classes/MIDI/Marker.src/M000107.html +18 -0
- data/html/classes/MIDI/MetaEvent.html +189 -0
- data/html/classes/MIDI/MetaEvent.src/M000167.html +21 -0
- data/html/classes/MIDI/MetaEvent.src/M000168.html +23 -0
- data/html/classes/MIDI/MetaEvent.src/M000169.html +53 -0
- data/html/classes/MIDI/NoteEvent.html +233 -0
- data/html/classes/MIDI/NoteEvent.src/M000091.html +21 -0
- data/html/classes/MIDI/NoteEvent.src/M000092.html +20 -0
- data/html/classes/MIDI/NoteEvent.src/M000093.html +18 -0
- data/html/classes/MIDI/NoteEvent.src/M000094.html +22 -0
- data/html/classes/MIDI/NoteOffEvent.html +169 -0
- data/html/classes/MIDI/NoteOffEvent.src/M000086.html +19 -0
- data/html/classes/MIDI/NoteOffEvent.src/M000087.html +19 -0
- data/html/classes/MIDI/NoteOnEvent.html +169 -0
- data/html/classes/MIDI/NoteOnEvent.src/M000102.html +19 -0
- data/html/classes/MIDI/NoteOnEvent.src/M000103.html +19 -0
- data/html/classes/MIDI/PitchBend.html +184 -0
- data/html/classes/MIDI/PitchBend.src/M000104.html +19 -0
- data/html/classes/MIDI/PitchBend.src/M000105.html +22 -0
- data/html/classes/MIDI/PitchBend.src/M000106.html +18 -0
- data/html/classes/MIDI/PolyPressure.html +186 -0
- data/html/classes/MIDI/PolyPressure.src/M000170.html +18 -0
- data/html/classes/MIDI/PolyPressure.src/M000171.html +18 -0
- data/html/classes/MIDI/PolyPressure.src/M000172.html +18 -0
- data/html/classes/MIDI/PolyPressure.src/M000173.html +19 -0
- data/html/classes/MIDI/ProgramChange.html +184 -0
- data/html/classes/MIDI/ProgramChange.src/M000099.html +19 -0
- data/html/classes/MIDI/ProgramChange.src/M000100.html +21 -0
- data/html/classes/MIDI/ProgramChange.src/M000101.html +18 -0
- data/html/classes/MIDI/Realtime.html +171 -0
- data/html/classes/MIDI/Realtime.src/M000083.html +19 -0
- data/html/classes/MIDI/Realtime.src/M000084.html +20 -0
- data/html/classes/MIDI/Realtime.src/M000085.html +18 -0
- data/html/classes/MIDI/Sequence.html +469 -0
- data/html/classes/MIDI/Sequence.src/M000108.html +28 -0
- data/html/classes/MIDI/Sequence.src/M000109.html +21 -0
- data/html/classes/MIDI/Sequence.src/M000110.html +22 -0
- data/html/classes/MIDI/Sequence.src/M000113.html +18 -0
- data/html/classes/MIDI/Sequence.src/M000114.html +27 -0
- data/html/classes/MIDI/Sequence.src/M000115.html +18 -0
- data/html/classes/MIDI/Sequence.src/M000116.html +19 -0
- data/html/classes/MIDI/Sequence.src/M000117.html +19 -0
- data/html/classes/MIDI/Sequence.src/M000118.html +20 -0
- data/html/classes/MIDI/Sequence.src/M000119.html +19 -0
- data/html/classes/MIDI/Sequence.src/M000120.html +18 -0
- data/html/classes/MIDI/SongPointer.html +184 -0
- data/html/classes/MIDI/SongPointer.src/M000138.html +19 -0
- data/html/classes/MIDI/SongPointer.src/M000139.html +22 -0
- data/html/classes/MIDI/SongPointer.src/M000140.html +18 -0
- data/html/classes/MIDI/SongSelect.html +184 -0
- data/html/classes/MIDI/SongSelect.src/M000126.html +19 -0
- data/html/classes/MIDI/SongSelect.src/M000127.html +21 -0
- data/html/classes/MIDI/SongSelect.src/M000128.html +18 -0
- data/html/classes/MIDI/Start.html +156 -0
- data/html/classes/MIDI/Start.src/M000097.html +18 -0
- data/html/classes/MIDI/Start.src/M000098.html +18 -0
- data/html/classes/MIDI/Stop.html +156 -0
- data/html/classes/MIDI/Stop.src/M000095.html +18 -0
- data/html/classes/MIDI/Stop.src/M000096.html +18 -0
- data/html/classes/MIDI/SystemCommon.html +139 -0
- data/html/classes/MIDI/SystemCommon.src/M000144.html +19 -0
- data/html/classes/MIDI/SystemExclusive.html +184 -0
- data/html/classes/MIDI/SystemExclusive.src/M000141.html +19 -0
- data/html/classes/MIDI/SystemExclusive.src/M000142.html +23 -0
- data/html/classes/MIDI/SystemExclusive.src/M000143.html +18 -0
- data/html/classes/MIDI/SystemReset.html +156 -0
- data/html/classes/MIDI/SystemReset.src/M000081.html +18 -0
- data/html/classes/MIDI/SystemReset.src/M000082.html +18 -0
- data/html/classes/MIDI/Tempo.html +250 -0
- data/html/classes/MIDI/Tempo.src/M000158.html +18 -0
- data/html/classes/MIDI/Tempo.src/M000159.html +18 -0
- data/html/classes/MIDI/Tempo.src/M000160.html +18 -0
- data/html/classes/MIDI/Tempo.src/M000161.html +18 -0
- data/html/classes/MIDI/Tempo.src/M000162.html +18 -0
- data/html/classes/MIDI/Tempo.src/M000163.html +25 -0
- data/html/classes/MIDI/Tempo.src/M000164.html +18 -0
- data/html/classes/MIDI/Track.html +380 -0
- data/html/classes/MIDI/Track.src/M000071.html +23 -0
- data/html/classes/MIDI/Track.src/M000072.html +21 -0
- data/html/classes/MIDI/Track.src/M000073.html +26 -0
- data/html/classes/MIDI/Track.src/M000074.html +18 -0
- data/html/classes/MIDI/Track.src/M000075.html +22 -0
- data/html/classes/MIDI/Track.src/M000076.html +20 -0
- data/html/classes/MIDI/Track.src/M000077.html +22 -0
- data/html/classes/MIDI/Track.src/M000078.html +22 -0
- data/html/classes/MIDI/Track.src/M000079.html +18 -0
- data/html/classes/MIDI/Track.src/M000080.html +19 -0
- data/html/classes/MIDI/TuneRequest.html +171 -0
- data/html/classes/MIDI/TuneRequest.src/M000121.html +18 -0
- data/html/classes/MIDI/TuneRequest.src/M000122.html +20 -0
- data/html/classes/MIDI/TuneRequest.src/M000123.html +18 -0
- data/html/classes/MIDI/Utils.html +190 -0
- data/html/classes/MIDI/Utils.src/M000165.html +20 -0
- data/html/classes/MIDI/Utils.src/M000166.html +25 -0
- data/html/created.rid +1 -0
- data/html/files/README.html +599 -0
- data/html/files/TODO.html +142 -0
- data/html/files/lib/midilib/consts_rb.html +107 -0
- data/html/files/lib/midilib/event_rb.html +109 -0
- data/html/files/lib/midilib/info_rb.html +101 -0
- data/html/files/lib/midilib/io/midifile_rb.html +108 -0
- data/html/files/lib/midilib/io/seqreader_rb.html +110 -0
- data/html/files/lib/midilib/io/seqwriter_rb.html +115 -0
- data/html/files/lib/midilib/sequence_rb.html +109 -0
- data/html/files/lib/midilib/track_rb.html +108 -0
- data/html/files/lib/midilib/utils_rb.html +101 -0
- data/html/files/lib/midilib_rb.html +124 -0
- data/html/fr_class_index.html +59 -0
- data/html/fr_file_index.html +38 -0
- data/html/fr_method_index.html +199 -0
- data/html/index.html +24 -0
- data/html/rdoc-style.css +208 -0
- data/install.rb +57 -0
- data/lib/midilib.rb +16 -0
- data/lib/midilib/consts.rb +422 -0
- data/lib/midilib/event.rb +559 -0
- data/lib/midilib/info.rb +9 -0
- data/lib/midilib/io/midifile.rb +446 -0
- data/lib/midilib/io/seqreader.rb +198 -0
- data/lib/midilib/io/seqwriter.rb +151 -0
- data/lib/midilib/sequence.rb +144 -0
- data/lib/midilib/track.rb +115 -0
- data/lib/midilib/utils.rb +36 -0
- data/test/event_equality.rb +81 -0
- data/test/test_event.rb +116 -0
- data/test/test_io.rb +55 -0
- data/test/test_sequence.rb +68 -0
- data/test/test_track.rb +111 -0
- data/test/test_varlen.rb +40 -0
- metadata +330 -0
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="iso-8859-1"?>
|
|
2
|
+
<!DOCTYPE html
|
|
3
|
+
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
|
4
|
+
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
5
|
+
|
|
6
|
+
<html>
|
|
7
|
+
<head>
|
|
8
|
+
<title>write16 (MIDI::IO::MIDIFile)</title>
|
|
9
|
+
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
|
10
|
+
<link rel="stylesheet" href="../../../.././rdoc-style.css" type="text/css" media="screen" />
|
|
11
|
+
</head>
|
|
12
|
+
<body class="standalone-code">
|
|
13
|
+
<pre><span class="ruby-comment cmt"># File lib/midilib/io/midifile.rb, line 388</span>
|
|
14
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">write16</span>(<span class="ruby-identifier">val</span>)
|
|
15
|
+
<span class="ruby-identifier">val</span> = (<span class="ruby-operator">-</span><span class="ruby-identifier">val</span>) <span class="ruby-operator">|</span> <span class="ruby-value">0x8000</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">val</span> <span class="ruby-operator"><</span> <span class="ruby-value">0</span>
|
|
16
|
+
<span class="ruby-identifier">putc</span>((<span class="ruby-identifier">val</span> <span class="ruby-operator">>></span> <span class="ruby-value">8</span>) <span class="ruby-operator">&</span> <span class="ruby-value">0xff</span>)
|
|
17
|
+
<span class="ruby-identifier">putc</span>(<span class="ruby-identifier">val</span> <span class="ruby-operator">&</span> <span class="ruby-value">0xff</span>)
|
|
18
|
+
<span class="ruby-keyword kw">end</span></pre>
|
|
19
|
+
</body>
|
|
20
|
+
</html>
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="iso-8859-1"?>
|
|
2
|
+
<!DOCTYPE html
|
|
3
|
+
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
|
4
|
+
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
5
|
+
|
|
6
|
+
<html>
|
|
7
|
+
<head>
|
|
8
|
+
<title>write32 (MIDI::IO::MIDIFile)</title>
|
|
9
|
+
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
|
10
|
+
<link rel="stylesheet" href="../../../.././rdoc-style.css" type="text/css" media="screen" />
|
|
11
|
+
</head>
|
|
12
|
+
<body class="standalone-code">
|
|
13
|
+
<pre><span class="ruby-comment cmt"># File lib/midilib/io/midifile.rb, line 395</span>
|
|
14
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">write32</span>(<span class="ruby-identifier">val</span>)
|
|
15
|
+
<span class="ruby-identifier">val</span> = (<span class="ruby-operator">-</span><span class="ruby-identifier">val</span>) <span class="ruby-operator">|</span> <span class="ruby-value">0x80000000</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">val</span> <span class="ruby-operator"><</span> <span class="ruby-value">0</span>
|
|
16
|
+
<span class="ruby-identifier">putc</span>((<span class="ruby-identifier">val</span> <span class="ruby-operator">>></span> <span class="ruby-value">24</span>) <span class="ruby-operator">&</span> <span class="ruby-value">0xff</span>)
|
|
17
|
+
<span class="ruby-identifier">putc</span>((<span class="ruby-identifier">val</span> <span class="ruby-operator">>></span> <span class="ruby-value">16</span>) <span class="ruby-operator">&</span> <span class="ruby-value">0xff</span>)
|
|
18
|
+
<span class="ruby-identifier">putc</span>((<span class="ruby-identifier">val</span> <span class="ruby-operator">>></span> <span class="ruby-value">8</span>) <span class="ruby-operator">&</span> <span class="ruby-value">0xff</span>)
|
|
19
|
+
<span class="ruby-identifier">putc</span>(<span class="ruby-identifier">val</span> <span class="ruby-operator">&</span> <span class="ruby-value">0xff</span>)
|
|
20
|
+
<span class="ruby-keyword kw">end</span></pre>
|
|
21
|
+
</body>
|
|
22
|
+
</html>
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="iso-8859-1"?>
|
|
2
|
+
<!DOCTYPE html
|
|
3
|
+
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
|
4
|
+
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
5
|
+
|
|
6
|
+
<html>
|
|
7
|
+
<head>
|
|
8
|
+
<title>write_var_len (MIDI::IO::MIDIFile)</title>
|
|
9
|
+
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
|
10
|
+
<link rel="stylesheet" href="../../../.././rdoc-style.css" type="text/css" media="screen" />
|
|
11
|
+
</head>
|
|
12
|
+
<body class="standalone-code">
|
|
13
|
+
<pre><span class="ruby-comment cmt"># File lib/midilib/io/midifile.rb, line 404</span>
|
|
14
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">write_var_len</span>(<span class="ruby-identifier">val</span>)
|
|
15
|
+
<span class="ruby-keyword kw">if</span> <span class="ruby-identifier">val</span>.<span class="ruby-identifier">zero?</span>
|
|
16
|
+
<span class="ruby-identifier">putc</span>(<span class="ruby-value">0</span>)
|
|
17
|
+
<span class="ruby-keyword kw">return</span>
|
|
18
|
+
<span class="ruby-keyword kw">end</span>
|
|
19
|
+
|
|
20
|
+
<span class="ruby-identifier">buf</span> = <span class="ruby-constant">Array</span>.<span class="ruby-identifier">new</span>()
|
|
21
|
+
|
|
22
|
+
<span class="ruby-identifier">buf</span> <span class="ruby-operator"><<</span> (<span class="ruby-identifier">val</span> <span class="ruby-operator">&</span> <span class="ruby-value">0x7f</span>)
|
|
23
|
+
<span class="ruby-keyword kw">while</span> (<span class="ruby-identifier">value</span> <span class="ruby-operator">>>=</span> <span class="ruby-value">7</span>) <span class="ruby-operator">></span> <span class="ruby-value">0</span>
|
|
24
|
+
<span class="ruby-identifier">buf</span> <span class="ruby-operator"><<</span> (<span class="ruby-identifier">val</span> <span class="ruby-operator">&</span> <span class="ruby-value">0x7f</span>) <span class="ruby-operator">|</span> <span class="ruby-value">0x80</span>
|
|
25
|
+
<span class="ruby-keyword kw">end</span>
|
|
26
|
+
|
|
27
|
+
<span class="ruby-identifier">buf</span>.<span class="ruby-identifier">reverse</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span> <span class="ruby-identifier">b</span> <span class="ruby-operator">|</span> <span class="ruby-identifier">putc</span>(<span class="ruby-identifier">b</span>) }
|
|
28
|
+
<span class="ruby-keyword kw">end</span></pre>
|
|
29
|
+
</body>
|
|
30
|
+
</html>
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="iso-8859-1"?>
|
|
2
|
+
<!DOCTYPE html
|
|
3
|
+
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
|
4
|
+
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
5
|
+
|
|
6
|
+
<html>
|
|
7
|
+
<head>
|
|
8
|
+
<title>msg_add (MIDI::IO::MIDIFile)</title>
|
|
9
|
+
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
|
10
|
+
<link rel="stylesheet" href="../../../.././rdoc-style.css" type="text/css" media="screen" />
|
|
11
|
+
</head>
|
|
12
|
+
<body class="standalone-code">
|
|
13
|
+
<pre><span class="ruby-comment cmt"># File lib/midilib/io/midifile.rb, line 421</span>
|
|
14
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">msg_add</span>(<span class="ruby-identifier">c</span>)
|
|
15
|
+
<span class="ruby-ivar">@msg_buf</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">c</span>
|
|
16
|
+
<span class="ruby-keyword kw">end</span></pre>
|
|
17
|
+
</body>
|
|
18
|
+
</html>
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="iso-8859-1"?>
|
|
2
|
+
<!DOCTYPE html
|
|
3
|
+
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
|
4
|
+
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
5
|
+
|
|
6
|
+
<html>
|
|
7
|
+
<head>
|
|
8
|
+
<title>msg_read (MIDI::IO::MIDIFile)</title>
|
|
9
|
+
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
|
10
|
+
<link rel="stylesheet" href="../../../.././rdoc-style.css" type="text/css" media="screen" />
|
|
11
|
+
</head>
|
|
12
|
+
<body class="standalone-code">
|
|
13
|
+
<pre><span class="ruby-comment cmt"># File lib/midilib/io/midifile.rb, line 427</span>
|
|
14
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">msg_read</span>(<span class="ruby-identifier">n_bytes</span>)
|
|
15
|
+
<span class="ruby-ivar">@msg_buf</span> <span class="ruby-operator"><<</span> <span class="ruby-ivar">@io</span>.<span class="ruby-identifier">read</span>(<span class="ruby-identifier">n_bytes</span>)
|
|
16
|
+
<span class="ruby-ivar">@bytes_to_be_read</span> <span class="ruby-operator">-=</span> <span class="ruby-identifier">n_bytes</span>
|
|
17
|
+
<span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@msg_buf</span>[<span class="ruby-value">-1</span>]
|
|
18
|
+
<span class="ruby-keyword kw">end</span></pre>
|
|
19
|
+
</body>
|
|
20
|
+
</html>
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="iso-8859-1"?>
|
|
2
|
+
<!DOCTYPE html
|
|
3
|
+
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
|
4
|
+
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
5
|
+
|
|
6
|
+
<html>
|
|
7
|
+
<head>
|
|
8
|
+
<title>msg_init (MIDI::IO::MIDIFile)</title>
|
|
9
|
+
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
|
10
|
+
<link rel="stylesheet" href="../../../.././rdoc-style.css" type="text/css" media="screen" />
|
|
11
|
+
</head>
|
|
12
|
+
<body class="standalone-code">
|
|
13
|
+
<pre><span class="ruby-comment cmt"># File lib/midilib/io/midifile.rb, line 434</span>
|
|
14
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">msg_init</span>
|
|
15
|
+
<span class="ruby-ivar">@msg_buf</span> = <span class="ruby-value str">''</span>
|
|
16
|
+
<span class="ruby-keyword kw">end</span></pre>
|
|
17
|
+
</body>
|
|
18
|
+
</html>
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="iso-8859-1"?>
|
|
2
|
+
<!DOCTYPE html
|
|
3
|
+
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
|
4
|
+
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
5
|
+
|
|
6
|
+
<html>
|
|
7
|
+
<head>
|
|
8
|
+
<title>msg (MIDI::IO::MIDIFile)</title>
|
|
9
|
+
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
|
10
|
+
<link rel="stylesheet" href="../../../.././rdoc-style.css" type="text/css" media="screen" />
|
|
11
|
+
</head>
|
|
12
|
+
<body class="standalone-code">
|
|
13
|
+
<pre><span class="ruby-comment cmt"># File lib/midilib/io/midifile.rb, line 439</span>
|
|
14
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">msg</span>
|
|
15
|
+
<span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@msg_buf</span>.<span class="ruby-identifier">dup</span>()
|
|
16
|
+
<span class="ruby-keyword kw">end</span></pre>
|
|
17
|
+
</body>
|
|
18
|
+
</html>
|
|
@@ -0,0 +1,460 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="iso-8859-1"?>
|
|
2
|
+
<!DOCTYPE html
|
|
3
|
+
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
|
4
|
+
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
5
|
+
|
|
6
|
+
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
|
7
|
+
<head>
|
|
8
|
+
<title>Class: MIDI::IO::SeqReader</title>
|
|
9
|
+
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
|
10
|
+
<meta http-equiv="Content-Script-Type" content="text/javascript" />
|
|
11
|
+
<link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
|
|
12
|
+
<script type="text/javascript">
|
|
13
|
+
// <![CDATA[
|
|
14
|
+
|
|
15
|
+
function popupCode( url ) {
|
|
16
|
+
window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
function toggleCode( id ) {
|
|
20
|
+
if ( document.getElementById )
|
|
21
|
+
elem = document.getElementById( id );
|
|
22
|
+
else if ( document.all )
|
|
23
|
+
elem = eval( "document.all." + id );
|
|
24
|
+
else
|
|
25
|
+
return false;
|
|
26
|
+
|
|
27
|
+
elemStyle = elem.style;
|
|
28
|
+
|
|
29
|
+
if ( elemStyle.display != "block" ) {
|
|
30
|
+
elemStyle.display = "block"
|
|
31
|
+
} else {
|
|
32
|
+
elemStyle.display = "none"
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
return true;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
// Make codeblocks hidden by default
|
|
39
|
+
document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
|
|
40
|
+
|
|
41
|
+
// ]]>
|
|
42
|
+
</script>
|
|
43
|
+
|
|
44
|
+
</head>
|
|
45
|
+
<body>
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
<div id="classHeader">
|
|
50
|
+
<table class="header-table">
|
|
51
|
+
<tr class="top-aligned-row">
|
|
52
|
+
<td><strong>Class</strong></td>
|
|
53
|
+
<td class="class-name-in-header">MIDI::IO::SeqReader</td>
|
|
54
|
+
</tr>
|
|
55
|
+
<tr class="top-aligned-row">
|
|
56
|
+
<td><strong>In:</strong></td>
|
|
57
|
+
<td>
|
|
58
|
+
<a href="../../../files/lib/midilib/io/seqreader_rb.html">
|
|
59
|
+
lib/midilib/io/seqreader.rb
|
|
60
|
+
</a>
|
|
61
|
+
<br />
|
|
62
|
+
</td>
|
|
63
|
+
</tr>
|
|
64
|
+
|
|
65
|
+
<tr class="top-aligned-row">
|
|
66
|
+
<td><strong>Parent:</strong></td>
|
|
67
|
+
<td>
|
|
68
|
+
<a href="MIDIFile.html">
|
|
69
|
+
MIDIFile
|
|
70
|
+
</a>
|
|
71
|
+
</td>
|
|
72
|
+
</tr>
|
|
73
|
+
</table>
|
|
74
|
+
</div>
|
|
75
|
+
<!-- banner header -->
|
|
76
|
+
|
|
77
|
+
<div id="bodyContent">
|
|
78
|
+
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
<div id="contextContent">
|
|
82
|
+
|
|
83
|
+
<div id="description">
|
|
84
|
+
<p>
|
|
85
|
+
Reads <a href="../../MIDI.html">MIDI</a> files. As a subclass of <a
|
|
86
|
+
href="MIDIFile.html">MIDIFile</a>, this class implements the callback
|
|
87
|
+
methods for each <a href="../../MIDI.html">MIDI</a> event and use them to
|
|
88
|
+
build <a href="../Track.html">Track</a> and <a
|
|
89
|
+
href="../Event.html">Event</a> objects and give the tracks to a <a
|
|
90
|
+
href="../Sequence.html">Sequence</a>.
|
|
91
|
+
</p>
|
|
92
|
+
<p>
|
|
93
|
+
We append new events to the end of a track’s event list, bypassing a
|
|
94
|
+
call to <a href="../Track.html">Track</a>.add. This means that we must call
|
|
95
|
+
<a href="../Track.html#M000077">Track.recalc_times</a> at the end of the
|
|
96
|
+
track so it can update each event with its time from the track’s
|
|
97
|
+
start (see <a href="SeqReader.html#M000004">end_track</a> below).
|
|
98
|
+
</p>
|
|
99
|
+
<p>
|
|
100
|
+
META_TRACK_END events are not added to tracks. This way, we don’t
|
|
101
|
+
have to worry about making sure the last event is always a track end event.
|
|
102
|
+
We rely on the <a href="SeqWriter.html">SeqWriter</a> to append a
|
|
103
|
+
META_TRACK_END event to each track when it is output.
|
|
104
|
+
</p>
|
|
105
|
+
|
|
106
|
+
</div>
|
|
107
|
+
|
|
108
|
+
|
|
109
|
+
</div>
|
|
110
|
+
|
|
111
|
+
<div id="method-list">
|
|
112
|
+
<h3 class="section-bar">Methods</h3>
|
|
113
|
+
|
|
114
|
+
<div class="name-list">
|
|
115
|
+
<a href="#M000012">chan_pressure</a>
|
|
116
|
+
<a href="#M000009">controller</a>
|
|
117
|
+
<a href="#M000004">end_track</a>
|
|
118
|
+
<a href="#M000002">header</a>
|
|
119
|
+
<a href="#M000007">make_note_off</a>
|
|
120
|
+
<a href="#M000014">meta_misc</a>
|
|
121
|
+
<a href="#M000001">new</a>
|
|
122
|
+
<a href="#M000006">note_off</a>
|
|
123
|
+
<a href="#M000005">note_on</a>
|
|
124
|
+
<a href="#M000010">pitch_bend</a>
|
|
125
|
+
<a href="#M000008">pressure</a>
|
|
126
|
+
<a href="#M000011">program</a>
|
|
127
|
+
<a href="#M000003">start_track</a>
|
|
128
|
+
<a href="#M000013">sysex</a>
|
|
129
|
+
<a href="#M000017">tempo</a>
|
|
130
|
+
<a href="#M000015">text</a>
|
|
131
|
+
<a href="#M000016">time_signature</a>
|
|
132
|
+
<a href="#M000018">track_uses_channel</a>
|
|
133
|
+
</div>
|
|
134
|
+
</div>
|
|
135
|
+
|
|
136
|
+
</div>
|
|
137
|
+
|
|
138
|
+
|
|
139
|
+
<!-- if includes -->
|
|
140
|
+
|
|
141
|
+
<div id="section">
|
|
142
|
+
|
|
143
|
+
|
|
144
|
+
|
|
145
|
+
|
|
146
|
+
|
|
147
|
+
|
|
148
|
+
|
|
149
|
+
|
|
150
|
+
<!-- if method_list -->
|
|
151
|
+
<div id="methods">
|
|
152
|
+
<h3 class="section-bar">Public Class methods</h3>
|
|
153
|
+
|
|
154
|
+
<div id="method-M000001" class="method-detail">
|
|
155
|
+
<a name="M000001"></a>
|
|
156
|
+
|
|
157
|
+
<div class="method-heading">
|
|
158
|
+
<a href="SeqReader.src/M000001.html" target="Code" class="method-signature"
|
|
159
|
+
onclick="popupCode('SeqReader.src/M000001.html');return false;">
|
|
160
|
+
<span class="method-name">new</span><span class="method-args">(seq, proc = nil) {|track, num_tracks, index| ...}</span>
|
|
161
|
+
</a>
|
|
162
|
+
</div>
|
|
163
|
+
|
|
164
|
+
<div class="method-description">
|
|
165
|
+
<p>
|
|
166
|
+
The optional proc block is called once at the start of the file and again
|
|
167
|
+
at the end of each track. There are three arguments to the block: the
|
|
168
|
+
track, the track number (1 through <em>n</em>), and the total number of
|
|
169
|
+
tracks.
|
|
170
|
+
</p>
|
|
171
|
+
</div>
|
|
172
|
+
</div>
|
|
173
|
+
|
|
174
|
+
<h3 class="section-bar">Public Instance methods</h3>
|
|
175
|
+
|
|
176
|
+
<div id="method-M000012" class="method-detail">
|
|
177
|
+
<a name="M000012"></a>
|
|
178
|
+
|
|
179
|
+
<div class="method-heading">
|
|
180
|
+
<a href="SeqReader.src/M000012.html" target="Code" class="method-signature"
|
|
181
|
+
onclick="popupCode('SeqReader.src/M000012.html');return false;">
|
|
182
|
+
<span class="method-name">chan_pressure</span><span class="method-args">(chan, press)</span>
|
|
183
|
+
</a>
|
|
184
|
+
</div>
|
|
185
|
+
|
|
186
|
+
<div class="method-description">
|
|
187
|
+
</div>
|
|
188
|
+
</div>
|
|
189
|
+
|
|
190
|
+
<div id="method-M000009" class="method-detail">
|
|
191
|
+
<a name="M000009"></a>
|
|
192
|
+
|
|
193
|
+
<div class="method-heading">
|
|
194
|
+
<a href="SeqReader.src/M000009.html" target="Code" class="method-signature"
|
|
195
|
+
onclick="popupCode('SeqReader.src/M000009.html');return false;">
|
|
196
|
+
<span class="method-name">controller</span><span class="method-args">(chan, control, value)</span>
|
|
197
|
+
</a>
|
|
198
|
+
</div>
|
|
199
|
+
|
|
200
|
+
<div class="method-description">
|
|
201
|
+
</div>
|
|
202
|
+
</div>
|
|
203
|
+
|
|
204
|
+
<div id="method-M000004" class="method-detail">
|
|
205
|
+
<a name="M000004"></a>
|
|
206
|
+
|
|
207
|
+
<div class="method-heading">
|
|
208
|
+
<a href="SeqReader.src/M000004.html" target="Code" class="method-signature"
|
|
209
|
+
onclick="popupCode('SeqReader.src/M000004.html');return false;">
|
|
210
|
+
<span class="method-name">end_track</span><span class="method-args">()</span>
|
|
211
|
+
</a>
|
|
212
|
+
</div>
|
|
213
|
+
|
|
214
|
+
<div class="method-description">
|
|
215
|
+
</div>
|
|
216
|
+
</div>
|
|
217
|
+
|
|
218
|
+
<div id="method-M000002" class="method-detail">
|
|
219
|
+
<a name="M000002"></a>
|
|
220
|
+
|
|
221
|
+
<div class="method-heading">
|
|
222
|
+
<a href="SeqReader.src/M000002.html" target="Code" class="method-signature"
|
|
223
|
+
onclick="popupCode('SeqReader.src/M000002.html');return false;">
|
|
224
|
+
<span class="method-name">header</span><span class="method-args">(format, ntrks, division)</span>
|
|
225
|
+
</a>
|
|
226
|
+
</div>
|
|
227
|
+
|
|
228
|
+
<div class="method-description">
|
|
229
|
+
</div>
|
|
230
|
+
</div>
|
|
231
|
+
|
|
232
|
+
<div id="method-M000007" class="method-detail">
|
|
233
|
+
<a name="M000007"></a>
|
|
234
|
+
|
|
235
|
+
<div class="method-heading">
|
|
236
|
+
<a href="SeqReader.src/M000007.html" target="Code" class="method-signature"
|
|
237
|
+
onclick="popupCode('SeqReader.src/M000007.html');return false;">
|
|
238
|
+
<span class="method-name">make_note_off</span><span class="method-args">(on, vel)</span>
|
|
239
|
+
</a>
|
|
240
|
+
</div>
|
|
241
|
+
|
|
242
|
+
<div class="method-description">
|
|
243
|
+
</div>
|
|
244
|
+
</div>
|
|
245
|
+
|
|
246
|
+
<div id="method-M000014" class="method-detail">
|
|
247
|
+
<a name="M000014"></a>
|
|
248
|
+
|
|
249
|
+
<div class="method-heading">
|
|
250
|
+
<a href="SeqReader.src/M000014.html" target="Code" class="method-signature"
|
|
251
|
+
onclick="popupCode('SeqReader.src/M000014.html');return false;">
|
|
252
|
+
<span class="method-name">meta_misc</span><span class="method-args">(type, msg)</span>
|
|
253
|
+
</a>
|
|
254
|
+
</div>
|
|
255
|
+
|
|
256
|
+
<div class="method-description">
|
|
257
|
+
</div>
|
|
258
|
+
</div>
|
|
259
|
+
|
|
260
|
+
<div id="method-M000006" class="method-detail">
|
|
261
|
+
<a name="M000006"></a>
|
|
262
|
+
|
|
263
|
+
<div class="method-heading">
|
|
264
|
+
<a href="SeqReader.src/M000006.html" target="Code" class="method-signature"
|
|
265
|
+
onclick="popupCode('SeqReader.src/M000006.html');return false;">
|
|
266
|
+
<span class="method-name">note_off</span><span class="method-args">(chan, note, vel)</span>
|
|
267
|
+
</a>
|
|
268
|
+
</div>
|
|
269
|
+
|
|
270
|
+
<div class="method-description">
|
|
271
|
+
</div>
|
|
272
|
+
</div>
|
|
273
|
+
|
|
274
|
+
<div id="method-M000005" class="method-detail">
|
|
275
|
+
<a name="M000005"></a>
|
|
276
|
+
|
|
277
|
+
<div class="method-heading">
|
|
278
|
+
<a href="SeqReader.src/M000005.html" target="Code" class="method-signature"
|
|
279
|
+
onclick="popupCode('SeqReader.src/M000005.html');return false;">
|
|
280
|
+
<span class="method-name">note_on</span><span class="method-args">(chan, note, vel)</span>
|
|
281
|
+
</a>
|
|
282
|
+
</div>
|
|
283
|
+
|
|
284
|
+
<div class="method-description">
|
|
285
|
+
</div>
|
|
286
|
+
</div>
|
|
287
|
+
|
|
288
|
+
<div id="method-M000010" class="method-detail">
|
|
289
|
+
<a name="M000010"></a>
|
|
290
|
+
|
|
291
|
+
<div class="method-heading">
|
|
292
|
+
<a href="SeqReader.src/M000010.html" target="Code" class="method-signature"
|
|
293
|
+
onclick="popupCode('SeqReader.src/M000010.html');return false;">
|
|
294
|
+
<span class="method-name">pitch_bend</span><span class="method-args">(chan, msb, lsb)</span>
|
|
295
|
+
</a>
|
|
296
|
+
</div>
|
|
297
|
+
|
|
298
|
+
<div class="method-description">
|
|
299
|
+
</div>
|
|
300
|
+
</div>
|
|
301
|
+
|
|
302
|
+
<div id="method-M000008" class="method-detail">
|
|
303
|
+
<a name="M000008"></a>
|
|
304
|
+
|
|
305
|
+
<div class="method-heading">
|
|
306
|
+
<a href="SeqReader.src/M000008.html" target="Code" class="method-signature"
|
|
307
|
+
onclick="popupCode('SeqReader.src/M000008.html');return false;">
|
|
308
|
+
<span class="method-name">pressure</span><span class="method-args">(chan, note, press)</span>
|
|
309
|
+
</a>
|
|
310
|
+
</div>
|
|
311
|
+
|
|
312
|
+
<div class="method-description">
|
|
313
|
+
</div>
|
|
314
|
+
</div>
|
|
315
|
+
|
|
316
|
+
<div id="method-M000011" class="method-detail">
|
|
317
|
+
<a name="M000011"></a>
|
|
318
|
+
|
|
319
|
+
<div class="method-heading">
|
|
320
|
+
<a href="SeqReader.src/M000011.html" target="Code" class="method-signature"
|
|
321
|
+
onclick="popupCode('SeqReader.src/M000011.html');return false;">
|
|
322
|
+
<span class="method-name">program</span><span class="method-args">(chan, program)</span>
|
|
323
|
+
</a>
|
|
324
|
+
</div>
|
|
325
|
+
|
|
326
|
+
<div class="method-description">
|
|
327
|
+
</div>
|
|
328
|
+
</div>
|
|
329
|
+
|
|
330
|
+
<div id="method-M000003" class="method-detail">
|
|
331
|
+
<a name="M000003"></a>
|
|
332
|
+
|
|
333
|
+
<div class="method-heading">
|
|
334
|
+
<a href="SeqReader.src/M000003.html" target="Code" class="method-signature"
|
|
335
|
+
onclick="popupCode('SeqReader.src/M000003.html');return false;">
|
|
336
|
+
<span class="method-name">start_track</span><span class="method-args">()</span>
|
|
337
|
+
</a>
|
|
338
|
+
</div>
|
|
339
|
+
|
|
340
|
+
<div class="method-description">
|
|
341
|
+
</div>
|
|
342
|
+
</div>
|
|
343
|
+
|
|
344
|
+
<div id="method-M000013" class="method-detail">
|
|
345
|
+
<a name="M000013"></a>
|
|
346
|
+
|
|
347
|
+
<div class="method-heading">
|
|
348
|
+
<a href="SeqReader.src/M000013.html" target="Code" class="method-signature"
|
|
349
|
+
onclick="popupCode('SeqReader.src/M000013.html');return false;">
|
|
350
|
+
<span class="method-name">sysex</span><span class="method-args">(msg)</span>
|
|
351
|
+
</a>
|
|
352
|
+
</div>
|
|
353
|
+
|
|
354
|
+
<div class="method-description">
|
|
355
|
+
</div>
|
|
356
|
+
</div>
|
|
357
|
+
|
|
358
|
+
<div id="method-M000017" class="method-detail">
|
|
359
|
+
<a name="M000017"></a>
|
|
360
|
+
|
|
361
|
+
<div class="method-heading">
|
|
362
|
+
<a href="SeqReader.src/M000017.html" target="Code" class="method-signature"
|
|
363
|
+
onclick="popupCode('SeqReader.src/M000017.html');return false;">
|
|
364
|
+
<span class="method-name">tempo</span><span class="method-args">(microsecs)</span>
|
|
365
|
+
</a>
|
|
366
|
+
</div>
|
|
367
|
+
|
|
368
|
+
<div class="method-description">
|
|
369
|
+
<p>
|
|
370
|
+
—
|
|
371
|
+
</p>
|
|
372
|
+
<pre>
|
|
373
|
+
def smpte(hour, min, sec, frame, fract)
|
|
374
|
+
end
|
|
375
|
+
</pre>
|
|
376
|
+
<p>
|
|
377
|
+
++
|
|
378
|
+
</p>
|
|
379
|
+
</div>
|
|
380
|
+
</div>
|
|
381
|
+
|
|
382
|
+
<div id="method-M000015" class="method-detail">
|
|
383
|
+
<a name="M000015"></a>
|
|
384
|
+
|
|
385
|
+
<div class="method-heading">
|
|
386
|
+
<a href="SeqReader.src/M000015.html" target="Code" class="method-signature"
|
|
387
|
+
onclick="popupCode('SeqReader.src/M000015.html');return false;">
|
|
388
|
+
<span class="method-name">text</span><span class="method-args">(type, msg)</span>
|
|
389
|
+
</a>
|
|
390
|
+
</div>
|
|
391
|
+
|
|
392
|
+
<div class="method-description">
|
|
393
|
+
<pre>
|
|
394
|
+
def sequence_number(num)
|
|
395
|
+
end
|
|
396
|
+
</pre>
|
|
397
|
+
<p>
|
|
398
|
+
++
|
|
399
|
+
</p>
|
|
400
|
+
</div>
|
|
401
|
+
</div>
|
|
402
|
+
|
|
403
|
+
<div id="method-M000016" class="method-detail">
|
|
404
|
+
<a name="M000016"></a>
|
|
405
|
+
|
|
406
|
+
<div class="method-heading">
|
|
407
|
+
<a href="SeqReader.src/M000016.html" target="Code" class="method-signature"
|
|
408
|
+
onclick="popupCode('SeqReader.src/M000016.html');return false;">
|
|
409
|
+
<span class="method-name">time_signature</span><span class="method-args">(numer, denom, clocks, qnotes)</span>
|
|
410
|
+
</a>
|
|
411
|
+
</div>
|
|
412
|
+
|
|
413
|
+
<div class="method-description">
|
|
414
|
+
<p>
|
|
415
|
+
— Don‘t bother adding the META_TRACK_END event to the track.
|
|
416
|
+
This way, we don’t have to worry about always making sure the last
|
|
417
|
+
event is always a track end event. We just have to make sure to write one
|
|
418
|
+
when the track is output back to a file.
|
|
419
|
+
</p>
|
|
420
|
+
<pre>
|
|
421
|
+
def eot()
|
|
422
|
+
@track.events << MetaEvent.new(META_TRACK_END, nil, @curr_ticks)
|
|
423
|
+
end
|
|
424
|
+
</pre>
|
|
425
|
+
<p>
|
|
426
|
+
++
|
|
427
|
+
</p>
|
|
428
|
+
</div>
|
|
429
|
+
</div>
|
|
430
|
+
|
|
431
|
+
<div id="method-M000018" class="method-detail">
|
|
432
|
+
<a name="M000018"></a>
|
|
433
|
+
|
|
434
|
+
<div class="method-heading">
|
|
435
|
+
<a href="SeqReader.src/M000018.html" target="Code" class="method-signature"
|
|
436
|
+
onclick="popupCode('SeqReader.src/M000018.html');return false;">
|
|
437
|
+
<span class="method-name">track_uses_channel</span><span class="method-args">(chan)</span>
|
|
438
|
+
</a>
|
|
439
|
+
</div>
|
|
440
|
+
|
|
441
|
+
<div class="method-description">
|
|
442
|
+
<p>
|
|
443
|
+
Return true if the current track uses the specified channel.
|
|
444
|
+
</p>
|
|
445
|
+
</div>
|
|
446
|
+
</div>
|
|
447
|
+
|
|
448
|
+
|
|
449
|
+
</div>
|
|
450
|
+
|
|
451
|
+
|
|
452
|
+
</div>
|
|
453
|
+
|
|
454
|
+
|
|
455
|
+
<div id="validator-badges">
|
|
456
|
+
<p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
|
|
457
|
+
</div>
|
|
458
|
+
|
|
459
|
+
</body>
|
|
460
|
+
</html>
|