midilib 1.2.0 → 1.2.1
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/Credits +5 -0
- data/README.rdoc +7 -0
- data/lib/midilib/event.rb +37 -10
- data/lib/midilib/info.rb +1 -1
- data/lib/midilib/track.rb +15 -2
- data/test/test_event.rb +29 -0
- data/test/test_io.rb +7 -0
- data/test/test_track.rb +5 -0
- metadata +2 -301
- data/html/classes/IO.html +0 -137
- data/html/classes/IO.src/M000001.html +0 -20
- data/html/classes/MIDI/ActiveSense.html +0 -156
- data/html/classes/MIDI/ActiveSense.src/M000160.html +0 -18
- data/html/classes/MIDI/ActiveSense.src/M000161.html +0 -18
- data/html/classes/MIDI/ChannelEvent.html +0 -179
- data/html/classes/MIDI/ChannelEvent.src/M000132.html +0 -20
- data/html/classes/MIDI/ChannelEvent.src/M000133.html +0 -18
- data/html/classes/MIDI/ChannelPressure.html +0 -184
- data/html/classes/MIDI/ChannelPressure.src/M000092.html +0 -19
- data/html/classes/MIDI/ChannelPressure.src/M000093.html +0 -20
- data/html/classes/MIDI/ChannelPressure.src/M000094.html +0 -18
- data/html/classes/MIDI/Clock.html +0 -156
- data/html/classes/MIDI/Clock.src/M000148.html +0 -18
- data/html/classes/MIDI/Clock.src/M000149.html +0 -18
- data/html/classes/MIDI/Continue.html +0 -156
- data/html/classes/MIDI/Continue.src/M000146.html +0 -18
- data/html/classes/MIDI/Continue.src/M000147.html +0 -18
- data/html/classes/MIDI/Controller.html +0 -189
- data/html/classes/MIDI/Controller.src/M000137.html +0 -21
- data/html/classes/MIDI/Controller.src/M000138.html +0 -21
- data/html/classes/MIDI/Controller.src/M000139.html +0 -18
- data/html/classes/MIDI/Event.html +0 -507
- data/html/classes/MIDI/Event.src/M000169.html +0 -30
- data/html/classes/MIDI/Event.src/M000170.html +0 -18
- data/html/classes/MIDI/Event.src/M000171.html +0 -18
- data/html/classes/MIDI/Event.src/M000172.html +0 -18
- data/html/classes/MIDI/Event.src/M000173.html +0 -18
- data/html/classes/MIDI/Event.src/M000174.html +0 -18
- data/html/classes/MIDI/Event.src/M000175.html +0 -18
- data/html/classes/MIDI/Event.src/M000176.html +0 -18
- data/html/classes/MIDI/Event.src/M000177.html +0 -18
- data/html/classes/MIDI/Event.src/M000178.html +0 -18
- data/html/classes/MIDI/Event.src/M000179.html +0 -18
- data/html/classes/MIDI/Event.src/M000180.html +0 -18
- data/html/classes/MIDI/Event.src/M000181.html +0 -22
- data/html/classes/MIDI/Event.src/M000182.html +0 -18
- data/html/classes/MIDI/Event.src/M000183.html +0 -18
- data/html/classes/MIDI/Event.src/M000184.html +0 -19
- data/html/classes/MIDI/Event.src/M000185.html +0 -18
- data/html/classes/MIDI/IO/MIDIFile.html +0 -959
- data/html/classes/MIDI/IO/MIDIFile.src/M000031.html +0 -22
- data/html/classes/MIDI/IO/MIDIFile.src/M000032.html +0 -24
- data/html/classes/MIDI/IO/MIDIFile.src/M000033.html +0 -19
- data/html/classes/MIDI/IO/MIDIFile.src/M000034.html +0 -20
- data/html/classes/MIDI/IO/MIDIFile.src/M000035.html +0 -19
- data/html/classes/MIDI/IO/MIDIFile.src/M000036.html +0 -17
- data/html/classes/MIDI/IO/MIDIFile.src/M000037.html +0 -17
- data/html/classes/MIDI/IO/MIDIFile.src/M000038.html +0 -17
- data/html/classes/MIDI/IO/MIDIFile.src/M000039.html +0 -17
- data/html/classes/MIDI/IO/MIDIFile.src/M000040.html +0 -17
- data/html/classes/MIDI/IO/MIDIFile.src/M000041.html +0 -17
- data/html/classes/MIDI/IO/MIDIFile.src/M000042.html +0 -17
- data/html/classes/MIDI/IO/MIDIFile.src/M000043.html +0 -17
- data/html/classes/MIDI/IO/MIDIFile.src/M000044.html +0 -17
- data/html/classes/MIDI/IO/MIDIFile.src/M000045.html +0 -17
- data/html/classes/MIDI/IO/MIDIFile.src/M000046.html +0 -17
- data/html/classes/MIDI/IO/MIDIFile.src/M000047.html +0 -17
- data/html/classes/MIDI/IO/MIDIFile.src/M000048.html +0 -17
- data/html/classes/MIDI/IO/MIDIFile.src/M000049.html +0 -17
- data/html/classes/MIDI/IO/MIDIFile.src/M000050.html +0 -17
- data/html/classes/MIDI/IO/MIDIFile.src/M000051.html +0 -17
- data/html/classes/MIDI/IO/MIDIFile.src/M000052.html +0 -17
- data/html/classes/MIDI/IO/MIDIFile.src/M000053.html +0 -17
- data/html/classes/MIDI/IO/MIDIFile.src/M000054.html +0 -17
- data/html/classes/MIDI/IO/MIDIFile.src/M000055.html +0 -17
- data/html/classes/MIDI/IO/MIDIFile.src/M000056.html +0 -17
- data/html/classes/MIDI/IO/MIDIFile.src/M000057.html +0 -43
- data/html/classes/MIDI/IO/MIDIFile.src/M000058.html +0 -34
- data/html/classes/MIDI/IO/MIDIFile.src/M000059.html +0 -96
- data/html/classes/MIDI/IO/MIDIFile.src/M000060.html +0 -18
- data/html/classes/MIDI/IO/MIDIFile.src/M000061.html +0 -49
- data/html/classes/MIDI/IO/MIDIFile.src/M000062.html +0 -42
- data/html/classes/MIDI/IO/MIDIFile.src/M000063.html +0 -19
- data/html/classes/MIDI/IO/MIDIFile.src/M000064.html +0 -19
- data/html/classes/MIDI/IO/MIDIFile.src/M000065.html +0 -20
- data/html/classes/MIDI/IO/MIDIFile.src/M000066.html +0 -21
- data/html/classes/MIDI/IO/MIDIFile.src/M000067.html +0 -31
- data/html/classes/MIDI/IO/MIDIFile.src/M000068.html +0 -20
- data/html/classes/MIDI/IO/MIDIFile.src/M000069.html +0 -22
- data/html/classes/MIDI/IO/MIDIFile.src/M000070.html +0 -30
- data/html/classes/MIDI/IO/MIDIFile.src/M000071.html +0 -18
- data/html/classes/MIDI/IO/MIDIFile.src/M000072.html +0 -20
- data/html/classes/MIDI/IO/MIDIFile.src/M000073.html +0 -18
- data/html/classes/MIDI/IO/MIDIFile.src/M000074.html +0 -18
- data/html/classes/MIDI/IO/SeqReader.html +0 -476
- data/html/classes/MIDI/IO/SeqReader.src/M000002.html +0 -22
- data/html/classes/MIDI/IO/SeqReader.src/M000003.html +0 -22
- data/html/classes/MIDI/IO/SeqReader.src/M000004.html +0 -21
- data/html/classes/MIDI/IO/SeqReader.src/M000005.html +0 -34
- data/html/classes/MIDI/IO/SeqReader.src/M000006.html +0 -26
- data/html/classes/MIDI/IO/SeqReader.src/M000007.html +0 -28
- data/html/classes/MIDI/IO/SeqReader.src/M000008.html +0 -21
- data/html/classes/MIDI/IO/SeqReader.src/M000009.html +0 -19
- data/html/classes/MIDI/IO/SeqReader.src/M000010.html +0 -19
- data/html/classes/MIDI/IO/SeqReader.src/M000011.html +0 -19
- data/html/classes/MIDI/IO/SeqReader.src/M000012.html +0 -19
- data/html/classes/MIDI/IO/SeqReader.src/M000013.html +0 -19
- data/html/classes/MIDI/IO/SeqReader.src/M000014.html +0 -18
- data/html/classes/MIDI/IO/SeqReader.src/M000015.html +0 -18
- data/html/classes/MIDI/IO/SeqReader.src/M000016.html +0 -29
- data/html/classes/MIDI/IO/SeqReader.src/M000017.html +0 -19
- data/html/classes/MIDI/IO/SeqReader.src/M000018.html +0 -18
- data/html/classes/MIDI/IO/SeqReader.src/M000019.html +0 -18
- data/html/classes/MIDI/IO/SeqReader.src/M000020.html +0 -18
- data/html/classes/MIDI/IO/SeqWriter.html +0 -282
- data/html/classes/MIDI/IO/SeqWriter.src/M000021.html +0 -19
- data/html/classes/MIDI/IO/SeqWriter.src/M000022.html +0 -25
- data/html/classes/MIDI/IO/SeqWriter.src/M000023.html +0 -22
- data/html/classes/MIDI/IO/SeqWriter.src/M000024.html +0 -54
- data/html/classes/MIDI/IO/SeqWriter.src/M000025.html +0 -49
- data/html/classes/MIDI/IO/SeqWriter.src/M000026.html +0 -21
- data/html/classes/MIDI/IO/SeqWriter.src/M000027.html +0 -19
- data/html/classes/MIDI/IO/SeqWriter.src/M000028.html +0 -23
- data/html/classes/MIDI/IO/SeqWriter.src/M000029.html +0 -24
- data/html/classes/MIDI/IO/SeqWriter.src/M000030.html +0 -19
- data/html/classes/MIDI/IO.html +0 -121
- data/html/classes/MIDI/KeySig.html +0 -241
- data/html/classes/MIDI/KeySig.src/M000140.html +0 -19
- data/html/classes/MIDI/KeySig.src/M000141.html +0 -23
- data/html/classes/MIDI/KeySig.src/M000142.html +0 -18
- data/html/classes/MIDI/KeySig.src/M000143.html +0 -18
- data/html/classes/MIDI/KeySig.src/M000144.html +0 -18
- data/html/classes/MIDI/KeySig.src/M000145.html +0 -23
- data/html/classes/MIDI/Marker.html +0 -139
- data/html/classes/MIDI/Marker.src/M000114.html +0 -18
- data/html/classes/MIDI/Measure.html +0 -242
- data/html/classes/MIDI/Measure.src/M000150.html +0 -23
- data/html/classes/MIDI/Measure.src/M000151.html +0 -20
- data/html/classes/MIDI/Measure.src/M000152.html +0 -18
- data/html/classes/MIDI/Measures.html +0 -217
- data/html/classes/MIDI/Measures.src/M000108.html +0 -20
- data/html/classes/MIDI/Measures.src/M000109.html +0 -18
- data/html/classes/MIDI/Measures.src/M000110.html +0 -21
- data/html/classes/MIDI/MetaEvent.html +0 -189
- data/html/classes/MIDI/MetaEvent.src/M000195.html +0 -21
- data/html/classes/MIDI/MetaEvent.src/M000196.html +0 -23
- data/html/classes/MIDI/MetaEvent.src/M000197.html +0 -53
- data/html/classes/MIDI/NoteEvent.html +0 -233
- data/html/classes/MIDI/NoteEvent.src/M000095.html +0 -21
- data/html/classes/MIDI/NoteEvent.src/M000096.html +0 -20
- data/html/classes/MIDI/NoteEvent.src/M000097.html +0 -18
- data/html/classes/MIDI/NoteEvent.src/M000098.html +0 -21
- data/html/classes/MIDI/NoteOffEvent.html +0 -169
- data/html/classes/MIDI/NoteOffEvent.src/M000090.html +0 -19
- data/html/classes/MIDI/NoteOffEvent.src/M000091.html +0 -19
- data/html/classes/MIDI/NoteOnEvent.html +0 -169
- data/html/classes/MIDI/NoteOnEvent.src/M000106.html +0 -19
- data/html/classes/MIDI/NoteOnEvent.src/M000107.html +0 -19
- data/html/classes/MIDI/PitchBend.html +0 -184
- data/html/classes/MIDI/PitchBend.src/M000111.html +0 -19
- data/html/classes/MIDI/PitchBend.src/M000112.html +0 -21
- data/html/classes/MIDI/PitchBend.src/M000113.html +0 -18
- data/html/classes/MIDI/PolyPressure.html +0 -186
- data/html/classes/MIDI/PolyPressure.src/M000198.html +0 -18
- data/html/classes/MIDI/PolyPressure.src/M000199.html +0 -18
- data/html/classes/MIDI/PolyPressure.src/M000200.html +0 -18
- data/html/classes/MIDI/PolyPressure.src/M000201.html +0 -19
- data/html/classes/MIDI/ProgramChange.html +0 -184
- data/html/classes/MIDI/ProgramChange.src/M000103.html +0 -20
- data/html/classes/MIDI/ProgramChange.src/M000104.html +0 -20
- data/html/classes/MIDI/ProgramChange.src/M000105.html +0 -18
- data/html/classes/MIDI/Realtime.html +0 -171
- data/html/classes/MIDI/Realtime.src/M000087.html +0 -19
- data/html/classes/MIDI/Realtime.src/M000088.html +0 -19
- data/html/classes/MIDI/Realtime.src/M000089.html +0 -18
- data/html/classes/MIDI/Sequence.html +0 -500
- data/html/classes/MIDI/Sequence.src/M000115.html +0 -28
- data/html/classes/MIDI/Sequence.src/M000116.html +0 -21
- data/html/classes/MIDI/Sequence.src/M000117.html +0 -22
- data/html/classes/MIDI/Sequence.src/M000120.html +0 -18
- data/html/classes/MIDI/Sequence.src/M000121.html +0 -27
- data/html/classes/MIDI/Sequence.src/M000122.html +0 -18
- data/html/classes/MIDI/Sequence.src/M000123.html +0 -19
- data/html/classes/MIDI/Sequence.src/M000124.html +0 -19
- data/html/classes/MIDI/Sequence.src/M000125.html +0 -19
- data/html/classes/MIDI/Sequence.src/M000126.html +0 -19
- data/html/classes/MIDI/Sequence.src/M000127.html +0 -18
- data/html/classes/MIDI/Sequence.src/M000128.html +0 -54
- data/html/classes/MIDI/SongPointer.html +0 -184
- data/html/classes/MIDI/SongPointer.src/M000162.html +0 -19
- data/html/classes/MIDI/SongPointer.src/M000163.html +0 -21
- data/html/classes/MIDI/SongPointer.src/M000164.html +0 -18
- data/html/classes/MIDI/SongSelect.html +0 -184
- data/html/classes/MIDI/SongSelect.src/M000134.html +0 -19
- data/html/classes/MIDI/SongSelect.src/M000135.html +0 -20
- data/html/classes/MIDI/SongSelect.src/M000136.html +0 -18
- data/html/classes/MIDI/Start.html +0 -156
- data/html/classes/MIDI/Start.src/M000101.html +0 -18
- data/html/classes/MIDI/Start.src/M000102.html +0 -18
- data/html/classes/MIDI/Stop.html +0 -156
- data/html/classes/MIDI/Stop.src/M000099.html +0 -18
- data/html/classes/MIDI/Stop.src/M000100.html +0 -18
- data/html/classes/MIDI/SystemCommon.html +0 -139
- data/html/classes/MIDI/SystemCommon.src/M000168.html +0 -19
- data/html/classes/MIDI/SystemExclusive.html +0 -184
- data/html/classes/MIDI/SystemExclusive.src/M000165.html +0 -19
- data/html/classes/MIDI/SystemExclusive.src/M000166.html +0 -23
- data/html/classes/MIDI/SystemExclusive.src/M000167.html +0 -18
- data/html/classes/MIDI/SystemReset.html +0 -156
- data/html/classes/MIDI/SystemReset.src/M000085.html +0 -18
- data/html/classes/MIDI/SystemReset.src/M000086.html +0 -18
- data/html/classes/MIDI/Tempo.html +0 -250
- data/html/classes/MIDI/Tempo.src/M000186.html +0 -18
- data/html/classes/MIDI/Tempo.src/M000187.html +0 -20
- data/html/classes/MIDI/Tempo.src/M000188.html +0 -18
- data/html/classes/MIDI/Tempo.src/M000189.html +0 -18
- data/html/classes/MIDI/Tempo.src/M000190.html +0 -18
- data/html/classes/MIDI/Tempo.src/M000191.html +0 -24
- data/html/classes/MIDI/Tempo.src/M000192.html +0 -18
- data/html/classes/MIDI/TimeSig.html +0 -263
- data/html/classes/MIDI/TimeSig.src/M000153.html +0 -19
- data/html/classes/MIDI/TimeSig.src/M000154.html +0 -25
- data/html/classes/MIDI/TimeSig.src/M000155.html +0 -18
- data/html/classes/MIDI/TimeSig.src/M000156.html +0 -18
- data/html/classes/MIDI/TimeSig.src/M000157.html +0 -18
- data/html/classes/MIDI/TimeSig.src/M000158.html +0 -18
- data/html/classes/MIDI/TimeSig.src/M000159.html +0 -18
- data/html/classes/MIDI/Track.html +0 -389
- data/html/classes/MIDI/Track.src/M000075.html +0 -23
- data/html/classes/MIDI/Track.src/M000076.html +0 -21
- data/html/classes/MIDI/Track.src/M000077.html +0 -26
- data/html/classes/MIDI/Track.src/M000078.html +0 -18
- data/html/classes/MIDI/Track.src/M000079.html +0 -22
- data/html/classes/MIDI/Track.src/M000080.html +0 -25
- data/html/classes/MIDI/Track.src/M000081.html +0 -22
- data/html/classes/MIDI/Track.src/M000082.html +0 -26
- data/html/classes/MIDI/Track.src/M000083.html +0 -18
- data/html/classes/MIDI/Track.src/M000084.html +0 -19
- data/html/classes/MIDI/TuneRequest.html +0 -171
- data/html/classes/MIDI/TuneRequest.src/M000129.html +0 -18
- data/html/classes/MIDI/TuneRequest.src/M000130.html +0 -19
- data/html/classes/MIDI/TuneRequest.src/M000131.html +0 -18
- data/html/classes/MIDI/Utils.html +0 -190
- data/html/classes/MIDI/Utils.src/M000193.html +0 -20
- data/html/classes/MIDI/Utils.src/M000194.html +0 -25
- data/html/classes/MIDI.html +0 -758
- data/html/created.rid +0 -1
- data/html/files/README_rdoc.html +0 -720
- data/html/files/TODO_rdoc.html +0 -150
- data/html/files/lib/midilib/consts_rb.html +0 -107
- data/html/files/lib/midilib/event_rb.html +0 -109
- data/html/files/lib/midilib/info_rb.html +0 -101
- data/html/files/lib/midilib/io/midifile_rb.html +0 -108
- data/html/files/lib/midilib/io/seqreader_rb.html +0 -110
- data/html/files/lib/midilib/io/seqwriter_rb.html +0 -115
- data/html/files/lib/midilib/measure_rb.html +0 -108
- data/html/files/lib/midilib/sequence_rb.html +0 -110
- data/html/files/lib/midilib/track_rb.html +0 -108
- data/html/files/lib/midilib/utils_rb.html +0 -101
- data/html/files/lib/midilib_rb.html +0 -124
- data/html/fr_class_index.html +0 -64
- data/html/fr_file_index.html +0 -39
- data/html/fr_method_index.html +0 -227
- data/html/index.html +0 -24
- data/html/rdoc-style.css +0 -208
|
@@ -1,96 +0,0 @@
|
|
|
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>read_track (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 211</span>
|
|
14
|
-
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">read_track</span>
|
|
15
|
-
<span class="ruby-identifier">c</span> = <span class="ruby-identifier">c1</span> = <span class="ruby-identifier">type</span> = <span class="ruby-identifier">needed</span> = <span class="ruby-value">0</span>
|
|
16
|
-
<span class="ruby-identifier">sysex_continue</span> = <span class="ruby-keyword kw">false</span> <span class="ruby-comment cmt"># True if last msg was unfinished</span>
|
|
17
|
-
<span class="ruby-identifier">running</span> = <span class="ruby-keyword kw">false</span> <span class="ruby-comment cmt"># True when running status used</span>
|
|
18
|
-
<span class="ruby-identifier">status</span> = <span class="ruby-value">0</span> <span class="ruby-comment cmt"># (Possibly running) status byte</span>
|
|
19
|
-
|
|
20
|
-
<span class="ruby-ivar">@bytes_to_be_read</span> = <span class="ruby-value">0</span>
|
|
21
|
-
<span class="ruby-identifier">read_mt_header_string</span>(<span class="ruby-constant">MTrk_BYTE_ARRAY</span>, <span class="ruby-keyword kw">false</span>)
|
|
22
|
-
|
|
23
|
-
<span class="ruby-ivar">@bytes_to_be_read</span> = <span class="ruby-identifier">read32</span>()
|
|
24
|
-
<span class="ruby-ivar">@curr_ticks</span> = <span class="ruby-ivar">@ticks_so_far</span> = <span class="ruby-value">0</span>
|
|
25
|
-
|
|
26
|
-
<span class="ruby-identifier">start_track</span>()
|
|
27
|
-
|
|
28
|
-
<span class="ruby-keyword kw">while</span> <span class="ruby-ivar">@bytes_to_be_read</span> <span class="ruby-operator">></span> <span class="ruby-value">0</span>
|
|
29
|
-
<span class="ruby-ivar">@curr_ticks</span> = <span class="ruby-identifier">read_var_len</span>() <span class="ruby-comment cmt"># Delta time</span>
|
|
30
|
-
<span class="ruby-ivar">@ticks_so_far</span> <span class="ruby-operator">+=</span> <span class="ruby-ivar">@curr_ticks</span>
|
|
31
|
-
|
|
32
|
-
<span class="ruby-comment cmt"># Copy raw var num data into raw time stamp data</span>
|
|
33
|
-
<span class="ruby-ivar">@raw_time_stamp_data</span> = <span class="ruby-ivar">@raw_var_num_data</span>.<span class="ruby-identifier">dup</span>()
|
|
34
|
-
|
|
35
|
-
<span class="ruby-identifier">c</span> = <span class="ruby-identifier">getc</span>() <span class="ruby-comment cmt"># Read first byte</span>
|
|
36
|
-
|
|
37
|
-
<span class="ruby-keyword kw">if</span> <span class="ruby-identifier">sysex_continue</span> <span class="ruby-operator">&&</span> <span class="ruby-identifier">c</span> <span class="ruby-operator">!=</span> <span class="ruby-constant">EOX</span>
|
|
38
|
-
<span class="ruby-identifier">error</span>(<span class="ruby-value str">"didn't find expected continuation of a sysex"</span>)
|
|
39
|
-
<span class="ruby-keyword kw">end</span>
|
|
40
|
-
|
|
41
|
-
<span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">c</span> <span class="ruby-operator">&</span> <span class="ruby-value">0x80</span>).<span class="ruby-identifier">zero?</span> <span class="ruby-comment cmt"># Running status?</span>
|
|
42
|
-
<span class="ruby-identifier">error</span>(<span class="ruby-value str">'unexpected running status'</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">status</span>.<span class="ruby-identifier">zero?</span>
|
|
43
|
-
<span class="ruby-identifier">running</span> = <span class="ruby-keyword kw">true</span>
|
|
44
|
-
<span class="ruby-keyword kw">else</span>
|
|
45
|
-
<span class="ruby-identifier">status</span> = <span class="ruby-identifier">c</span>
|
|
46
|
-
<span class="ruby-identifier">running</span> = <span class="ruby-keyword kw">false</span>
|
|
47
|
-
<span class="ruby-keyword kw">end</span>
|
|
48
|
-
|
|
49
|
-
<span class="ruby-identifier">needed</span> = <span class="ruby-constant">NUM_DATA_BYTES</span>[(<span class="ruby-identifier">status</span> <span class="ruby-operator">>></span> <span class="ruby-value">4</span>) <span class="ruby-operator">&</span> <span class="ruby-value">0x0f</span>]
|
|
50
|
-
|
|
51
|
-
<span class="ruby-keyword kw">if</span> <span class="ruby-identifier">needed</span>.<span class="ruby-identifier">nonzero?</span> <span class="ruby-comment cmt"># i.e., is it a channel message?</span>
|
|
52
|
-
<span class="ruby-identifier">c1</span> = <span class="ruby-identifier">running</span> <span class="ruby-value">? </span><span class="ruby-identifier">c</span> <span class="ruby-operator">:</span> (<span class="ruby-identifier">getc</span>() <span class="ruby-operator">&</span> <span class="ruby-value">0x7f</span>)
|
|
53
|
-
|
|
54
|
-
<span class="ruby-comment cmt"># The "& 0x7f" here may seem unnecessary, but I've seen</span>
|
|
55
|
-
<span class="ruby-comment cmt"># "bad" MIDI files that had, for example, volume bytes</span>
|
|
56
|
-
<span class="ruby-comment cmt"># with the upper bit set. This code should not harm</span>
|
|
57
|
-
<span class="ruby-comment cmt"># proper data.</span>
|
|
58
|
-
<span class="ruby-identifier">chan_message</span>(<span class="ruby-identifier">running</span>, <span class="ruby-identifier">status</span>, <span class="ruby-identifier">c1</span>,
|
|
59
|
-
(<span class="ruby-identifier">needed</span> <span class="ruby-operator">></span> <span class="ruby-value">1</span>) <span class="ruby-operator">?</span> (<span class="ruby-identifier">getc</span>() <span class="ruby-operator">&</span> <span class="ruby-value">0x7f</span>) <span class="ruby-operator">:</span> <span class="ruby-value">0</span>)
|
|
60
|
-
<span class="ruby-keyword kw">next</span>
|
|
61
|
-
<span class="ruby-keyword kw">end</span>
|
|
62
|
-
|
|
63
|
-
<span class="ruby-keyword kw">case</span> <span class="ruby-identifier">c</span>
|
|
64
|
-
<span class="ruby-keyword kw">when</span> <span class="ruby-constant">META_EVENT</span> <span class="ruby-comment cmt"># Meta event</span>
|
|
65
|
-
<span class="ruby-identifier">type</span> = <span class="ruby-identifier">getc</span>()
|
|
66
|
-
<span class="ruby-identifier">msg_init</span>()
|
|
67
|
-
<span class="ruby-identifier">msg_read</span>(<span class="ruby-identifier">read_var_len</span>())
|
|
68
|
-
<span class="ruby-identifier">meta_event</span>(<span class="ruby-identifier">type</span>)
|
|
69
|
-
<span class="ruby-keyword kw">when</span> <span class="ruby-constant">SYSEX</span> <span class="ruby-comment cmt"># Start of system exclusive</span>
|
|
70
|
-
<span class="ruby-identifier">msg_init</span>()
|
|
71
|
-
<span class="ruby-identifier">msg_add</span>(<span class="ruby-constant">SYSEX</span>)
|
|
72
|
-
<span class="ruby-identifier">c</span> = <span class="ruby-identifier">msg_read</span>(<span class="ruby-identifier">read_var_len</span>())
|
|
73
|
-
|
|
74
|
-
<span class="ruby-keyword kw">if</span> <span class="ruby-identifier">c</span> <span class="ruby-operator">==</span> <span class="ruby-constant">EOX</span> <span class="ruby-operator">||</span> <span class="ruby-operator">!</span><span class="ruby-ivar">@no_merge</span>
|
|
75
|
-
<span class="ruby-identifier">handle_sysex</span>(<span class="ruby-identifier">msg</span>())
|
|
76
|
-
<span class="ruby-keyword kw">else</span>
|
|
77
|
-
<span class="ruby-identifier">sysex_continue</span> = <span class="ruby-keyword kw">true</span>
|
|
78
|
-
<span class="ruby-keyword kw">end</span>
|
|
79
|
-
<span class="ruby-keyword kw">when</span> <span class="ruby-constant">EOX</span> <span class="ruby-comment cmt"># Sysex continuation or arbitrary stuff</span>
|
|
80
|
-
<span class="ruby-identifier">msg_init</span>() <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span><span class="ruby-identifier">sysex_continue</span>
|
|
81
|
-
<span class="ruby-identifier">c</span> = <span class="ruby-identifier">msg_read</span>(<span class="ruby-identifier">read_var_len</span>())
|
|
82
|
-
|
|
83
|
-
<span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span><span class="ruby-identifier">sysex_continue</span>
|
|
84
|
-
<span class="ruby-identifier">handle_arbitrary</span>(<span class="ruby-identifier">msg</span>())
|
|
85
|
-
<span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">c</span> <span class="ruby-operator">==</span> <span class="ruby-constant">EOX</span>
|
|
86
|
-
<span class="ruby-identifier">handle_sysex</span>(<span class="ruby-identifier">msg</span>())
|
|
87
|
-
<span class="ruby-identifier">sysex_continue</span> = <span class="ruby-keyword kw">false</span>
|
|
88
|
-
<span class="ruby-keyword kw">end</span>
|
|
89
|
-
<span class="ruby-keyword kw">else</span>
|
|
90
|
-
<span class="ruby-identifier">bad_byte</span>(<span class="ruby-identifier">c</span>)
|
|
91
|
-
<span class="ruby-keyword kw">end</span>
|
|
92
|
-
<span class="ruby-keyword kw">end</span>
|
|
93
|
-
<span class="ruby-identifier">end_track</span>()
|
|
94
|
-
<span class="ruby-keyword kw">end</span></pre>
|
|
95
|
-
</body>
|
|
96
|
-
</html>
|
|
@@ -1,18 +0,0 @@
|
|
|
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>bad_byte (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 294</span>
|
|
14
|
-
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">bad_byte</span>(<span class="ruby-identifier">c</span>)
|
|
15
|
-
<span class="ruby-identifier">error</span>(<span class="ruby-identifier">sprintf</span>(<span class="ruby-value str">"unexpected byte: 0x%02x"</span>, <span class="ruby-identifier">c</span>))
|
|
16
|
-
<span class="ruby-keyword kw">end</span></pre>
|
|
17
|
-
</body>
|
|
18
|
-
</html>
|
|
@@ -1,49 +0,0 @@
|
|
|
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_event (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 299</span>
|
|
14
|
-
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">meta_event</span>(<span class="ruby-identifier">type</span>)
|
|
15
|
-
<span class="ruby-identifier">m</span> = <span class="ruby-identifier">msg</span>() <span class="ruby-comment cmt"># Copy of internal message buffer</span>
|
|
16
|
-
|
|
17
|
-
<span class="ruby-comment cmt"># Create raw data array</span>
|
|
18
|
-
<span class="ruby-ivar">@raw_data</span> = []
|
|
19
|
-
<span class="ruby-ivar">@raw_data</span> <span class="ruby-operator"><<</span> <span class="ruby-constant">META_EVENT</span>
|
|
20
|
-
<span class="ruby-ivar">@raw_data</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">type</span>
|
|
21
|
-
<span class="ruby-ivar">@raw_data</span> <span class="ruby-operator"><<</span> <span class="ruby-ivar">@raw_var_num_data</span>
|
|
22
|
-
<span class="ruby-ivar">@raw_data</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">m</span>
|
|
23
|
-
<span class="ruby-ivar">@raw_data</span>.<span class="ruby-identifier">flatten!</span>
|
|
24
|
-
|
|
25
|
-
<span class="ruby-keyword kw">case</span> <span class="ruby-identifier">type</span>
|
|
26
|
-
<span class="ruby-keyword kw">when</span> <span class="ruby-constant">META_SEQ_NUM</span>
|
|
27
|
-
<span class="ruby-identifier">sequence_number</span>((<span class="ruby-identifier">m</span>[<span class="ruby-value">0</span>] <span class="ruby-operator"><<</span> <span class="ruby-value">8</span>) <span class="ruby-operator">+</span> <span class="ruby-identifier">m</span>[<span class="ruby-value">1</span>])
|
|
28
|
-
<span class="ruby-keyword kw">when</span> <span class="ruby-constant">META_TEXT</span>, <span class="ruby-constant">META_COPYRIGHT</span>, <span class="ruby-constant">META_SEQ_NAME</span>, <span class="ruby-constant">META_INSTRUMENT</span>,
|
|
29
|
-
<span class="ruby-constant">META_LYRIC</span>, <span class="ruby-constant">META_MARKER</span>, <span class="ruby-constant">META_CUE</span>, <span class="ruby-value">0x08</span>, <span class="ruby-value">0x09</span>, <span class="ruby-value">0x0a</span>,
|
|
30
|
-
<span class="ruby-value">0x0b</span>, <span class="ruby-value">0x0c</span>, <span class="ruby-value">0x0d</span>, <span class="ruby-value">0x0e</span>, <span class="ruby-value">0x0f</span>
|
|
31
|
-
<span class="ruby-identifier">text</span>(<span class="ruby-identifier">type</span>, <span class="ruby-identifier">m</span>)
|
|
32
|
-
<span class="ruby-keyword kw">when</span> <span class="ruby-constant">META_TRACK_END</span>
|
|
33
|
-
<span class="ruby-identifier">eot</span>()
|
|
34
|
-
<span class="ruby-keyword kw">when</span> <span class="ruby-constant">META_SET_TEMPO</span>
|
|
35
|
-
<span class="ruby-identifier">tempo</span>((<span class="ruby-identifier">m</span>[<span class="ruby-value">0</span>] <span class="ruby-operator"><<</span> <span class="ruby-value">16</span>) <span class="ruby-operator">+</span> (<span class="ruby-identifier">m</span>[<span class="ruby-value">1</span>] <span class="ruby-operator"><<</span> <span class="ruby-value">8</span>) <span class="ruby-operator">+</span> <span class="ruby-identifier">m</span>[<span class="ruby-value">2</span>])
|
|
36
|
-
<span class="ruby-keyword kw">when</span> <span class="ruby-constant">META_SMPTE</span>
|
|
37
|
-
<span class="ruby-identifier">smpte</span>(<span class="ruby-identifier">m</span>[<span class="ruby-value">0</span>], <span class="ruby-identifier">m</span>[<span class="ruby-value">1</span>], <span class="ruby-identifier">m</span>[<span class="ruby-value">2</span>], <span class="ruby-identifier">m</span>[<span class="ruby-value">3</span>], <span class="ruby-identifier">m</span>[<span class="ruby-value">4</span>])
|
|
38
|
-
<span class="ruby-keyword kw">when</span> <span class="ruby-constant">META_TIME_SIG</span>
|
|
39
|
-
<span class="ruby-identifier">time_signature</span>(<span class="ruby-identifier">m</span>[<span class="ruby-value">0</span>], <span class="ruby-identifier">m</span>[<span class="ruby-value">1</span>], <span class="ruby-identifier">m</span>[<span class="ruby-value">2</span>], <span class="ruby-identifier">m</span>[<span class="ruby-value">3</span>])
|
|
40
|
-
<span class="ruby-keyword kw">when</span> <span class="ruby-constant">META_KEY_SIG</span>
|
|
41
|
-
<span class="ruby-identifier">key_signature</span>(<span class="ruby-identifier">m</span>[<span class="ruby-value">0</span>], <span class="ruby-identifier">m</span>[<span class="ruby-value">1</span>] <span class="ruby-operator">==</span> <span class="ruby-value">0</span> <span class="ruby-operator">?</span> <span class="ruby-keyword kw">false</span> <span class="ruby-operator">:</span> <span class="ruby-keyword kw">true</span>)
|
|
42
|
-
<span class="ruby-keyword kw">when</span> <span class="ruby-constant">META_SEQ_SPECIF</span>
|
|
43
|
-
<span class="ruby-identifier">sequencer_specific</span>(<span class="ruby-identifier">type</span>, <span class="ruby-identifier">m</span>)
|
|
44
|
-
<span class="ruby-keyword kw">else</span>
|
|
45
|
-
<span class="ruby-identifier">meta_misc</span>(<span class="ruby-identifier">type</span>, <span class="ruby-identifier">m</span>)
|
|
46
|
-
<span class="ruby-keyword kw">end</span>
|
|
47
|
-
<span class="ruby-keyword kw">end</span></pre>
|
|
48
|
-
</body>
|
|
49
|
-
</html>
|
|
@@ -1,42 +0,0 @@
|
|
|
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>chan_message (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 335</span>
|
|
14
|
-
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">chan_message</span>(<span class="ruby-identifier">running</span>, <span class="ruby-identifier">status</span>, <span class="ruby-identifier">c1</span>, <span class="ruby-identifier">c2</span>)
|
|
15
|
-
<span class="ruby-ivar">@raw_data</span> = []
|
|
16
|
-
<span class="ruby-ivar">@raw_data</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">status</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">running</span>
|
|
17
|
-
<span class="ruby-ivar">@raw_data</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">c1</span>
|
|
18
|
-
<span class="ruby-ivar">@raw_data</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">c2</span>
|
|
19
|
-
|
|
20
|
-
<span class="ruby-identifier">chan</span> = <span class="ruby-identifier">status</span> <span class="ruby-operator">&</span> <span class="ruby-value">0x0f</span>
|
|
21
|
-
|
|
22
|
-
<span class="ruby-keyword kw">case</span> (<span class="ruby-identifier">status</span> <span class="ruby-operator">&</span> <span class="ruby-value">0xf0</span>)
|
|
23
|
-
<span class="ruby-keyword kw">when</span> <span class="ruby-constant">NOTE_OFF</span>
|
|
24
|
-
<span class="ruby-identifier">note_off</span>(<span class="ruby-identifier">chan</span>, <span class="ruby-identifier">c1</span>, <span class="ruby-identifier">c2</span>)
|
|
25
|
-
<span class="ruby-keyword kw">when</span> <span class="ruby-constant">NOTE_ON</span>
|
|
26
|
-
<span class="ruby-identifier">note_on</span>(<span class="ruby-identifier">chan</span>, <span class="ruby-identifier">c1</span>, <span class="ruby-identifier">c2</span>)
|
|
27
|
-
<span class="ruby-keyword kw">when</span> <span class="ruby-constant">POLY_PRESSURE</span>
|
|
28
|
-
<span class="ruby-identifier">pressure</span>(<span class="ruby-identifier">chan</span>, <span class="ruby-identifier">c1</span>, <span class="ruby-identifier">c2</span>)
|
|
29
|
-
<span class="ruby-keyword kw">when</span> <span class="ruby-constant">CONTROLLER</span>
|
|
30
|
-
<span class="ruby-identifier">controller</span>(<span class="ruby-identifier">chan</span>, <span class="ruby-identifier">c1</span>, <span class="ruby-identifier">c2</span>)
|
|
31
|
-
<span class="ruby-keyword kw">when</span> <span class="ruby-constant">PITCH_BEND</span>
|
|
32
|
-
<span class="ruby-identifier">pitch_bend</span>(<span class="ruby-identifier">chan</span>, <span class="ruby-identifier">c1</span>, <span class="ruby-identifier">c2</span>)
|
|
33
|
-
<span class="ruby-keyword kw">when</span> <span class="ruby-constant">PROGRAM_CHANGE</span>
|
|
34
|
-
<span class="ruby-identifier">program</span>(<span class="ruby-identifier">chan</span>, <span class="ruby-identifier">c1</span>)
|
|
35
|
-
<span class="ruby-keyword kw">when</span> <span class="ruby-constant">CHANNEL_PRESSURE</span>
|
|
36
|
-
<span class="ruby-identifier">chan_pressure</span>(<span class="ruby-identifier">chan</span>, <span class="ruby-identifier">c1</span>)
|
|
37
|
-
<span class="ruby-keyword kw">else</span>
|
|
38
|
-
<span class="ruby-identifier">error</span>(<span class="ruby-node">"illegal chan message 0x#{'%02x' % (status & 0xf0)}\n"</span>)
|
|
39
|
-
<span class="ruby-keyword kw">end</span>
|
|
40
|
-
<span class="ruby-keyword kw">end</span></pre>
|
|
41
|
-
</body>
|
|
42
|
-
</html>
|
|
@@ -1,19 +0,0 @@
|
|
|
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>handle_sysex (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 364</span>
|
|
14
|
-
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">handle_sysex</span>(<span class="ruby-identifier">msg</span>)
|
|
15
|
-
<span class="ruby-ivar">@raw_data</span> = <span class="ruby-identifier">msg</span>.<span class="ruby-identifier">dup</span>()
|
|
16
|
-
<span class="ruby-identifier">sysex</span>(<span class="ruby-identifier">msg</span>)
|
|
17
|
-
<span class="ruby-keyword kw">end</span></pre>
|
|
18
|
-
</body>
|
|
19
|
-
</html>
|
|
@@ -1,19 +0,0 @@
|
|
|
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>handle_arbitrary (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 370</span>
|
|
14
|
-
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">handle_arbitrary</span>(<span class="ruby-identifier">msg</span>)
|
|
15
|
-
<span class="ruby-ivar">@raw_data</span> = <span class="ruby-identifier">msg</span>.<span class="ruby-identifier">dup</span>()
|
|
16
|
-
<span class="ruby-identifier">arbitrary</span>(<span class="ruby-identifier">msg</span>)
|
|
17
|
-
<span class="ruby-keyword kw">end</span></pre>
|
|
18
|
-
</body>
|
|
19
|
-
</html>
|
|
@@ -1,20 +0,0 @@
|
|
|
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>read16 (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 376</span>
|
|
14
|
-
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">read16</span>
|
|
15
|
-
<span class="ruby-identifier">val</span> = (<span class="ruby-identifier">getc</span>() <span class="ruby-operator"><<</span> <span class="ruby-value">8</span>) <span class="ruby-operator">+</span> <span class="ruby-identifier">getc</span>()
|
|
16
|
-
<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">0x7fff</span>) <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">val</span> <span class="ruby-operator">&</span> <span class="ruby-value">0x8000</span>).<span class="ruby-identifier">nonzero?</span>
|
|
17
|
-
<span class="ruby-keyword kw">return</span> <span class="ruby-identifier">val</span>
|
|
18
|
-
<span class="ruby-keyword kw">end</span></pre>
|
|
19
|
-
</body>
|
|
20
|
-
</html>
|
|
@@ -1,21 +0,0 @@
|
|
|
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>read32 (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 383</span>
|
|
14
|
-
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">read32</span>
|
|
15
|
-
<span class="ruby-identifier">val</span> = (<span class="ruby-identifier">getc</span>() <span class="ruby-operator"><<</span> <span class="ruby-value">24</span>) <span class="ruby-operator">+</span> (<span class="ruby-identifier">getc</span>() <span class="ruby-operator"><<</span> <span class="ruby-value">16</span>) <span class="ruby-operator">+</span> (<span class="ruby-identifier">getc</span>() <span class="ruby-operator"><<</span> <span class="ruby-value">8</span>) <span class="ruby-operator">+</span>
|
|
16
|
-
<span class="ruby-identifier">getc</span>()
|
|
17
|
-
<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">0x7fffffff</span>) <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">val</span> <span class="ruby-operator">&</span> <span class="ruby-value">0x80000000</span>).<span class="ruby-identifier">nonzero?</span>
|
|
18
|
-
<span class="ruby-keyword kw">return</span> <span class="ruby-identifier">val</span>
|
|
19
|
-
<span class="ruby-keyword kw">end</span></pre>
|
|
20
|
-
</body>
|
|
21
|
-
</html>
|
|
@@ -1,31 +0,0 @@
|
|
|
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>read_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 391</span>
|
|
14
|
-
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">read_var_len</span>
|
|
15
|
-
<span class="ruby-ivar">@raw_var_num_data</span> = []
|
|
16
|
-
<span class="ruby-identifier">c</span> = <span class="ruby-identifier">getc</span>()
|
|
17
|
-
<span class="ruby-ivar">@raw_var_num_data</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">c</span>
|
|
18
|
-
<span class="ruby-identifier">val</span> = <span class="ruby-identifier">c</span>
|
|
19
|
-
<span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">val</span> <span class="ruby-operator">&</span> <span class="ruby-value">0x80</span>).<span class="ruby-identifier">nonzero?</span>
|
|
20
|
-
<span class="ruby-identifier">val</span> <span class="ruby-operator">&=</span> <span class="ruby-value">0x7f</span>
|
|
21
|
-
<span class="ruby-keyword kw">while</span> <span class="ruby-keyword kw">true</span>
|
|
22
|
-
<span class="ruby-identifier">c</span> = <span class="ruby-identifier">getc</span>()
|
|
23
|
-
<span class="ruby-ivar">@raw_var_num_data</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">c</span>
|
|
24
|
-
<span class="ruby-identifier">val</span> = (<span class="ruby-identifier">val</span> <span class="ruby-operator"><<</span> <span class="ruby-value">7</span>) <span class="ruby-operator">+</span> (<span class="ruby-identifier">c</span> <span class="ruby-operator">&</span> <span class="ruby-value">0x7f</span>)
|
|
25
|
-
<span class="ruby-keyword kw">break</span> <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">c</span> <span class="ruby-operator">&</span> <span class="ruby-value">0x80</span>).<span class="ruby-identifier">zero?</span>
|
|
26
|
-
<span class="ruby-keyword kw">end</span>
|
|
27
|
-
<span class="ruby-keyword kw">end</span>
|
|
28
|
-
<span class="ruby-keyword kw">return</span> <span class="ruby-identifier">val</span>
|
|
29
|
-
<span class="ruby-keyword kw">end</span></pre>
|
|
30
|
-
</body>
|
|
31
|
-
</html>
|
|
@@ -1,20 +0,0 @@
|
|
|
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 409</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>
|
|
@@ -1,22 +0,0 @@
|
|
|
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 416</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>
|
|
@@ -1,30 +0,0 @@
|
|
|
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 425</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> = []
|
|
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>
|
|
@@ -1,18 +0,0 @@
|
|
|
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 442</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>
|
|
@@ -1,20 +0,0 @@
|
|
|
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 448</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-identifier">get_bytes</span>(<span class="ruby-identifier">n_bytes</span>)
|
|
16
|
-
<span class="ruby-ivar">@msg_buf</span>.<span class="ruby-identifier">flatten!</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>
|
|
@@ -1,18 +0,0 @@
|
|
|
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 455</span>
|
|
14
|
-
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">msg_init</span>
|
|
15
|
-
<span class="ruby-ivar">@msg_buf</span> = []
|
|
16
|
-
<span class="ruby-keyword kw">end</span></pre>
|
|
17
|
-
</body>
|
|
18
|
-
</html>
|
|
@@ -1,18 +0,0 @@
|
|
|
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 460</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>
|