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
|
File without changes
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="iso-8859-1"?>
|
|
2
|
+
<!DOCTYPE html
|
|
3
|
+
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
|
4
|
+
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
5
|
+
|
|
6
|
+
<html>
|
|
7
|
+
<head>
|
|
8
|
+
<title>beats_per_minute (MIDI::Sequence)</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/sequence.rb, line 68</span>
|
|
14
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">beats_per_minute</span>
|
|
15
|
+
<span class="ruby-keyword kw">return</span> <span class="ruby-constant">DEFAULT_TEMPO</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@tracks</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-operator">||</span> <span class="ruby-ivar">@tracks</span>.<span class="ruby-identifier">empty?</span>
|
|
16
|
+
<span class="ruby-identifier">event</span> = <span class="ruby-ivar">@tracks</span>.<span class="ruby-identifier">first</span>.<span class="ruby-identifier">events</span>.<span class="ruby-identifier">detect</span> { <span class="ruby-operator">|</span> <span class="ruby-identifier">e</span> <span class="ruby-operator">|</span>
|
|
17
|
+
<span class="ruby-identifier">e</span>.<span class="ruby-identifier">kind_of?</span>(<span class="ruby-constant">MIDI</span><span class="ruby-operator">::</span><span class="ruby-constant">Tempo</span>)
|
|
18
|
+
}
|
|
19
|
+
<span class="ruby-keyword kw">return</span> <span class="ruby-identifier">event</span> <span class="ruby-operator">?</span> (<span class="ruby-constant">Tempo</span>.<span class="ruby-identifier">mpq_to_bpm</span>(<span class="ruby-identifier">event</span>.<span class="ruby-identifier">tempo</span>)) <span class="ruby-operator">:</span> <span class="ruby-constant">DEFAULT_TEMPO</span>
|
|
20
|
+
<span class="ruby-keyword kw">end</span></pre>
|
|
21
|
+
</body>
|
|
22
|
+
</html>
|
|
@@ -5,14 +5,14 @@
|
|
|
5
5
|
|
|
6
6
|
<html>
|
|
7
7
|
<head>
|
|
8
|
-
<title>
|
|
8
|
+
<title>note_to_delta (MIDI::Sequence)</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/sequence.rb, line
|
|
14
|
-
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">
|
|
15
|
-
<span class="ruby-keyword kw">return</span>
|
|
13
|
+
<pre><span class="ruby-comment cmt"># File lib/midilib/sequence.rb, line 81</span>
|
|
14
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">note_to_delta</span>(<span class="ruby-identifier">name</span>)
|
|
15
|
+
<span class="ruby-keyword kw">return</span> <span class="ruby-identifier">length_to_delta</span>(<span class="ruby-identifier">note_to_length</span>(<span class="ruby-identifier">name</span>))
|
|
16
16
|
<span class="ruby-keyword kw">end</span></pre>
|
|
17
17
|
</body>
|
|
18
18
|
</html>
|
|
@@ -5,15 +5,23 @@
|
|
|
5
5
|
|
|
6
6
|
<html>
|
|
7
7
|
<head>
|
|
8
|
-
<title>
|
|
8
|
+
<title>note_to_length (MIDI::Sequence)</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/sequence.rb, line
|
|
14
|
-
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">name</span>
|
|
15
|
-
|
|
16
|
-
|
|
13
|
+
<pre><span class="ruby-comment cmt"># File lib/midilib/sequence.rb, line 94</span>
|
|
14
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">note_to_length</span>(<span class="ruby-identifier">name</span>)
|
|
15
|
+
<span class="ruby-identifier">name</span>.<span class="ruby-identifier">strip!</span>
|
|
16
|
+
<span class="ruby-identifier">name</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp re">/^(dotted)?(.*?)(triplet)?$/</span>
|
|
17
|
+
<span class="ruby-identifier">dotted</span>, <span class="ruby-identifier">note_name</span>, <span class="ruby-identifier">triplet</span> = <span class="ruby-identifier">$1</span>, <span class="ruby-identifier">$2</span>, <span class="ruby-identifier">$3</span>
|
|
18
|
+
<span class="ruby-identifier">note_name</span>.<span class="ruby-identifier">strip!</span>
|
|
19
|
+
<span class="ruby-identifier">mult</span> = <span class="ruby-value">1.0</span>
|
|
20
|
+
<span class="ruby-identifier">mult</span> = <span class="ruby-value">1.5</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">dotted</span>
|
|
21
|
+
<span class="ruby-identifier">mult</span> <span class="ruby-operator">/=</span> <span class="ruby-value">3.0</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">triplet</span>
|
|
22
|
+
<span class="ruby-identifier">len</span> = <span class="ruby-constant">NOTE_TO_LENGTH</span>[<span class="ruby-identifier">note_name</span>]
|
|
23
|
+
<span class="ruby-identifier">raise</span> <span class="ruby-node">"Sequence.note_to_length: \"#{note_name}\" not understood in \"#{name}\""</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">len</span>
|
|
24
|
+
<span class="ruby-keyword kw">return</span> <span class="ruby-identifier">len</span> <span class="ruby-operator">*</span> <span class="ruby-identifier">mult</span>
|
|
17
25
|
<span class="ruby-keyword kw">end</span></pre>
|
|
18
26
|
</body>
|
|
19
27
|
</html>
|
|
@@ -5,15 +5,14 @@
|
|
|
5
5
|
|
|
6
6
|
<html>
|
|
7
7
|
<head>
|
|
8
|
-
<title>
|
|
8
|
+
<title>length_to_delta (MIDI::Sequence)</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/sequence.rb, line
|
|
14
|
-
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">
|
|
15
|
-
|
|
16
|
-
<span class="ruby-ivar">@tracks</span>.<span class="ruby-identifier">first</span>.<span class="ruby-identifier">name</span> = <span class="ruby-identifier">name</span>
|
|
13
|
+
<pre><span class="ruby-comment cmt"># File lib/midilib/sequence.rb, line 114</span>
|
|
14
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">length_to_delta</span>(<span class="ruby-identifier">length</span>)
|
|
15
|
+
<span class="ruby-keyword kw">return</span> (<span class="ruby-ivar">@ppqn</span> <span class="ruby-operator">*</span> <span class="ruby-identifier">length</span>).<span class="ruby-identifier">to_i</span>
|
|
17
16
|
<span class="ruby-keyword kw">end</span></pre>
|
|
18
17
|
</body>
|
|
19
18
|
</html>
|
|
@@ -5,15 +5,15 @@
|
|
|
5
5
|
|
|
6
6
|
<html>
|
|
7
7
|
<head>
|
|
8
|
-
<title>
|
|
8
|
+
<title>name (MIDI::Sequence)</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/sequence.rb, line
|
|
14
|
-
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">
|
|
15
|
-
<span class="ruby-
|
|
16
|
-
<span class="ruby-
|
|
13
|
+
<pre><span class="ruby-comment cmt"># File lib/midilib/sequence.rb, line 120</span>
|
|
14
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">name</span>
|
|
15
|
+
<span class="ruby-keyword kw">return</span> <span class="ruby-constant">UNNAMED</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@tracks</span>.<span class="ruby-identifier">empty?</span>
|
|
16
|
+
<span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@tracks</span>.<span class="ruby-identifier">first</span>.<span class="ruby-identifier">name</span>()
|
|
17
17
|
<span class="ruby-keyword kw">end</span></pre>
|
|
18
18
|
</body>
|
|
19
19
|
</html>
|
|
@@ -5,15 +5,15 @@
|
|
|
5
5
|
|
|
6
6
|
<html>
|
|
7
7
|
<head>
|
|
8
|
-
<title>
|
|
8
|
+
<title>name= (MIDI::Sequence)</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/sequence.rb, line
|
|
14
|
-
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">
|
|
15
|
-
<span class="ruby-
|
|
16
|
-
<span class="ruby-identifier">
|
|
13
|
+
<pre><span class="ruby-comment cmt"># File lib/midilib/sequence.rb, line 126</span>
|
|
14
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">name=</span>(<span class="ruby-identifier">name</span>)
|
|
15
|
+
<span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@tracks</span>.<span class="ruby-identifier">empty?</span>
|
|
16
|
+
<span class="ruby-ivar">@tracks</span>.<span class="ruby-identifier">first</span>.<span class="ruby-identifier">name</span> = <span class="ruby-identifier">name</span>
|
|
17
17
|
<span class="ruby-keyword kw">end</span></pre>
|
|
18
18
|
</body>
|
|
19
19
|
</html>
|
|
@@ -5,14 +5,15 @@
|
|
|
5
5
|
|
|
6
6
|
<html>
|
|
7
7
|
<head>
|
|
8
|
-
<title>
|
|
8
|
+
<title>read (MIDI::Sequence)</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/sequence.rb, line
|
|
14
|
-
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">
|
|
15
|
-
<span class="ruby-ivar">@
|
|
13
|
+
<pre><span class="ruby-comment cmt"># File lib/midilib/sequence.rb, line 132</span>
|
|
14
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">read</span>(<span class="ruby-identifier">io</span>, <span class="ruby-identifier">proc</span> = <span class="ruby-keyword kw">nil</span>) <span class="ruby-comment cmt"># :yields: track, num_tracks, index</span>
|
|
15
|
+
<span class="ruby-identifier">reader</span> = <span class="ruby-ivar">@reader_class</span>.<span class="ruby-identifier">new</span>(<span class="ruby-keyword kw">self</span>, <span class="ruby-identifier">block_given?</span>() <span class="ruby-operator">?</span> <span class="ruby-constant">Proc</span>.<span class="ruby-identifier">new</span>() <span class="ruby-operator">:</span> <span class="ruby-identifier">proc</span>)
|
|
16
|
+
<span class="ruby-identifier">reader</span>.<span class="ruby-identifier">read_from</span>(<span class="ruby-identifier">io</span>)
|
|
16
17
|
<span class="ruby-keyword kw">end</span></pre>
|
|
17
18
|
</body>
|
|
18
19
|
</html>
|
|
@@ -5,50 +5,15 @@
|
|
|
5
5
|
|
|
6
6
|
<html>
|
|
7
7
|
<head>
|
|
8
|
-
<title>
|
|
8
|
+
<title>write (MIDI::Sequence)</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/sequence.rb, line
|
|
14
|
-
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
<span class="ruby-identifier">max_pos</span> = <span class="ruby-value">0</span>
|
|
18
|
-
<span class="ruby-ivar">@tracks</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">t</span><span class="ruby-operator">|</span>
|
|
19
|
-
<span class="ruby-identifier">t</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">e</span><span class="ruby-operator">|</span>
|
|
20
|
-
<span class="ruby-identifier">time_sigs</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">e</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">e</span>.<span class="ruby-identifier">timesig?</span>
|
|
21
|
-
<span class="ruby-identifier">max_pos</span> = <span class="ruby-identifier">e</span>.<span class="ruby-identifier">time_from_start</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">e</span>.<span class="ruby-identifier">time_from_start</span> <span class="ruby-operator">></span> <span class="ruby-identifier">max_pos</span>
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
<span class="ruby-identifier">time_sigs</span>.<span class="ruby-identifier">sort</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">x</span>,<span class="ruby-identifier">y</span><span class="ruby-operator">|</span> <span class="ruby-identifier">x</span>.<span class="ruby-identifier">time_from_start</span> <span class="ruby-operator"><=></span> <span class="ruby-identifier">y</span>.<span class="ruby-identifier">time_from_start</span> }
|
|
25
|
-
|
|
26
|
-
<span class="ruby-comment cmt"># Add a "fake" time sig event at the very last position of the sequence,</span>
|
|
27
|
-
<span class="ruby-comment cmt"># just to make sure the whole sequence is calculated.</span>
|
|
28
|
-
<span class="ruby-identifier">t</span> = <span class="ruby-constant">MIDI</span><span class="ruby-operator">::</span><span class="ruby-constant">TimeSig</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value">4</span>, <span class="ruby-value">2</span>, <span class="ruby-value">24</span>, <span class="ruby-value">8</span>, <span class="ruby-value">0</span>)
|
|
29
|
-
<span class="ruby-identifier">t</span>.<span class="ruby-identifier">time_from_start</span> = <span class="ruby-identifier">max_pos</span>
|
|
30
|
-
<span class="ruby-identifier">time_sigs</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">t</span>
|
|
31
|
-
|
|
32
|
-
<span class="ruby-comment cmt"># Default to 4/4</span>
|
|
33
|
-
<span class="ruby-identifier">measure_length</span> = <span class="ruby-ivar">@ppqn</span> <span class="ruby-operator">*</span> <span class="ruby-value">4</span>
|
|
34
|
-
<span class="ruby-identifier">oldnumer</span>, <span class="ruby-identifier">olddenom</span>, <span class="ruby-identifier">oldbeats</span> = <span class="ruby-value">4</span>, <span class="ruby-value">2</span>, <span class="ruby-value">24</span>
|
|
35
|
-
|
|
36
|
-
<span class="ruby-identifier">measures</span> = <span class="ruby-constant">MIDI</span><span class="ruby-operator">::</span><span class="ruby-constant">Measures</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">max_pos</span>, <span class="ruby-ivar">@ppqn</span>)
|
|
37
|
-
<span class="ruby-identifier">curr_pos</span> = <span class="ruby-value">0</span>
|
|
38
|
-
<span class="ruby-identifier">curr_meas_no</span> = <span class="ruby-value">1</span>
|
|
39
|
-
<span class="ruby-identifier">time_sigs</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">te</span><span class="ruby-operator">|</span>
|
|
40
|
-
<span class="ruby-identifier">meas_count</span> = (<span class="ruby-identifier">te</span>.<span class="ruby-identifier">time_from_start</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">curr_pos</span>) <span class="ruby-operator">/</span> <span class="ruby-identifier">measure_length</span>
|
|
41
|
-
<span class="ruby-identifier">meas_count</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span> <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">te</span>.<span class="ruby-identifier">time_from_start</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">curr_pos</span>) <span class="ruby-operator">%</span> <span class="ruby-identifier">measure_length</span> <span class="ruby-operator">></span> <span class="ruby-value">0</span>
|
|
42
|
-
<span class="ruby-value">1</span>.<span class="ruby-identifier">upto</span>(<span class="ruby-identifier">meas_count</span>) { <span class="ruby-operator">|</span><span class="ruby-identifier">i</span><span class="ruby-operator">|</span>
|
|
43
|
-
<span class="ruby-identifier">measures</span> <span class="ruby-operator"><<</span> <span class="ruby-constant">MIDI</span><span class="ruby-operator">::</span><span class="ruby-constant">Measure</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">curr_meas_no</span>,
|
|
44
|
-
<span class="ruby-identifier">curr_pos</span>, <span class="ruby-identifier">measure_length</span>, <span class="ruby-identifier">oldnumer</span>, <span class="ruby-identifier">olddenom</span>, <span class="ruby-identifier">oldbeats</span>)
|
|
45
|
-
<span class="ruby-identifier">curr_meas_no</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
|
|
46
|
-
<span class="ruby-identifier">curr_pos</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">measure_length</span>
|
|
47
|
-
}
|
|
48
|
-
<span class="ruby-identifier">oldnumer</span>, <span class="ruby-identifier">olddenom</span>, <span class="ruby-identifier">oldbeats</span> = <span class="ruby-identifier">te</span>.<span class="ruby-identifier">numerator</span>, <span class="ruby-identifier">te</span>.<span class="ruby-identifier">denominator</span>, <span class="ruby-identifier">te</span>.<span class="ruby-identifier">metronome_ticks</span>
|
|
49
|
-
<span class="ruby-identifier">measure_length</span> = <span class="ruby-identifier">te</span>.<span class="ruby-identifier">measure_duration</span>(<span class="ruby-ivar">@ppqn</span>)
|
|
50
|
-
}
|
|
51
|
-
<span class="ruby-identifier">measures</span>
|
|
13
|
+
<pre><span class="ruby-comment cmt"># File lib/midilib/sequence.rb, line 138</span>
|
|
14
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">write</span>(<span class="ruby-identifier">io</span>, <span class="ruby-identifier">proc</span> = <span class="ruby-keyword kw">nil</span>) <span class="ruby-comment cmt"># :yields: track, num_tracks, index</span>
|
|
15
|
+
<span class="ruby-identifier">writer</span> = <span class="ruby-ivar">@writer_class</span>.<span class="ruby-identifier">new</span>(<span class="ruby-keyword kw">self</span>, <span class="ruby-identifier">block_given?</span>() <span class="ruby-operator">?</span> <span class="ruby-constant">Proc</span>.<span class="ruby-identifier">new</span>() <span class="ruby-operator">:</span> <span class="ruby-identifier">proc</span>)
|
|
16
|
+
<span class="ruby-identifier">writer</span>.<span class="ruby-identifier">write_to</span>(<span class="ruby-identifier">io</span>)
|
|
52
17
|
<span class="ruby-keyword kw">end</span></pre>
|
|
53
18
|
</body>
|
|
54
19
|
</html>
|
|
@@ -5,14 +5,14 @@
|
|
|
5
5
|
|
|
6
6
|
<html>
|
|
7
7
|
<head>
|
|
8
|
-
<title>
|
|
8
|
+
<title>each (MIDI::Sequence)</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/sequence.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/sequence.rb, line 144</span>
|
|
14
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">each</span> <span class="ruby-comment cmt"># :yields: track</span>
|
|
15
|
+
<span class="ruby-ivar">@tracks</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span> <span class="ruby-identifier">track</span> <span class="ruby-operator">|</span> <span class="ruby-keyword kw">yield</span> <span class="ruby-identifier">track</span> }
|
|
16
16
|
<span class="ruby-keyword kw">end</span></pre>
|
|
17
17
|
</body>
|
|
18
18
|
</html>
|
|
@@ -0,0 +1,54 @@
|
|
|
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>get_measures (MIDI::Sequence)</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/sequence.rb, line 150</span>
|
|
14
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">get_measures</span>
|
|
15
|
+
<span class="ruby-comment cmt"># Collect time sig events and scan for last event time</span>
|
|
16
|
+
<span class="ruby-identifier">time_sigs</span> = []
|
|
17
|
+
<span class="ruby-identifier">max_pos</span> = <span class="ruby-value">0</span>
|
|
18
|
+
<span class="ruby-ivar">@tracks</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">t</span><span class="ruby-operator">|</span>
|
|
19
|
+
<span class="ruby-identifier">t</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">e</span><span class="ruby-operator">|</span>
|
|
20
|
+
<span class="ruby-identifier">time_sigs</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">e</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">e</span>.<span class="ruby-identifier">timesig?</span>
|
|
21
|
+
<span class="ruby-identifier">max_pos</span> = <span class="ruby-identifier">e</span>.<span class="ruby-identifier">time_from_start</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">e</span>.<span class="ruby-identifier">time_from_start</span> <span class="ruby-operator">></span> <span class="ruby-identifier">max_pos</span>
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
<span class="ruby-identifier">time_sigs</span>.<span class="ruby-identifier">sort</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">x</span>,<span class="ruby-identifier">y</span><span class="ruby-operator">|</span> <span class="ruby-identifier">x</span>.<span class="ruby-identifier">time_from_start</span> <span class="ruby-operator"><=></span> <span class="ruby-identifier">y</span>.<span class="ruby-identifier">time_from_start</span> }
|
|
25
|
+
|
|
26
|
+
<span class="ruby-comment cmt"># Add a "fake" time sig event at the very last position of the sequence,</span>
|
|
27
|
+
<span class="ruby-comment cmt"># just to make sure the whole sequence is calculated.</span>
|
|
28
|
+
<span class="ruby-identifier">t</span> = <span class="ruby-constant">MIDI</span><span class="ruby-operator">::</span><span class="ruby-constant">TimeSig</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value">4</span>, <span class="ruby-value">2</span>, <span class="ruby-value">24</span>, <span class="ruby-value">8</span>, <span class="ruby-value">0</span>)
|
|
29
|
+
<span class="ruby-identifier">t</span>.<span class="ruby-identifier">time_from_start</span> = <span class="ruby-identifier">max_pos</span>
|
|
30
|
+
<span class="ruby-identifier">time_sigs</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">t</span>
|
|
31
|
+
|
|
32
|
+
<span class="ruby-comment cmt"># Default to 4/4</span>
|
|
33
|
+
<span class="ruby-identifier">measure_length</span> = <span class="ruby-ivar">@ppqn</span> <span class="ruby-operator">*</span> <span class="ruby-value">4</span>
|
|
34
|
+
<span class="ruby-identifier">oldnumer</span>, <span class="ruby-identifier">olddenom</span>, <span class="ruby-identifier">oldbeats</span> = <span class="ruby-value">4</span>, <span class="ruby-value">2</span>, <span class="ruby-value">24</span>
|
|
35
|
+
|
|
36
|
+
<span class="ruby-identifier">measures</span> = <span class="ruby-constant">MIDI</span><span class="ruby-operator">::</span><span class="ruby-constant">Measures</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">max_pos</span>, <span class="ruby-ivar">@ppqn</span>)
|
|
37
|
+
<span class="ruby-identifier">curr_pos</span> = <span class="ruby-value">0</span>
|
|
38
|
+
<span class="ruby-identifier">curr_meas_no</span> = <span class="ruby-value">1</span>
|
|
39
|
+
<span class="ruby-identifier">time_sigs</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">te</span><span class="ruby-operator">|</span>
|
|
40
|
+
<span class="ruby-identifier">meas_count</span> = (<span class="ruby-identifier">te</span>.<span class="ruby-identifier">time_from_start</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">curr_pos</span>) <span class="ruby-operator">/</span> <span class="ruby-identifier">measure_length</span>
|
|
41
|
+
<span class="ruby-identifier">meas_count</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span> <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">te</span>.<span class="ruby-identifier">time_from_start</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">curr_pos</span>) <span class="ruby-operator">%</span> <span class="ruby-identifier">measure_length</span> <span class="ruby-operator">></span> <span class="ruby-value">0</span>
|
|
42
|
+
<span class="ruby-value">1</span>.<span class="ruby-identifier">upto</span>(<span class="ruby-identifier">meas_count</span>) { <span class="ruby-operator">|</span><span class="ruby-identifier">i</span><span class="ruby-operator">|</span>
|
|
43
|
+
<span class="ruby-identifier">measures</span> <span class="ruby-operator"><<</span> <span class="ruby-constant">MIDI</span><span class="ruby-operator">::</span><span class="ruby-constant">Measure</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">curr_meas_no</span>,
|
|
44
|
+
<span class="ruby-identifier">curr_pos</span>, <span class="ruby-identifier">measure_length</span>, <span class="ruby-identifier">oldnumer</span>, <span class="ruby-identifier">olddenom</span>, <span class="ruby-identifier">oldbeats</span>)
|
|
45
|
+
<span class="ruby-identifier">curr_meas_no</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
|
|
46
|
+
<span class="ruby-identifier">curr_pos</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">measure_length</span>
|
|
47
|
+
}
|
|
48
|
+
<span class="ruby-identifier">oldnumer</span>, <span class="ruby-identifier">olddenom</span>, <span class="ruby-identifier">oldbeats</span> = <span class="ruby-identifier">te</span>.<span class="ruby-identifier">numerator</span>, <span class="ruby-identifier">te</span>.<span class="ruby-identifier">denominator</span>, <span class="ruby-identifier">te</span>.<span class="ruby-identifier">metronome_ticks</span>
|
|
49
|
+
<span class="ruby-identifier">measure_length</span> = <span class="ruby-identifier">te</span>.<span class="ruby-identifier">measure_duration</span>(<span class="ruby-ivar">@ppqn</span>)
|
|
50
|
+
}
|
|
51
|
+
<span class="ruby-identifier">measures</span>
|
|
52
|
+
<span class="ruby-keyword kw">end</span></pre>
|
|
53
|
+
</body>
|
|
54
|
+
</html>
|
|
@@ -88,9 +88,9 @@
|
|
|
88
88
|
<h3 class="section-bar">Methods</h3>
|
|
89
89
|
|
|
90
90
|
<div class="name-list">
|
|
91
|
-
<a href="#
|
|
92
|
-
<a href="#
|
|
93
|
-
<a href="#
|
|
91
|
+
<a href="#M000163">data_as_bytes</a>
|
|
92
|
+
<a href="#M000162">new</a>
|
|
93
|
+
<a href="#M000164">to_s</a>
|
|
94
94
|
</div>
|
|
95
95
|
</div>
|
|
96
96
|
|
|
@@ -125,12 +125,12 @@
|
|
|
125
125
|
<div id="methods">
|
|
126
126
|
<h3 class="section-bar">Public Class methods</h3>
|
|
127
127
|
|
|
128
|
-
<div id="method-
|
|
129
|
-
<a name="
|
|
128
|
+
<div id="method-M000162" class="method-detail">
|
|
129
|
+
<a name="M000162"></a>
|
|
130
130
|
|
|
131
131
|
<div class="method-heading">
|
|
132
|
-
<a href="SongPointer.src/
|
|
133
|
-
onclick="popupCode('SongPointer.src/
|
|
132
|
+
<a href="SongPointer.src/M000162.html" target="Code" class="method-signature"
|
|
133
|
+
onclick="popupCode('SongPointer.src/M000162.html');return false;">
|
|
134
134
|
<span class="method-name">new</span><span class="method-args">(pointer = 0, delta_time = 0)</span>
|
|
135
135
|
</a>
|
|
136
136
|
</div>
|
|
@@ -141,12 +141,12 @@
|
|
|
141
141
|
|
|
142
142
|
<h3 class="section-bar">Public Instance methods</h3>
|
|
143
143
|
|
|
144
|
-
<div id="method-
|
|
145
|
-
<a name="
|
|
144
|
+
<div id="method-M000163" class="method-detail">
|
|
145
|
+
<a name="M000163"></a>
|
|
146
146
|
|
|
147
147
|
<div class="method-heading">
|
|
148
|
-
<a href="SongPointer.src/
|
|
149
|
-
onclick="popupCode('SongPointer.src/
|
|
148
|
+
<a href="SongPointer.src/M000163.html" target="Code" class="method-signature"
|
|
149
|
+
onclick="popupCode('SongPointer.src/M000163.html');return false;">
|
|
150
150
|
<span class="method-name">data_as_bytes</span><span class="method-args">()</span>
|
|
151
151
|
</a>
|
|
152
152
|
</div>
|
|
@@ -155,12 +155,12 @@
|
|
|
155
155
|
</div>
|
|
156
156
|
</div>
|
|
157
157
|
|
|
158
|
-
<div id="method-
|
|
159
|
-
<a name="
|
|
158
|
+
<div id="method-M000164" class="method-detail">
|
|
159
|
+
<a name="M000164"></a>
|
|
160
160
|
|
|
161
161
|
<div class="method-heading">
|
|
162
|
-
<a href="SongPointer.src/
|
|
163
|
-
onclick="popupCode('SongPointer.src/
|
|
162
|
+
<a href="SongPointer.src/M000164.html" target="Code" class="method-signature"
|
|
163
|
+
onclick="popupCode('SongPointer.src/M000164.html');return false;">
|
|
164
164
|
<span class="method-name">to_s</span><span class="method-args">()</span>
|
|
165
165
|
</a>
|
|
166
166
|
</div>
|
|
@@ -5,14 +5,15 @@
|
|
|
5
5
|
|
|
6
6
|
<html>
|
|
7
7
|
<head>
|
|
8
|
-
<title>
|
|
8
|
+
<title>new (MIDI::SongPointer)</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-keyword kw">
|
|
13
|
+
<pre><span class="ruby-comment cmt"># File lib/midilib/event.rb, line 350</span>
|
|
14
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">pointer</span> = <span class="ruby-value">0</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">SONG_POINTER</span>, <span class="ruby-identifier">delta_time</span>)
|
|
16
|
+
<span class="ruby-ivar">@pointer</span> = <span class="ruby-identifier">pointer</span>
|
|
16
17
|
<span class="ruby-keyword kw">end</span></pre>
|
|
17
18
|
</body>
|
|
18
19
|
</html>
|
|
@@ -10,13 +10,12 @@
|
|
|
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
|
|
13
|
+
<pre><span class="ruby-comment cmt"># File lib/midilib/event.rb, line 355</span>
|
|
14
14
|
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">data_as_bytes</span>
|
|
15
|
-
<span class="ruby-identifier">data</span> =
|
|
15
|
+
<span class="ruby-identifier">data</span> = []
|
|
16
16
|
<span class="ruby-identifier">data</span> <span class="ruby-operator"><<</span> <span class="ruby-ivar">@status</span>
|
|
17
17
|
<span class="ruby-identifier">data</span> <span class="ruby-operator"><<</span> ((<span class="ruby-ivar">@pointer</span> <span class="ruby-operator">>></span> <span class="ruby-value">8</span>) <span class="ruby-operator">&</span> <span class="ruby-value">0xff</span>)
|
|
18
18
|
<span class="ruby-identifier">data</span> <span class="ruby-operator"><<</span> (<span class="ruby-ivar">@pointer</span> <span class="ruby-operator">&</span> <span class="ruby-value">0xff</span>)
|
|
19
|
-
<span class="ruby-keyword kw">return</span> <span class="ruby-identifier">data</span>
|
|
20
19
|
<span class="ruby-keyword kw">end</span></pre>
|
|
21
20
|
</body>
|
|
22
21
|
</html>
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="iso-8859-1"?>
|
|
2
|
+
<!DOCTYPE html
|
|
3
|
+
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
|
4
|
+
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
5
|
+
|
|
6
|
+
<html>
|
|
7
|
+
<head>
|
|
8
|
+
<title>to_s (MIDI::SongPointer)</title>
|
|
9
|
+
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
|
10
|
+
<link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
|
|
11
|
+
</head>
|
|
12
|
+
<body class="standalone-code">
|
|
13
|
+
<pre><span class="ruby-comment cmt"># File lib/midilib/event.rb, line 362</span>
|
|
14
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_s</span>
|
|
15
|
+
<span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">super</span> <span class="ruby-operator"><<</span> <span class="ruby-node">"song ptr #{number_to_s(@pointer)}"</span>
|
|
16
|
+
<span class="ruby-keyword kw">end</span></pre>
|
|
17
|
+
</body>
|
|
18
|
+
</html>
|
|
@@ -88,9 +88,9 @@
|
|
|
88
88
|
<h3 class="section-bar">Methods</h3>
|
|
89
89
|
|
|
90
90
|
<div class="name-list">
|
|
91
|
-
<a href="#
|
|
92
|
-
<a href="#
|
|
93
|
-
<a href="#
|
|
91
|
+
<a href="#M000135">data_as_bytes</a>
|
|
92
|
+
<a href="#M000134">new</a>
|
|
93
|
+
<a href="#M000136">to_s</a>
|
|
94
94
|
</div>
|
|
95
95
|
</div>
|
|
96
96
|
|
|
@@ -125,12 +125,12 @@
|
|
|
125
125
|
<div id="methods">
|
|
126
126
|
<h3 class="section-bar">Public Class methods</h3>
|
|
127
127
|
|
|
128
|
-
<div id="method-
|
|
129
|
-
<a name="
|
|
128
|
+
<div id="method-M000134" class="method-detail">
|
|
129
|
+
<a name="M000134"></a>
|
|
130
130
|
|
|
131
131
|
<div class="method-heading">
|
|
132
|
-
<a href="SongSelect.src/
|
|
133
|
-
onclick="popupCode('SongSelect.src/
|
|
132
|
+
<a href="SongSelect.src/M000134.html" target="Code" class="method-signature"
|
|
133
|
+
onclick="popupCode('SongSelect.src/M000134.html');return false;">
|
|
134
134
|
<span class="method-name">new</span><span class="method-args">(song = 0, delta_time = 0)</span>
|
|
135
135
|
</a>
|
|
136
136
|
</div>
|
|
@@ -141,12 +141,12 @@
|
|
|
141
141
|
|
|
142
142
|
<h3 class="section-bar">Public Instance methods</h3>
|
|
143
143
|
|
|
144
|
-
<div id="method-
|
|
145
|
-
<a name="
|
|
144
|
+
<div id="method-M000135" class="method-detail">
|
|
145
|
+
<a name="M000135"></a>
|
|
146
146
|
|
|
147
147
|
<div class="method-heading">
|
|
148
|
-
<a href="SongSelect.src/
|
|
149
|
-
onclick="popupCode('SongSelect.src/
|
|
148
|
+
<a href="SongSelect.src/M000135.html" target="Code" class="method-signature"
|
|
149
|
+
onclick="popupCode('SongSelect.src/M000135.html');return false;">
|
|
150
150
|
<span class="method-name">data_as_bytes</span><span class="method-args">()</span>
|
|
151
151
|
</a>
|
|
152
152
|
</div>
|
|
@@ -155,12 +155,12 @@
|
|
|
155
155
|
</div>
|
|
156
156
|
</div>
|
|
157
157
|
|
|
158
|
-
<div id="method-
|
|
159
|
-
<a name="
|
|
158
|
+
<div id="method-M000136" class="method-detail">
|
|
159
|
+
<a name="M000136"></a>
|
|
160
160
|
|
|
161
161
|
<div class="method-heading">
|
|
162
|
-
<a href="SongSelect.src/
|
|
163
|
-
onclick="popupCode('SongSelect.src/
|
|
162
|
+
<a href="SongSelect.src/M000136.html" target="Code" class="method-signature"
|
|
163
|
+
onclick="popupCode('SongSelect.src/M000136.html');return false;">
|
|
164
164
|
<span class="method-name">to_s</span><span class="method-args">()</span>
|
|
165
165
|
</a>
|
|
166
166
|
</div>
|
|
@@ -5,14 +5,15 @@
|
|
|
5
5
|
|
|
6
6
|
<html>
|
|
7
7
|
<head>
|
|
8
|
-
<title>
|
|
8
|
+
<title>new (MIDI::SongSelect)</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-keyword kw">
|
|
13
|
+
<pre><span class="ruby-comment cmt"># File lib/midilib/event.rb, line 370</span>
|
|
14
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">song</span> = <span class="ruby-value">0</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">SONG_SELECT</span>, <span class="ruby-identifier">delta_time</span>)
|
|
16
|
+
<span class="ruby-ivar">@song</span> = <span class="ruby-identifier">song</span>
|
|
16
17
|
<span class="ruby-keyword kw">end</span></pre>
|
|
17
18
|
</body>
|
|
18
19
|
</html>
|
|
@@ -10,12 +10,11 @@
|
|
|
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
|
|
13
|
+
<pre><span class="ruby-comment cmt"># File lib/midilib/event.rb, line 375</span>
|
|
14
14
|
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">data_as_bytes</span>
|
|
15
|
-
<span class="ruby-identifier">data</span> =
|
|
15
|
+
<span class="ruby-identifier">data</span> = []
|
|
16
16
|
<span class="ruby-identifier">data</span> <span class="ruby-operator"><<</span> <span class="ruby-ivar">@status</span>
|
|
17
17
|
<span class="ruby-identifier">data</span> <span class="ruby-operator"><<</span> <span class="ruby-ivar">@song</span>
|
|
18
|
-
<span class="ruby-keyword kw">return</span> <span class="ruby-identifier">data</span>
|
|
19
18
|
<span class="ruby-keyword kw">end</span></pre>
|
|
20
19
|
</body>
|
|
21
20
|
</html>
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="iso-8859-1"?>
|
|
2
|
+
<!DOCTYPE html
|
|
3
|
+
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
|
4
|
+
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
5
|
+
|
|
6
|
+
<html>
|
|
7
|
+
<head>
|
|
8
|
+
<title>to_s (MIDI::SongSelect)</title>
|
|
9
|
+
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
|
10
|
+
<link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
|
|
11
|
+
</head>
|
|
12
|
+
<body class="standalone-code">
|
|
13
|
+
<pre><span class="ruby-comment cmt"># File lib/midilib/event.rb, line 381</span>
|
|
14
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_s</span>
|
|
15
|
+
<span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">super</span> <span class="ruby-operator"><<</span> <span class="ruby-node">"song sel #{number_to_s(@song)}"</span>
|
|
16
|
+
<span class="ruby-keyword kw">end</span></pre>
|
|
17
|
+
</body>
|
|
18
|
+
</html>
|