midilib 1.1.4 → 1.2.0
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/{README → README.rdoc} +12 -3
- data/Rakefile +11 -5
- data/TODO.rdoc +31 -0
- data/html/classes/IO.html +137 -0
- data/html/classes/IO.src/M000001.html +20 -0
- data/html/classes/MIDI/ActiveSense.html +10 -10
- data/html/classes/MIDI/ActiveSense.src/{M000158.html → M000160.html} +1 -1
- data/html/classes/MIDI/ActiveSense.src/{M000159.html → M000161.html} +1 -1
- data/html/classes/MIDI/ChannelEvent.html +10 -10
- data/html/classes/MIDI/ChannelEvent.src/{M000130.html → M000132.html} +0 -0
- data/html/classes/MIDI/ChannelEvent.src/{M000131.html → M000133.html} +0 -0
- data/html/classes/MIDI/ChannelPressure.html +15 -15
- data/html/classes/MIDI/ChannelPressure.src/M000092.html +5 -4
- data/html/classes/MIDI/ChannelPressure.src/{M000091.html → M000093.html} +2 -3
- data/html/classes/MIDI/ChannelPressure.src/M000094.html +18 -0
- data/html/classes/MIDI/Clock.html +10 -10
- data/html/classes/MIDI/Clock.src/{M000146.html → M000148.html} +1 -1
- data/html/classes/MIDI/Clock.src/{M000147.html → M000149.html} +1 -1
- data/html/classes/MIDI/Continue.html +10 -10
- data/html/classes/MIDI/Continue.src/{M000144.html → M000146.html} +1 -1
- data/html/classes/MIDI/Continue.src/{M000145.html → M000147.html} +1 -1
- data/html/classes/MIDI/Controller.html +15 -15
- data/html/classes/MIDI/Controller.src/M000137.html +7 -4
- data/html/classes/MIDI/Controller.src/{M000136.html → M000138.html} +2 -3
- data/html/classes/MIDI/Controller.src/M000139.html +18 -0
- data/html/classes/MIDI/Event.html +90 -90
- data/html/classes/MIDI/Event.src/M000169.html +16 -4
- data/html/classes/MIDI/Event.src/M000170.html +4 -4
- data/html/classes/MIDI/Event.src/M000171.html +4 -4
- data/html/classes/MIDI/Event.src/M000172.html +4 -4
- data/html/classes/MIDI/Event.src/M000173.html +4 -4
- data/html/classes/MIDI/Event.src/M000174.html +4 -4
- data/html/classes/MIDI/Event.src/M000175.html +4 -4
- data/html/classes/MIDI/Event.src/M000176.html +4 -4
- data/html/classes/MIDI/Event.src/M000177.html +4 -4
- data/html/classes/MIDI/Event.src/M000178.html +4 -4
- data/html/classes/MIDI/Event.src/M000179.html +4 -8
- data/html/classes/MIDI/Event.src/M000180.html +4 -4
- data/html/classes/MIDI/Event.src/M000181.html +8 -4
- data/html/classes/MIDI/Event.src/M000182.html +4 -5
- data/html/classes/MIDI/Event.src/M000183.html +4 -4
- data/html/classes/MIDI/Event.src/M000184.html +19 -0
- data/html/classes/MIDI/{PolyPressure.src/M000197.html → Event.src/M000185.html} +4 -4
- data/html/classes/MIDI/IO/MIDIFile.html +247 -230
- data/html/classes/MIDI/IO/MIDIFile.src/M000031.html +9 -6
- data/html/classes/MIDI/IO/MIDIFile.src/M000032.html +11 -6
- data/html/classes/MIDI/IO/MIDIFile.src/M000033.html +4 -4
- data/html/classes/MIDI/IO/MIDIFile.src/M000034.html +6 -3
- data/html/classes/MIDI/IO/MIDIFile.src/M000035.html +5 -3
- data/html/classes/MIDI/IO/MIDIFile.src/M000036.html +3 -3
- data/html/classes/MIDI/IO/MIDIFile.src/M000037.html +3 -3
- data/html/classes/MIDI/IO/MIDIFile.src/M000038.html +3 -3
- data/html/classes/MIDI/IO/MIDIFile.src/M000039.html +3 -3
- data/html/classes/MIDI/IO/MIDIFile.src/M000040.html +3 -3
- data/html/classes/MIDI/IO/MIDIFile.src/M000041.html +3 -3
- data/html/classes/MIDI/IO/MIDIFile.src/M000042.html +3 -3
- data/html/classes/MIDI/IO/MIDIFile.src/M000043.html +3 -3
- data/html/classes/MIDI/IO/MIDIFile.src/M000044.html +3 -3
- data/html/classes/MIDI/IO/MIDIFile.src/M000045.html +3 -3
- data/html/classes/MIDI/IO/MIDIFile.src/M000046.html +3 -3
- data/html/classes/MIDI/IO/MIDIFile.src/M000047.html +3 -3
- data/html/classes/MIDI/IO/MIDIFile.src/M000048.html +3 -3
- data/html/classes/MIDI/IO/MIDIFile.src/M000049.html +3 -3
- data/html/classes/MIDI/IO/MIDIFile.src/M000050.html +3 -3
- data/html/classes/MIDI/IO/MIDIFile.src/M000051.html +3 -3
- data/html/classes/MIDI/IO/MIDIFile.src/M000052.html +3 -3
- data/html/classes/MIDI/IO/MIDIFile.src/M000053.html +3 -3
- data/html/classes/MIDI/IO/MIDIFile.src/M000054.html +3 -3
- data/html/classes/MIDI/IO/MIDIFile.src/M000055.html +3 -29
- data/html/classes/MIDI/IO/MIDIFile.src/M000056.html +3 -20
- data/html/classes/MIDI/IO/MIDIFile.src/M000057.html +21 -74
- data/html/classes/MIDI/IO/MIDIFile.src/M000058.html +20 -4
- data/html/classes/MIDI/IO/MIDIFile.src/M000059.html +81 -33
- data/html/classes/MIDI/IO/MIDIFile.src/M000060.html +4 -28
- data/html/classes/MIDI/IO/MIDIFile.src/M000061.html +35 -5
- data/html/classes/MIDI/IO/MIDIFile.src/M000062.html +28 -5
- data/html/classes/MIDI/IO/MIDIFile.src/M000063.html +5 -6
- data/html/classes/MIDI/IO/MIDIFile.src/M000064.html +5 -7
- data/html/classes/MIDI/IO/MIDIFile.src/M000065.html +5 -16
- data/html/classes/MIDI/IO/MIDIFile.src/M000066.html +7 -6
- data/html/classes/MIDI/IO/MIDIFile.src/M000067.html +17 -8
- data/html/classes/MIDI/IO/MIDIFile.src/M000068.html +6 -16
- data/html/classes/MIDI/IO/MIDIFile.src/M000069.html +8 -4
- data/html/classes/MIDI/IO/MIDIFile.src/M000070.html +16 -6
- data/html/classes/MIDI/IO/MIDIFile.src/M000071.html +4 -4
- data/html/classes/MIDI/IO/MIDIFile.src/M000072.html +6 -4
- data/html/classes/MIDI/IO/MIDIFile.src/{M000029.html → M000073.html} +4 -8
- data/html/classes/MIDI/IO/MIDIFile.src/M000074.html +18 -0
- data/html/classes/MIDI/IO/SeqReader.html +98 -98
- data/html/classes/MIDI/IO/SeqReader.src/M000002.html +8 -8
- data/html/classes/MIDI/IO/SeqReader.src/M000003.html +7 -6
- data/html/classes/MIDI/IO/SeqReader.src/M000004.html +6 -19
- data/html/classes/MIDI/IO/SeqReader.src/M000005.html +19 -11
- data/html/classes/MIDI/IO/SeqReader.src/M000006.html +12 -14
- data/html/classes/MIDI/IO/SeqReader.src/M000007.html +14 -7
- data/html/classes/MIDI/IO/SeqReader.src/M000008.html +7 -5
- data/html/classes/MIDI/IO/SeqReader.src/M000009.html +4 -4
- data/html/classes/MIDI/IO/SeqReader.src/M000010.html +4 -4
- data/html/classes/MIDI/IO/SeqReader.src/M000011.html +4 -4
- data/html/classes/MIDI/IO/SeqReader.src/M000012.html +4 -4
- data/html/classes/MIDI/IO/SeqReader.src/M000013.html +5 -4
- data/html/classes/MIDI/IO/SeqReader.src/M000014.html +4 -4
- data/html/classes/MIDI/IO/SeqReader.src/M000015.html +4 -15
- data/html/classes/MIDI/IO/SeqReader.src/M000016.html +15 -5
- data/html/classes/MIDI/IO/SeqReader.src/M000017.html +5 -4
- data/html/classes/MIDI/IO/SeqReader.src/M000018.html +4 -4
- data/html/classes/MIDI/IO/SeqReader.src/M000019.html +4 -4
- data/html/classes/MIDI/IO/SeqReader.src/M000020.html +18 -0
- data/html/classes/MIDI/IO/SeqWriter.html +60 -45
- data/html/classes/MIDI/IO/SeqWriter.src/M000021.html +5 -11
- data/html/classes/MIDI/IO/SeqWriter.src/M000022.html +11 -8
- data/html/classes/MIDI/IO/SeqWriter.src/M000023.html +8 -40
- data/html/classes/MIDI/IO/SeqWriter.src/M000024.html +39 -34
- data/html/classes/MIDI/IO/SeqWriter.src/M000025.html +35 -7
- data/html/classes/MIDI/IO/SeqWriter.src/M000026.html +7 -5
- data/html/classes/MIDI/IO/SeqWriter.src/M000027.html +5 -10
- data/html/classes/MIDI/IO/SeqWriter.src/M000028.html +8 -11
- data/html/classes/MIDI/IO/SeqWriter.src/M000029.html +24 -0
- data/html/classes/MIDI/IO/SeqWriter.src/M000030.html +19 -0
- data/html/classes/MIDI/KeySig.html +30 -30
- data/html/classes/MIDI/KeySig.src/M000140.html +5 -4
- data/html/classes/MIDI/KeySig.src/M000141.html +9 -4
- data/html/classes/MIDI/KeySig.src/M000142.html +4 -4
- data/html/classes/MIDI/KeySig.src/M000143.html +4 -9
- data/html/classes/MIDI/KeySig.src/M000144.html +18 -0
- data/html/classes/MIDI/KeySig.src/M000145.html +23 -0
- data/html/classes/MIDI/Marker.html +5 -5
- data/html/classes/MIDI/Marker.src/{M000112.html → M000114.html} +1 -1
- data/html/classes/MIDI/Measure.html +15 -15
- data/html/classes/MIDI/Measure.src/M000150.html +9 -4
- data/html/classes/MIDI/Measure.src/{M000149.html → M000151.html} +0 -0
- data/html/classes/MIDI/Measure.src/M000152.html +18 -0
- data/html/classes/MIDI/Measures.html +15 -15
- data/html/classes/MIDI/Measures.src/M000108.html +6 -7
- data/html/classes/MIDI/Measures.src/{M000107.html → M000109.html} +0 -0
- data/html/classes/MIDI/Measures.src/M000110.html +21 -0
- data/html/classes/MIDI/MetaEvent.html +15 -15
- data/html/classes/MIDI/MetaEvent.src/M000195.html +7 -39
- data/html/classes/MIDI/MetaEvent.src/{M000194.html → M000196.html} +3 -3
- data/html/classes/MIDI/MetaEvent.src/M000197.html +53 -0
- data/html/classes/MIDI/NoteEvent.html +21 -21
- data/html/classes/MIDI/NoteEvent.src/M000095.html +7 -4
- data/html/classes/MIDI/NoteEvent.src/M000096.html +6 -8
- data/html/classes/MIDI/NoteEvent.src/M000097.html +18 -0
- data/html/classes/MIDI/NoteEvent.src/M000098.html +21 -0
- data/html/classes/MIDI/NoteOffEvent.html +10 -10
- data/html/classes/MIDI/NoteOffEvent.src/{M000088.html → M000090.html} +1 -1
- data/html/classes/MIDI/NoteOffEvent.src/{M000089.html → M000091.html} +1 -1
- data/html/classes/MIDI/NoteOnEvent.html +10 -10
- data/html/classes/MIDI/NoteOnEvent.src/{M000104.html → M000106.html} +1 -1
- data/html/classes/MIDI/NoteOnEvent.src/{M000105.html → M000107.html} +1 -1
- data/html/classes/MIDI/PitchBend.html +15 -15
- data/html/classes/MIDI/PitchBend.src/M000111.html +5 -4
- data/html/classes/MIDI/PitchBend.src/{M000110.html → M000112.html} +2 -3
- data/html/classes/MIDI/PitchBend.src/M000113.html +18 -0
- data/html/classes/MIDI/PolyPressure.html +20 -20
- data/html/classes/MIDI/PolyPressure.src/M000198.html +4 -4
- data/html/classes/MIDI/PolyPressure.src/M000199.html +4 -5
- data/html/classes/MIDI/PolyPressure.src/M000200.html +18 -0
- data/html/classes/MIDI/PolyPressure.src/M000201.html +19 -0
- data/html/classes/MIDI/ProgramChange.html +15 -15
- data/html/classes/MIDI/ProgramChange.src/M000103.html +6 -4
- data/html/classes/MIDI/ProgramChange.src/{M000102.html → M000104.html} +2 -3
- data/html/classes/MIDI/ProgramChange.src/M000105.html +18 -0
- data/html/classes/MIDI/Realtime.html +15 -15
- data/html/classes/MIDI/Realtime.src/M000087.html +5 -4
- data/html/classes/MIDI/Realtime.src/{M000086.html → M000088.html} +2 -3
- data/html/classes/MIDI/Realtime.src/M000089.html +18 -0
- data/html/classes/MIDI/Sequence.html +76 -76
- data/html/classes/MIDI/Sequence.src/M000115.html +14 -8
- data/html/classes/MIDI/Sequence.src/{M000114.html → M000116.html} +0 -0
- data/html/classes/MIDI/Sequence.src/M000117.html +22 -0
- data/html/classes/MIDI/Sequence.src/M000120.html +4 -4
- data/html/classes/MIDI/Sequence.src/M000121.html +13 -5
- data/html/classes/MIDI/Sequence.src/M000122.html +4 -5
- data/html/classes/MIDI/Sequence.src/M000123.html +5 -5
- data/html/classes/MIDI/Sequence.src/M000124.html +5 -5
- data/html/classes/MIDI/Sequence.src/M000125.html +5 -4
- data/html/classes/MIDI/Sequence.src/M000126.html +5 -40
- data/html/classes/MIDI/Sequence.src/{M000118.html → M000127.html} +4 -4
- data/html/classes/MIDI/Sequence.src/M000128.html +54 -0
- data/html/classes/MIDI/SongPointer.html +15 -15
- data/html/classes/MIDI/SongPointer.src/M000162.html +5 -4
- data/html/classes/MIDI/SongPointer.src/{M000161.html → M000163.html} +2 -3
- data/html/classes/MIDI/SongPointer.src/M000164.html +18 -0
- data/html/classes/MIDI/SongSelect.html +15 -15
- data/html/classes/MIDI/SongSelect.src/M000134.html +5 -4
- data/html/classes/MIDI/SongSelect.src/{M000133.html → M000135.html} +2 -3
- data/html/classes/MIDI/SongSelect.src/M000136.html +18 -0
- data/html/classes/MIDI/Start.html +10 -10
- data/html/classes/MIDI/Start.src/{M000099.html → M000101.html} +1 -1
- data/html/classes/MIDI/Start.src/{M000100.html → M000102.html} +1 -1
- data/html/classes/MIDI/Stop.html +10 -10
- data/html/classes/MIDI/Stop.src/{M000097.html → M000099.html} +1 -1
- data/html/classes/MIDI/Stop.src/{M000098.html → M000100.html} +1 -1
- data/html/classes/MIDI/SystemCommon.html +5 -5
- data/html/classes/MIDI/SystemCommon.src/{M000166.html → M000168.html} +1 -1
- data/html/classes/MIDI/SystemExclusive.html +15 -15
- data/html/classes/MIDI/SystemExclusive.src/M000165.html +5 -4
- data/html/classes/MIDI/SystemExclusive.src/{M000164.html → M000166.html} +3 -3
- data/html/classes/MIDI/SystemExclusive.src/M000167.html +18 -0
- data/html/classes/MIDI/SystemReset.html +10 -10
- data/html/classes/MIDI/SystemReset.src/{M000083.html → M000085.html} +1 -1
- data/html/classes/MIDI/SystemReset.src/{M000084.html → M000086.html} +1 -1
- data/html/classes/MIDI/Tempo.html +35 -35
- data/html/classes/MIDI/Tempo.src/M000186.html +4 -4
- data/html/classes/MIDI/Tempo.src/M000187.html +6 -4
- data/html/classes/MIDI/Tempo.src/M000188.html +4 -4
- data/html/classes/MIDI/Tempo.src/M000189.html +4 -11
- data/html/classes/MIDI/Tempo.src/M000190.html +4 -4
- data/html/classes/MIDI/{TimeSig.src/M000152.html → Tempo.src/M000191.html} +7 -8
- data/html/classes/MIDI/{Event.src/M000168.html → Tempo.src/M000192.html} +4 -4
- data/html/classes/MIDI/TimeSig.html +37 -37
- data/html/classes/MIDI/TimeSig.src/M000153.html +5 -4
- data/html/classes/MIDI/TimeSig.src/M000154.html +11 -4
- data/html/classes/MIDI/TimeSig.src/M000155.html +4 -4
- data/html/classes/MIDI/TimeSig.src/M000156.html +4 -4
- data/html/classes/MIDI/TimeSig.src/M000157.html +4 -4
- data/html/classes/MIDI/TimeSig.src/M000158.html +18 -0
- data/html/classes/MIDI/TimeSig.src/M000159.html +18 -0
- data/html/classes/MIDI/Track.html +66 -66
- data/html/classes/MIDI/Track.src/M000075.html +9 -12
- data/html/classes/MIDI/Track.src/M000076.html +7 -4
- data/html/classes/MIDI/Track.src/M000077.html +12 -8
- data/html/classes/MIDI/Track.src/M000078.html +4 -11
- data/html/classes/MIDI/Track.src/M000079.html +8 -8
- data/html/classes/MIDI/Track.src/M000080.html +11 -12
- data/html/classes/MIDI/Track.src/M000081.html +8 -4
- data/html/classes/MIDI/Track.src/M000082.html +12 -5
- data/html/classes/MIDI/Track.src/M000083.html +18 -0
- data/html/classes/MIDI/Track.src/{M000073.html → M000084.html} +5 -9
- data/html/classes/MIDI/TuneRequest.html +15 -15
- data/html/classes/MIDI/TuneRequest.src/M000129.html +4 -4
- data/html/classes/MIDI/TuneRequest.src/{M000128.html → M000130.html} +2 -3
- data/html/classes/MIDI/TuneRequest.src/M000131.html +18 -0
- data/html/classes/MIDI/Utils.html +10 -10
- data/html/classes/MIDI/Utils.src/{M000191.html → M000193.html} +0 -0
- data/html/classes/MIDI/Utils.src/{M000192.html → M000194.html} +1 -1
- data/html/classes/MIDI.html +3 -3
- data/html/created.rid +1 -1
- data/html/files/{README.html → README_rdoc.html} +30 -11
- data/html/files/{TODO.html → TODO_rdoc.html} +14 -6
- data/html/files/lib/midilib/consts_rb.html +1 -1
- data/html/files/lib/midilib/event_rb.html +1 -1
- data/html/files/lib/midilib/info_rb.html +1 -1
- data/html/files/lib/midilib/io/midifile_rb.html +1 -1
- data/html/files/lib/midilib/io/seqreader_rb.html +1 -1
- data/html/files/lib/midilib/io/seqwriter_rb.html +1 -1
- data/html/files/lib/midilib/measure_rb.html +1 -1
- data/html/files/lib/midilib/sequence_rb.html +1 -1
- data/html/files/lib/midilib/track_rb.html +1 -1
- data/html/files/lib/midilib/utils_rb.html +1 -1
- data/html/files/lib/midilib_rb.html +2 -2
- data/html/fr_class_index.html +1 -0
- data/html/fr_file_index.html +2 -2
- data/html/fr_method_index.html +201 -199
- data/html/index.html +1 -1
- data/install.rb +1 -1
- data/lib/midilib/event.rb +16 -26
- data/lib/midilib/info.rb +3 -3
- data/lib/midilib/io/midifile.rb +43 -29
- data/lib/midilib/io/seqwriter.rb +19 -17
- data/lib/midilib/utils.rb +1 -1
- data/lib/midilib.rb +1 -1
- data/test/test_io.rb +2 -1
- data/test/test_midifile.rb +59 -0
- data/test/test_varlen.rb +4 -4
- metadata +83 -78
- data/TODO +0 -25
- data/html/classes/MIDI/ChannelPressure.src/M000090.html +0 -19
- data/html/classes/MIDI/Controller.src/M000135.html +0 -21
- data/html/classes/MIDI/Event.src/M000167.html +0 -30
- data/html/classes/MIDI/IO/MIDIFile.src/M000030.html +0 -24
- data/html/classes/MIDI/IO/SeqReader.src/M000001.html +0 -22
- data/html/classes/MIDI/IO/SeqWriter.src/M000020.html +0 -19
- data/html/classes/MIDI/KeySig.src/M000138.html +0 -19
- data/html/classes/MIDI/KeySig.src/M000139.html +0 -23
- data/html/classes/MIDI/Measure.src/M000148.html +0 -23
- data/html/classes/MIDI/Measures.src/M000106.html +0 -20
- data/html/classes/MIDI/MetaEvent.src/M000193.html +0 -21
- data/html/classes/MIDI/NoteEvent.src/M000093.html +0 -21
- data/html/classes/MIDI/NoteEvent.src/M000094.html +0 -20
- data/html/classes/MIDI/PitchBend.src/M000109.html +0 -19
- data/html/classes/MIDI/PolyPressure.src/M000196.html +0 -18
- data/html/classes/MIDI/ProgramChange.src/M000101.html +0 -20
- data/html/classes/MIDI/Realtime.src/M000085.html +0 -19
- data/html/classes/MIDI/Sequence.src/M000113.html +0 -28
- data/html/classes/MIDI/Sequence.src/M000119.html +0 -27
- data/html/classes/MIDI/SongPointer.src/M000160.html +0 -19
- data/html/classes/MIDI/SongSelect.src/M000132.html +0 -19
- data/html/classes/MIDI/SystemExclusive.src/M000163.html +0 -19
- data/html/classes/MIDI/Tempo.src/M000184.html +0 -18
- data/html/classes/MIDI/Tempo.src/M000185.html +0 -20
- data/html/classes/MIDI/TimeSig.src/M000151.html +0 -19
- data/html/classes/MIDI/Track.src/M000074.html +0 -21
- data/html/classes/MIDI/TuneRequest.src/M000127.html +0 -18
|
@@ -5,18 +5,21 @@
|
|
|
5
5
|
|
|
6
6
|
<html>
|
|
7
7
|
<head>
|
|
8
|
-
<title>
|
|
8
|
+
<title>write_to (MIDI::IO::SeqWriter)</title>
|
|
9
9
|
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
|
10
10
|
<link rel="stylesheet" href="../../../.././rdoc-style.css" type="text/css" media="screen" />
|
|
11
11
|
</head>
|
|
12
12
|
<body class="standalone-code">
|
|
13
|
-
<pre><span class="ruby-comment cmt"># File lib/midilib/io/seqwriter.rb, line
|
|
14
|
-
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">
|
|
15
|
-
<span class="ruby-ivar">@io</span
|
|
16
|
-
<span class="ruby-
|
|
17
|
-
<span class="ruby-identifier">
|
|
18
|
-
<span class="ruby-identifier">
|
|
19
|
-
<span class="ruby-identifier">
|
|
13
|
+
<pre><span class="ruby-comment cmt"># File lib/midilib/io/seqwriter.rb, line 18</span>
|
|
14
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">write_to</span>(<span class="ruby-identifier">io</span>)
|
|
15
|
+
<span class="ruby-ivar">@io</span> = <span class="ruby-identifier">io</span>
|
|
16
|
+
<span class="ruby-ivar">@bytes_written</span> = <span class="ruby-value">0</span>
|
|
17
|
+
<span class="ruby-identifier">write_header</span>()
|
|
18
|
+
<span class="ruby-ivar">@update_block</span>.<span class="ruby-identifier">call</span>(<span class="ruby-keyword kw">nil</span>, <span class="ruby-ivar">@seq</span>.<span class="ruby-identifier">tracks</span>.<span class="ruby-identifier">length</span>, <span class="ruby-value">0</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@update_block</span>
|
|
19
|
+
<span class="ruby-ivar">@seq</span>.<span class="ruby-identifier">tracks</span>.<span class="ruby-identifier">each_with_index</span> { <span class="ruby-operator">|</span> <span class="ruby-identifier">track</span>, <span class="ruby-identifier">i</span> <span class="ruby-operator">|</span>
|
|
20
|
+
<span class="ruby-identifier">write_track</span>(<span class="ruby-identifier">track</span>)
|
|
21
|
+
<span class="ruby-ivar">@update_block</span>.<span class="ruby-identifier">call</span>(<span class="ruby-identifier">track</span>, <span class="ruby-ivar">@seq</span>.<span class="ruby-identifier">tracks</span>.<span class="ruby-identifier">length</span>, <span class="ruby-identifier">i</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@update_block</span>
|
|
22
|
+
}
|
|
20
23
|
<span class="ruby-keyword kw">end</span></pre>
|
|
21
24
|
</body>
|
|
22
25
|
</html>
|
|
@@ -5,50 +5,18 @@
|
|
|
5
5
|
|
|
6
6
|
<html>
|
|
7
7
|
<head>
|
|
8
|
-
<title>
|
|
8
|
+
<title>write_header (MIDI::IO::SeqWriter)</title>
|
|
9
9
|
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
|
10
10
|
<link rel="stylesheet" href="../../../.././rdoc-style.css" type="text/css" media="screen" />
|
|
11
11
|
</head>
|
|
12
12
|
<body class="standalone-code">
|
|
13
|
-
<pre><span class="ruby-comment cmt"># File lib/midilib/io/seqwriter.rb, line
|
|
14
|
-
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">
|
|
15
|
-
<span class="ruby-ivar">@io</span>.<span class="ruby-identifier">print</span> <span class="ruby-value str">'
|
|
16
|
-
<span class="ruby-identifier">
|
|
17
|
-
<span class="ruby-identifier">
|
|
18
|
-
<span class="ruby-
|
|
19
|
-
|
|
20
|
-
<span class="ruby-identifier">write_instrument</span>(<span class="ruby-identifier">track</span>.<span class="ruby-identifier">instrument</span>)
|
|
21
|
-
|
|
22
|
-
<span class="ruby-identifier">prev_event</span> = <span class="ruby-keyword kw">nil</span>
|
|
23
|
-
<span class="ruby-identifier">prev_status</span> = <span class="ruby-value">0</span>
|
|
24
|
-
<span class="ruby-identifier">track</span>.<span class="ruby-identifier">events</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span> <span class="ruby-identifier">event</span> <span class="ruby-operator">|</span>
|
|
25
|
-
<span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span><span class="ruby-identifier">event</span>.<span class="ruby-identifier">kind_of?</span>(<span class="ruby-constant">Realtime</span>)
|
|
26
|
-
<span class="ruby-identifier">write_var_len</span>(<span class="ruby-identifier">event</span>.<span class="ruby-identifier">delta_time</span>)
|
|
27
|
-
<span class="ruby-keyword kw">end</span>
|
|
28
|
-
|
|
29
|
-
<span class="ruby-identifier">data</span> = <span class="ruby-identifier">event</span>.<span class="ruby-identifier">data_as_bytes</span>()
|
|
30
|
-
<span class="ruby-identifier">status</span> = <span class="ruby-identifier">data</span>[<span class="ruby-value">0</span>] <span class="ruby-comment cmt"># status byte plus channel number, if any</span>
|
|
31
|
-
|
|
32
|
-
<span class="ruby-comment cmt"># running status byte</span>
|
|
33
|
-
<span class="ruby-identifier">status</span> = <span class="ruby-identifier">possibly_munge_due_to_running_status_byte</span>(<span class="ruby-identifier">data</span>,
|
|
34
|
-
<span class="ruby-identifier">prev_status</span>)
|
|
35
|
-
|
|
36
|
-
<span class="ruby-ivar">@bytes_written</span> <span class="ruby-operator">+=</span> <span class="ruby-ivar">@io</span>.<span class="ruby-identifier">write</span>(<span class="ruby-identifier">data</span>)
|
|
37
|
-
|
|
38
|
-
<span class="ruby-identifier">prev_event</span> = <span class="ruby-identifier">event</span>
|
|
39
|
-
<span class="ruby-identifier">prev_status</span> = <span class="ruby-identifier">status</span>
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
<span class="ruby-comment cmt"># Write track end event.</span>
|
|
43
|
-
<span class="ruby-identifier">event</span> = <span class="ruby-constant">MetaEvent</span>.<span class="ruby-identifier">new</span>(<span class="ruby-constant">META_TRACK_END</span>)
|
|
44
|
-
<span class="ruby-identifier">write_var_len</span>(<span class="ruby-value">0</span>)
|
|
45
|
-
<span class="ruby-ivar">@bytes_written</span> <span class="ruby-operator">+=</span> <span class="ruby-ivar">@io</span>.<span class="ruby-identifier">write</span>(<span class="ruby-identifier">event</span>.<span class="ruby-identifier">data_as_bytes</span>())
|
|
46
|
-
|
|
47
|
-
<span class="ruby-comment cmt"># Go back to beginning of track data and write number of bytes,</span>
|
|
48
|
-
<span class="ruby-comment cmt"># then come back here to end of file.</span>
|
|
49
|
-
<span class="ruby-ivar">@io</span>.<span class="ruby-identifier">seek</span>(<span class="ruby-identifier">track_size_file_pos</span>)
|
|
50
|
-
<span class="ruby-identifier">write32</span>(<span class="ruby-ivar">@bytes_written</span>)
|
|
51
|
-
<span class="ruby-ivar">@io</span>.<span class="ruby-identifier">seek</span>(<span class="ruby-value">0</span>, <span class="ruby-operator">::</span><span class="ruby-constant">IO</span><span class="ruby-operator">::</span><span class="ruby-constant">SEEK_END</span>)
|
|
13
|
+
<pre><span class="ruby-comment cmt"># File lib/midilib/io/seqwriter.rb, line 29</span>
|
|
14
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">write_header</span>
|
|
15
|
+
<span class="ruby-ivar">@io</span>.<span class="ruby-identifier">print</span> <span class="ruby-value str">'MThd'</span>
|
|
16
|
+
<span class="ruby-identifier">write32</span>(<span class="ruby-value">6</span>)
|
|
17
|
+
<span class="ruby-identifier">write16</span>(<span class="ruby-value">1</span>) <span class="ruby-comment cmt"># Ignore sequence format; write as format 1</span>
|
|
18
|
+
<span class="ruby-identifier">write16</span>(<span class="ruby-ivar">@seq</span>.<span class="ruby-identifier">tracks</span>.<span class="ruby-identifier">length</span>)
|
|
19
|
+
<span class="ruby-identifier">write16</span>(<span class="ruby-ivar">@seq</span>.<span class="ruby-identifier">ppqn</span>)
|
|
52
20
|
<span class="ruby-keyword kw">end</span></pre>
|
|
53
21
|
</body>
|
|
54
22
|
</html>
|
|
@@ -5,45 +5,50 @@
|
|
|
5
5
|
|
|
6
6
|
<html>
|
|
7
7
|
<head>
|
|
8
|
-
<title>
|
|
8
|
+
<title>write_track (MIDI::IO::SeqWriter)</title>
|
|
9
9
|
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
|
10
10
|
<link rel="stylesheet" href="../../../.././rdoc-style.css" type="text/css" media="screen" />
|
|
11
11
|
</head>
|
|
12
12
|
<body class="standalone-code">
|
|
13
|
-
<pre><span class="ruby-comment cmt"># File lib/midilib/io/seqwriter.rb, line
|
|
14
|
-
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">
|
|
15
|
-
<span class="ruby-
|
|
16
|
-
<span class="ruby-
|
|
17
|
-
|
|
18
|
-
<span class="ruby-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
<span class="ruby-identifier">
|
|
23
|
-
|
|
24
|
-
<span class="ruby-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
<span class="ruby-keyword kw">if</span> <span class="ruby-identifier">status</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">prev_status</span>
|
|
28
|
-
<span class="ruby-identifier">data</span>[<span class="ruby-value">0</span>] = <span class="ruby-value str">''</span> <span class="ruby-comment cmt"># delete status byte from data</span>
|
|
29
|
-
<span class="ruby-keyword kw">return</span> <span class="ruby-identifier">status</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">chan</span>
|
|
30
|
-
<span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">status</span> <span class="ruby-operator">==</span> <span class="ruby-constant">NOTE_OFF</span> <span class="ruby-operator">&&</span> <span class="ruby-identifier">data</span>[<span class="ruby-value">2</span>] <span class="ruby-operator">==</span> <span class="ruby-value">64</span>
|
|
31
|
-
<span class="ruby-comment cmt"># If we see a note off and the velocity is 64, we can store</span>
|
|
32
|
-
<span class="ruby-comment cmt"># a note on with a velocity of 0. If the velocity isn't 64</span>
|
|
33
|
-
<span class="ruby-comment cmt"># then storing a note on would be bad because the would be</span>
|
|
34
|
-
<span class="ruby-comment cmt"># changed to 64 when reading the file back in.</span>
|
|
35
|
-
<span class="ruby-identifier">data</span>[<span class="ruby-value">2</span>] = <span class="ruby-value">0</span> <span class="ruby-comment cmt"># set vel to 0; do before possible shrinking</span>
|
|
36
|
-
<span class="ruby-identifier">status</span> = <span class="ruby-constant">NOTE_ON</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">chan</span>
|
|
37
|
-
<span class="ruby-keyword kw">if</span> <span class="ruby-identifier">prev_status</span> <span class="ruby-operator">==</span> <span class="ruby-constant">NOTE_ON</span>
|
|
38
|
-
<span class="ruby-identifier">data</span>[<span class="ruby-value">0</span>] = <span class="ruby-value str">''</span> <span class="ruby-comment cmt"># delete status byte</span>
|
|
39
|
-
<span class="ruby-keyword kw">else</span>
|
|
40
|
-
<span class="ruby-identifier">data</span>[<span class="ruby-value">0</span>] = <span class="ruby-identifier">status</span>
|
|
13
|
+
<pre><span class="ruby-comment cmt"># File lib/midilib/io/seqwriter.rb, line 37</span>
|
|
14
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">write_track</span>(<span class="ruby-identifier">track</span>)
|
|
15
|
+
<span class="ruby-ivar">@io</span>.<span class="ruby-identifier">print</span> <span class="ruby-value str">'MTrk'</span>
|
|
16
|
+
<span class="ruby-identifier">track_size_file_pos</span> = <span class="ruby-ivar">@io</span>.<span class="ruby-identifier">tell</span>()
|
|
17
|
+
<span class="ruby-identifier">write32</span>(<span class="ruby-value">0</span>) <span class="ruby-comment cmt"># Dummy byte count; overwritten later</span>
|
|
18
|
+
<span class="ruby-ivar">@bytes_written</span> = <span class="ruby-value">0</span> <span class="ruby-comment cmt"># Reset after previous write</span>
|
|
19
|
+
|
|
20
|
+
<span class="ruby-identifier">write_instrument</span>(<span class="ruby-identifier">track</span>.<span class="ruby-identifier">instrument</span>)
|
|
21
|
+
|
|
22
|
+
<span class="ruby-identifier">prev_event</span> = <span class="ruby-keyword kw">nil</span>
|
|
23
|
+
<span class="ruby-identifier">prev_status</span> = <span class="ruby-value">0</span>
|
|
24
|
+
<span class="ruby-identifier">track</span>.<span class="ruby-identifier">events</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span> <span class="ruby-identifier">event</span> <span class="ruby-operator">|</span>
|
|
25
|
+
<span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span><span class="ruby-identifier">event</span>.<span class="ruby-identifier">kind_of?</span>(<span class="ruby-constant">Realtime</span>)
|
|
26
|
+
<span class="ruby-identifier">write_var_len</span>(<span class="ruby-identifier">event</span>.<span class="ruby-identifier">delta_time</span>)
|
|
41
27
|
<span class="ruby-keyword kw">end</span>
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
<span class="ruby-comment cmt">#
|
|
45
|
-
|
|
46
|
-
|
|
28
|
+
|
|
29
|
+
<span class="ruby-identifier">data</span> = <span class="ruby-identifier">event</span>.<span class="ruby-identifier">data_as_bytes</span>()
|
|
30
|
+
<span class="ruby-identifier">status</span> = <span class="ruby-identifier">data</span>[<span class="ruby-value">0</span>] <span class="ruby-comment cmt"># status byte plus channel number, if any</span>
|
|
31
|
+
|
|
32
|
+
<span class="ruby-comment cmt"># running status byte</span>
|
|
33
|
+
<span class="ruby-identifier">status</span> = <span class="ruby-identifier">possibly_munge_due_to_running_status_byte</span>(<span class="ruby-identifier">data</span>,
|
|
34
|
+
<span class="ruby-identifier">prev_status</span>)
|
|
35
|
+
|
|
36
|
+
<span class="ruby-ivar">@bytes_written</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">write_bytes</span>(<span class="ruby-identifier">data</span>)
|
|
37
|
+
|
|
38
|
+
<span class="ruby-identifier">prev_event</span> = <span class="ruby-identifier">event</span>
|
|
39
|
+
<span class="ruby-identifier">prev_status</span> = <span class="ruby-identifier">status</span>
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
<span class="ruby-comment cmt"># Write track end event.</span>
|
|
43
|
+
<span class="ruby-identifier">event</span> = <span class="ruby-constant">MetaEvent</span>.<span class="ruby-identifier">new</span>(<span class="ruby-constant">META_TRACK_END</span>)
|
|
44
|
+
<span class="ruby-identifier">write_var_len</span>(<span class="ruby-value">0</span>)
|
|
45
|
+
<span class="ruby-ivar">@bytes_written</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">write_bytes</span>(<span class="ruby-identifier">event</span>.<span class="ruby-identifier">data_as_bytes</span>())
|
|
46
|
+
|
|
47
|
+
<span class="ruby-comment cmt"># Go back to beginning of track data and write number of bytes,</span>
|
|
48
|
+
<span class="ruby-comment cmt"># then come back here to end of file.</span>
|
|
49
|
+
<span class="ruby-ivar">@io</span>.<span class="ruby-identifier">seek</span>(<span class="ruby-identifier">track_size_file_pos</span>)
|
|
50
|
+
<span class="ruby-identifier">write32</span>(<span class="ruby-ivar">@bytes_written</span>)
|
|
51
|
+
<span class="ruby-ivar">@io</span>.<span class="ruby-identifier">seek</span>(<span class="ruby-value">0</span>, <span class="ruby-operator">::</span><span class="ruby-constant">IO</span><span class="ruby-operator">::</span><span class="ruby-constant">SEEK_END</span>)
|
|
47
52
|
<span class="ruby-keyword kw">end</span></pre>
|
|
48
53
|
</body>
|
|
49
54
|
</html>
|
|
@@ -5,17 +5,45 @@
|
|
|
5
5
|
|
|
6
6
|
<html>
|
|
7
7
|
<head>
|
|
8
|
-
<title>
|
|
8
|
+
<title>possibly_munge_due_to_running_status_byte (MIDI::IO::SeqWriter)</title>
|
|
9
9
|
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
|
10
10
|
<link rel="stylesheet" href="../../../.././rdoc-style.css" type="text/css" media="screen" />
|
|
11
11
|
</head>
|
|
12
12
|
<body class="standalone-code">
|
|
13
|
-
<pre><span class="ruby-comment cmt"># File lib/midilib/io/seqwriter.rb, line
|
|
14
|
-
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">
|
|
15
|
-
<span class="ruby-identifier">
|
|
16
|
-
<span class="ruby-identifier">
|
|
17
|
-
|
|
18
|
-
<span class="ruby-
|
|
13
|
+
<pre><span class="ruby-comment cmt"># File lib/midilib/io/seqwriter.rb, line 80</span>
|
|
14
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">possibly_munge_due_to_running_status_byte</span>(<span class="ruby-identifier">data</span>, <span class="ruby-identifier">prev_status</span>)
|
|
15
|
+
<span class="ruby-identifier">status</span> = <span class="ruby-identifier">data</span>[<span class="ruby-value">0</span>]
|
|
16
|
+
<span class="ruby-keyword kw">return</span> <span class="ruby-identifier">status</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">status</span> <span class="ruby-operator">>=</span> <span class="ruby-value">0xf0</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">prev_status</span> <span class="ruby-operator">>=</span> <span class="ruby-value">0xf0</span>
|
|
17
|
+
|
|
18
|
+
<span class="ruby-identifier">chan</span> = (<span class="ruby-identifier">status</span> <span class="ruby-operator">&</span> <span class="ruby-value">0x0f</span>)
|
|
19
|
+
<span class="ruby-keyword kw">return</span> <span class="ruby-identifier">status</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">chan</span> <span class="ruby-operator">!=</span> (<span class="ruby-identifier">prev_status</span> <span class="ruby-operator">&</span> <span class="ruby-value">0x0f</span>)
|
|
20
|
+
|
|
21
|
+
<span class="ruby-identifier">status</span> = (<span class="ruby-identifier">status</span> <span class="ruby-operator">&</span> <span class="ruby-value">0xf0</span>)
|
|
22
|
+
<span class="ruby-identifier">prev_status</span> = (<span class="ruby-identifier">prev_status</span> <span class="ruby-operator">&</span> <span class="ruby-value">0xf0</span>)
|
|
23
|
+
|
|
24
|
+
<span class="ruby-comment cmt"># Both events are on the same channel. If the two status bytes are</span>
|
|
25
|
+
<span class="ruby-comment cmt"># exactly the same, the rest is trivial. If it's note on/note off,</span>
|
|
26
|
+
<span class="ruby-comment cmt"># we can combine those further.</span>
|
|
27
|
+
<span class="ruby-keyword kw">if</span> <span class="ruby-identifier">status</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">prev_status</span>
|
|
28
|
+
<span class="ruby-identifier">data</span>[<span class="ruby-value">0</span>,<span class="ruby-value">1</span>] = <span class="ruby-keyword kw">nil</span> <span class="ruby-comment cmt"># delete status byte from data</span>
|
|
29
|
+
<span class="ruby-keyword kw">return</span> <span class="ruby-identifier">status</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">chan</span>
|
|
30
|
+
<span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">status</span> <span class="ruby-operator">==</span> <span class="ruby-constant">NOTE_OFF</span> <span class="ruby-operator">&&</span> <span class="ruby-identifier">data</span>[<span class="ruby-value">2</span>] <span class="ruby-operator">==</span> <span class="ruby-value">64</span>
|
|
31
|
+
<span class="ruby-comment cmt"># If we see a note off and the velocity is 64, we can store</span>
|
|
32
|
+
<span class="ruby-comment cmt"># a note on with a velocity of 0. If the velocity isn't 64</span>
|
|
33
|
+
<span class="ruby-comment cmt"># then storing a note on would be bad because the would be</span>
|
|
34
|
+
<span class="ruby-comment cmt"># changed to 64 when reading the file back in.</span>
|
|
35
|
+
<span class="ruby-identifier">data</span>[<span class="ruby-value">2</span>] = <span class="ruby-value">0</span> <span class="ruby-comment cmt"># set vel to 0; do before possible shrinking</span>
|
|
36
|
+
<span class="ruby-identifier">status</span> = <span class="ruby-constant">NOTE_ON</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">chan</span>
|
|
37
|
+
<span class="ruby-keyword kw">if</span> <span class="ruby-identifier">prev_status</span> <span class="ruby-operator">==</span> <span class="ruby-constant">NOTE_ON</span>
|
|
38
|
+
<span class="ruby-identifier">data</span>[<span class="ruby-value">0</span>,<span class="ruby-value">1</span>] = [] <span class="ruby-comment cmt"># delete status byte</span>
|
|
39
|
+
<span class="ruby-keyword kw">else</span>
|
|
40
|
+
<span class="ruby-identifier">data</span>[<span class="ruby-value">0</span>] = <span class="ruby-identifier">status</span>
|
|
41
|
+
<span class="ruby-keyword kw">end</span>
|
|
42
|
+
<span class="ruby-keyword kw">return</span> <span class="ruby-identifier">status</span>
|
|
43
|
+
<span class="ruby-keyword kw">else</span>
|
|
44
|
+
<span class="ruby-comment cmt"># Can't compress data</span>
|
|
45
|
+
<span class="ruby-keyword kw">return</span> <span class="ruby-identifier">status</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">chan</span>
|
|
46
|
+
<span class="ruby-keyword kw">end</span>
|
|
19
47
|
<span class="ruby-keyword kw">end</span></pre>
|
|
20
48
|
</body>
|
|
21
49
|
</html>
|
|
@@ -5,15 +5,17 @@
|
|
|
5
5
|
|
|
6
6
|
<html>
|
|
7
7
|
<head>
|
|
8
|
-
<title>
|
|
8
|
+
<title>write_instrument (MIDI::IO::SeqWriter)</title>
|
|
9
9
|
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
|
10
10
|
<link rel="stylesheet" href="../../../.././rdoc-style.css" type="text/css" media="screen" />
|
|
11
11
|
</head>
|
|
12
12
|
<body class="standalone-code">
|
|
13
|
-
<pre><span class="ruby-comment cmt"># File lib/midilib/io/seqwriter.rb, line
|
|
14
|
-
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">
|
|
15
|
-
<span class="ruby-identifier">
|
|
16
|
-
<span class="ruby-
|
|
13
|
+
<pre><span class="ruby-comment cmt"># File lib/midilib/io/seqwriter.rb, line 115</span>
|
|
14
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">write_instrument</span>(<span class="ruby-identifier">instrument</span>)
|
|
15
|
+
<span class="ruby-identifier">event</span> = <span class="ruby-constant">MetaEvent</span>.<span class="ruby-identifier">new</span>(<span class="ruby-constant">META_INSTRUMENT</span>, <span class="ruby-identifier">instrument</span>)
|
|
16
|
+
<span class="ruby-identifier">write_var_len</span>(<span class="ruby-value">0</span>)
|
|
17
|
+
<span class="ruby-identifier">data</span> = <span class="ruby-identifier">event</span>.<span class="ruby-identifier">data_as_bytes</span>()
|
|
18
|
+
<span class="ruby-ivar">@bytes_written</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">write_bytes</span>(<span class="ruby-identifier">data</span>)
|
|
17
19
|
<span class="ruby-keyword kw">end</span></pre>
|
|
18
20
|
</body>
|
|
19
21
|
</html>
|
|
@@ -5,20 +5,15 @@
|
|
|
5
5
|
|
|
6
6
|
<html>
|
|
7
7
|
<head>
|
|
8
|
-
<title>
|
|
8
|
+
<title>write_var_len (MIDI::IO::SeqWriter)</title>
|
|
9
9
|
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
|
10
10
|
<link rel="stylesheet" href="../../../.././rdoc-style.css" type="text/css" media="screen" />
|
|
11
11
|
</head>
|
|
12
12
|
<body class="standalone-code">
|
|
13
|
-
<pre><span class="ruby-comment cmt"># File lib/midilib/io/seqwriter.rb, line
|
|
14
|
-
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">
|
|
15
|
-
<span class="ruby-identifier">
|
|
16
|
-
|
|
17
|
-
<span class="ruby-identifier">buffer</span> = <span class="ruby-value str">''</span>
|
|
18
|
-
<span class="ruby-identifier">buffer</span> <span class="ruby-operator"><<</span> ((<span class="ruby-identifier">val</span> <span class="ruby-operator">>></span> <span class="ruby-value">8</span>) <span class="ruby-operator">&</span> <span class="ruby-value">0xff</span>)
|
|
19
|
-
<span class="ruby-identifier">buffer</span> <span class="ruby-operator"><<</span> (<span class="ruby-identifier">val</span> <span class="ruby-operator">&</span> <span class="ruby-value">0xff</span>)
|
|
20
|
-
|
|
21
|
-
<span class="ruby-ivar">@bytes_written</span> <span class="ruby-operator">+=</span> <span class="ruby-ivar">@io</span>.<span class="ruby-identifier">write</span>(<span class="ruby-identifier">buffer</span>)
|
|
13
|
+
<pre><span class="ruby-comment cmt"># File lib/midilib/io/seqwriter.rb, line 122</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-identifier">buffer</span> = <span class="ruby-constant">Utils</span>.<span class="ruby-identifier">as_var_len</span>(<span class="ruby-identifier">val</span>)
|
|
16
|
+
<span class="ruby-ivar">@bytes_written</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">write_bytes</span>(<span class="ruby-identifier">buffer</span>)
|
|
22
17
|
<span class="ruby-keyword kw">end</span></pre>
|
|
23
18
|
</body>
|
|
24
19
|
</html>
|
|
@@ -5,22 +5,19 @@
|
|
|
5
5
|
|
|
6
6
|
<html>
|
|
7
7
|
<head>
|
|
8
|
-
<title>
|
|
8
|
+
<title>write16 (MIDI::IO::SeqWriter)</title>
|
|
9
9
|
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
|
10
10
|
<link rel="stylesheet" href="../../../.././rdoc-style.css" type="text/css" media="screen" />
|
|
11
11
|
</head>
|
|
12
12
|
<body class="standalone-code">
|
|
13
|
-
<pre><span class="ruby-comment cmt"># File lib/midilib/io/seqwriter.rb, line
|
|
14
|
-
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">
|
|
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">
|
|
13
|
+
<pre><span class="ruby-comment cmt"># File lib/midilib/io/seqwriter.rb, line 127</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
16
|
|
|
17
|
-
<span class="ruby-identifier">buffer</span> =
|
|
18
|
-
<span class="ruby-
|
|
19
|
-
<span class="ruby-
|
|
20
|
-
<span class="ruby-
|
|
21
|
-
<span class="ruby-identifier">buffer</span> <span class="ruby-operator"><<</span> (<span class="ruby-identifier">val</span> <span class="ruby-operator">&</span> <span class="ruby-value">0xff</span>)
|
|
22
|
-
|
|
23
|
-
<span class="ruby-ivar">@bytes_written</span> <span class="ruby-operator">+=</span> <span class="ruby-ivar">@io</span>.<span class="ruby-identifier">write</span>(<span class="ruby-identifier">buffer</span>)
|
|
17
|
+
<span class="ruby-identifier">buffer</span> = []
|
|
18
|
+
<span class="ruby-ivar">@io</span>.<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-ivar">@io</span>.<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-ivar">@bytes_written</span> <span class="ruby-operator">+=</span> <span class="ruby-value">2</span>
|
|
24
21
|
<span class="ruby-keyword kw">end</span></pre>
|
|
25
22
|
</body>
|
|
26
23
|
</html>
|
|
@@ -0,0 +1,24 @@
|
|
|
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::SeqWriter)</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/seqwriter.rb, line 136</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
|
+
|
|
17
|
+
<span class="ruby-ivar">@io</span>.<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>)
|
|
18
|
+
<span class="ruby-ivar">@io</span>.<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>)
|
|
19
|
+
<span class="ruby-ivar">@io</span>.<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>)
|
|
20
|
+
<span class="ruby-ivar">@io</span>.<span class="ruby-identifier">putc</span>(<span class="ruby-identifier">val</span> <span class="ruby-operator">&</span> <span class="ruby-value">0xff</span>)
|
|
21
|
+
<span class="ruby-ivar">@bytes_written</span> <span class="ruby-operator">+=</span> <span class="ruby-value">4</span>
|
|
22
|
+
<span class="ruby-keyword kw">end</span></pre>
|
|
23
|
+
</body>
|
|
24
|
+
</html>
|
|
@@ -0,0 +1,19 @@
|
|
|
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_bytes (MIDI::IO::SeqWriter)</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/seqwriter.rb, line 146</span>
|
|
14
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">write_bytes</span>(<span class="ruby-identifier">bytes</span>)
|
|
15
|
+
<span class="ruby-identifier">bytes</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-ivar">@io</span>.<span class="ruby-identifier">putc</span>(<span class="ruby-identifier">b</span>) }
|
|
16
|
+
<span class="ruby-identifier">bytes</span>.<span class="ruby-identifier">length</span>
|
|
17
|
+
<span class="ruby-keyword kw">end</span></pre>
|
|
18
|
+
</body>
|
|
19
|
+
</html>
|
|
@@ -94,12 +94,12 @@ Container for key signature events
|
|
|
94
94
|
<h3 class="section-bar">Methods</h3>
|
|
95
95
|
|
|
96
96
|
<div class="name-list">
|
|
97
|
-
<a href="#
|
|
98
|
-
<a href="#
|
|
99
|
-
<a href="#
|
|
100
|
-
<a href="#
|
|
101
|
-
<a href="#
|
|
102
|
-
<a href="#
|
|
97
|
+
<a href="#M000141">data_as_bytes</a>
|
|
98
|
+
<a href="#M000143">major_key?</a>
|
|
99
|
+
<a href="#M000142">minor_key?</a>
|
|
100
|
+
<a href="#M000140">new</a>
|
|
101
|
+
<a href="#M000144">sharpflat</a>
|
|
102
|
+
<a href="#M000145">to_s</a>
|
|
103
103
|
</div>
|
|
104
104
|
</div>
|
|
105
105
|
|
|
@@ -121,12 +121,12 @@ Container for key signature events
|
|
|
121
121
|
<div id="methods">
|
|
122
122
|
<h3 class="section-bar">Public Class methods</h3>
|
|
123
123
|
|
|
124
|
-
<div id="method-
|
|
125
|
-
<a name="
|
|
124
|
+
<div id="method-M000140" class="method-detail">
|
|
125
|
+
<a name="M000140"></a>
|
|
126
126
|
|
|
127
127
|
<div class="method-heading">
|
|
128
|
-
<a href="KeySig.src/
|
|
129
|
-
onclick="popupCode('KeySig.src/
|
|
128
|
+
<a href="KeySig.src/M000140.html" target="Code" class="method-signature"
|
|
129
|
+
onclick="popupCode('KeySig.src/M000140.html');return false;">
|
|
130
130
|
<span class="method-name">new</span><span class="method-args">(sharpflat, is_minor, delta_time = 0)</span>
|
|
131
131
|
</a>
|
|
132
132
|
</div>
|
|
@@ -140,12 +140,12 @@ Constructor
|
|
|
140
140
|
|
|
141
141
|
<h3 class="section-bar">Public Instance methods</h3>
|
|
142
142
|
|
|
143
|
-
<div id="method-
|
|
144
|
-
<a name="
|
|
143
|
+
<div id="method-M000141" class="method-detail">
|
|
144
|
+
<a name="M000141"></a>
|
|
145
145
|
|
|
146
146
|
<div class="method-heading">
|
|
147
|
-
<a href="KeySig.src/
|
|
148
|
-
onclick="popupCode('KeySig.src/
|
|
147
|
+
<a href="KeySig.src/M000141.html" target="Code" class="method-signature"
|
|
148
|
+
onclick="popupCode('KeySig.src/M000141.html');return false;">
|
|
149
149
|
<span class="method-name">data_as_bytes</span><span class="method-args">()</span>
|
|
150
150
|
</a>
|
|
151
151
|
</div>
|
|
@@ -157,12 +157,12 @@ Returns the complete event as stored in the sequence
|
|
|
157
157
|
</div>
|
|
158
158
|
</div>
|
|
159
159
|
|
|
160
|
-
<div id="method-
|
|
161
|
-
<a name="
|
|
160
|
+
<div id="method-M000143" class="method-detail">
|
|
161
|
+
<a name="M000143"></a>
|
|
162
162
|
|
|
163
163
|
<div class="method-heading">
|
|
164
|
-
<a href="KeySig.src/
|
|
165
|
-
onclick="popupCode('KeySig.src/
|
|
164
|
+
<a href="KeySig.src/M000143.html" target="Code" class="method-signature"
|
|
165
|
+
onclick="popupCode('KeySig.src/M000143.html');return false;">
|
|
166
166
|
<span class="method-name">major_key?</span><span class="method-args">()</span>
|
|
167
167
|
</a>
|
|
168
168
|
</div>
|
|
@@ -174,12 +174,12 @@ Returns true if it‘s a major key, false if minor key
|
|
|
174
174
|
</div>
|
|
175
175
|
</div>
|
|
176
176
|
|
|
177
|
-
<div id="method-
|
|
178
|
-
<a name="
|
|
177
|
+
<div id="method-M000142" class="method-detail">
|
|
178
|
+
<a name="M000142"></a>
|
|
179
179
|
|
|
180
180
|
<div class="method-heading">
|
|
181
|
-
<a href="KeySig.src/
|
|
182
|
-
onclick="popupCode('KeySig.src/
|
|
181
|
+
<a href="KeySig.src/M000142.html" target="Code" class="method-signature"
|
|
182
|
+
onclick="popupCode('KeySig.src/M000142.html');return false;">
|
|
183
183
|
<span class="method-name">minor_key?</span><span class="method-args">()</span>
|
|
184
184
|
</a>
|
|
185
185
|
</div>
|
|
@@ -191,12 +191,12 @@ Returns true if it‘s a minor key, false if major key
|
|
|
191
191
|
</div>
|
|
192
192
|
</div>
|
|
193
193
|
|
|
194
|
-
<div id="method-
|
|
195
|
-
<a name="
|
|
194
|
+
<div id="method-M000144" class="method-detail">
|
|
195
|
+
<a name="M000144"></a>
|
|
196
196
|
|
|
197
197
|
<div class="method-heading">
|
|
198
|
-
<a href="KeySig.src/
|
|
199
|
-
onclick="popupCode('KeySig.src/
|
|
198
|
+
<a href="KeySig.src/M000144.html" target="Code" class="method-signature"
|
|
199
|
+
onclick="popupCode('KeySig.src/M000144.html');return false;">
|
|
200
200
|
<span class="method-name">sharpflat</span><span class="method-args">()</span>
|
|
201
201
|
</a>
|
|
202
202
|
</div>
|
|
@@ -208,12 +208,12 @@ Returns the number of sharps/flats in the key sig. Negative for flats.
|
|
|
208
208
|
</div>
|
|
209
209
|
</div>
|
|
210
210
|
|
|
211
|
-
<div id="method-
|
|
212
|
-
<a name="
|
|
211
|
+
<div id="method-M000145" class="method-detail">
|
|
212
|
+
<a name="M000145"></a>
|
|
213
213
|
|
|
214
214
|
<div class="method-heading">
|
|
215
|
-
<a href="KeySig.src/
|
|
216
|
-
onclick="popupCode('KeySig.src/
|
|
215
|
+
<a href="KeySig.src/M000145.html" target="Code" class="method-signature"
|
|
216
|
+
onclick="popupCode('KeySig.src/M000145.html');return false;">
|
|
217
217
|
<span class="method-name">to_s</span><span class="method-args">()</span>
|
|
218
218
|
</a>
|
|
219
219
|
</div>
|
|
@@ -5,14 +5,15 @@
|
|
|
5
5
|
|
|
6
6
|
<html>
|
|
7
7
|
<head>
|
|
8
|
-
<title>
|
|
8
|
+
<title>new (MIDI::KeySig)</title>
|
|
9
9
|
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
|
10
10
|
<link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
|
|
11
11
|
</head>
|
|
12
12
|
<body class="standalone-code">
|
|
13
|
-
<pre><span class="ruby-comment cmt"># File lib/midilib/event.rb, line
|
|
14
|
-
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">
|
|
15
|
-
<span class="ruby-
|
|
13
|
+
<pre><span class="ruby-comment cmt"># File lib/midilib/event.rb, line 635</span>
|
|
14
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">sharpflat</span>, <span class="ruby-identifier">is_minor</span>, <span class="ruby-identifier">delta_time</span> = <span class="ruby-value">0</span>)
|
|
15
|
+
<span class="ruby-keyword kw">super</span>(<span class="ruby-constant">META_KEY_SIG</span>, [<span class="ruby-identifier">sharpflat</span>, <span class="ruby-identifier">is_minor</span>], <span class="ruby-identifier">delta_time</span>)
|
|
16
|
+
<span class="ruby-ivar">@is_keysig</span> = <span class="ruby-keyword kw">true</span>
|
|
16
17
|
<span class="ruby-keyword kw">end</span></pre>
|
|
17
18
|
</body>
|
|
18
19
|
</html>
|
|
@@ -5,14 +5,19 @@
|
|
|
5
5
|
|
|
6
6
|
<html>
|
|
7
7
|
<head>
|
|
8
|
-
<title>
|
|
8
|
+
<title>data_as_bytes (MIDI::KeySig)</title>
|
|
9
9
|
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
|
10
10
|
<link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
|
|
11
11
|
</head>
|
|
12
12
|
<body class="standalone-code">
|
|
13
|
-
<pre><span class="ruby-comment cmt"># File lib/midilib/event.rb, line
|
|
14
|
-
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">
|
|
15
|
-
|
|
13
|
+
<pre><span class="ruby-comment cmt"># File lib/midilib/event.rb, line 641</span>
|
|
14
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">data_as_bytes</span>
|
|
15
|
+
<span class="ruby-identifier">data</span> = []
|
|
16
|
+
<span class="ruby-identifier">data</span> <span class="ruby-operator"><<</span> <span class="ruby-ivar">@status</span>
|
|
17
|
+
<span class="ruby-identifier">data</span> <span class="ruby-operator"><<</span> <span class="ruby-ivar">@meta_type</span>
|
|
18
|
+
<span class="ruby-identifier">data</span> <span class="ruby-operator"><<</span> <span class="ruby-value">2</span>
|
|
19
|
+
<span class="ruby-identifier">data</span> <span class="ruby-operator"><<</span> <span class="ruby-ivar">@data</span>[<span class="ruby-value">0</span>]
|
|
20
|
+
<span class="ruby-identifier">data</span> <span class="ruby-operator"><<</span> (<span class="ruby-ivar">@data</span>[<span class="ruby-value">1</span>] <span class="ruby-operator">?</span> <span class="ruby-value">1</span> <span class="ruby-operator">:</span> <span class="ruby-value">0</span>)
|
|
16
21
|
<span class="ruby-keyword kw">end</span></pre>
|
|
17
22
|
</body>
|
|
18
23
|
</html>
|