smf 0.15.12
Sign up to get free protection for your applications and to get access to all the features.
- data/MANUAL +172 -0
- data/MANUAL.en +135 -0
- data/MANUAL.en.html +150 -0
- data/MANUAL.en.rd +144 -0
- data/MANUAL.html +201 -0
- data/MANUAL.rd +179 -0
- data/README +33 -0
- data/README.en +33 -0
- data/lib/smf.rb +736 -0
- data/lib/smf/divert.rb +21 -0
- data/lib/smf/io.rb +1278 -0
- data/lib/smf/toy/beatmap.rb +73 -0
- data/lib/smf/toy/gm.rb +327 -0
- data/lib/smf/toy/groove.rb +34 -0
- data/lib/smf/toy/macro.rb +282 -0
- data/lib/smf/toy/macro/mml.rb +34 -0
- data/lib/smf/toy/macro/mml/parser.rb +545 -0
- data/lib/smf/toy/macro/mml/parser.ry +239 -0
- data/lib/smf/toy/macro/stt.rb +33 -0
- data/lib/smf/toy/morse.rb +126 -0
- data/lib/smf/toy/quantize.rb +32 -0
- data/lib/smf/toy/rmi.rb +29 -0
- data/lib/smf/toy/searchsegment.rb +24 -0
- data/lib/smf/toy/shuffle.rb +39 -0
- data/lib/smf/toy/tempomap.rb +75 -0
- data/lib/smf/toy/text.rb +369 -0
- data/lib/smf/toy/velcomp.rb +42 -0
- data/lib/smf/toy/virtual.rb +118 -0
- data/lib/smf/toy/xml.rb +377 -0
- data/sample/Makefile +58 -0
- data/sample/bwv772.mid +0 -0
- data/sample/bwv772.mml +94 -0
- data/sample/bwv775.mid +0 -0
- data/sample/bwv775.mml +157 -0
- data/sample/bwv787.mid +0 -0
- data/sample/bwv787.mml +129 -0
- data/sample/groove.grv +33 -0
- data/sample/groove.rb +45 -0
- data/sample/ltvddpd2.mid +0 -0
- data/sample/ltvddpd2.stt +60 -0
- data/sample/merge.rb +38 -0
- data/sample/mml-samp.rb +19 -0
- data/sample/mml.rb +36 -0
- data/sample/morse-samp.rb +11 -0
- data/sample/morse.rb +31 -0
- data/sample/play-oss.rb +215 -0
- data/sample/play-oss2.rb +253 -0
- data/sample/play-oss3.rb +150 -0
- data/sample/play-spkr.rb +97 -0
- data/sample/play-win.rb +195 -0
- data/sample/quantize.rb +41 -0
- data/sample/rand1.rb +21 -0
- data/sample/rand2.rb +24 -0
- data/sample/rmi2smf.rb +26 -0
- data/sample/shuffle.rb +43 -0
- data/sample/smf2rmi.rb +26 -0
- data/sample/smf2smf.rb +26 -0
- data/sample/smf2text.rb +27 -0
- data/sample/smf2wav.rb +123 -0
- data/sample/smf2xml.rb +27 -0
- data/sample/split.rb +40 -0
- data/sample/stt-samp.rb +19 -0
- data/sample/stt.rb +36 -0
- data/sample/text2smf.rb +28 -0
- data/sample/velcomp.rb +45 -0
- data/sample/virtual-samp.rb +19 -0
- data/sample/xml2smf.rb +28 -0
- metadata +128 -0
data/MANUAL.en.rd
ADDED
@@ -0,0 +1,144 @@
|
|
1
|
+
=begin
|
2
|
+
= SMF module
|
3
|
+
|
4
|
+
== Classes
|
5
|
+
|
6
|
+
* Sequence <format, division, tc=nil>
|
7
|
+
|
8
|
+
* Track
|
9
|
+
|
10
|
+
* Event <offset>
|
11
|
+
* MIDIMessage
|
12
|
+
* ChannelMessage <..., ch>
|
13
|
+
* VoiceMessage
|
14
|
+
* NoteOff <..., note, vel>
|
15
|
+
* NoteOn <..., note, vel>
|
16
|
+
* PolyphonicKeyPressure <..., note, val>
|
17
|
+
* ControlChange <..., num, val>
|
18
|
+
* ProgramChange <..., num>
|
19
|
+
* ChannelPressure <..., val>
|
20
|
+
* PitchBendChange <..., val>
|
21
|
+
* ChannelModeMessage
|
22
|
+
* AllSoundOff <..., ch>
|
23
|
+
* ResetAllControllers <..., ch>
|
24
|
+
* LocalControl <..., ch, val>
|
25
|
+
* AllNotesOff <..., ch>
|
26
|
+
* OmniOff <..., ch>
|
27
|
+
* OmniOn <..., ch>
|
28
|
+
* MonoMode <..., ch, val>
|
29
|
+
* PolyMode <..., ch>
|
30
|
+
|
31
|
+
* SystemMessage
|
32
|
+
* ExclusiveMessage
|
33
|
+
* ExclusiveF0 <..., data>
|
34
|
+
* ExclusiveF7 <..., data>
|
35
|
+
|
36
|
+
* Meta
|
37
|
+
* SequenceNumber <..., num>
|
38
|
+
* Text <..., text>
|
39
|
+
* GeneralPurposeText (Text01)
|
40
|
+
* CopyrightNotice (Text02)
|
41
|
+
* TrackName (SequenceName, Text03)
|
42
|
+
* InstrumentName (Text04)
|
43
|
+
* Lyric (Display, Text05)
|
44
|
+
* Marker (Text06)
|
45
|
+
* CuePoint (Text07)
|
46
|
+
* ProgramName (Text08)
|
47
|
+
* DeviceName (Text09)
|
48
|
+
* Text0A
|
49
|
+
* Text0B
|
50
|
+
* Text0C
|
51
|
+
* Text0D
|
52
|
+
* Text0E
|
53
|
+
* Text0F
|
54
|
+
* ChannelPrefix <..., ch>
|
55
|
+
* MIDIPort <..., num> (not in RP-001)
|
56
|
+
* EndOfTrack
|
57
|
+
* SetTempo <..., tempo>
|
58
|
+
* SMPTEOffset <..., hr, mn, se, fr, ff, tc>
|
59
|
+
* TimeSignature <..., nn, dd, cc, bb>
|
60
|
+
* KeySignature <..., sf, mi>
|
61
|
+
* SequencerSpecific <..., data>
|
62
|
+
|
63
|
+
== Sequence
|
64
|
+
|
65
|
+
=== Super Class
|
66
|
+
|
67
|
+
Object
|
68
|
+
|
69
|
+
=== Included Modules
|
70
|
+
|
71
|
+
Enumerable
|
72
|
+
|
73
|
+
=== Class Methods
|
74
|
+
|
75
|
+
: decode(str)
|
76
|
+
: read(io)
|
77
|
+
: load(fn)
|
78
|
+
|
79
|
+
: new([format=1[, division=96[,tc=nil]]])
|
80
|
+
|
81
|
+
The three methods decode(), read() and load() replace NoteOn with NoteOff
|
82
|
+
when its velocity is zero.
|
83
|
+
|
84
|
+
=== Accessors
|
85
|
+
|
86
|
+
: format
|
87
|
+
: division
|
88
|
+
: tc
|
89
|
+
|
90
|
+
=== Methods
|
91
|
+
|
92
|
+
This nearly have all methods of array object.
|
93
|
+
In addition, this also have the following methods.
|
94
|
+
|
95
|
+
: ntrks
|
96
|
+
: self >> tr
|
97
|
+
: each{|tr| ...}
|
98
|
+
: join!
|
99
|
+
: encode
|
100
|
+
: write(io)
|
101
|
+
: save(fn)
|
102
|
+
|
103
|
+
The iterator each{} ignores all nil elements.
|
104
|
+
|
105
|
+
== Track
|
106
|
+
|
107
|
+
=== Super Class
|
108
|
+
|
109
|
+
Object
|
110
|
+
|
111
|
+
=== Included Modules
|
112
|
+
|
113
|
+
Enumerable
|
114
|
+
|
115
|
+
=== Class Methods
|
116
|
+
|
117
|
+
: new
|
118
|
+
|
119
|
+
=== Methods
|
120
|
+
|
121
|
+
This nearly have all methods of array object.
|
122
|
+
In addition, this also have the following methods.
|
123
|
+
|
124
|
+
: nevts
|
125
|
+
: self >> ev
|
126
|
+
: each{|ev| ...}
|
127
|
+
|
128
|
+
The iterator each{} ignores all nil elements and sorts events (stable).
|
129
|
+
|
130
|
+
== Event
|
131
|
+
|
132
|
+
=== Super Class
|
133
|
+
|
134
|
+
Object
|
135
|
+
|
136
|
+
=== Included Modules
|
137
|
+
|
138
|
+
Comparable
|
139
|
+
|
140
|
+
=== Accessors
|
141
|
+
|
142
|
+
: offset
|
143
|
+
|
144
|
+
=end
|
data/MANUAL.html
ADDED
@@ -0,0 +1,201 @@
|
|
1
|
+
<?xml version="1.0" encoding="iso-2022-jp" ?>
|
2
|
+
<!DOCTYPE html
|
3
|
+
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
4
|
+
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
5
|
+
<html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja">
|
6
|
+
<head>
|
7
|
+
<title>SMF</title>
|
8
|
+
<meta http-equiv="Content-type" content="text/html; charset=iso-2022-jp" />
|
9
|
+
<link href="default.css" type="text/css" rel="stylesheet" />
|
10
|
+
<link href="index.html" rel="index" />
|
11
|
+
<link href="mailto:tadf@funaba.org" rev="made" />
|
12
|
+
</head>
|
13
|
+
<body>
|
14
|
+
<h1><a name="label-0" id="label-0">SMF $B%b%8%e!<%k(B</a></h1><!-- RDLabel: "SMF $B%b%8%e!<%k(B" -->
|
15
|
+
<h2><a name="label-1" id="label-1">$B%/%i%9(B</a></h2><!-- RDLabel: "$B%/%i%9(B" -->
|
16
|
+
<ul>
|
17
|
+
<li>Sequence <format, division, tc=nil></li>
|
18
|
+
<li>Track</li>
|
19
|
+
<li>Event <offset>
|
20
|
+
<ul>
|
21
|
+
<li>MIDIMessage
|
22
|
+
<ul>
|
23
|
+
<li>ChannelMessage <..., ch>
|
24
|
+
<ul>
|
25
|
+
<li>VoiceMessage
|
26
|
+
<ul>
|
27
|
+
<li>NoteOff <..., note, vel></li>
|
28
|
+
<li>NoteOn <..., note, vel></li>
|
29
|
+
<li>PolyphonicKeyPressure <..., note, val></li>
|
30
|
+
<li>ControlChange <..., num, val></li>
|
31
|
+
<li>ProgramChange <..., num></li>
|
32
|
+
<li>ChannelPressure <..., val></li>
|
33
|
+
<li>PitchBendChange <..., val></li>
|
34
|
+
</ul></li>
|
35
|
+
<li>ChannelModeMessage
|
36
|
+
<ul>
|
37
|
+
<li>AllSoundOff <..., ch></li>
|
38
|
+
<li>ResetAllControllers <..., ch></li>
|
39
|
+
<li>LocalControl <..., ch, val></li>
|
40
|
+
<li>AllNotesOff <..., ch></li>
|
41
|
+
<li>OmniOff <..., ch></li>
|
42
|
+
<li>OmniOn <..., ch></li>
|
43
|
+
<li>MonoMode <..., ch, val></li>
|
44
|
+
<li>PolyMode <..., ch></li>
|
45
|
+
</ul></li>
|
46
|
+
</ul></li>
|
47
|
+
</ul></li>
|
48
|
+
<li>SystemMessage
|
49
|
+
<ul>
|
50
|
+
<li>ExclusiveMessage
|
51
|
+
<ul>
|
52
|
+
<li>ExclusiveF0 <..., data></li>
|
53
|
+
<li>ExclusiveF7 <..., data></li>
|
54
|
+
</ul></li>
|
55
|
+
</ul></li>
|
56
|
+
<li>Meta
|
57
|
+
<ul>
|
58
|
+
<li>SequenceNumber <..., num></li>
|
59
|
+
<li>Text <..., text>
|
60
|
+
<ul>
|
61
|
+
<li>GeneralPurposeText (Text01)</li>
|
62
|
+
<li>CopyrightNotice (Text02)</li>
|
63
|
+
<li>TrackName (SequenceName, Text03)</li>
|
64
|
+
<li>InstrumentName (Text04)</li>
|
65
|
+
<li>Lyric (Display, Text05)</li>
|
66
|
+
<li>Marker (Text06)</li>
|
67
|
+
<li>CuePoint (Text07)</li>
|
68
|
+
<li>ProgramName (Text08)</li>
|
69
|
+
<li>DeviceName (Text09)</li>
|
70
|
+
<li>Text0A</li>
|
71
|
+
<li>Text0B</li>
|
72
|
+
<li>Text0C</li>
|
73
|
+
<li>Text0D</li>
|
74
|
+
<li>Text0E</li>
|
75
|
+
<li>Text0F</li>
|
76
|
+
</ul></li>
|
77
|
+
<li>ChannelPrefix <..., ch></li>
|
78
|
+
<li>MIDIPort <..., num> (PR-001 $B$K$J$$(B)</li>
|
79
|
+
<li>EndOfTrack</li>
|
80
|
+
<li>SetTempo <..., tempo></li>
|
81
|
+
<li>SMPTEOffset <..., hr, mn, se, fr, ff, tc></li>
|
82
|
+
<li>TimeSignature <..., nn, dd, cc, bb></li>
|
83
|
+
<li>KeySignature <..., sf, mi></li>
|
84
|
+
<li>SequencerSpecific <..., data></li>
|
85
|
+
</ul></li>
|
86
|
+
</ul></li>
|
87
|
+
</ul>
|
88
|
+
<h2><a name="label-2" id="label-2">Sequence</a></h2><!-- RDLabel: "Sequence" -->
|
89
|
+
<p>$B%7!<%1%s%9$rI=8=$9$k%/%i%9$G$9!#%7!<%1%s%9$O%H%i%C%/$r$b$A$^$9!#(B</p>
|
90
|
+
<h3><a name="label-3" id="label-3">$B%9!<%Q!<%/%i%9(B</a></h3><!-- RDLabel: "$B%9!<%Q!<%/%i%9(B" -->
|
91
|
+
<p>Object</p>
|
92
|
+
<h3><a name="label-4" id="label-4">$B%$%s%/%k!<%I$7$F$$$k%b%8%e!<%k(B</a></h3><!-- RDLabel: "$B%$%s%/%k!<%I$7$F$$$k%b%8%e!<%k(B" -->
|
93
|
+
<p>Enumerable</p>
|
94
|
+
<h3><a name="label-5" id="label-5">$B%/%i%9%a%=%C%I(B</a></h3><!-- RDLabel: "$B%/%i%9%a%=%C%I(B" -->
|
95
|
+
<dl>
|
96
|
+
<dt><a name="label-6" id="label-6">decode(str)</a></dt><!-- RDLabel: "decode(str)" -->
|
97
|
+
<dd>
|
98
|
+
$BJ8;zNs$+$iFI$_$3$_$^$9!#(B
|
99
|
+
</dd>
|
100
|
+
<dt><a name="label-7" id="label-7">read(io)</a></dt><!-- RDLabel: "read(io)" -->
|
101
|
+
<dd>
|
102
|
+
IO $B$+$iFI$_$3$_$^$9!#(B
|
103
|
+
</dd>
|
104
|
+
<dt><a name="label-8" id="label-8">load(fn)</a></dt><!-- RDLabel: "load(fn)" -->
|
105
|
+
<dd>
|
106
|
+
<p>$B%U%!%$%k$+$iFI$_$3$_$^$9!#(B</p>
|
107
|
+
<p>$B>e5-(B3$B$D$N%a%=%C%I$O!"%t%'%m%7%F%#$,Nm$N$H$-%N!<%H%*%s$r(B
|
108
|
+
$B%N!<%H%*%U$GCV$-49$($i$l$^$9!#(B</p>
|
109
|
+
</dd>
|
110
|
+
<dt><a name="label-9" id="label-9">new([format=1[, division=96[,tc=nil]]])</a></dt><!-- RDLabel: "new([format=1[, division=96[,tc=nil]]])" -->
|
111
|
+
<dd>
|
112
|
+
$B%7!<%1%s%9%*%V%8%'%/%H$r:n@.$7$^$9!#(B
|
113
|
+
</dd>
|
114
|
+
</dl>
|
115
|
+
<h3><a name="label-10" id="label-10">$B%"%/%;%5(B</a></h3><!-- RDLabel: "$B%"%/%;%5(B" -->
|
116
|
+
<dl>
|
117
|
+
<dt><a name="label-11" id="label-11">format</a></dt><!-- RDLabel: "format" -->
|
118
|
+
<dt><a name="label-12" id="label-12">division</a></dt><!-- RDLabel: "division" -->
|
119
|
+
<dt><a name="label-13" id="label-13">tc</a></dt><!-- RDLabel: "tc" -->
|
120
|
+
</dl>
|
121
|
+
<h3><a name="label-14" id="label-14">$B%a%=%C%I(B</a></h3><!-- RDLabel: "$B%a%=%C%I(B" -->
|
122
|
+
<p>$B$[$\(B Array $B$HF1$8%a%=%C%I$,$D$+$($^$9!#(B
|
123
|
+
$B$=$l0J30$N$b$N!"Cm0U$,I,MW$J$b$N$r0J2<$G@bL@$7$^$9!#(B</p>
|
124
|
+
<dl>
|
125
|
+
<dt><a name="label-15" id="label-15">ntrks</a></dt><!-- RDLabel: "ntrks" -->
|
126
|
+
<dd>
|
127
|
+
nitems $B$HF1$8$G$9!#(B
|
128
|
+
</dd>
|
129
|
+
<dt><a name="label-16" id="label-16">self >> tr</a></dt><!-- RDLabel: "self >> tr" -->
|
130
|
+
<dd>
|
131
|
+
$BMWAG$r=|$-$^$9!#(B
|
132
|
+
</dd>
|
133
|
+
<dt><a name="label-17" id="label-17">each{|tr| ...}</a></dt><!-- RDLabel: "each{|tr| ...}" -->
|
134
|
+
<dd>
|
135
|
+
<p>$BMWAG$K$D$$$F7+$jJV$7$^$9!#(B</p>
|
136
|
+
<p>nil $B$NMWAG$OL5;k$5$l$^$9!#(B</p>
|
137
|
+
</dd>
|
138
|
+
<dt><a name="label-18" id="label-18">join!</a></dt><!-- RDLabel: "join!" -->
|
139
|
+
<dd>
|
140
|
+
$B%H%i%C%/$r$R$H$D$K$7$^$9!#(B
|
141
|
+
EOT $B$O!"%*%U%;%C%H$,$b$C$H$bBg$-$J$b$N$,:NMQ$5$l$^$9!#(B
|
142
|
+
</dd>
|
143
|
+
<dt><a name="label-19" id="label-19">encode</a></dt><!-- RDLabel: "encode" -->
|
144
|
+
<dd>
|
145
|
+
<p>$BJ8;zNs$K=q$-$^$9!#(B</p>
|
146
|
+
<p>$B$b$7!"%H%i%C%/$K(B EOT $B$,$J$1$l$P!"(B
|
147
|
+
$B%H%i%C%/$N:G8e$K%G%k%?Nm$N(B EOT $B$rDI2C$7$^$9!#(B</p>
|
148
|
+
</dd>
|
149
|
+
<dt><a name="label-20" id="label-20">write(io)</a></dt><!-- RDLabel: "write(io)" -->
|
150
|
+
<dd>
|
151
|
+
IO $B$K=q$-$^$9!#(B
|
152
|
+
</dd>
|
153
|
+
<dt><a name="label-21" id="label-21">save(fn)</a></dt><!-- RDLabel: "save(fn)" -->
|
154
|
+
<dd>
|
155
|
+
$B%U%!%$%k$K=q$-$^$9!#(B
|
156
|
+
</dd>
|
157
|
+
</dl>
|
158
|
+
<h2><a name="label-22" id="label-22">Track</a></h2><!-- RDLabel: "Track" -->
|
159
|
+
<p>$B%H%i%C%/$rI=8=$9$k%/%i%9$G$9!#%H%i%C%/$O%$%Y%s%H$r$b$A$^$9!#(B</p>
|
160
|
+
<h3><a name="label-23" id="label-23">$B%9!<%Q!<%/%i%9(B</a></h3><!-- RDLabel: "$B%9!<%Q!<%/%i%9(B" -->
|
161
|
+
<p>Object</p>
|
162
|
+
<h3><a name="label-24" id="label-24">$B%$%s%/%k!<%I$7$F$$$k%b%8%e!<%k(B</a></h3><!-- RDLabel: "$B%$%s%/%k!<%I$7$F$$$k%b%8%e!<%k(B" -->
|
163
|
+
<p>Enumerable</p>
|
164
|
+
<h3><a name="label-25" id="label-25">$B%/%i%9%a%=%C%I(B</a></h3><!-- RDLabel: "$B%/%i%9%a%=%C%I(B" -->
|
165
|
+
<dl>
|
166
|
+
<dt><a name="label-26" id="label-26">new</a></dt><!-- RDLabel: "new" -->
|
167
|
+
<dd>
|
168
|
+
$B%H%i%C%/%*%V%8%'%/%H$r:n@.$7$^$9!#(B
|
169
|
+
</dd>
|
170
|
+
</dl>
|
171
|
+
<h3><a name="label-27" id="label-27">$B%a%=%C%I(B</a></h3><!-- RDLabel: "$B%a%=%C%I(B" -->
|
172
|
+
<p>$B$[$\(B Array $B$HF1$8%a%=%C%I$,$D$+$($^$9!#(B
|
173
|
+
$B$=$l0J30$N$b$N!"Cm0U$,I,MW$J$b$N$r0J2<$G@bL@$7$^$9!#(B</p>
|
174
|
+
<dl>
|
175
|
+
<dt><a name="label-28" id="label-28">nevts</a></dt><!-- RDLabel: "nevts" -->
|
176
|
+
<dd>
|
177
|
+
nitems $B$HF1$8$G$9!#(B
|
178
|
+
</dd>
|
179
|
+
<dt><a name="label-29" id="label-29">self >> ev</a></dt><!-- RDLabel: "self >> ev" -->
|
180
|
+
<dd>
|
181
|
+
$BMWAG$r=|$-$^$9!#(B
|
182
|
+
</dd>
|
183
|
+
<dt><a name="label-30" id="label-30">each{|ev| ...}</a></dt><!-- RDLabel: "each{|ev| ...}" -->
|
184
|
+
<dd>
|
185
|
+
<p>$BMWAG$K$D$$$F7+$jJV$7$^$9!#(B</p>
|
186
|
+
<p>nil $B$NMWAG$OL5;k$5$l$^$9!#$^$?!"%$%Y%s%H$O%=!<%H$5$l$^$9(B ($B0BDj(B)$B!#(B</p>
|
187
|
+
</dd>
|
188
|
+
</dl>
|
189
|
+
<h2><a name="label-31" id="label-31">Event</a></h2><!-- RDLabel: "Event" -->
|
190
|
+
<p>$B%$%Y%s%H$NCj>]%/%i%9$G$9!#(B</p>
|
191
|
+
<h3><a name="label-32" id="label-32">$B%9!<%Q!<%/%i%9(B</a></h3><!-- RDLabel: "$B%9!<%Q!<%/%i%9(B" -->
|
192
|
+
<p>Object</p>
|
193
|
+
<h3><a name="label-33" id="label-33">$B%$%s%/%k!<%I$7$F$$$k%b%8%e!<%k(B</a></h3><!-- RDLabel: "$B%$%s%/%k!<%I$7$F$$$k%b%8%e!<%k(B" -->
|
194
|
+
<p>Comparable</p>
|
195
|
+
<h3><a name="label-34" id="label-34">$B%"%/%;%5(B</a></h3><!-- RDLabel: "$B%"%/%;%5(B" -->
|
196
|
+
<dl>
|
197
|
+
<dt><a name="label-35" id="label-35">offset</a></dt><!-- RDLabel: "offset" -->
|
198
|
+
</dl>
|
199
|
+
|
200
|
+
</body>
|
201
|
+
</html>
|
data/MANUAL.rd
ADDED
@@ -0,0 +1,179 @@
|
|
1
|
+
=begin
|
2
|
+
= SMF �⥸�塼��
|
3
|
+
|
4
|
+
== ���饹
|
5
|
+
|
6
|
+
* Sequence <format, division, tc=nil>
|
7
|
+
|
8
|
+
* Track
|
9
|
+
|
10
|
+
* Event <offset>
|
11
|
+
* MIDIMessage
|
12
|
+
* ChannelMessage <..., ch>
|
13
|
+
* VoiceMessage
|
14
|
+
* NoteOff <..., note, vel>
|
15
|
+
* NoteOn <..., note, vel>
|
16
|
+
* PolyphonicKeyPressure <..., note, val>
|
17
|
+
* ControlChange <..., num, val>
|
18
|
+
* ProgramChange <..., num>
|
19
|
+
* ChannelPressure <..., val>
|
20
|
+
* PitchBendChange <..., val>
|
21
|
+
* ChannelModeMessage
|
22
|
+
* AllSoundOff <..., ch>
|
23
|
+
* ResetAllControllers <..., ch>
|
24
|
+
* LocalControl <..., ch, val>
|
25
|
+
* AllNotesOff <..., ch>
|
26
|
+
* OmniOff <..., ch>
|
27
|
+
* OmniOn <..., ch>
|
28
|
+
* MonoMode <..., ch, val>
|
29
|
+
* PolyMode <..., ch>
|
30
|
+
|
31
|
+
* SystemMessage
|
32
|
+
* ExclusiveMessage
|
33
|
+
* ExclusiveF0 <..., data>
|
34
|
+
* ExclusiveF7 <..., data>
|
35
|
+
|
36
|
+
* Meta
|
37
|
+
* SequenceNumber <..., num>
|
38
|
+
* Text <..., text>
|
39
|
+
* GeneralPurposeText (Text01)
|
40
|
+
* CopyrightNotice (Text02)
|
41
|
+
* TrackName (SequenceName, Text03)
|
42
|
+
* InstrumentName (Text04)
|
43
|
+
* Lyric (Display, Text05)
|
44
|
+
* Marker (Text06)
|
45
|
+
* CuePoint (Text07)
|
46
|
+
* ProgramName (Text08)
|
47
|
+
* DeviceName (Text09)
|
48
|
+
* Text0A
|
49
|
+
* Text0B
|
50
|
+
* Text0C
|
51
|
+
* Text0D
|
52
|
+
* Text0E
|
53
|
+
* Text0F
|
54
|
+
* ChannelPrefix <..., ch>
|
55
|
+
* MIDIPort <..., num> (PR-001 �ˤʤ�)
|
56
|
+
* EndOfTrack
|
57
|
+
* SetTempo <..., tempo>
|
58
|
+
* SMPTEOffset <..., hr, mn, se, fr, ff, tc>
|
59
|
+
* TimeSignature <..., nn, dd, cc, bb>
|
60
|
+
* KeySignature <..., sf, mi>
|
61
|
+
* SequencerSpecific <..., data>
|
62
|
+
|
63
|
+
== Sequence
|
64
|
+
|
65
|
+
��������ɽ�����륯�饹�Ǥ����������ϥȥ�å������ޤ���
|
66
|
+
|
67
|
+
=== �����ѡ����饹
|
68
|
+
|
69
|
+
Object
|
70
|
+
|
71
|
+
=== ���롼�ɤ��Ƥ���⥸�塼��
|
72
|
+
|
73
|
+
Enumerable
|
74
|
+
|
75
|
+
=== ���饹��å�
|
76
|
+
|
77
|
+
: decode(str)
|
78
|
+
ʸ�����ɤߤ��ߤޤ���
|
79
|
+
|
80
|
+
: read(io)
|
81
|
+
IO �����ɤߤ��ߤޤ���
|
82
|
+
|
83
|
+
: load(fn)
|
84
|
+
�ե����뤫���ɤߤ��ߤޤ���
|
85
|
+
|
86
|
+
�嵭3�ĤΥ�åɤϡ����������ƥ������ΤȤ��Ρ��ȥ����
|
87
|
+
�Ρ��ȥ��դ��֤��������ޤ���
|
88
|
+
|
89
|
+
: new([format=1[, division=96[,tc=nil]]])
|
90
|
+
���������֥������Ȥ�������ޤ���
|
91
|
+
|
92
|
+
=== ��������
|
93
|
+
|
94
|
+
: format
|
95
|
+
: division
|
96
|
+
: tc
|
97
|
+
|
98
|
+
=== ��å�
|
99
|
+
|
100
|
+
�ۤ� Array ��Ʊ����åɤ��Ĥ����ޤ���
|
101
|
+
����ʳ��Τ�Ρ����դ�ɬ�פʤ�Τ�ʲ����������ޤ���
|
102
|
+
|
103
|
+
: ntrks
|
104
|
+
nitems ��Ʊ���Ǥ���
|
105
|
+
|
106
|
+
: self >> tr
|
107
|
+
���Ǥ�����ޤ���
|
108
|
+
|
109
|
+
: each{|tr| ...}
|
110
|
+
���ǤˤĤ��Ʒ����֤��ޤ���
|
111
|
+
|
112
|
+
nil �����Ǥ�̵�뤵��ޤ���
|
113
|
+
|
114
|
+
: join!
|
115
|
+
�ȥ�å���ҤȤĤˤ��ޤ���
|
116
|
+
EOT �ϡ����ե��åȤ���äȤ��礭�ʤ�Τ����Ѥ���ޤ���
|
117
|
+
|
118
|
+
: encode
|
119
|
+
ʸ����˽ޤ���
|
120
|
+
|
121
|
+
�⤷���ȥ�å��� EOT ���ʤ���С�
|
122
|
+
�ȥ�å��κǸ�˥ǥ륿���� EOT ���ɲä��ޤ���
|
123
|
+
|
124
|
+
: write(io)
|
125
|
+
IO �˽ޤ���
|
126
|
+
|
127
|
+
: save(fn)
|
128
|
+
�ե�����˽ޤ���
|
129
|
+
|
130
|
+
== Track
|
131
|
+
|
132
|
+
�ȥ�å���ɽ�����륯�饹�Ǥ����ȥ�å��ϥ��٥�Ȥ����ޤ���
|
133
|
+
|
134
|
+
=== �����ѡ����饹
|
135
|
+
|
136
|
+
Object
|
137
|
+
|
138
|
+
=== ���롼�ɤ��Ƥ���⥸�塼��
|
139
|
+
|
140
|
+
Enumerable
|
141
|
+
|
142
|
+
=== ���饹��å�
|
143
|
+
|
144
|
+
: new
|
145
|
+
�ȥ�å����֥������Ȥ�������ޤ���
|
146
|
+
|
147
|
+
=== ��å�
|
148
|
+
|
149
|
+
�ۤ� Array ��Ʊ����åɤ��Ĥ����ޤ���
|
150
|
+
����ʳ��Τ�Ρ����դ�ɬ�פʤ�Τ�ʲ����������ޤ���
|
151
|
+
|
152
|
+
: nevts
|
153
|
+
nitems ��Ʊ���Ǥ���
|
154
|
+
|
155
|
+
: self >> ev
|
156
|
+
���Ǥ�����ޤ���
|
157
|
+
|
158
|
+
: each{|ev| ...}
|
159
|
+
���ǤˤĤ��Ʒ����֤��ޤ���
|
160
|
+
|
161
|
+
nil �����Ǥ�̵�뤵��ޤ����ޤ������٥�Ȥϥ����Ȥ���ޤ� (����)��
|
162
|
+
|
163
|
+
== Event
|
164
|
+
|
165
|
+
���٥�Ȥ���ݥ��饹�Ǥ���
|
166
|
+
|
167
|
+
=== �����ѡ����饹
|
168
|
+
|
169
|
+
Object
|
170
|
+
|
171
|
+
=== ���롼�ɤ��Ƥ���⥸�塼��
|
172
|
+
|
173
|
+
Comparable
|
174
|
+
|
175
|
+
=== ��������
|
176
|
+
|
177
|
+
: offset
|
178
|
+
|
179
|
+
=end
|