smml 0.1.0.4 → 0.1.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/smml/msm.rb +53 -19
- data/lib/smml/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 17054e465ae5c0f404fa3670cd8baed2c8084ad0
|
4
|
+
data.tar.gz: 5f256889f73d29076c707924367ba4ead7a51a07
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b6aa7ea713b36761c92e9d931f7414f045a136b601015038f56ff86eda259211e34d83a2fd7a3523f72cfdb78f4b21c686e800acc143c2f08d122821bae8c051
|
7
|
+
data.tar.gz: a7f56ee6a605dd5033dde9404342bed36f5a97ca4b68ba6a108610b1f463dfa3eaf538bbbe7ad6f43275fe91d65c1a88bc6c9109e5b574748b6991f29843b01e
|
data/lib/smml/msm.rb
CHANGED
@@ -198,6 +198,47 @@ class Array
|
|
198
198
|
r
|
199
199
|
end
|
200
200
|
end
|
201
|
+
class Notes < Hash
|
202
|
+
@@rythmChannel=9
|
203
|
+
@@n={
|
204
|
+
"c"=>0,
|
205
|
+
"C"=>1,
|
206
|
+
"d"=>2,
|
207
|
+
"D"=>3,
|
208
|
+
"e"=>4,
|
209
|
+
"f"=>5,
|
210
|
+
"F"=>6,
|
211
|
+
"g"=>7,
|
212
|
+
"G"=>8,
|
213
|
+
"a"=>9,
|
214
|
+
"A"=>10,
|
215
|
+
"b"=>11,
|
216
|
+
"t"=>[0,@@rythmChannel],
|
217
|
+
"s"=>[3,@@rythmChannel],
|
218
|
+
"u"=>[6,@@rythmChannel]
|
219
|
+
}
|
220
|
+
@@invert=@@n.invert
|
221
|
+
@@octave=12
|
222
|
+
def initialize
|
223
|
+
@@n.each{|k,v|self[k]=v}
|
224
|
+
end
|
225
|
+
def self.get last,n=0
|
226
|
+
last=~/(\-*)(\+*)([[:alpha:]])/
|
227
|
+
oct=$1.size*(-1)+$2.size
|
228
|
+
last=$3
|
229
|
+
lastnote=@@n[last]+oct*@@octave
|
230
|
+
num=lastnote+n.to_i
|
231
|
+
octave= num / @@octave
|
232
|
+
pre=if octave>0
|
233
|
+
"+"*octave
|
234
|
+
elsif octave<0
|
235
|
+
"-"*(octave*-1)
|
236
|
+
else
|
237
|
+
""
|
238
|
+
end
|
239
|
+
pre+@@invert[num%@@octave]
|
240
|
+
end
|
241
|
+
end
|
201
242
|
class ScaleNotes < Array
|
202
243
|
def setSampleRate c
|
203
244
|
@samplerate=c
|
@@ -213,6 +254,9 @@ class ScaleNotes < Array
|
|
213
254
|
self.sample
|
214
255
|
end
|
215
256
|
end
|
257
|
+
def reset
|
258
|
+
initialize
|
259
|
+
end
|
216
260
|
end
|
217
261
|
def unirand n,c,reset=false
|
218
262
|
a=[0,n]
|
@@ -741,23 +785,7 @@ module MidiHex
|
|
741
785
|
@onlist=[]
|
742
786
|
@waitingtime=0
|
743
787
|
@rythmChannel=9
|
744
|
-
@notes=
|
745
|
-
"c"=>0,
|
746
|
-
"C"=>1,
|
747
|
-
"d"=>2,
|
748
|
-
"D"=>3,
|
749
|
-
"e"=>4,
|
750
|
-
"f"=>5,
|
751
|
-
"F"=>6,
|
752
|
-
"g"=>7,
|
753
|
-
"G"=>8,
|
754
|
-
"a"=>9,
|
755
|
-
"A"=>10,
|
756
|
-
"b"=>11,
|
757
|
-
"t"=>[0,@rythmChannel],
|
758
|
-
"s"=>[3,@rythmChannel],
|
759
|
-
"u"=>[6,@rythmChannel]
|
760
|
-
}
|
788
|
+
@notes=Notes.new
|
761
789
|
@ch=0
|
762
790
|
@velocity=vel
|
763
791
|
@velocityOrg=vel
|
@@ -1160,7 +1188,7 @@ module MidiHex
|
|
1160
1188
|
end
|
1161
1189
|
def self.generaterText
|
1162
1190
|
file=__FILE__
|
1163
|
-
thisVer=
|
1191
|
+
thisVer="v#{Smml::VERSION}"
|
1164
1192
|
thisVer="" if $debuglevel && $debuglevel>1
|
1165
1193
|
pos=@tbase
|
1166
1194
|
self.metaText("generated by midi-simple-make.rb (#{thisVer})",pos)
|
@@ -1384,11 +1412,17 @@ module MidiHex
|
|
1384
1412
|
@chordCenter=[[0,@chordCenter].max,0x7f].min
|
1385
1413
|
@firstchordbase=@chordCenter
|
1386
1414
|
end
|
1415
|
+
# todo: use scale name
|
1387
1416
|
def self.scale s
|
1417
|
+
@scalenotes.reset
|
1388
1418
|
s=s.split(",")
|
1419
|
+
first=s.first
|
1389
1420
|
s.each{|i|
|
1390
|
-
|
1421
|
+
note=i
|
1422
|
+
note=Notes.get(first,i) if i=~/^[-+]+[[:digit:]]+$/
|
1423
|
+
@scalenotes<<note
|
1391
1424
|
}
|
1425
|
+
p @scalenotes if $DEBUG
|
1392
1426
|
end
|
1393
1427
|
def self.preLength v
|
1394
1428
|
@preLength=v.map{|i|
|
data/lib/smml/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: smml
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- tabasano
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-08-
|
11
|
+
date: 2014-08-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|