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,27 @@
|
|
|
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>new (MIDI::Event)</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/event.rb, line 26</span>
|
|
14
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">status</span> = <span class="ruby-value">0</span>, <span class="ruby-identifier">delta_time</span> = <span class="ruby-value">0</span>)
|
|
15
|
+
<span class="ruby-ivar">@status</span> = <span class="ruby-identifier">status</span>
|
|
16
|
+
<span class="ruby-ivar">@delta_time</span> = <span class="ruby-identifier">delta_time</span>
|
|
17
|
+
<span class="ruby-ivar">@is_channel</span> = <span class="ruby-keyword kw">false</span> <span class="ruby-comment cmt"># the majority of events are channel events</span>
|
|
18
|
+
<span class="ruby-ivar">@is_note</span> = <span class="ruby-keyword kw">false</span> <span class="ruby-comment cmt"># note on, note off, and poly press return true</span>
|
|
19
|
+
<span class="ruby-ivar">@is_note_on</span> = <span class="ruby-keyword kw">false</span>
|
|
20
|
+
<span class="ruby-ivar">@is_note_off</span> = <span class="ruby-keyword kw">false</span>
|
|
21
|
+
<span class="ruby-ivar">@is_meta</span> = <span class="ruby-keyword kw">false</span>
|
|
22
|
+
<span class="ruby-ivar">@is_system</span> = <span class="ruby-keyword kw">false</span>
|
|
23
|
+
<span class="ruby-ivar">@is_realtime</span> = <span class="ruby-keyword kw">false</span>
|
|
24
|
+
<span class="ruby-ivar">@time_from_start</span> = <span class="ruby-value">0</span> <span class="ruby-comment cmt"># maintained by tracks</span>
|
|
25
|
+
<span class="ruby-keyword kw">end</span></pre>
|
|
26
|
+
</body>
|
|
27
|
+
</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>data_as_bytes (MIDI::Event)</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/event.rb, line 43</span>
|
|
14
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">data_as_bytes</span>
|
|
15
|
+
<span class="ruby-identifier">raise</span> <span class="ruby-value str">"subclass responsibility"</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>channel? (MIDI::Event)</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/event.rb, line 48</span>
|
|
14
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">channel?</span>
|
|
15
|
+
<span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@is_channel</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>note? (MIDI::Event)</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/event.rb, line 54</span>
|
|
14
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">note?</span>
|
|
15
|
+
<span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@is_note</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>note_on? (MIDI::Event)</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/event.rb, line 59</span>
|
|
14
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">note_on?</span>
|
|
15
|
+
<span class="ruby-ivar">@is_note_on</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>note_off? (MIDI::Event)</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/event.rb, line 64</span>
|
|
14
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">note_off?</span>
|
|
15
|
+
<span class="ruby-ivar">@is_note_off</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>meta? (MIDI::Event)</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/event.rb, line 69</span>
|
|
14
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">meta?</span>
|
|
15
|
+
<span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@is_meta</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>system? (MIDI::Event)</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/event.rb, line 74</span>
|
|
14
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">system?</span>
|
|
15
|
+
<span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@is_system</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>realtime? (MIDI::Event)</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/event.rb, line 80</span>
|
|
14
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">realtime?</span>
|
|
15
|
+
<span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@is_realtime</span>
|
|
16
|
+
<span class="ruby-keyword kw">end</span></pre>
|
|
17
|
+
</body>
|
|
18
|
+
</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>quantize_to (MIDI::Event)</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/event.rb, line 88</span>
|
|
14
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">quantize_to</span>(<span class="ruby-identifier">boundary</span>)
|
|
15
|
+
<span class="ruby-identifier">diff</span> = <span class="ruby-ivar">@time_from_start</span> <span class="ruby-operator">%</span> <span class="ruby-identifier">boundary</span>
|
|
16
|
+
<span class="ruby-ivar">@time_from_start</span> <span class="ruby-operator">-=</span> <span class="ruby-identifier">diff</span>
|
|
17
|
+
<span class="ruby-keyword kw">if</span> <span class="ruby-identifier">diff</span> <span class="ruby-operator">>=</span> <span class="ruby-identifier">boundary</span> <span class="ruby-operator">/</span> <span class="ruby-value">2</span>
|
|
18
|
+
<span class="ruby-ivar">@time_from_start</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">boundary</span>
|
|
19
|
+
<span class="ruby-keyword kw">end</span>
|
|
20
|
+
<span class="ruby-keyword kw">end</span></pre>
|
|
21
|
+
</body>
|
|
22
|
+
</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><=> (MIDI::Event)</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/event.rb, line 99</span>
|
|
14
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-operator"><=></span>(<span class="ruby-identifier">an_event</span>)
|
|
15
|
+
<span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@time_from_start</span> <span class="ruby-operator"><=></span> <span class="ruby-identifier">an_event</span>.<span class="ruby-identifier">time_from_start</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>number_to_s (MIDI::Event)</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/event.rb, line 105</span>
|
|
14
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">number_to_s</span>(<span class="ruby-identifier">val</span>)
|
|
15
|
+
<span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@print_decimal_numbers</span> <span class="ruby-operator">?</span> <span class="ruby-identifier">val</span>.<span class="ruby-identifier">to_s</span> <span class="ruby-operator">:</span> (<span class="ruby-value str">'%02x'</span> <span class="ruby-operator">%</span> <span class="ruby-identifier">val</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>to_s (MIDI::Event)</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/event.rb, line 109</span>
|
|
14
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_s</span>
|
|
15
|
+
<span class="ruby-node">"#{@delta_time}: "</span>
|
|
16
|
+
<span class="ruby-keyword kw">end</span></pre>
|
|
17
|
+
</body>
|
|
18
|
+
</html>
|
|
@@ -0,0 +1,121 @@
|
|
|
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>Module: MIDI::IO</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>Module</strong></td>
|
|
53
|
+
<td class="class-name-in-header">MIDI::IO</td>
|
|
54
|
+
</tr>
|
|
55
|
+
<tr class="top-aligned-row">
|
|
56
|
+
<td><strong>In:</strong></td>
|
|
57
|
+
<td>
|
|
58
|
+
<a href="../../files/lib/midilib/io/midifile_rb.html">
|
|
59
|
+
lib/midilib/io/midifile.rb
|
|
60
|
+
</a>
|
|
61
|
+
<br />
|
|
62
|
+
<a href="../../files/lib/midilib/io/seqreader_rb.html">
|
|
63
|
+
lib/midilib/io/seqreader.rb
|
|
64
|
+
</a>
|
|
65
|
+
<br />
|
|
66
|
+
<a href="../../files/lib/midilib/io/seqwriter_rb.html">
|
|
67
|
+
lib/midilib/io/seqwriter.rb
|
|
68
|
+
</a>
|
|
69
|
+
<br />
|
|
70
|
+
</td>
|
|
71
|
+
</tr>
|
|
72
|
+
|
|
73
|
+
</table>
|
|
74
|
+
</div>
|
|
75
|
+
<!-- banner header -->
|
|
76
|
+
|
|
77
|
+
<div id="bodyContent">
|
|
78
|
+
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
<div id="contextContent">
|
|
82
|
+
|
|
83
|
+
|
|
84
|
+
|
|
85
|
+
</div>
|
|
86
|
+
|
|
87
|
+
|
|
88
|
+
</div>
|
|
89
|
+
|
|
90
|
+
|
|
91
|
+
<!-- if includes -->
|
|
92
|
+
|
|
93
|
+
<div id="section">
|
|
94
|
+
|
|
95
|
+
<div id="class-list">
|
|
96
|
+
<h3 class="section-bar">Classes and Modules</h3>
|
|
97
|
+
|
|
98
|
+
Class <a href="IO/MIDIFile.html" class="link">MIDI::IO::MIDIFile</a><br />
|
|
99
|
+
Class <a href="IO/SeqReader.html" class="link">MIDI::IO::SeqReader</a><br />
|
|
100
|
+
Class <a href="IO/SeqWriter.html" class="link">MIDI::IO::SeqWriter</a><br />
|
|
101
|
+
|
|
102
|
+
</div>
|
|
103
|
+
|
|
104
|
+
|
|
105
|
+
|
|
106
|
+
|
|
107
|
+
|
|
108
|
+
|
|
109
|
+
|
|
110
|
+
<!-- if method_list -->
|
|
111
|
+
|
|
112
|
+
|
|
113
|
+
</div>
|
|
114
|
+
|
|
115
|
+
|
|
116
|
+
<div id="validator-badges">
|
|
117
|
+
<p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
|
|
118
|
+
</div>
|
|
119
|
+
|
|
120
|
+
</body>
|
|
121
|
+
</html>
|
|
@@ -0,0 +1,925 @@
|
|
|
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::MIDIFile</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::MIDIFile</td>
|
|
54
|
+
</tr>
|
|
55
|
+
<tr class="top-aligned-row">
|
|
56
|
+
<td><strong>In:</strong></td>
|
|
57
|
+
<td>
|
|
58
|
+
<a href="../../../files/lib/midilib/io/midifile_rb.html">
|
|
59
|
+
lib/midilib/io/midifile.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
|
+
Object
|
|
69
|
+
</td>
|
|
70
|
+
</tr>
|
|
71
|
+
</table>
|
|
72
|
+
</div>
|
|
73
|
+
<!-- banner header -->
|
|
74
|
+
|
|
75
|
+
<div id="bodyContent">
|
|
76
|
+
|
|
77
|
+
|
|
78
|
+
|
|
79
|
+
<div id="contextContent">
|
|
80
|
+
|
|
81
|
+
<div id="description">
|
|
82
|
+
<p>
|
|
83
|
+
A <a href="MIDIFile.html">MIDIFile</a> parses a <a
|
|
84
|
+
href="../../MIDI.html">MIDI</a> file and calls methods when it sees <a
|
|
85
|
+
href="../../MIDI.html">MIDI</a> events. Most of the methods are stubs. To
|
|
86
|
+
do anything interesting with the events, override these methods (those
|
|
87
|
+
between the "The rest of these are NOPs by default" and "End
|
|
88
|
+
of NOPs" comments).
|
|
89
|
+
</p>
|
|
90
|
+
<p>
|
|
91
|
+
See <a href="SeqReader.html">SeqReader</a> for a subclass that uses these
|
|
92
|
+
methods to create <a href="../Event.html">Event</a> objects.
|
|
93
|
+
</p>
|
|
94
|
+
|
|
95
|
+
</div>
|
|
96
|
+
|
|
97
|
+
|
|
98
|
+
</div>
|
|
99
|
+
|
|
100
|
+
<div id="method-list">
|
|
101
|
+
<h3 class="section-bar">Methods</h3>
|
|
102
|
+
|
|
103
|
+
<div class="name-list">
|
|
104
|
+
<a href="#M000052">arbitrary</a>
|
|
105
|
+
<a href="#M000056">bad_byte</a>
|
|
106
|
+
<a href="#M000058">chan_message</a>
|
|
107
|
+
<a href="#M000041">chan_pressure</a>
|
|
108
|
+
<a href="#M000038">controller</a>
|
|
109
|
+
<a href="#M000034">end_track</a>
|
|
110
|
+
<a href="#M000047">eot</a>
|
|
111
|
+
<a href="#M000031">error</a>
|
|
112
|
+
<a href="#M000030">getc</a>
|
|
113
|
+
<a href="#M000060">handle_arbitrary</a>
|
|
114
|
+
<a href="#M000059">handle_sysex</a>
|
|
115
|
+
<a href="#M000032">header</a>
|
|
116
|
+
<a href="#M000051">key_signature</a>
|
|
117
|
+
<a href="#M000057">meta_event</a>
|
|
118
|
+
<a href="#M000043">meta_misc</a>
|
|
119
|
+
<a href="#M000070">msg</a>
|
|
120
|
+
<a href="#M000067">msg_add</a>
|
|
121
|
+
<a href="#M000069">msg_init</a>
|
|
122
|
+
<a href="#M000068">msg_read</a>
|
|
123
|
+
<a href="#M000028">new</a>
|
|
124
|
+
<a href="#M000036">note_off</a>
|
|
125
|
+
<a href="#M000035">note_on</a>
|
|
126
|
+
<a href="#M000039">pitch_bend</a>
|
|
127
|
+
<a href="#M000037">pressure</a>
|
|
128
|
+
<a href="#M000040">program</a>
|
|
129
|
+
<a href="#M000061">read16</a>
|
|
130
|
+
<a href="#M000062">read32</a>
|
|
131
|
+
<a href="#M000029">read_from</a>
|
|
132
|
+
<a href="#M000054">read_header</a>
|
|
133
|
+
<a href="#M000053">read_mt_header_string</a>
|
|
134
|
+
<a href="#M000055">read_track</a>
|
|
135
|
+
<a href="#M000063">read_var_len</a>
|
|
136
|
+
<a href="#M000045">sequence_number</a>
|
|
137
|
+
<a href="#M000044">sequencer_specific</a>
|
|
138
|
+
<a href="#M000049">smpte</a>
|
|
139
|
+
<a href="#M000033">start_track</a>
|
|
140
|
+
<a href="#M000042">sysex</a>
|
|
141
|
+
<a href="#M000050">tempo</a>
|
|
142
|
+
<a href="#M000046">text</a>
|
|
143
|
+
<a href="#M000048">time_signature</a>
|
|
144
|
+
<a href="#M000064">write16</a>
|
|
145
|
+
<a href="#M000065">write32</a>
|
|
146
|
+
<a href="#M000066">write_var_len</a>
|
|
147
|
+
</div>
|
|
148
|
+
</div>
|
|
149
|
+
|
|
150
|
+
</div>
|
|
151
|
+
|
|
152
|
+
|
|
153
|
+
<!-- if includes -->
|
|
154
|
+
|
|
155
|
+
<div id="section">
|
|
156
|
+
|
|
157
|
+
|
|
158
|
+
<div id="constants-list">
|
|
159
|
+
<h3 class="section-bar">Constants</h3>
|
|
160
|
+
|
|
161
|
+
<div class="name-list">
|
|
162
|
+
<table summary="Constants">
|
|
163
|
+
<tr class="top-aligned-row context-row">
|
|
164
|
+
<td class="context-item-name">NUM_DATA_BYTES</td>
|
|
165
|
+
<td>=</td>
|
|
166
|
+
<td class="context-item-value">[ 0, 0, 0, 0, 0, 0, 0, 0, # 0x00 - 0x70 2, 2, 2, 2, 1, 1, 2, 0</td>
|
|
167
|
+
<td width="3em"> </td>
|
|
168
|
+
<td class="context-item-desc">
|
|
169
|
+
This array is indexed by the high half of a status byte. Its value is
|
|
170
|
+
either the number of bytes needed (1 or 2) for a channel message, or 0 if
|
|
171
|
+
it’s not a channel message.
|
|
172
|
+
|
|
173
|
+
</td>
|
|
174
|
+
</tr>
|
|
175
|
+
</table>
|
|
176
|
+
</div>
|
|
177
|
+
</div>
|
|
178
|
+
|
|
179
|
+
|
|
180
|
+
|
|
181
|
+
<div id="attribute-list">
|
|
182
|
+
<h3 class="section-bar">Attributes</h3>
|
|
183
|
+
|
|
184
|
+
<div class="name-list">
|
|
185
|
+
<table>
|
|
186
|
+
<tr class="top-aligned-row context-row">
|
|
187
|
+
<td class="context-item-name">bytes_to_be_read</td>
|
|
188
|
+
<td class="context-item-value"> [RW] </td>
|
|
189
|
+
<td class="context-item-desc"></td>
|
|
190
|
+
</tr>
|
|
191
|
+
<tr class="top-aligned-row context-row">
|
|
192
|
+
<td class="context-item-name">curr_ticks</td>
|
|
193
|
+
<td class="context-item-value"> [RW] </td>
|
|
194
|
+
<td class="context-item-desc"></td>
|
|
195
|
+
</tr>
|
|
196
|
+
<tr class="top-aligned-row context-row">
|
|
197
|
+
<td class="context-item-name">no_merge</td>
|
|
198
|
+
<td class="context-item-value"> [RW] </td>
|
|
199
|
+
<td class="context-item-desc"></td>
|
|
200
|
+
</tr>
|
|
201
|
+
<tr class="top-aligned-row context-row">
|
|
202
|
+
<td class="context-item-name">raw_data</td>
|
|
203
|
+
<td class="context-item-value"> [RW] </td>
|
|
204
|
+
<td class="context-item-desc"></td>
|
|
205
|
+
</tr>
|
|
206
|
+
<tr class="top-aligned-row context-row">
|
|
207
|
+
<td class="context-item-name">raw_time_stamp_data</td>
|
|
208
|
+
<td class="context-item-value"> [RW] </td>
|
|
209
|
+
<td class="context-item-desc">
|
|
210
|
+
Raw data info
|
|
211
|
+
|
|
212
|
+
</td>
|
|
213
|
+
</tr>
|
|
214
|
+
<tr class="top-aligned-row context-row">
|
|
215
|
+
<td class="context-item-name">raw_var_num_data</td>
|
|
216
|
+
<td class="context-item-value"> [RW] </td>
|
|
217
|
+
<td class="context-item-desc"></td>
|
|
218
|
+
</tr>
|
|
219
|
+
<tr class="top-aligned-row context-row">
|
|
220
|
+
<td class="context-item-name">skip_init</td>
|
|
221
|
+
<td class="context-item-value"> [RW] </td>
|
|
222
|
+
<td class="context-item-desc"></td>
|
|
223
|
+
</tr>
|
|
224
|
+
<tr class="top-aligned-row context-row">
|
|
225
|
+
<td class="context-item-name">ticks_so_far</td>
|
|
226
|
+
<td class="context-item-value"> [RW] </td>
|
|
227
|
+
<td class="context-item-desc"></td>
|
|
228
|
+
</tr>
|
|
229
|
+
</table>
|
|
230
|
+
</div>
|
|
231
|
+
</div>
|
|
232
|
+
|
|
233
|
+
|
|
234
|
+
|
|
235
|
+
<!-- if method_list -->
|
|
236
|
+
<div id="methods">
|
|
237
|
+
<h3 class="section-bar">Public Class methods</h3>
|
|
238
|
+
|
|
239
|
+
<div id="method-M000028" class="method-detail">
|
|
240
|
+
<a name="M000028"></a>
|
|
241
|
+
|
|
242
|
+
<div class="method-heading">
|
|
243
|
+
<a href="MIDIFile.src/M000028.html" target="Code" class="method-signature"
|
|
244
|
+
onclick="popupCode('MIDIFile.src/M000028.html');return false;">
|
|
245
|
+
<span class="method-name">new</span><span class="method-args">()</span>
|
|
246
|
+
</a>
|
|
247
|
+
</div>
|
|
248
|
+
|
|
249
|
+
<div class="method-description">
|
|
250
|
+
</div>
|
|
251
|
+
</div>
|
|
252
|
+
|
|
253
|
+
<h3 class="section-bar">Public Instance methods</h3>
|
|
254
|
+
|
|
255
|
+
<div id="method-M000052" class="method-detail">
|
|
256
|
+
<a name="M000052"></a>
|
|
257
|
+
|
|
258
|
+
<div class="method-heading">
|
|
259
|
+
<a href="MIDIFile.src/M000052.html" target="Code" class="method-signature"
|
|
260
|
+
onclick="popupCode('MIDIFile.src/M000052.html');return false;">
|
|
261
|
+
<span class="method-name">arbitrary</span><span class="method-args">(msg)</span>
|
|
262
|
+
</a>
|
|
263
|
+
</div>
|
|
264
|
+
|
|
265
|
+
<div class="method-description">
|
|
266
|
+
</div>
|
|
267
|
+
</div>
|
|
268
|
+
|
|
269
|
+
<div id="method-M000056" class="method-detail">
|
|
270
|
+
<a name="M000056"></a>
|
|
271
|
+
|
|
272
|
+
<div class="method-heading">
|
|
273
|
+
<a href="MIDIFile.src/M000056.html" target="Code" class="method-signature"
|
|
274
|
+
onclick="popupCode('MIDIFile.src/M000056.html');return false;">
|
|
275
|
+
<span class="method-name">bad_byte</span><span class="method-args">(c)</span>
|
|
276
|
+
</a>
|
|
277
|
+
</div>
|
|
278
|
+
|
|
279
|
+
<div class="method-description">
|
|
280
|
+
<p>
|
|
281
|
+
Handle an unexpected byte.
|
|
282
|
+
</p>
|
|
283
|
+
</div>
|
|
284
|
+
</div>
|
|
285
|
+
|
|
286
|
+
<div id="method-M000058" class="method-detail">
|
|
287
|
+
<a name="M000058"></a>
|
|
288
|
+
|
|
289
|
+
<div class="method-heading">
|
|
290
|
+
<a href="MIDIFile.src/M000058.html" target="Code" class="method-signature"
|
|
291
|
+
onclick="popupCode('MIDIFile.src/M000058.html');return false;">
|
|
292
|
+
<span class="method-name">chan_message</span><span class="method-args">(running, status, c1, c2)</span>
|
|
293
|
+
</a>
|
|
294
|
+
</div>
|
|
295
|
+
|
|
296
|
+
<div class="method-description">
|
|
297
|
+
<p>
|
|
298
|
+
Handle a channel message (note on, note off, etc.)
|
|
299
|
+
</p>
|
|
300
|
+
</div>
|
|
301
|
+
</div>
|
|
302
|
+
|
|
303
|
+
<div id="method-M000041" class="method-detail">
|
|
304
|
+
<a name="M000041"></a>
|
|
305
|
+
|
|
306
|
+
<div class="method-heading">
|
|
307
|
+
<a href="MIDIFile.src/M000041.html" target="Code" class="method-signature"
|
|
308
|
+
onclick="popupCode('MIDIFile.src/M000041.html');return false;">
|
|
309
|
+
<span class="method-name">chan_pressure</span><span class="method-args">(chan, press)</span>
|
|
310
|
+
</a>
|
|
311
|
+
</div>
|
|
312
|
+
|
|
313
|
+
<div class="method-description">
|
|
314
|
+
</div>
|
|
315
|
+
</div>
|
|
316
|
+
|
|
317
|
+
<div id="method-M000038" class="method-detail">
|
|
318
|
+
<a name="M000038"></a>
|
|
319
|
+
|
|
320
|
+
<div class="method-heading">
|
|
321
|
+
<a href="MIDIFile.src/M000038.html" target="Code" class="method-signature"
|
|
322
|
+
onclick="popupCode('MIDIFile.src/M000038.html');return false;">
|
|
323
|
+
<span class="method-name">controller</span><span class="method-args">(chan, control, value)</span>
|
|
324
|
+
</a>
|
|
325
|
+
</div>
|
|
326
|
+
|
|
327
|
+
<div class="method-description">
|
|
328
|
+
</div>
|
|
329
|
+
</div>
|
|
330
|
+
|
|
331
|
+
<div id="method-M000034" class="method-detail">
|
|
332
|
+
<a name="M000034"></a>
|
|
333
|
+
|
|
334
|
+
<div class="method-heading">
|
|
335
|
+
<a href="MIDIFile.src/M000034.html" target="Code" class="method-signature"
|
|
336
|
+
onclick="popupCode('MIDIFile.src/M000034.html');return false;">
|
|
337
|
+
<span class="method-name">end_track</span><span class="method-args">()</span>
|
|
338
|
+
</a>
|
|
339
|
+
</div>
|
|
340
|
+
|
|
341
|
+
<div class="method-description">
|
|
342
|
+
</div>
|
|
343
|
+
</div>
|
|
344
|
+
|
|
345
|
+
<div id="method-M000047" class="method-detail">
|
|
346
|
+
<a name="M000047"></a>
|
|
347
|
+
|
|
348
|
+
<div class="method-heading">
|
|
349
|
+
<a href="MIDIFile.src/M000047.html" target="Code" class="method-signature"
|
|
350
|
+
onclick="popupCode('MIDIFile.src/M000047.html');return false;">
|
|
351
|
+
<span class="method-name">eot</span><span class="method-args">()</span>
|
|
352
|
+
</a>
|
|
353
|
+
</div>
|
|
354
|
+
|
|
355
|
+
<div class="method-description">
|
|
356
|
+
</div>
|
|
357
|
+
</div>
|
|
358
|
+
|
|
359
|
+
<div id="method-M000031" class="method-detail">
|
|
360
|
+
<a name="M000031"></a>
|
|
361
|
+
|
|
362
|
+
<div class="method-heading">
|
|
363
|
+
<a href="MIDIFile.src/M000031.html" target="Code" class="method-signature"
|
|
364
|
+
onclick="popupCode('MIDIFile.src/M000031.html');return false;">
|
|
365
|
+
<span class="method-name">error</span><span class="method-args">(str)</span>
|
|
366
|
+
</a>
|
|
367
|
+
</div>
|
|
368
|
+
|
|
369
|
+
<div class="method-description">
|
|
370
|
+
<p>
|
|
371
|
+
The default error handler.
|
|
372
|
+
</p>
|
|
373
|
+
</div>
|
|
374
|
+
</div>
|
|
375
|
+
|
|
376
|
+
<div id="method-M000030" class="method-detail">
|
|
377
|
+
<a name="M000030"></a>
|
|
378
|
+
|
|
379
|
+
<div class="method-heading">
|
|
380
|
+
<a href="MIDIFile.src/M000030.html" target="Code" class="method-signature"
|
|
381
|
+
onclick="popupCode('MIDIFile.src/M000030.html');return false;">
|
|
382
|
+
<span class="method-name">getc</span><span class="method-args">()</span>
|
|
383
|
+
</a>
|
|
384
|
+
</div>
|
|
385
|
+
|
|
386
|
+
<div class="method-description">
|
|
387
|
+
<p>
|
|
388
|
+
This default getc implementation tries to read a single character from io.
|
|
389
|
+
</p>
|
|
390
|
+
</div>
|
|
391
|
+
</div>
|
|
392
|
+
|
|
393
|
+
<div id="method-M000060" class="method-detail">
|
|
394
|
+
<a name="M000060"></a>
|
|
395
|
+
|
|
396
|
+
<div class="method-heading">
|
|
397
|
+
<a href="MIDIFile.src/M000060.html" target="Code" class="method-signature"
|
|
398
|
+
onclick="popupCode('MIDIFile.src/M000060.html');return false;">
|
|
399
|
+
<span class="method-name">handle_arbitrary</span><span class="method-args">(msg)</span>
|
|
400
|
+
</a>
|
|
401
|
+
</div>
|
|
402
|
+
|
|
403
|
+
<div class="method-description">
|
|
404
|
+
<p>
|
|
405
|
+
Copy message into raw data array, then call arbitrary().
|
|
406
|
+
</p>
|
|
407
|
+
</div>
|
|
408
|
+
</div>
|
|
409
|
+
|
|
410
|
+
<div id="method-M000059" class="method-detail">
|
|
411
|
+
<a name="M000059"></a>
|
|
412
|
+
|
|
413
|
+
<div class="method-heading">
|
|
414
|
+
<a href="MIDIFile.src/M000059.html" target="Code" class="method-signature"
|
|
415
|
+
onclick="popupCode('MIDIFile.src/M000059.html');return false;">
|
|
416
|
+
<span class="method-name">handle_sysex</span><span class="method-args">(msg)</span>
|
|
417
|
+
</a>
|
|
418
|
+
</div>
|
|
419
|
+
|
|
420
|
+
<div class="method-description">
|
|
421
|
+
<p>
|
|
422
|
+
Copy message into raw data array, then call sysex().
|
|
423
|
+
</p>
|
|
424
|
+
</div>
|
|
425
|
+
</div>
|
|
426
|
+
|
|
427
|
+
<div id="method-M000032" class="method-detail">
|
|
428
|
+
<a name="M000032"></a>
|
|
429
|
+
|
|
430
|
+
<div class="method-heading">
|
|
431
|
+
<a href="MIDIFile.src/M000032.html" target="Code" class="method-signature"
|
|
432
|
+
onclick="popupCode('MIDIFile.src/M000032.html');return false;">
|
|
433
|
+
<span class="method-name">header</span><span class="method-args">(format, ntrks, division)</span>
|
|
434
|
+
</a>
|
|
435
|
+
</div>
|
|
436
|
+
|
|
437
|
+
<div class="method-description">
|
|
438
|
+
<p>
|
|
439
|
+
<a href="../../MIDI.html">MIDI</a> header.
|
|
440
|
+
</p>
|
|
441
|
+
</div>
|
|
442
|
+
</div>
|
|
443
|
+
|
|
444
|
+
<div id="method-M000051" class="method-detail">
|
|
445
|
+
<a name="M000051"></a>
|
|
446
|
+
|
|
447
|
+
<div class="method-heading">
|
|
448
|
+
<a href="MIDIFile.src/M000051.html" target="Code" class="method-signature"
|
|
449
|
+
onclick="popupCode('MIDIFile.src/M000051.html');return false;">
|
|
450
|
+
<span class="method-name">key_signature</span><span class="method-args">(sharpflat, is_minor)</span>
|
|
451
|
+
</a>
|
|
452
|
+
</div>
|
|
453
|
+
|
|
454
|
+
<div class="method-description">
|
|
455
|
+
</div>
|
|
456
|
+
</div>
|
|
457
|
+
|
|
458
|
+
<div id="method-M000057" class="method-detail">
|
|
459
|
+
<a name="M000057"></a>
|
|
460
|
+
|
|
461
|
+
<div class="method-heading">
|
|
462
|
+
<a href="MIDIFile.src/M000057.html" target="Code" class="method-signature"
|
|
463
|
+
onclick="popupCode('MIDIFile.src/M000057.html');return false;">
|
|
464
|
+
<span class="method-name">meta_event</span><span class="method-args">(type)</span>
|
|
465
|
+
</a>
|
|
466
|
+
</div>
|
|
467
|
+
|
|
468
|
+
<div class="method-description">
|
|
469
|
+
<p>
|
|
470
|
+
Handle a meta event.
|
|
471
|
+
</p>
|
|
472
|
+
</div>
|
|
473
|
+
</div>
|
|
474
|
+
|
|
475
|
+
<div id="method-M000043" class="method-detail">
|
|
476
|
+
<a name="M000043"></a>
|
|
477
|
+
|
|
478
|
+
<div class="method-heading">
|
|
479
|
+
<a href="MIDIFile.src/M000043.html" target="Code" class="method-signature"
|
|
480
|
+
onclick="popupCode('MIDIFile.src/M000043.html');return false;">
|
|
481
|
+
<span class="method-name">meta_misc</span><span class="method-args">(type, msg)</span>
|
|
482
|
+
</a>
|
|
483
|
+
</div>
|
|
484
|
+
|
|
485
|
+
<div class="method-description">
|
|
486
|
+
</div>
|
|
487
|
+
</div>
|
|
488
|
+
|
|
489
|
+
<div id="method-M000070" class="method-detail">
|
|
490
|
+
<a name="M000070"></a>
|
|
491
|
+
|
|
492
|
+
<div class="method-heading">
|
|
493
|
+
<a href="MIDIFile.src/M000070.html" target="Code" class="method-signature"
|
|
494
|
+
onclick="popupCode('MIDIFile.src/M000070.html');return false;">
|
|
495
|
+
<span class="method-name">msg</span><span class="method-args">()</span>
|
|
496
|
+
</a>
|
|
497
|
+
</div>
|
|
498
|
+
|
|
499
|
+
<div class="method-description">
|
|
500
|
+
<p>
|
|
501
|
+
Return a copy of the internal message buffer.
|
|
502
|
+
</p>
|
|
503
|
+
</div>
|
|
504
|
+
</div>
|
|
505
|
+
|
|
506
|
+
<div id="method-M000067" class="method-detail">
|
|
507
|
+
<a name="M000067"></a>
|
|
508
|
+
|
|
509
|
+
<div class="method-heading">
|
|
510
|
+
<a href="MIDIFile.src/M000067.html" target="Code" class="method-signature"
|
|
511
|
+
onclick="popupCode('MIDIFile.src/M000067.html');return false;">
|
|
512
|
+
<span class="method-name">msg_add</span><span class="method-args">(c)</span>
|
|
513
|
+
</a>
|
|
514
|
+
</div>
|
|
515
|
+
|
|
516
|
+
<div class="method-description">
|
|
517
|
+
<p>
|
|
518
|
+
Add a byte to the current message buffer.
|
|
519
|
+
</p>
|
|
520
|
+
</div>
|
|
521
|
+
</div>
|
|
522
|
+
|
|
523
|
+
<div id="method-M000069" class="method-detail">
|
|
524
|
+
<a name="M000069"></a>
|
|
525
|
+
|
|
526
|
+
<div class="method-heading">
|
|
527
|
+
<a href="MIDIFile.src/M000069.html" target="Code" class="method-signature"
|
|
528
|
+
onclick="popupCode('MIDIFile.src/M000069.html');return false;">
|
|
529
|
+
<span class="method-name">msg_init</span><span class="method-args">()</span>
|
|
530
|
+
</a>
|
|
531
|
+
</div>
|
|
532
|
+
|
|
533
|
+
<div class="method-description">
|
|
534
|
+
<p>
|
|
535
|
+
Initialize the internal message buffer.
|
|
536
|
+
</p>
|
|
537
|
+
</div>
|
|
538
|
+
</div>
|
|
539
|
+
|
|
540
|
+
<div id="method-M000068" class="method-detail">
|
|
541
|
+
<a name="M000068"></a>
|
|
542
|
+
|
|
543
|
+
<div class="method-heading">
|
|
544
|
+
<a href="MIDIFile.src/M000068.html" target="Code" class="method-signature"
|
|
545
|
+
onclick="popupCode('MIDIFile.src/M000068.html');return false;">
|
|
546
|
+
<span class="method-name">msg_read</span><span class="method-args">(n_bytes)</span>
|
|
547
|
+
</a>
|
|
548
|
+
</div>
|
|
549
|
+
|
|
550
|
+
<div class="method-description">
|
|
551
|
+
<p>
|
|
552
|
+
Read and add a number of bytes to the message buffer. Return the last byte
|
|
553
|
+
(so we can see if it’s an EOX or not).
|
|
554
|
+
</p>
|
|
555
|
+
</div>
|
|
556
|
+
</div>
|
|
557
|
+
|
|
558
|
+
<div id="method-M000036" class="method-detail">
|
|
559
|
+
<a name="M000036"></a>
|
|
560
|
+
|
|
561
|
+
<div class="method-heading">
|
|
562
|
+
<a href="MIDIFile.src/M000036.html" target="Code" class="method-signature"
|
|
563
|
+
onclick="popupCode('MIDIFile.src/M000036.html');return false;">
|
|
564
|
+
<span class="method-name">note_off</span><span class="method-args">(chan, note, vel)</span>
|
|
565
|
+
</a>
|
|
566
|
+
</div>
|
|
567
|
+
|
|
568
|
+
<div class="method-description">
|
|
569
|
+
</div>
|
|
570
|
+
</div>
|
|
571
|
+
|
|
572
|
+
<div id="method-M000035" class="method-detail">
|
|
573
|
+
<a name="M000035"></a>
|
|
574
|
+
|
|
575
|
+
<div class="method-heading">
|
|
576
|
+
<a href="MIDIFile.src/M000035.html" target="Code" class="method-signature"
|
|
577
|
+
onclick="popupCode('MIDIFile.src/M000035.html');return false;">
|
|
578
|
+
<span class="method-name">note_on</span><span class="method-args">(chan, note, vel)</span>
|
|
579
|
+
</a>
|
|
580
|
+
</div>
|
|
581
|
+
|
|
582
|
+
<div class="method-description">
|
|
583
|
+
</div>
|
|
584
|
+
</div>
|
|
585
|
+
|
|
586
|
+
<div id="method-M000039" class="method-detail">
|
|
587
|
+
<a name="M000039"></a>
|
|
588
|
+
|
|
589
|
+
<div class="method-heading">
|
|
590
|
+
<a href="MIDIFile.src/M000039.html" target="Code" class="method-signature"
|
|
591
|
+
onclick="popupCode('MIDIFile.src/M000039.html');return false;">
|
|
592
|
+
<span class="method-name">pitch_bend</span><span class="method-args">(chan, msb, lsb)</span>
|
|
593
|
+
</a>
|
|
594
|
+
</div>
|
|
595
|
+
|
|
596
|
+
<div class="method-description">
|
|
597
|
+
</div>
|
|
598
|
+
</div>
|
|
599
|
+
|
|
600
|
+
<div id="method-M000037" class="method-detail">
|
|
601
|
+
<a name="M000037"></a>
|
|
602
|
+
|
|
603
|
+
<div class="method-heading">
|
|
604
|
+
<a href="MIDIFile.src/M000037.html" target="Code" class="method-signature"
|
|
605
|
+
onclick="popupCode('MIDIFile.src/M000037.html');return false;">
|
|
606
|
+
<span class="method-name">pressure</span><span class="method-args">(chan, note, press)</span>
|
|
607
|
+
</a>
|
|
608
|
+
</div>
|
|
609
|
+
|
|
610
|
+
<div class="method-description">
|
|
611
|
+
</div>
|
|
612
|
+
</div>
|
|
613
|
+
|
|
614
|
+
<div id="method-M000040" class="method-detail">
|
|
615
|
+
<a name="M000040"></a>
|
|
616
|
+
|
|
617
|
+
<div class="method-heading">
|
|
618
|
+
<a href="MIDIFile.src/M000040.html" target="Code" class="method-signature"
|
|
619
|
+
onclick="popupCode('MIDIFile.src/M000040.html');return false;">
|
|
620
|
+
<span class="method-name">program</span><span class="method-args">(chan, program)</span>
|
|
621
|
+
</a>
|
|
622
|
+
</div>
|
|
623
|
+
|
|
624
|
+
<div class="method-description">
|
|
625
|
+
</div>
|
|
626
|
+
</div>
|
|
627
|
+
|
|
628
|
+
<div id="method-M000061" class="method-detail">
|
|
629
|
+
<a name="M000061"></a>
|
|
630
|
+
|
|
631
|
+
<div class="method-heading">
|
|
632
|
+
<a href="MIDIFile.src/M000061.html" target="Code" class="method-signature"
|
|
633
|
+
onclick="popupCode('MIDIFile.src/M000061.html');return false;">
|
|
634
|
+
<span class="method-name">read16</span><span class="method-args">()</span>
|
|
635
|
+
</a>
|
|
636
|
+
</div>
|
|
637
|
+
|
|
638
|
+
<div class="method-description">
|
|
639
|
+
<p>
|
|
640
|
+
Read and return a sixteen bit value.
|
|
641
|
+
</p>
|
|
642
|
+
</div>
|
|
643
|
+
</div>
|
|
644
|
+
|
|
645
|
+
<div id="method-M000062" class="method-detail">
|
|
646
|
+
<a name="M000062"></a>
|
|
647
|
+
|
|
648
|
+
<div class="method-heading">
|
|
649
|
+
<a href="MIDIFile.src/M000062.html" target="Code" class="method-signature"
|
|
650
|
+
onclick="popupCode('MIDIFile.src/M000062.html');return false;">
|
|
651
|
+
<span class="method-name">read32</span><span class="method-args">()</span>
|
|
652
|
+
</a>
|
|
653
|
+
</div>
|
|
654
|
+
|
|
655
|
+
<div class="method-description">
|
|
656
|
+
<p>
|
|
657
|
+
Read and return a 32-bit value.
|
|
658
|
+
</p>
|
|
659
|
+
</div>
|
|
660
|
+
</div>
|
|
661
|
+
|
|
662
|
+
<div id="method-M000029" class="method-detail">
|
|
663
|
+
<a name="M000029"></a>
|
|
664
|
+
|
|
665
|
+
<div class="method-heading">
|
|
666
|
+
<a href="MIDIFile.src/M000029.html" target="Code" class="method-signature"
|
|
667
|
+
onclick="popupCode('MIDIFile.src/M000029.html');return false;">
|
|
668
|
+
<span class="method-name">read_from</span><span class="method-args">(io)</span>
|
|
669
|
+
</a>
|
|
670
|
+
</div>
|
|
671
|
+
|
|
672
|
+
<div class="method-description">
|
|
673
|
+
<p>
|
|
674
|
+
The only public method. Each <a href="../../MIDI.html">MIDI</a> event in
|
|
675
|
+
the file causes a method to be called.
|
|
676
|
+
</p>
|
|
677
|
+
</div>
|
|
678
|
+
</div>
|
|
679
|
+
|
|
680
|
+
<div id="method-M000054" class="method-detail">
|
|
681
|
+
<a name="M000054"></a>
|
|
682
|
+
|
|
683
|
+
<div class="method-heading">
|
|
684
|
+
<a href="MIDIFile.src/M000054.html" target="Code" class="method-signature"
|
|
685
|
+
onclick="popupCode('MIDIFile.src/M000054.html');return false;">
|
|
686
|
+
<span class="method-name">read_header</span><span class="method-args">()</span>
|
|
687
|
+
</a>
|
|
688
|
+
</div>
|
|
689
|
+
|
|
690
|
+
<div class="method-description">
|
|
691
|
+
<p>
|
|
692
|
+
Read a header chunk.
|
|
693
|
+
</p>
|
|
694
|
+
</div>
|
|
695
|
+
</div>
|
|
696
|
+
|
|
697
|
+
<div id="method-M000053" class="method-detail">
|
|
698
|
+
<a name="M000053"></a>
|
|
699
|
+
|
|
700
|
+
<div class="method-heading">
|
|
701
|
+
<a href="MIDIFile.src/M000053.html" target="Code" class="method-signature"
|
|
702
|
+
onclick="popupCode('MIDIFile.src/M000053.html');return false;">
|
|
703
|
+
<span class="method-name">read_mt_header_string</span><span class="method-args">(s, skip)</span>
|
|
704
|
+
</a>
|
|
705
|
+
</div>
|
|
706
|
+
|
|
707
|
+
<div class="method-description">
|
|
708
|
+
<p>
|
|
709
|
+
Read through ‘MThd’ or ‘MTrk’ header string. If
|
|
710
|
+
skip is true, attempt to skip initial trash. If there is an error, <a
|
|
711
|
+
href="MIDIFile.html#M000031">error</a> is called.
|
|
712
|
+
</p>
|
|
713
|
+
</div>
|
|
714
|
+
</div>
|
|
715
|
+
|
|
716
|
+
<div id="method-M000055" class="method-detail">
|
|
717
|
+
<a name="M000055"></a>
|
|
718
|
+
|
|
719
|
+
<div class="method-heading">
|
|
720
|
+
<a href="MIDIFile.src/M000055.html" target="Code" class="method-signature"
|
|
721
|
+
onclick="popupCode('MIDIFile.src/M000055.html');return false;">
|
|
722
|
+
<span class="method-name">read_track</span><span class="method-args">()</span>
|
|
723
|
+
</a>
|
|
724
|
+
</div>
|
|
725
|
+
|
|
726
|
+
<div class="method-description">
|
|
727
|
+
<p>
|
|
728
|
+
Read a track chunk.
|
|
729
|
+
</p>
|
|
730
|
+
</div>
|
|
731
|
+
</div>
|
|
732
|
+
|
|
733
|
+
<div id="method-M000063" class="method-detail">
|
|
734
|
+
<a name="M000063"></a>
|
|
735
|
+
|
|
736
|
+
<div class="method-heading">
|
|
737
|
+
<a href="MIDIFile.src/M000063.html" target="Code" class="method-signature"
|
|
738
|
+
onclick="popupCode('MIDIFile.src/M000063.html');return false;">
|
|
739
|
+
<span class="method-name">read_var_len</span><span class="method-args">()</span>
|
|
740
|
+
</a>
|
|
741
|
+
</div>
|
|
742
|
+
|
|
743
|
+
<div class="method-description">
|
|
744
|
+
<p>
|
|
745
|
+
Read a varlen value.
|
|
746
|
+
</p>
|
|
747
|
+
</div>
|
|
748
|
+
</div>
|
|
749
|
+
|
|
750
|
+
<div id="method-M000045" class="method-detail">
|
|
751
|
+
<a name="M000045"></a>
|
|
752
|
+
|
|
753
|
+
<div class="method-heading">
|
|
754
|
+
<a href="MIDIFile.src/M000045.html" target="Code" class="method-signature"
|
|
755
|
+
onclick="popupCode('MIDIFile.src/M000045.html');return false;">
|
|
756
|
+
<span class="method-name">sequence_number</span><span class="method-args">(num)</span>
|
|
757
|
+
</a>
|
|
758
|
+
</div>
|
|
759
|
+
|
|
760
|
+
<div class="method-description">
|
|
761
|
+
</div>
|
|
762
|
+
</div>
|
|
763
|
+
|
|
764
|
+
<div id="method-M000044" class="method-detail">
|
|
765
|
+
<a name="M000044"></a>
|
|
766
|
+
|
|
767
|
+
<div class="method-heading">
|
|
768
|
+
<a href="MIDIFile.src/M000044.html" target="Code" class="method-signature"
|
|
769
|
+
onclick="popupCode('MIDIFile.src/M000044.html');return false;">
|
|
770
|
+
<span class="method-name">sequencer_specific</span><span class="method-args">(type, msg)</span>
|
|
771
|
+
</a>
|
|
772
|
+
</div>
|
|
773
|
+
|
|
774
|
+
<div class="method-description">
|
|
775
|
+
</div>
|
|
776
|
+
</div>
|
|
777
|
+
|
|
778
|
+
<div id="method-M000049" class="method-detail">
|
|
779
|
+
<a name="M000049"></a>
|
|
780
|
+
|
|
781
|
+
<div class="method-heading">
|
|
782
|
+
<a href="MIDIFile.src/M000049.html" target="Code" class="method-signature"
|
|
783
|
+
onclick="popupCode('MIDIFile.src/M000049.html');return false;">
|
|
784
|
+
<span class="method-name">smpte</span><span class="method-args">(hour, min, sec, frame, fract)</span>
|
|
785
|
+
</a>
|
|
786
|
+
</div>
|
|
787
|
+
|
|
788
|
+
<div class="method-description">
|
|
789
|
+
</div>
|
|
790
|
+
</div>
|
|
791
|
+
|
|
792
|
+
<div id="method-M000033" class="method-detail">
|
|
793
|
+
<a name="M000033"></a>
|
|
794
|
+
|
|
795
|
+
<div class="method-heading">
|
|
796
|
+
<a href="MIDIFile.src/M000033.html" target="Code" class="method-signature"
|
|
797
|
+
onclick="popupCode('MIDIFile.src/M000033.html');return false;">
|
|
798
|
+
<span class="method-name">start_track</span><span class="method-args">(bytes_to_be_read)</span>
|
|
799
|
+
</a>
|
|
800
|
+
</div>
|
|
801
|
+
|
|
802
|
+
<div class="method-description">
|
|
803
|
+
</div>
|
|
804
|
+
</div>
|
|
805
|
+
|
|
806
|
+
<div id="method-M000042" class="method-detail">
|
|
807
|
+
<a name="M000042"></a>
|
|
808
|
+
|
|
809
|
+
<div class="method-heading">
|
|
810
|
+
<a href="MIDIFile.src/M000042.html" target="Code" class="method-signature"
|
|
811
|
+
onclick="popupCode('MIDIFile.src/M000042.html');return false;">
|
|
812
|
+
<span class="method-name">sysex</span><span class="method-args">(msg)</span>
|
|
813
|
+
</a>
|
|
814
|
+
</div>
|
|
815
|
+
|
|
816
|
+
<div class="method-description">
|
|
817
|
+
</div>
|
|
818
|
+
</div>
|
|
819
|
+
|
|
820
|
+
<div id="method-M000050" class="method-detail">
|
|
821
|
+
<a name="M000050"></a>
|
|
822
|
+
|
|
823
|
+
<div class="method-heading">
|
|
824
|
+
<a href="MIDIFile.src/M000050.html" target="Code" class="method-signature"
|
|
825
|
+
onclick="popupCode('MIDIFile.src/M000050.html');return false;">
|
|
826
|
+
<span class="method-name">tempo</span><span class="method-args">(microsecs)</span>
|
|
827
|
+
</a>
|
|
828
|
+
</div>
|
|
829
|
+
|
|
830
|
+
<div class="method-description">
|
|
831
|
+
</div>
|
|
832
|
+
</div>
|
|
833
|
+
|
|
834
|
+
<div id="method-M000046" class="method-detail">
|
|
835
|
+
<a name="M000046"></a>
|
|
836
|
+
|
|
837
|
+
<div class="method-heading">
|
|
838
|
+
<a href="MIDIFile.src/M000046.html" target="Code" class="method-signature"
|
|
839
|
+
onclick="popupCode('MIDIFile.src/M000046.html');return false;">
|
|
840
|
+
<span class="method-name">text</span><span class="method-args">(type, msg)</span>
|
|
841
|
+
</a>
|
|
842
|
+
</div>
|
|
843
|
+
|
|
844
|
+
<div class="method-description">
|
|
845
|
+
</div>
|
|
846
|
+
</div>
|
|
847
|
+
|
|
848
|
+
<div id="method-M000048" class="method-detail">
|
|
849
|
+
<a name="M000048"></a>
|
|
850
|
+
|
|
851
|
+
<div class="method-heading">
|
|
852
|
+
<a href="MIDIFile.src/M000048.html" target="Code" class="method-signature"
|
|
853
|
+
onclick="popupCode('MIDIFile.src/M000048.html');return false;">
|
|
854
|
+
<span class="method-name">time_signature</span><span class="method-args">(numer, denom, clocks, qnotes)</span>
|
|
855
|
+
</a>
|
|
856
|
+
</div>
|
|
857
|
+
|
|
858
|
+
<div class="method-description">
|
|
859
|
+
</div>
|
|
860
|
+
</div>
|
|
861
|
+
|
|
862
|
+
<div id="method-M000064" class="method-detail">
|
|
863
|
+
<a name="M000064"></a>
|
|
864
|
+
|
|
865
|
+
<div class="method-heading">
|
|
866
|
+
<a href="MIDIFile.src/M000064.html" target="Code" class="method-signature"
|
|
867
|
+
onclick="popupCode('MIDIFile.src/M000064.html');return false;">
|
|
868
|
+
<span class="method-name">write16</span><span class="method-args">(val)</span>
|
|
869
|
+
</a>
|
|
870
|
+
</div>
|
|
871
|
+
|
|
872
|
+
<div class="method-description">
|
|
873
|
+
<p>
|
|
874
|
+
Write a sixteen-bit value.
|
|
875
|
+
</p>
|
|
876
|
+
</div>
|
|
877
|
+
</div>
|
|
878
|
+
|
|
879
|
+
<div id="method-M000065" class="method-detail">
|
|
880
|
+
<a name="M000065"></a>
|
|
881
|
+
|
|
882
|
+
<div class="method-heading">
|
|
883
|
+
<a href="MIDIFile.src/M000065.html" target="Code" class="method-signature"
|
|
884
|
+
onclick="popupCode('MIDIFile.src/M000065.html');return false;">
|
|
885
|
+
<span class="method-name">write32</span><span class="method-args">(val)</span>
|
|
886
|
+
</a>
|
|
887
|
+
</div>
|
|
888
|
+
|
|
889
|
+
<div class="method-description">
|
|
890
|
+
<p>
|
|
891
|
+
Write a 32-bit value.
|
|
892
|
+
</p>
|
|
893
|
+
</div>
|
|
894
|
+
</div>
|
|
895
|
+
|
|
896
|
+
<div id="method-M000066" class="method-detail">
|
|
897
|
+
<a name="M000066"></a>
|
|
898
|
+
|
|
899
|
+
<div class="method-heading">
|
|
900
|
+
<a href="MIDIFile.src/M000066.html" target="Code" class="method-signature"
|
|
901
|
+
onclick="popupCode('MIDIFile.src/M000066.html');return false;">
|
|
902
|
+
<span class="method-name">write_var_len</span><span class="method-args">(val)</span>
|
|
903
|
+
</a>
|
|
904
|
+
</div>
|
|
905
|
+
|
|
906
|
+
<div class="method-description">
|
|
907
|
+
<p>
|
|
908
|
+
Write a variable length value.
|
|
909
|
+
</p>
|
|
910
|
+
</div>
|
|
911
|
+
</div>
|
|
912
|
+
|
|
913
|
+
|
|
914
|
+
</div>
|
|
915
|
+
|
|
916
|
+
|
|
917
|
+
</div>
|
|
918
|
+
|
|
919
|
+
|
|
920
|
+
<div id="validator-badges">
|
|
921
|
+
<p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
|
|
922
|
+
</div>
|
|
923
|
+
|
|
924
|
+
</body>
|
|
925
|
+
</html>
|