smml 0.1.0.4 → 0.1.1
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.
- 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
|