midilib 0.8.4
Sign up to get free protection for your applications and to get access to all the features.
- data/ChangeLog +87 -0
- data/Credits +8 -0
- data/README +361 -0
- data/Rakefile +68 -0
- data/TODO +25 -0
- data/examples/NoFences.mid +0 -0
- data/examples/from_scratch.mid +0 -0
- data/examples/from_scratch.rb +56 -0
- data/examples/reader2text.rb +220 -0
- data/examples/seq2text.rb +41 -0
- data/examples/strings.rb +34 -0
- data/examples/transpose.rb +75 -0
- data/html/classes/MIDI.html +738 -0
- data/html/classes/MIDI/ActiveSense.html +156 -0
- data/html/classes/MIDI/ActiveSense.src/M000136.html +18 -0
- data/html/classes/MIDI/ActiveSense.src/M000137.html +18 -0
- data/html/classes/MIDI/ChannelEvent.html +179 -0
- data/html/classes/MIDI/ChannelEvent.src/M000124.html +20 -0
- data/html/classes/MIDI/ChannelEvent.src/M000125.html +18 -0
- data/html/classes/MIDI/ChannelPressure.html +184 -0
- data/html/classes/MIDI/ChannelPressure.src/M000088.html +19 -0
- data/html/classes/MIDI/ChannelPressure.src/M000089.html +21 -0
- data/html/classes/MIDI/ChannelPressure.src/M000090.html +18 -0
- data/html/classes/MIDI/Clock.html +156 -0
- data/html/classes/MIDI/Clock.src/M000134.html +18 -0
- data/html/classes/MIDI/Clock.src/M000135.html +18 -0
- data/html/classes/MIDI/Continue.html +156 -0
- data/html/classes/MIDI/Continue.src/M000132.html +18 -0
- data/html/classes/MIDI/Continue.src/M000133.html +18 -0
- data/html/classes/MIDI/Controller.html +189 -0
- data/html/classes/MIDI/Controller.src/M000129.html +21 -0
- data/html/classes/MIDI/Controller.src/M000130.html +22 -0
- data/html/classes/MIDI/Controller.src/M000131.html +18 -0
- data/html/classes/MIDI/Event.html +424 -0
- data/html/classes/MIDI/Event.src/M000145.html +27 -0
- data/html/classes/MIDI/Event.src/M000146.html +18 -0
- data/html/classes/MIDI/Event.src/M000147.html +18 -0
- data/html/classes/MIDI/Event.src/M000148.html +18 -0
- data/html/classes/MIDI/Event.src/M000149.html +18 -0
- data/html/classes/MIDI/Event.src/M000150.html +18 -0
- data/html/classes/MIDI/Event.src/M000151.html +18 -0
- data/html/classes/MIDI/Event.src/M000152.html +18 -0
- data/html/classes/MIDI/Event.src/M000153.html +18 -0
- data/html/classes/MIDI/Event.src/M000154.html +22 -0
- data/html/classes/MIDI/Event.src/M000155.html +18 -0
- data/html/classes/MIDI/Event.src/M000156.html +18 -0
- data/html/classes/MIDI/Event.src/M000157.html +18 -0
- data/html/classes/MIDI/IO.html +121 -0
- data/html/classes/MIDI/IO/MIDIFile.html +925 -0
- data/html/classes/MIDI/IO/MIDIFile.src/M000028.html +22 -0
- data/html/classes/MIDI/IO/MIDIFile.src/M000029.html +24 -0
- data/html/classes/MIDI/IO/MIDIFile.src/M000030.html +19 -0
- data/html/classes/MIDI/IO/MIDIFile.src/M000031.html +19 -0
- data/html/classes/MIDI/IO/MIDIFile.src/M000032.html +17 -0
- data/html/classes/MIDI/IO/MIDIFile.src/M000033.html +17 -0
- data/html/classes/MIDI/IO/MIDIFile.src/M000034.html +17 -0
- data/html/classes/MIDI/IO/MIDIFile.src/M000035.html +17 -0
- data/html/classes/MIDI/IO/MIDIFile.src/M000036.html +17 -0
- data/html/classes/MIDI/IO/MIDIFile.src/M000037.html +17 -0
- data/html/classes/MIDI/IO/MIDIFile.src/M000038.html +17 -0
- data/html/classes/MIDI/IO/MIDIFile.src/M000039.html +17 -0
- data/html/classes/MIDI/IO/MIDIFile.src/M000040.html +17 -0
- data/html/classes/MIDI/IO/MIDIFile.src/M000041.html +17 -0
- data/html/classes/MIDI/IO/MIDIFile.src/M000042.html +17 -0
- data/html/classes/MIDI/IO/MIDIFile.src/M000043.html +17 -0
- data/html/classes/MIDI/IO/MIDIFile.src/M000044.html +17 -0
- data/html/classes/MIDI/IO/MIDIFile.src/M000045.html +17 -0
- data/html/classes/MIDI/IO/MIDIFile.src/M000046.html +17 -0
- data/html/classes/MIDI/IO/MIDIFile.src/M000047.html +17 -0
- data/html/classes/MIDI/IO/MIDIFile.src/M000048.html +17 -0
- data/html/classes/MIDI/IO/MIDIFile.src/M000049.html +17 -0
- data/html/classes/MIDI/IO/MIDIFile.src/M000050.html +17 -0
- data/html/classes/MIDI/IO/MIDIFile.src/M000051.html +17 -0
- data/html/classes/MIDI/IO/MIDIFile.src/M000052.html +17 -0
- data/html/classes/MIDI/IO/MIDIFile.src/M000053.html +43 -0
- data/html/classes/MIDI/IO/MIDIFile.src/M000054.html +34 -0
- data/html/classes/MIDI/IO/MIDIFile.src/M000055.html +96 -0
- data/html/classes/MIDI/IO/MIDIFile.src/M000056.html +18 -0
- data/html/classes/MIDI/IO/MIDIFile.src/M000057.html +48 -0
- data/html/classes/MIDI/IO/MIDIFile.src/M000058.html +42 -0
- data/html/classes/MIDI/IO/MIDIFile.src/M000059.html +19 -0
- data/html/classes/MIDI/IO/MIDIFile.src/M000060.html +19 -0
- data/html/classes/MIDI/IO/MIDIFile.src/M000061.html +20 -0
- data/html/classes/MIDI/IO/MIDIFile.src/M000062.html +21 -0
- data/html/classes/MIDI/IO/MIDIFile.src/M000063.html +31 -0
- data/html/classes/MIDI/IO/MIDIFile.src/M000064.html +20 -0
- data/html/classes/MIDI/IO/MIDIFile.src/M000065.html +22 -0
- data/html/classes/MIDI/IO/MIDIFile.src/M000066.html +30 -0
- data/html/classes/MIDI/IO/MIDIFile.src/M000067.html +18 -0
- data/html/classes/MIDI/IO/MIDIFile.src/M000068.html +20 -0
- data/html/classes/MIDI/IO/MIDIFile.src/M000069.html +18 -0
- data/html/classes/MIDI/IO/MIDIFile.src/M000070.html +18 -0
- data/html/classes/MIDI/IO/SeqReader.html +460 -0
- data/html/classes/MIDI/IO/SeqReader.src/M000001.html +22 -0
- data/html/classes/MIDI/IO/SeqReader.src/M000002.html +22 -0
- data/html/classes/MIDI/IO/SeqReader.src/M000003.html +21 -0
- data/html/classes/MIDI/IO/SeqReader.src/M000004.html +34 -0
- data/html/classes/MIDI/IO/SeqReader.src/M000005.html +26 -0
- data/html/classes/MIDI/IO/SeqReader.src/M000006.html +28 -0
- data/html/classes/MIDI/IO/SeqReader.src/M000007.html +21 -0
- data/html/classes/MIDI/IO/SeqReader.src/M000008.html +19 -0
- data/html/classes/MIDI/IO/SeqReader.src/M000009.html +19 -0
- data/html/classes/MIDI/IO/SeqReader.src/M000010.html +19 -0
- data/html/classes/MIDI/IO/SeqReader.src/M000011.html +19 -0
- data/html/classes/MIDI/IO/SeqReader.src/M000012.html +19 -0
- data/html/classes/MIDI/IO/SeqReader.src/M000013.html +18 -0
- data/html/classes/MIDI/IO/SeqReader.src/M000014.html +18 -0
- data/html/classes/MIDI/IO/SeqReader.src/M000015.html +27 -0
- data/html/classes/MIDI/IO/SeqReader.src/M000016.html +18 -0
- data/html/classes/MIDI/IO/SeqReader.src/M000017.html +18 -0
- data/html/classes/MIDI/IO/SeqReader.src/M000018.html +18 -0
- data/html/classes/MIDI/IO/SeqWriter.html +267 -0
- data/html/classes/MIDI/IO/SeqWriter.src/M000019.html +19 -0
- data/html/classes/MIDI/IO/SeqWriter.src/M000020.html +25 -0
- data/html/classes/MIDI/IO/SeqWriter.src/M000021.html +22 -0
- data/html/classes/MIDI/IO/SeqWriter.src/M000022.html +54 -0
- data/html/classes/MIDI/IO/SeqWriter.src/M000023.html +49 -0
- data/html/classes/MIDI/IO/SeqWriter.src/M000024.html +21 -0
- data/html/classes/MIDI/IO/SeqWriter.src/M000025.html +19 -0
- data/html/classes/MIDI/IO/SeqWriter.src/M000026.html +24 -0
- data/html/classes/MIDI/IO/SeqWriter.src/M000027.html +26 -0
- data/html/classes/MIDI/Marker.html +139 -0
- data/html/classes/MIDI/Marker.src/M000107.html +18 -0
- data/html/classes/MIDI/MetaEvent.html +189 -0
- data/html/classes/MIDI/MetaEvent.src/M000167.html +21 -0
- data/html/classes/MIDI/MetaEvent.src/M000168.html +23 -0
- data/html/classes/MIDI/MetaEvent.src/M000169.html +53 -0
- data/html/classes/MIDI/NoteEvent.html +233 -0
- data/html/classes/MIDI/NoteEvent.src/M000091.html +21 -0
- data/html/classes/MIDI/NoteEvent.src/M000092.html +20 -0
- data/html/classes/MIDI/NoteEvent.src/M000093.html +18 -0
- data/html/classes/MIDI/NoteEvent.src/M000094.html +22 -0
- data/html/classes/MIDI/NoteOffEvent.html +169 -0
- data/html/classes/MIDI/NoteOffEvent.src/M000086.html +19 -0
- data/html/classes/MIDI/NoteOffEvent.src/M000087.html +19 -0
- data/html/classes/MIDI/NoteOnEvent.html +169 -0
- data/html/classes/MIDI/NoteOnEvent.src/M000102.html +19 -0
- data/html/classes/MIDI/NoteOnEvent.src/M000103.html +19 -0
- data/html/classes/MIDI/PitchBend.html +184 -0
- data/html/classes/MIDI/PitchBend.src/M000104.html +19 -0
- data/html/classes/MIDI/PitchBend.src/M000105.html +22 -0
- data/html/classes/MIDI/PitchBend.src/M000106.html +18 -0
- data/html/classes/MIDI/PolyPressure.html +186 -0
- data/html/classes/MIDI/PolyPressure.src/M000170.html +18 -0
- data/html/classes/MIDI/PolyPressure.src/M000171.html +18 -0
- data/html/classes/MIDI/PolyPressure.src/M000172.html +18 -0
- data/html/classes/MIDI/PolyPressure.src/M000173.html +19 -0
- data/html/classes/MIDI/ProgramChange.html +184 -0
- data/html/classes/MIDI/ProgramChange.src/M000099.html +19 -0
- data/html/classes/MIDI/ProgramChange.src/M000100.html +21 -0
- data/html/classes/MIDI/ProgramChange.src/M000101.html +18 -0
- data/html/classes/MIDI/Realtime.html +171 -0
- data/html/classes/MIDI/Realtime.src/M000083.html +19 -0
- data/html/classes/MIDI/Realtime.src/M000084.html +20 -0
- data/html/classes/MIDI/Realtime.src/M000085.html +18 -0
- data/html/classes/MIDI/Sequence.html +469 -0
- data/html/classes/MIDI/Sequence.src/M000108.html +28 -0
- data/html/classes/MIDI/Sequence.src/M000109.html +21 -0
- data/html/classes/MIDI/Sequence.src/M000110.html +22 -0
- data/html/classes/MIDI/Sequence.src/M000113.html +18 -0
- data/html/classes/MIDI/Sequence.src/M000114.html +27 -0
- data/html/classes/MIDI/Sequence.src/M000115.html +18 -0
- data/html/classes/MIDI/Sequence.src/M000116.html +19 -0
- data/html/classes/MIDI/Sequence.src/M000117.html +19 -0
- data/html/classes/MIDI/Sequence.src/M000118.html +20 -0
- data/html/classes/MIDI/Sequence.src/M000119.html +19 -0
- data/html/classes/MIDI/Sequence.src/M000120.html +18 -0
- data/html/classes/MIDI/SongPointer.html +184 -0
- data/html/classes/MIDI/SongPointer.src/M000138.html +19 -0
- data/html/classes/MIDI/SongPointer.src/M000139.html +22 -0
- data/html/classes/MIDI/SongPointer.src/M000140.html +18 -0
- data/html/classes/MIDI/SongSelect.html +184 -0
- data/html/classes/MIDI/SongSelect.src/M000126.html +19 -0
- data/html/classes/MIDI/SongSelect.src/M000127.html +21 -0
- data/html/classes/MIDI/SongSelect.src/M000128.html +18 -0
- data/html/classes/MIDI/Start.html +156 -0
- data/html/classes/MIDI/Start.src/M000097.html +18 -0
- data/html/classes/MIDI/Start.src/M000098.html +18 -0
- data/html/classes/MIDI/Stop.html +156 -0
- data/html/classes/MIDI/Stop.src/M000095.html +18 -0
- data/html/classes/MIDI/Stop.src/M000096.html +18 -0
- data/html/classes/MIDI/SystemCommon.html +139 -0
- data/html/classes/MIDI/SystemCommon.src/M000144.html +19 -0
- data/html/classes/MIDI/SystemExclusive.html +184 -0
- data/html/classes/MIDI/SystemExclusive.src/M000141.html +19 -0
- data/html/classes/MIDI/SystemExclusive.src/M000142.html +23 -0
- data/html/classes/MIDI/SystemExclusive.src/M000143.html +18 -0
- data/html/classes/MIDI/SystemReset.html +156 -0
- data/html/classes/MIDI/SystemReset.src/M000081.html +18 -0
- data/html/classes/MIDI/SystemReset.src/M000082.html +18 -0
- data/html/classes/MIDI/Tempo.html +250 -0
- data/html/classes/MIDI/Tempo.src/M000158.html +18 -0
- data/html/classes/MIDI/Tempo.src/M000159.html +18 -0
- data/html/classes/MIDI/Tempo.src/M000160.html +18 -0
- data/html/classes/MIDI/Tempo.src/M000161.html +18 -0
- data/html/classes/MIDI/Tempo.src/M000162.html +18 -0
- data/html/classes/MIDI/Tempo.src/M000163.html +25 -0
- data/html/classes/MIDI/Tempo.src/M000164.html +18 -0
- data/html/classes/MIDI/Track.html +380 -0
- data/html/classes/MIDI/Track.src/M000071.html +23 -0
- data/html/classes/MIDI/Track.src/M000072.html +21 -0
- data/html/classes/MIDI/Track.src/M000073.html +26 -0
- data/html/classes/MIDI/Track.src/M000074.html +18 -0
- data/html/classes/MIDI/Track.src/M000075.html +22 -0
- data/html/classes/MIDI/Track.src/M000076.html +20 -0
- data/html/classes/MIDI/Track.src/M000077.html +22 -0
- data/html/classes/MIDI/Track.src/M000078.html +22 -0
- data/html/classes/MIDI/Track.src/M000079.html +18 -0
- data/html/classes/MIDI/Track.src/M000080.html +19 -0
- data/html/classes/MIDI/TuneRequest.html +171 -0
- data/html/classes/MIDI/TuneRequest.src/M000121.html +18 -0
- data/html/classes/MIDI/TuneRequest.src/M000122.html +20 -0
- data/html/classes/MIDI/TuneRequest.src/M000123.html +18 -0
- data/html/classes/MIDI/Utils.html +190 -0
- data/html/classes/MIDI/Utils.src/M000165.html +20 -0
- data/html/classes/MIDI/Utils.src/M000166.html +25 -0
- data/html/created.rid +1 -0
- data/html/files/README.html +599 -0
- data/html/files/TODO.html +142 -0
- data/html/files/lib/midilib/consts_rb.html +107 -0
- data/html/files/lib/midilib/event_rb.html +109 -0
- data/html/files/lib/midilib/info_rb.html +101 -0
- data/html/files/lib/midilib/io/midifile_rb.html +108 -0
- data/html/files/lib/midilib/io/seqreader_rb.html +110 -0
- data/html/files/lib/midilib/io/seqwriter_rb.html +115 -0
- data/html/files/lib/midilib/sequence_rb.html +109 -0
- data/html/files/lib/midilib/track_rb.html +108 -0
- data/html/files/lib/midilib/utils_rb.html +101 -0
- data/html/files/lib/midilib_rb.html +124 -0
- data/html/fr_class_index.html +59 -0
- data/html/fr_file_index.html +38 -0
- data/html/fr_method_index.html +199 -0
- data/html/index.html +24 -0
- data/html/rdoc-style.css +208 -0
- data/install.rb +57 -0
- data/lib/midilib.rb +16 -0
- data/lib/midilib/consts.rb +422 -0
- data/lib/midilib/event.rb +559 -0
- data/lib/midilib/info.rb +9 -0
- data/lib/midilib/io/midifile.rb +446 -0
- data/lib/midilib/io/seqreader.rb +198 -0
- data/lib/midilib/io/seqwriter.rb +151 -0
- data/lib/midilib/sequence.rb +144 -0
- data/lib/midilib/track.rb +115 -0
- data/lib/midilib/utils.rb +36 -0
- data/test/event_equality.rb +81 -0
- data/test/test_event.rb +116 -0
- data/test/test_io.rb +55 -0
- data/test/test_sequence.rb +68 -0
- data/test/test_track.rb +111 -0
- data/test/test_varlen.rb +40 -0
- metadata +330 -0
@@ -0,0 +1,75 @@
|
|
1
|
+
#! /usr/bin/env ruby
|
2
|
+
#
|
3
|
+
# usage: transpose.rb [--channel|-c channel] [--transpose|-t half_steps]
|
4
|
+
# midi_file [output_file]
|
5
|
+
#
|
6
|
+
# -c channel 1-16; default is 1
|
7
|
+
# -t half_steps default = 12 (one octave up)
|
8
|
+
#
|
9
|
+
|
10
|
+
# Start looking for MIDI module classes in the directory above this one.
|
11
|
+
# This forces us to use the local copy, even if there is a previously
|
12
|
+
# installed version out there somewhere.
|
13
|
+
$LOAD_PATH[0, 0] = File.join(File.dirname(__FILE__), '..', 'lib')
|
14
|
+
|
15
|
+
require 'getoptlong'
|
16
|
+
require 'midilib/sequence'
|
17
|
+
require 'midilib/io/seqreader'
|
18
|
+
require 'midilib/io/seqwriter'
|
19
|
+
|
20
|
+
|
21
|
+
def usage
|
22
|
+
$stderr.print <<EOF
|
23
|
+
usage: #{$0} [--channel|-c channel] [--transpose|-t half_steps]
|
24
|
+
input_midi_file output_midi_file
|
25
|
+
|
26
|
+
--channel|-c channel 1-16; default is 1
|
27
|
+
--transpose|-t half_steps default = 12 (one octave up)
|
28
|
+
EOF
|
29
|
+
exit(1)
|
30
|
+
end
|
31
|
+
|
32
|
+
transpose = 12
|
33
|
+
channel = 0
|
34
|
+
|
35
|
+
g = GetoptLong.new(['--transpose', '-t', GetoptLong::REQUIRED_ARGUMENT],
|
36
|
+
['--channel', '-c', GetoptLong::REQUIRED_ARGUMENT])
|
37
|
+
g.each { | name, arg |
|
38
|
+
case name
|
39
|
+
when '--transpose'
|
40
|
+
transpose = arg.to_i
|
41
|
+
when '--channel'
|
42
|
+
channel = arg.to_i - 1
|
43
|
+
else
|
44
|
+
usage()
|
45
|
+
end
|
46
|
+
}
|
47
|
+
|
48
|
+
usage() unless ARGV.length >= 2
|
49
|
+
|
50
|
+
seq = MIDI::Sequence.new()
|
51
|
+
File.open(ARGV[0], 'rb') { | file |
|
52
|
+
# The block we pass in to Sequence.read is called at the end of every
|
53
|
+
# track read. It is optional, but is useful for progress reports.
|
54
|
+
seq.read(file) { | num_tracks, i |
|
55
|
+
puts "read track #{i} of #{num_tracks}"
|
56
|
+
}
|
57
|
+
}
|
58
|
+
|
59
|
+
seq.each { | track |
|
60
|
+
track.each { | event |
|
61
|
+
if event.note? && event.channel == channel
|
62
|
+
val = event.note + transpose
|
63
|
+
if val < 0 || val > 127
|
64
|
+
$stderr.puts "transposition out of range; ignored"
|
65
|
+
else
|
66
|
+
event.note = val
|
67
|
+
end
|
68
|
+
end
|
69
|
+
}
|
70
|
+
}
|
71
|
+
|
72
|
+
# Output to named file or stdout.
|
73
|
+
file = ARGV[1] ? File.open(ARGV[1], 'wb') : $stdout
|
74
|
+
seq.write(file)
|
75
|
+
file.close() if ARGV[1]
|
@@ -0,0 +1,738 @@
|
|
1
|
+
<?xml version="1.0" encoding="iso-8859-1"?>
|
2
|
+
<!DOCTYPE html
|
3
|
+
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
4
|
+
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
5
|
+
|
6
|
+
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
7
|
+
<head>
|
8
|
+
<title>Module: MIDI</title>
|
9
|
+
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
10
|
+
<meta http-equiv="Content-Script-Type" content="text/javascript" />
|
11
|
+
<link rel="stylesheet" href=".././rdoc-style.css" type="text/css" media="screen" />
|
12
|
+
<script type="text/javascript">
|
13
|
+
// <![CDATA[
|
14
|
+
|
15
|
+
function popupCode( url ) {
|
16
|
+
window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
|
17
|
+
}
|
18
|
+
|
19
|
+
function toggleCode( id ) {
|
20
|
+
if ( document.getElementById )
|
21
|
+
elem = document.getElementById( id );
|
22
|
+
else if ( document.all )
|
23
|
+
elem = eval( "document.all." + id );
|
24
|
+
else
|
25
|
+
return false;
|
26
|
+
|
27
|
+
elemStyle = elem.style;
|
28
|
+
|
29
|
+
if ( elemStyle.display != "block" ) {
|
30
|
+
elemStyle.display = "block"
|
31
|
+
} else {
|
32
|
+
elemStyle.display = "none"
|
33
|
+
}
|
34
|
+
|
35
|
+
return true;
|
36
|
+
}
|
37
|
+
|
38
|
+
// Make codeblocks hidden by default
|
39
|
+
document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
|
40
|
+
|
41
|
+
// ]]>
|
42
|
+
</script>
|
43
|
+
|
44
|
+
</head>
|
45
|
+
<body>
|
46
|
+
|
47
|
+
|
48
|
+
|
49
|
+
<div id="classHeader">
|
50
|
+
<table class="header-table">
|
51
|
+
<tr class="top-aligned-row">
|
52
|
+
<td><strong>Module</strong></td>
|
53
|
+
<td class="class-name-in-header">MIDI</td>
|
54
|
+
</tr>
|
55
|
+
<tr class="top-aligned-row">
|
56
|
+
<td><strong>In:</strong></td>
|
57
|
+
<td>
|
58
|
+
<a href="../files/lib/midilib/consts_rb.html">
|
59
|
+
lib/midilib/consts.rb
|
60
|
+
</a>
|
61
|
+
<br />
|
62
|
+
<a href="../files/lib/midilib/event_rb.html">
|
63
|
+
lib/midilib/event.rb
|
64
|
+
</a>
|
65
|
+
<br />
|
66
|
+
<a href="../files/lib/midilib/info_rb.html">
|
67
|
+
lib/midilib/info.rb
|
68
|
+
</a>
|
69
|
+
<br />
|
70
|
+
<a href="../files/lib/midilib/sequence_rb.html">
|
71
|
+
lib/midilib/sequence.rb
|
72
|
+
</a>
|
73
|
+
<br />
|
74
|
+
<a href="../files/lib/midilib/track_rb.html">
|
75
|
+
lib/midilib/track.rb
|
76
|
+
</a>
|
77
|
+
<br />
|
78
|
+
<a href="../files/lib/midilib/utils_rb.html">
|
79
|
+
lib/midilib/utils.rb
|
80
|
+
</a>
|
81
|
+
<br />
|
82
|
+
<a href="../files/lib/midilib/io/midifile_rb.html">
|
83
|
+
lib/midilib/io/midifile.rb
|
84
|
+
</a>
|
85
|
+
<br />
|
86
|
+
<a href="../files/lib/midilib/io/seqreader_rb.html">
|
87
|
+
lib/midilib/io/seqreader.rb
|
88
|
+
</a>
|
89
|
+
<br />
|
90
|
+
<a href="../files/lib/midilib/io/seqwriter_rb.html">
|
91
|
+
lib/midilib/io/seqwriter.rb
|
92
|
+
</a>
|
93
|
+
<br />
|
94
|
+
</td>
|
95
|
+
</tr>
|
96
|
+
|
97
|
+
</table>
|
98
|
+
</div>
|
99
|
+
<!-- banner header -->
|
100
|
+
|
101
|
+
<div id="bodyContent">
|
102
|
+
|
103
|
+
|
104
|
+
|
105
|
+
<div id="contextContent">
|
106
|
+
|
107
|
+
<div id="description">
|
108
|
+
<p>
|
109
|
+
<a href="MIDI.html">MIDI</a> constants.
|
110
|
+
</p>
|
111
|
+
|
112
|
+
</div>
|
113
|
+
|
114
|
+
|
115
|
+
</div>
|
116
|
+
|
117
|
+
|
118
|
+
</div>
|
119
|
+
|
120
|
+
|
121
|
+
<!-- if includes -->
|
122
|
+
|
123
|
+
<div id="section">
|
124
|
+
|
125
|
+
<div id="class-list">
|
126
|
+
<h3 class="section-bar">Classes and Modules</h3>
|
127
|
+
|
128
|
+
Module <a href="MIDI/IO.html" class="link">MIDI::IO</a><br />
|
129
|
+
Class <a href="MIDI/ActiveSense.html" class="link">MIDI::ActiveSense</a><br />
|
130
|
+
Class <a href="MIDI/ChannelEvent.html" class="link">MIDI::ChannelEvent</a><br />
|
131
|
+
Class <a href="MIDI/ChannelPressure.html" class="link">MIDI::ChannelPressure</a><br />
|
132
|
+
Class <a href="MIDI/Clock.html" class="link">MIDI::Clock</a><br />
|
133
|
+
Class <a href="MIDI/Continue.html" class="link">MIDI::Continue</a><br />
|
134
|
+
Class <a href="MIDI/Controller.html" class="link">MIDI::Controller</a><br />
|
135
|
+
Class <a href="MIDI/Event.html" class="link">MIDI::Event</a><br />
|
136
|
+
Class <a href="MIDI/Marker.html" class="link">MIDI::Marker</a><br />
|
137
|
+
Class <a href="MIDI/MetaEvent.html" class="link">MIDI::MetaEvent</a><br />
|
138
|
+
Class <a href="MIDI/NoteEvent.html" class="link">MIDI::NoteEvent</a><br />
|
139
|
+
Class <a href="MIDI/NoteOffEvent.html" class="link">MIDI::NoteOffEvent</a><br />
|
140
|
+
Class <a href="MIDI/NoteOnEvent.html" class="link">MIDI::NoteOnEvent</a><br />
|
141
|
+
Class <a href="MIDI/PitchBend.html" class="link">MIDI::PitchBend</a><br />
|
142
|
+
Class <a href="MIDI/PolyPressure.html" class="link">MIDI::PolyPressure</a><br />
|
143
|
+
Class <a href="MIDI/ProgramChange.html" class="link">MIDI::ProgramChange</a><br />
|
144
|
+
Class <a href="MIDI/Realtime.html" class="link">MIDI::Realtime</a><br />
|
145
|
+
Class <a href="MIDI/Sequence.html" class="link">MIDI::Sequence</a><br />
|
146
|
+
Class <a href="MIDI/SongPointer.html" class="link">MIDI::SongPointer</a><br />
|
147
|
+
Class <a href="MIDI/SongSelect.html" class="link">MIDI::SongSelect</a><br />
|
148
|
+
Class <a href="MIDI/Start.html" class="link">MIDI::Start</a><br />
|
149
|
+
Class <a href="MIDI/Stop.html" class="link">MIDI::Stop</a><br />
|
150
|
+
Class <a href="MIDI/SystemCommon.html" class="link">MIDI::SystemCommon</a><br />
|
151
|
+
Class <a href="MIDI/SystemExclusive.html" class="link">MIDI::SystemExclusive</a><br />
|
152
|
+
Class <a href="MIDI/SystemReset.html" class="link">MIDI::SystemReset</a><br />
|
153
|
+
Class <a href="MIDI/Tempo.html" class="link">MIDI::Tempo</a><br />
|
154
|
+
Class <a href="MIDI/Track.html" class="link">MIDI::Track</a><br />
|
155
|
+
Class <a href="MIDI/TuneRequest.html" class="link">MIDI::TuneRequest</a><br />
|
156
|
+
Class <a href="MIDI/Utils.html" class="link">MIDI::Utils</a><br />
|
157
|
+
|
158
|
+
</div>
|
159
|
+
|
160
|
+
<div id="constants-list">
|
161
|
+
<h3 class="section-bar">Constants</h3>
|
162
|
+
|
163
|
+
<div class="name-list">
|
164
|
+
<table summary="Constants">
|
165
|
+
<tr class="top-aligned-row context-row">
|
166
|
+
<td class="context-item-name">MIDI_CHANNELS</td>
|
167
|
+
<td>=</td>
|
168
|
+
<td class="context-item-value">16</td>
|
169
|
+
<td width="3em"> </td>
|
170
|
+
<td class="context-item-desc">
|
171
|
+
Number of <a href="MIDI.html">MIDI</a> channels
|
172
|
+
|
173
|
+
</td>
|
174
|
+
</tr>
|
175
|
+
<tr class="top-aligned-row context-row">
|
176
|
+
<td class="context-item-name">NOTES_PER_CHANNEL</td>
|
177
|
+
<td>=</td>
|
178
|
+
<td class="context-item-value">128</td>
|
179
|
+
<td width="3em"> </td>
|
180
|
+
<td class="context-item-desc">
|
181
|
+
Number of note per <a href="MIDI.html">MIDI</a> channel
|
182
|
+
|
183
|
+
</td>
|
184
|
+
</tr>
|
185
|
+
<tr class="top-aligned-row context-row">
|
186
|
+
<td class="context-item-name">META_EVENT</td>
|
187
|
+
<td>=</td>
|
188
|
+
<td class="context-item-value">0xff</td>
|
189
|
+
<td width="3em"> </td>
|
190
|
+
<td class="context-item-desc"></td>
|
191
|
+
</tr>
|
192
|
+
<tr class="top-aligned-row context-row">
|
193
|
+
<td class="context-item-name">META_SEQ_NUM</td>
|
194
|
+
<td>=</td>
|
195
|
+
<td class="context-item-value">0x00</td>
|
196
|
+
</tr>
|
197
|
+
<tr class="top-aligned-row context-row">
|
198
|
+
<td class="context-item-name">META_TEXT</td>
|
199
|
+
<td>=</td>
|
200
|
+
<td class="context-item-value">0x01</td>
|
201
|
+
</tr>
|
202
|
+
<tr class="top-aligned-row context-row">
|
203
|
+
<td class="context-item-name">META_COPYRIGHT</td>
|
204
|
+
<td>=</td>
|
205
|
+
<td class="context-item-value">0x02</td>
|
206
|
+
</tr>
|
207
|
+
<tr class="top-aligned-row context-row">
|
208
|
+
<td class="context-item-name">META_SEQ_NAME</td>
|
209
|
+
<td>=</td>
|
210
|
+
<td class="context-item-value">0x03</td>
|
211
|
+
</tr>
|
212
|
+
<tr class="top-aligned-row context-row">
|
213
|
+
<td class="context-item-name">META_INSTRUMENT</td>
|
214
|
+
<td>=</td>
|
215
|
+
<td class="context-item-value">0x04</td>
|
216
|
+
</tr>
|
217
|
+
<tr class="top-aligned-row context-row">
|
218
|
+
<td class="context-item-name">META_LYRIC</td>
|
219
|
+
<td>=</td>
|
220
|
+
<td class="context-item-value">0x05</td>
|
221
|
+
</tr>
|
222
|
+
<tr class="top-aligned-row context-row">
|
223
|
+
<td class="context-item-name">META_MARKER</td>
|
224
|
+
<td>=</td>
|
225
|
+
<td class="context-item-value">0x06</td>
|
226
|
+
</tr>
|
227
|
+
<tr class="top-aligned-row context-row">
|
228
|
+
<td class="context-item-name">META_CUE</td>
|
229
|
+
<td>=</td>
|
230
|
+
<td class="context-item-value">0x07</td>
|
231
|
+
</tr>
|
232
|
+
<tr class="top-aligned-row context-row">
|
233
|
+
<td class="context-item-name">META_TRACK_END</td>
|
234
|
+
<td>=</td>
|
235
|
+
<td class="context-item-value">0x2f</td>
|
236
|
+
</tr>
|
237
|
+
<tr class="top-aligned-row context-row">
|
238
|
+
<td class="context-item-name">META_SET_TEMPO</td>
|
239
|
+
<td>=</td>
|
240
|
+
<td class="context-item-value">0x51</td>
|
241
|
+
</tr>
|
242
|
+
<tr class="top-aligned-row context-row">
|
243
|
+
<td class="context-item-name">META_SMPTE</td>
|
244
|
+
<td>=</td>
|
245
|
+
<td class="context-item-value">0x53</td>
|
246
|
+
</tr>
|
247
|
+
<tr class="top-aligned-row context-row">
|
248
|
+
<td class="context-item-name">META_TIME_SIG</td>
|
249
|
+
<td>=</td>
|
250
|
+
<td class="context-item-value">0x58</td>
|
251
|
+
</tr>
|
252
|
+
<tr class="top-aligned-row context-row">
|
253
|
+
<td class="context-item-name">META_KEY_SIG</td>
|
254
|
+
<td>=</td>
|
255
|
+
<td class="context-item-value">0x59</td>
|
256
|
+
</tr>
|
257
|
+
<tr class="top-aligned-row context-row">
|
258
|
+
<td class="context-item-name">META_SEQ_SPECIF</td>
|
259
|
+
<td>=</td>
|
260
|
+
<td class="context-item-value">0x7f</td>
|
261
|
+
</tr>
|
262
|
+
<tr class="top-aligned-row context-row">
|
263
|
+
<td class="context-item-name">NOTE_OFF</td>
|
264
|
+
<td>=</td>
|
265
|
+
<td class="context-item-value">0x80</td>
|
266
|
+
<td width="3em"> </td>
|
267
|
+
<td class="context-item-desc">
|
268
|
+
Note, val
|
269
|
+
|
270
|
+
</td>
|
271
|
+
</tr>
|
272
|
+
<tr class="top-aligned-row context-row">
|
273
|
+
<td class="context-item-name">NOTE_ON</td>
|
274
|
+
<td>=</td>
|
275
|
+
<td class="context-item-value">0x90</td>
|
276
|
+
<td width="3em"> </td>
|
277
|
+
<td class="context-item-desc">
|
278
|
+
Note, val
|
279
|
+
|
280
|
+
</td>
|
281
|
+
</tr>
|
282
|
+
<tr class="top-aligned-row context-row">
|
283
|
+
<td class="context-item-name">POLY_PRESSURE</td>
|
284
|
+
<td>=</td>
|
285
|
+
<td class="context-item-value">0xA0</td>
|
286
|
+
<td width="3em"> </td>
|
287
|
+
<td class="context-item-desc">
|
288
|
+
Note, val
|
289
|
+
|
290
|
+
</td>
|
291
|
+
</tr>
|
292
|
+
<tr class="top-aligned-row context-row">
|
293
|
+
<td class="context-item-name">CONTROLLER</td>
|
294
|
+
<td>=</td>
|
295
|
+
<td class="context-item-value">0xB0</td>
|
296
|
+
<td width="3em"> </td>
|
297
|
+
<td class="context-item-desc">
|
298
|
+
<a href="MIDI/Controller.html">Controller</a> #, val
|
299
|
+
|
300
|
+
</td>
|
301
|
+
</tr>
|
302
|
+
<tr class="top-aligned-row context-row">
|
303
|
+
<td class="context-item-name">PROGRAM_CHANGE</td>
|
304
|
+
<td>=</td>
|
305
|
+
<td class="context-item-value">0xC0</td>
|
306
|
+
<td width="3em"> </td>
|
307
|
+
<td class="context-item-desc">
|
308
|
+
Program number
|
309
|
+
|
310
|
+
</td>
|
311
|
+
</tr>
|
312
|
+
<tr class="top-aligned-row context-row">
|
313
|
+
<td class="context-item-name">CHANNEL_PRESSURE</td>
|
314
|
+
<td>=</td>
|
315
|
+
<td class="context-item-value">0xD0</td>
|
316
|
+
<td width="3em"> </td>
|
317
|
+
<td class="context-item-desc">
|
318
|
+
Channel pressure
|
319
|
+
|
320
|
+
</td>
|
321
|
+
</tr>
|
322
|
+
<tr class="top-aligned-row context-row">
|
323
|
+
<td class="context-item-name">PITCH_BEND</td>
|
324
|
+
<td>=</td>
|
325
|
+
<td class="context-item-value">0xE0</td>
|
326
|
+
<td width="3em"> </td>
|
327
|
+
<td class="context-item-desc">
|
328
|
+
LSB, MSB
|
329
|
+
|
330
|
+
</td>
|
331
|
+
</tr>
|
332
|
+
<tr class="top-aligned-row context-row">
|
333
|
+
<td class="context-item-name">SYSEX</td>
|
334
|
+
<td>=</td>
|
335
|
+
<td class="context-item-value">0xF0</td>
|
336
|
+
<td width="3em"> </td>
|
337
|
+
<td class="context-item-desc">
|
338
|
+
System exclusive start
|
339
|
+
|
340
|
+
</td>
|
341
|
+
</tr>
|
342
|
+
<tr class="top-aligned-row context-row">
|
343
|
+
<td class="context-item-name">SONG_POINTER</td>
|
344
|
+
<td>=</td>
|
345
|
+
<td class="context-item-value">0xF2</td>
|
346
|
+
<td width="3em"> </td>
|
347
|
+
<td class="context-item-desc">
|
348
|
+
Beats from top: LSB/MSB 6 ticks = 1 beat
|
349
|
+
|
350
|
+
</td>
|
351
|
+
</tr>
|
352
|
+
<tr class="top-aligned-row context-row">
|
353
|
+
<td class="context-item-name">SONG_SELECT</td>
|
354
|
+
<td>=</td>
|
355
|
+
<td class="context-item-value">0xF3</td>
|
356
|
+
<td width="3em"> </td>
|
357
|
+
<td class="context-item-desc">
|
358
|
+
Val = number of song
|
359
|
+
|
360
|
+
</td>
|
361
|
+
</tr>
|
362
|
+
<tr class="top-aligned-row context-row">
|
363
|
+
<td class="context-item-name">TUNE_REQUEST</td>
|
364
|
+
<td>=</td>
|
365
|
+
<td class="context-item-value">0xF6</td>
|
366
|
+
<td width="3em"> </td>
|
367
|
+
<td class="context-item-desc">
|
368
|
+
Tune request
|
369
|
+
|
370
|
+
</td>
|
371
|
+
</tr>
|
372
|
+
<tr class="top-aligned-row context-row">
|
373
|
+
<td class="context-item-name">EOX</td>
|
374
|
+
<td>=</td>
|
375
|
+
<td class="context-item-value">0xF7</td>
|
376
|
+
<td width="3em"> </td>
|
377
|
+
<td class="context-item-desc">
|
378
|
+
End of system exclusive
|
379
|
+
|
380
|
+
</td>
|
381
|
+
</tr>
|
382
|
+
<tr class="top-aligned-row context-row">
|
383
|
+
<td class="context-item-name">CLOCK</td>
|
384
|
+
<td>=</td>
|
385
|
+
<td class="context-item-value">0xF8</td>
|
386
|
+
<td width="3em"> </td>
|
387
|
+
<td class="context-item-desc">
|
388
|
+
<a href="MIDI.html">MIDI</a> clock (24 per quarter note)
|
389
|
+
|
390
|
+
</td>
|
391
|
+
</tr>
|
392
|
+
<tr class="top-aligned-row context-row">
|
393
|
+
<td class="context-item-name">START</td>
|
394
|
+
<td>=</td>
|
395
|
+
<td class="context-item-value">0xFA</td>
|
396
|
+
<td width="3em"> </td>
|
397
|
+
<td class="context-item-desc">
|
398
|
+
<a href="MIDI/Sequence.html">Sequence</a> start
|
399
|
+
|
400
|
+
</td>
|
401
|
+
</tr>
|
402
|
+
<tr class="top-aligned-row context-row">
|
403
|
+
<td class="context-item-name">CONTINUE</td>
|
404
|
+
<td>=</td>
|
405
|
+
<td class="context-item-value">0xFB</td>
|
406
|
+
<td width="3em"> </td>
|
407
|
+
<td class="context-item-desc">
|
408
|
+
<a href="MIDI/Sequence.html">Sequence</a> continue
|
409
|
+
|
410
|
+
</td>
|
411
|
+
</tr>
|
412
|
+
<tr class="top-aligned-row context-row">
|
413
|
+
<td class="context-item-name">STOP</td>
|
414
|
+
<td>=</td>
|
415
|
+
<td class="context-item-value">0xFC</td>
|
416
|
+
<td width="3em"> </td>
|
417
|
+
<td class="context-item-desc">
|
418
|
+
<a href="MIDI/Sequence.html">Sequence</a> stop
|
419
|
+
|
420
|
+
</td>
|
421
|
+
</tr>
|
422
|
+
<tr class="top-aligned-row context-row">
|
423
|
+
<td class="context-item-name">ACTIVE_SENSE</td>
|
424
|
+
<td>=</td>
|
425
|
+
<td class="context-item-value">0xFE</td>
|
426
|
+
<td width="3em"> </td>
|
427
|
+
<td class="context-item-desc">
|
428
|
+
Active sensing (sent every 300 ms when nothing else being sent)
|
429
|
+
|
430
|
+
</td>
|
431
|
+
</tr>
|
432
|
+
<tr class="top-aligned-row context-row">
|
433
|
+
<td class="context-item-name">SYSTEM_RESET</td>
|
434
|
+
<td>=</td>
|
435
|
+
<td class="context-item-value">0xFF</td>
|
436
|
+
<td width="3em"> </td>
|
437
|
+
<td class="context-item-desc">
|
438
|
+
System reset
|
439
|
+
|
440
|
+
</td>
|
441
|
+
</tr>
|
442
|
+
<tr class="top-aligned-row context-row">
|
443
|
+
<td class="context-item-name">CC_MOD_WHEEL</td>
|
444
|
+
<td>=</td>
|
445
|
+
<td class="context-item-value">1</td>
|
446
|
+
<td width="3em"> </td>
|
447
|
+
<td class="context-item-desc">
|
448
|
+
<a href="MIDI/Controller.html">Controller</a> numbers
|
449
|
+
|
450
|
+
<h1>0 - 31 = continuous, LSB</h1>
|
451
|
+
<h1>32 - 63 = continuous, MSB</h1>
|
452
|
+
<h1>64 - 97 = switches</h1>
|
453
|
+
</td>
|
454
|
+
</tr>
|
455
|
+
<tr class="top-aligned-row context-row">
|
456
|
+
<td class="context-item-name">CC_BREATH_CONTROLLER</td>
|
457
|
+
<td>=</td>
|
458
|
+
<td class="context-item-value">2</td>
|
459
|
+
</tr>
|
460
|
+
<tr class="top-aligned-row context-row">
|
461
|
+
<td class="context-item-name">CC_FOOT_CONTROLLER</td>
|
462
|
+
<td>=</td>
|
463
|
+
<td class="context-item-value">4</td>
|
464
|
+
</tr>
|
465
|
+
<tr class="top-aligned-row context-row">
|
466
|
+
<td class="context-item-name">CC_PORTAMENTO_TIME</td>
|
467
|
+
<td>=</td>
|
468
|
+
<td class="context-item-value">5</td>
|
469
|
+
</tr>
|
470
|
+
<tr class="top-aligned-row context-row">
|
471
|
+
<td class="context-item-name">CC_DATA_ENTRY_MSB</td>
|
472
|
+
<td>=</td>
|
473
|
+
<td class="context-item-value">6</td>
|
474
|
+
</tr>
|
475
|
+
<tr class="top-aligned-row context-row">
|
476
|
+
<td class="context-item-name">CC_VOLUME</td>
|
477
|
+
<td>=</td>
|
478
|
+
<td class="context-item-value">7</td>
|
479
|
+
</tr>
|
480
|
+
<tr class="top-aligned-row context-row">
|
481
|
+
<td class="context-item-name">CC_BALANCE</td>
|
482
|
+
<td>=</td>
|
483
|
+
<td class="context-item-value">8</td>
|
484
|
+
</tr>
|
485
|
+
<tr class="top-aligned-row context-row">
|
486
|
+
<td class="context-item-name">CC_PAN</td>
|
487
|
+
<td>=</td>
|
488
|
+
<td class="context-item-value">10</td>
|
489
|
+
</tr>
|
490
|
+
<tr class="top-aligned-row context-row">
|
491
|
+
<td class="context-item-name">CC_EXPRESSION_CONTROLLER</td>
|
492
|
+
<td>=</td>
|
493
|
+
<td class="context-item-value">11</td>
|
494
|
+
</tr>
|
495
|
+
<tr class="top-aligned-row context-row">
|
496
|
+
<td class="context-item-name">CC_GEN_PURPOSE_1</td>
|
497
|
+
<td>=</td>
|
498
|
+
<td class="context-item-value">16</td>
|
499
|
+
</tr>
|
500
|
+
<tr class="top-aligned-row context-row">
|
501
|
+
<td class="context-item-name">CC_GEN_PURPOSE_2</td>
|
502
|
+
<td>=</td>
|
503
|
+
<td class="context-item-value">17</td>
|
504
|
+
</tr>
|
505
|
+
<tr class="top-aligned-row context-row">
|
506
|
+
<td class="context-item-name">CC_GEN_PURPOSE_3</td>
|
507
|
+
<td>=</td>
|
508
|
+
<td class="context-item-value">18</td>
|
509
|
+
</tr>
|
510
|
+
<tr class="top-aligned-row context-row">
|
511
|
+
<td class="context-item-name">CC_GEN_PURPOSE_4</td>
|
512
|
+
<td>=</td>
|
513
|
+
<td class="context-item-value">19</td>
|
514
|
+
</tr>
|
515
|
+
<tr class="top-aligned-row context-row">
|
516
|
+
<td class="context-item-name">CC_SUSTAIN</td>
|
517
|
+
<td>=</td>
|
518
|
+
<td class="context-item-value">64</td>
|
519
|
+
<td width="3em"> </td>
|
520
|
+
<td class="context-item-desc"><dl>
|
521
|
+
<dt>32 - 63</dt><dd>are LSB for [0 - 31]
|
522
|
+
|
523
|
+
</dd>
|
524
|
+
</dl>
|
525
|
+
</td>
|
526
|
+
</tr>
|
527
|
+
<tr class="top-aligned-row context-row">
|
528
|
+
<td class="context-item-name">CC_PORTAMENTO</td>
|
529
|
+
<td>=</td>
|
530
|
+
<td class="context-item-value">65</td>
|
531
|
+
</tr>
|
532
|
+
<tr class="top-aligned-row context-row">
|
533
|
+
<td class="context-item-name">CC_SUSTENUTO</td>
|
534
|
+
<td>=</td>
|
535
|
+
<td class="context-item-value">66</td>
|
536
|
+
</tr>
|
537
|
+
<tr class="top-aligned-row context-row">
|
538
|
+
<td class="context-item-name">CC_SOFT_PEDAL</td>
|
539
|
+
<td>=</td>
|
540
|
+
<td class="context-item-value">67</td>
|
541
|
+
</tr>
|
542
|
+
<tr class="top-aligned-row context-row">
|
543
|
+
<td class="context-item-name">CC_HOLD_2</td>
|
544
|
+
<td>=</td>
|
545
|
+
<td class="context-item-value">69</td>
|
546
|
+
</tr>
|
547
|
+
<tr class="top-aligned-row context-row">
|
548
|
+
<td class="context-item-name">CC_GEN_PURPOSE_5</td>
|
549
|
+
<td>=</td>
|
550
|
+
<td class="context-item-value">50</td>
|
551
|
+
</tr>
|
552
|
+
<tr class="top-aligned-row context-row">
|
553
|
+
<td class="context-item-name">CC_GEN_PURPOSE_6</td>
|
554
|
+
<td>=</td>
|
555
|
+
<td class="context-item-value">51</td>
|
556
|
+
</tr>
|
557
|
+
<tr class="top-aligned-row context-row">
|
558
|
+
<td class="context-item-name">CC_GEN_PURPOSE_7</td>
|
559
|
+
<td>=</td>
|
560
|
+
<td class="context-item-value">52</td>
|
561
|
+
</tr>
|
562
|
+
<tr class="top-aligned-row context-row">
|
563
|
+
<td class="context-item-name">CC_GEN_PURPOSE_8</td>
|
564
|
+
<td>=</td>
|
565
|
+
<td class="context-item-value">53</td>
|
566
|
+
</tr>
|
567
|
+
<tr class="top-aligned-row context-row">
|
568
|
+
<td class="context-item-name">CC_TREMELO_DEPTH</td>
|
569
|
+
<td>=</td>
|
570
|
+
<td class="context-item-value">92</td>
|
571
|
+
</tr>
|
572
|
+
<tr class="top-aligned-row context-row">
|
573
|
+
<td class="context-item-name">CC_CHORUS_DEPTH</td>
|
574
|
+
<td>=</td>
|
575
|
+
<td class="context-item-value">93</td>
|
576
|
+
</tr>
|
577
|
+
<tr class="top-aligned-row context-row">
|
578
|
+
<td class="context-item-name">CC_DETUNE_DEPTH</td>
|
579
|
+
<td>=</td>
|
580
|
+
<td class="context-item-value">94</td>
|
581
|
+
</tr>
|
582
|
+
<tr class="top-aligned-row context-row">
|
583
|
+
<td class="context-item-name">CC_PHASER_DEPTH</td>
|
584
|
+
<td>=</td>
|
585
|
+
<td class="context-item-value">95</td>
|
586
|
+
</tr>
|
587
|
+
<tr class="top-aligned-row context-row">
|
588
|
+
<td class="context-item-name">CC_DATA_INCREMENT</td>
|
589
|
+
<td>=</td>
|
590
|
+
<td class="context-item-value">96</td>
|
591
|
+
</tr>
|
592
|
+
<tr class="top-aligned-row context-row">
|
593
|
+
<td class="context-item-name">CC_DATA_DECREMENT</td>
|
594
|
+
<td>=</td>
|
595
|
+
<td class="context-item-value">97</td>
|
596
|
+
</tr>
|
597
|
+
<tr class="top-aligned-row context-row">
|
598
|
+
<td class="context-item-name">CC_NREG_PARAM_LSB</td>
|
599
|
+
<td>=</td>
|
600
|
+
<td class="context-item-value">98</td>
|
601
|
+
</tr>
|
602
|
+
<tr class="top-aligned-row context-row">
|
603
|
+
<td class="context-item-name">CC_NREG_PARAM_MSB</td>
|
604
|
+
<td>=</td>
|
605
|
+
<td class="context-item-value">99</td>
|
606
|
+
</tr>
|
607
|
+
<tr class="top-aligned-row context-row">
|
608
|
+
<td class="context-item-name">CC_REG_PARAM_LSB</td>
|
609
|
+
<td>=</td>
|
610
|
+
<td class="context-item-value">100</td>
|
611
|
+
</tr>
|
612
|
+
<tr class="top-aligned-row context-row">
|
613
|
+
<td class="context-item-name">CC_REG_PARAM_MSB</td>
|
614
|
+
<td>=</td>
|
615
|
+
<td class="context-item-value">101</td>
|
616
|
+
</tr>
|
617
|
+
<tr class="top-aligned-row context-row">
|
618
|
+
<td class="context-item-name">CM_LOCAL_CONTROL</td>
|
619
|
+
<td>=</td>
|
620
|
+
<td class="context-item-value">0x7A</td>
|
621
|
+
<td width="3em"> </td>
|
622
|
+
<td class="context-item-desc">
|
623
|
+
Val 0 == off, 0x7f == on
|
624
|
+
|
625
|
+
</td>
|
626
|
+
</tr>
|
627
|
+
<tr class="top-aligned-row context-row">
|
628
|
+
<td class="context-item-name">CM_ALL_NOTES_OFF</td>
|
629
|
+
<td>=</td>
|
630
|
+
<td class="context-item-value">0x7B</td>
|
631
|
+
</tr>
|
632
|
+
<tr class="top-aligned-row context-row">
|
633
|
+
<td class="context-item-name">CM_OMNI_MODE_OFF</td>
|
634
|
+
<td>=</td>
|
635
|
+
<td class="context-item-value">0x7C</td>
|
636
|
+
</tr>
|
637
|
+
<tr class="top-aligned-row context-row">
|
638
|
+
<td class="context-item-name">CM_OMNI_MODE_ON</td>
|
639
|
+
<td>=</td>
|
640
|
+
<td class="context-item-value">0x7D</td>
|
641
|
+
</tr>
|
642
|
+
<tr class="top-aligned-row context-row">
|
643
|
+
<td class="context-item-name">CM_MONO_MODE_ON</td>
|
644
|
+
<td>=</td>
|
645
|
+
<td class="context-item-value">0x7E</td>
|
646
|
+
</tr>
|
647
|
+
<tr class="top-aligned-row context-row">
|
648
|
+
<td class="context-item-name">CM_POLY_MODE_ON</td>
|
649
|
+
<td>=</td>
|
650
|
+
<td class="context-item-value">0x7F</td>
|
651
|
+
</tr>
|
652
|
+
<tr class="top-aligned-row context-row">
|
653
|
+
<td class="context-item-name">CONTROLLER_NAMES</td>
|
654
|
+
<td>=</td>
|
655
|
+
<td class="context-item-value">[ "0", "Modulation", "Breath Control", "3", "Foot Controller", "Portamento Time", "Data Entry", "Volume", "Balance", "9", "Pan", "Expression Control", "12", "13", "14", "15", "General Controller 1", "General Controller 2", "General Controller 3", "General Controller 4", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31", "32", "33", "34", "35", "36", "37", "38", "39", "40", "41", "42", "43", "44", "45", "46", "47", "48", "49", "50", "51", "52", "53", "54", "55", "56", "57", "58", "59", "60", "61", "62", "63", "Sustain Pedal", "Portamento", "Sostenuto", "Soft Pedal", "68", "Hold 2", "70", "71", "72", "73", "74", "75", "76", "77", "78", "79", "General Controller 5", "Tempo Change", "General Controller 7", "General Controller 8", "84", "85", "86", "87", "88", "89", "90", "External Effects Depth", "Tremolo Depth", "Chorus Depth", "Detune (Celeste) Depth", "Phaser Depth", "Data Increment", "Data Decrement", "Non-Registered Param LSB", "Non-Registered Param MSB", "Registered Param LSB", "Registered Param MSB", "102", "103", "104", "105", "106", "107", "108", "109", "110", "111", "112", "113", "114", "115", "116", "117", "118", "119", "120", "Reset All Controllers", "Local Control", "All Notes Off", "Omni Mode Off", "Omni Mode On", "Mono Mode On", "Poly Mode On"</td>
|
656
|
+
<td width="3em"> </td>
|
657
|
+
<td class="context-item-desc">
|
658
|
+
<a href="MIDI/Controller.html">Controller</a> names
|
659
|
+
|
660
|
+
</td>
|
661
|
+
</tr>
|
662
|
+
<tr class="top-aligned-row context-row">
|
663
|
+
<td class="context-item-name">GM_PATCH_NAMES</td>
|
664
|
+
<td>=</td>
|
665
|
+
<td class="context-item-value">[ #-- # Pianos #++ "Acoustic Grand Piano", "Bright Acoustic Piano", "Electric Grand Piano", "Honky-tonk Piano", "Electric Piano 1", "Electric Piano 2", "Harpsichord", "Clavichord", #-- # Tuned Idiophones #++ "Celesta", "Glockenspiel", "Music Box", "Vibraphone", "Marimba", "Xylophone", "Tubular Bells", "Dulcimer", #-- # Organs #++ "Drawbar Organ", "Percussive Organ", "Rock Organ", "Church Organ", "Reed Organ", "Accordion", "Harmonica", "Tango Accordion", #-- # Guitars #++ "Acoustic Guitar (nylon)", "Acoustic Guitar (steel)", "Electric Guitar (jazz)", "Electric Guitar (clean)", "Electric Guitar (muted)", "Overdriven Guitar", "Distortion Guitar", "Guitar harmonics", #-- # Basses #++ "Acoustic Bass", "Electric Bass (finger)", "Electric Bass (pick)", "Fretless Bass", "Slap Bass 1", "Slap Bass 2", "Synth Bass 1", "Synth Bass 2", #-- # Strings #++ "Violin", "Viola", "Cello", "Contrabass", "Tremolo Strings", "Pizzicato Strings", "Orchestral Harp", "Timpani", #-- # Ensemble strings and voices #++ "String Ensemble 1", "String Ensemble 2", "SynthStrings 1", "SynthStrings 2", "Choir Aahs", "Voice Oohs", "Synth Voice", "Orchestra Hit", #-- # Brass #++ "Trumpet", "Trombone", "Tuba", "Muted Trumpet", "French Horn", "Brass Section", "SynthBrass 1", "SynthBrass 2", #-- # Reeds #++ "Soprano Sax", # 64 "Alto Sax", "Tenor Sax", "Baritone Sax", "Oboe", "English Horn", "Bassoon", "Clarinet", #-- # Pipes #++ "Piccolo", "Flute", "Recorder", "Pan Flute", "Blown Bottle", "Shakuhachi", "Whistle", "Ocarina", #-- # Synth Leads #++ "Lead 1 (square)", "Lead 2 (sawtooth)", "Lead 3 (calliope)", "Lead 4 (chiff)", "Lead 5 (charang)", "Lead 6 (voice)", "Lead 7 (fifths)", "Lead 8 (bass + lead)", #-- # Synth Pads #++ "Pad 1 (new age)", "Pad 2 (warm)", "Pad 3 (polysynth)", "Pad 4 (choir)", "Pad 5 (bowed)", "Pad 6 (metallic)", "Pad 7 (halo)", "Pad 8 (sweep)", #-- # Effects #++ "FX 1 (rain)", "FX 2 (soundtrack)", "FX 3 (crystal)", "FX 4 (atmosphere)", "FX 5 (brightness)", "FX 6 (goblins)", "FX 7 (echoes)", "FX 8 (sci-fi)", #-- # Ethnic #++ "Sitar", "Banjo", "Shamisen", "Koto", "Kalimba", "Bag pipe", "Fiddle", "Shanai", #-- # Percussion #++ "Tinkle Bell", "Agogo", "Steel Drums", "Woodblock", "Taiko Drum", "Melodic Tom", "Synth Drum", "Reverse Cymbal", #-- # Sound Effects #++ "Guitar Fret Noise", "Breath Noise", "Seashore", "Bird Tweet", "Telephone Ring", "Helicopter", "Applause", "Gunshot"</td>
|
666
|
+
<td width="3em"> </td>
|
667
|
+
<td class="context-item-desc">
|
668
|
+
General <a href="MIDI.html">MIDI</a> patch names
|
669
|
+
|
670
|
+
</td>
|
671
|
+
</tr>
|
672
|
+
<tr class="top-aligned-row context-row">
|
673
|
+
<td class="context-item-name">GM_DRUM_NOTE_LOWEST</td>
|
674
|
+
<td>=</td>
|
675
|
+
<td class="context-item-value">35</td>
|
676
|
+
<td width="3em"> </td>
|
677
|
+
<td class="context-item-desc">
|
678
|
+
GM drum notes start at 35 (C), so subtrack GM_DRUM_NOTE_LOWEST from your
|
679
|
+
note number before using this array.
|
680
|
+
|
681
|
+
</td>
|
682
|
+
</tr>
|
683
|
+
<tr class="top-aligned-row context-row">
|
684
|
+
<td class="context-item-name">GM_DRUM_NOTE_NAMES</td>
|
685
|
+
<td>=</td>
|
686
|
+
<td class="context-item-value">[ "Acoustic Bass Drum", # 35, C "Bass Drum 1", # 36, C# "Side Stick", # 37, D "Acoustic Snare", # 38, D# "Hand Clap", # 39, E "Electric Snare", # 40, F "Low Floor Tom", # 41, F# "Closed Hi Hat", # 42, G "High Floor Tom", # 43, G# "Pedal Hi-Hat", # 44, A "Low Tom", # 45, A# "Open Hi-Hat", # 46, B "Low-Mid Tom", # 47, C "Hi Mid Tom", # 48, C# "Crash Cymbal 1", # 49, D "High Tom", # 50, D# "Ride Cymbal 1", # 51, E "Chinese Cymbal", # 52, F "Ride Bell", # 53, F# "Tambourine", # 54, G "Splash Cymbal", # 55, G# "Cowbell", # 56, A "Crash Cymbal 2", # 57, A# "Vibraslap", # 58, B "Ride Cymbal 2", # 59, C "Hi Bongo", # 60, C# "Low Bongo", # 61, D "Mute Hi Conga", # 62, D# "Open Hi Conga", # 63, E "Low Conga", # 64, F "High Timbale", # 65, F# "Low Timbale", # 66, G "High Agogo", # 67, G# "Low Agogo", # 68, A "Cabasa", # 69, A# "Maracas", # 70, B "Short Whistle", # 71, C "Long Whistle", # 72, C# "Short Guiro", # 73, D "Long Guiro", # 74, D# "Claves", # 75, E "Hi Wood Block", # 76, F "Low Wood Block", # 77, F# "Mute Cuica", # 78, G "Open Cuica", # 79, G# "Mute Triangle", # 80, A "Open Triangle"</td>
|
687
|
+
<td width="3em"> </td>
|
688
|
+
<td class="context-item-desc">
|
689
|
+
General <a href="MIDI.html">MIDI</a> drum channel note names.
|
690
|
+
|
691
|
+
</td>
|
692
|
+
</tr>
|
693
|
+
<tr class="top-aligned-row context-row">
|
694
|
+
<td class="context-item-name">VERSION_MAJOR</td>
|
695
|
+
<td>=</td>
|
696
|
+
<td class="context-item-value">0</td>
|
697
|
+
</tr>
|
698
|
+
<tr class="top-aligned-row context-row">
|
699
|
+
<td class="context-item-name">VERSION_MINOR</td>
|
700
|
+
<td>=</td>
|
701
|
+
<td class="context-item-value">8</td>
|
702
|
+
</tr>
|
703
|
+
<tr class="top-aligned-row context-row">
|
704
|
+
<td class="context-item-name">VERSION_TWEAK</td>
|
705
|
+
<td>=</td>
|
706
|
+
<td class="context-item-value">4</td>
|
707
|
+
</tr>
|
708
|
+
<tr class="top-aligned-row context-row">
|
709
|
+
<td class="context-item-name">Version</td>
|
710
|
+
<td>=</td>
|
711
|
+
<td class="context-item-value">"#{VERSION_MAJOR}.#{VERSION_MINOR}.#{VERSION_TWEAK}"</td>
|
712
|
+
</tr>
|
713
|
+
<tr class="top-aligned-row context-row">
|
714
|
+
<td class="context-item-name">Copyright</td>
|
715
|
+
<td>=</td>
|
716
|
+
<td class="context-item-value">'Copyright (c) 2003-2005 by Jim Menard <jimm@io.com>'</td>
|
717
|
+
</tr>
|
718
|
+
</table>
|
719
|
+
</div>
|
720
|
+
</div>
|
721
|
+
|
722
|
+
|
723
|
+
|
724
|
+
|
725
|
+
|
726
|
+
|
727
|
+
<!-- if method_list -->
|
728
|
+
|
729
|
+
|
730
|
+
</div>
|
731
|
+
|
732
|
+
|
733
|
+
<div id="validator-badges">
|
734
|
+
<p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
|
735
|
+
</div>
|
736
|
+
|
737
|
+
</body>
|
738
|
+
</html>
|