smml 0.0.2.3 → 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/bin/smml +69 -0
- data/bin/ssmml +25 -0
- data/lib/smml/msm.rb +22 -1
- data/lib/smml/version.rb +1 -1
- data/smml.gemspec +1 -1
- metadata +7 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e8aa416af4560085821e2b1a7ed3e57434639602
|
4
|
+
data.tar.gz: cb0b869acdc8c4b173cbab84b99487e41bd3cf92
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 82b264a3f12b49a27049d9eee0f43ce72a0d510ba61a95ee4fc00185c8e4279a37c876594358e6e47cc57c96d779f6ad18de0d9de5c7083c4262cc99dcb3b705
|
7
|
+
data.tar.gz: 496db22b2ff32c0ade3dc275cc93362b1ff6e4f35f28e04e910a8d4d8d716320266b5fa3038fe297d7baefc6262eff6f5013ad6625d777874c0f0c783cf592ba
|
data/bin/smml
ADDED
@@ -0,0 +1,69 @@
|
|
1
|
+
#!/usr/bin/ruby
|
2
|
+
# -*- encoding: utf-8 -*-
|
3
|
+
require 'kconv'
|
4
|
+
require 'optparse'
|
5
|
+
|
6
|
+
# gem
|
7
|
+
begin
|
8
|
+
require'./lib/smml/msm'
|
9
|
+
rescue LoadError
|
10
|
+
require'smml'
|
11
|
+
p Smml::VERSION
|
12
|
+
end
|
13
|
+
|
14
|
+
infile=false
|
15
|
+
outfile=false
|
16
|
+
expfile=false
|
17
|
+
vfuzzy=2
|
18
|
+
autopan=true
|
19
|
+
velocity=0x40
|
20
|
+
$debuglevel=1
|
21
|
+
data=""
|
22
|
+
pspl="///"
|
23
|
+
cmark=";;"
|
24
|
+
bpm=120
|
25
|
+
tbase=480 # division
|
26
|
+
octaveMode=:near
|
27
|
+
|
28
|
+
opt = OptionParser.new
|
29
|
+
opt.on('-i file',"input file") {|v| infile=v }
|
30
|
+
opt.on('-o file',"output file") {|v| outfile=v }
|
31
|
+
opt.on('-e file',"write down macro etc. expanded data") {|v| expfile=v }
|
32
|
+
opt.on('-d d',"input data string") {|v|
|
33
|
+
data=v
|
34
|
+
STDERR.puts data if $DEBUG
|
35
|
+
}
|
36
|
+
opt.on('-D',"debug") {|v| $DEBUG=v }
|
37
|
+
opt.on('-s',"show syntax") {|v|
|
38
|
+
hint
|
39
|
+
exit
|
40
|
+
}
|
41
|
+
opt.on('-t b',"bpm") {|v| bpm=v.to_f }
|
42
|
+
opt.on('-T w',"programChange test like instrument name '...'") {|v| $test=v }
|
43
|
+
opt.on('-c d',"cycle data for test mode") {|v| $testdata=v }
|
44
|
+
opt.on('-C d',"comment mark") {|v| cmark=v; puts "comment mark is '#{cmark}'" }
|
45
|
+
opt.on('-p pspl',"page split chars") {|v| pspl=v }
|
46
|
+
opt.on('-F i',"fuzzy shift mode") {|v| $fuzzy=v.to_i }
|
47
|
+
opt.on('-v i',"velocity fuzzy value [default 2]") {|v| vfuzzy=v.to_i }
|
48
|
+
opt.on('-V',"dont use all fuzzy or auto feature") {|v|
|
49
|
+
vfuzzy=0
|
50
|
+
autopan=false
|
51
|
+
}
|
52
|
+
opt.on('-O',"octave legacy mode") {|v| octaveMode=:far }
|
53
|
+
opt.on('-I',"ignore roland check sum") {|v| $ignoreChecksum=v }
|
54
|
+
opt.on('-M i',"debug level") {|v| $debuglevel=v.to_i }
|
55
|
+
opt.on('-m i',"mode of test/ 1:GM 2:XG 3:GS") {|v| $testmode=v.to_i }
|
56
|
+
opt.on('-n',"test only (dont write outfile)") {|v| $testonly=true }
|
57
|
+
opt.parse!(ARGV)
|
58
|
+
|
59
|
+
mtr=MmlTracks.new(tbase,pspl,expfile,cmark)
|
60
|
+
mtr.infile=infile
|
61
|
+
mtr.outfile=outfile
|
62
|
+
mtr.data=data
|
63
|
+
mtr.velocity=velocity
|
64
|
+
mtr.bpm=bpm
|
65
|
+
mtr.octave=octaveMode
|
66
|
+
mtr.vfuzzy=vfuzzy
|
67
|
+
mtr.autopan=autopan
|
68
|
+
mtr.make($test,$fuzzy)
|
69
|
+
mtr.save if not $testonly
|
data/bin/ssmml
ADDED
@@ -0,0 +1,25 @@
|
|
1
|
+
#!/usr/bin/ruby
|
2
|
+
# -*- encoding: utf-8 -*-
|
3
|
+
require 'kconv'
|
4
|
+
require 'optparse'
|
5
|
+
|
6
|
+
# gem
|
7
|
+
begin
|
8
|
+
require'./lib/smml/msm'
|
9
|
+
rescue LoadError
|
10
|
+
require'smml'
|
11
|
+
p Smml::VERSION
|
12
|
+
end
|
13
|
+
|
14
|
+
infile="infile.mml"
|
15
|
+
outfile="mml.mid"
|
16
|
+
data=""
|
17
|
+
|
18
|
+
opt = OptionParser.new
|
19
|
+
opt.on('-i file',"input file") {|v| infile=v }
|
20
|
+
opt.on('-o file',"output file") {|v| outfile=v }
|
21
|
+
opt.on('-d d',"input data string") {|v| data=v }
|
22
|
+
opt.parse!(ARGV)
|
23
|
+
|
24
|
+
mtr=MmlTracks.new
|
25
|
+
mtr.compile(infile,outfile,data)
|
data/lib/smml/msm.rb
CHANGED
@@ -647,7 +647,8 @@ class MarkTrack
|
|
647
647
|
end
|
648
648
|
module MidiHex
|
649
649
|
# 設定のため最初に呼ばなければならない
|
650
|
-
def self.prepare bpm,tbase=480,vel=0x40,oct=:near,vfuzzy=2
|
650
|
+
def self.prepare bpm=120,tbase=480,vel=0x40,oct=:near,vfuzzy=2
|
651
|
+
@ready=true
|
651
652
|
@autopan=true
|
652
653
|
@startBpm=bpm
|
653
654
|
@midiname=false
|
@@ -1213,6 +1214,14 @@ module MidiHex
|
|
1213
1214
|
puts "no percussion name like '#{p}' in list" if $DEBUG && r.size==0
|
1214
1215
|
r.size>0 ? r[0][0] : @snare
|
1215
1216
|
end
|
1217
|
+
def self.percussionList
|
1218
|
+
self.prepare if not @ready
|
1219
|
+
@percussionList.map{|i,v|"#{i} #{v}"}
|
1220
|
+
end
|
1221
|
+
def self.programList
|
1222
|
+
self.prepare if not @ready
|
1223
|
+
@programList.map{|i,v|"#{i} #{v}"}
|
1224
|
+
end
|
1216
1225
|
def self.bend pos,depth,ch=false
|
1217
1226
|
ch=@ch if ! ch
|
1218
1227
|
depth=(depth*@bendCent).to_i
|
@@ -2210,6 +2219,18 @@ class MmlTracks
|
|
2210
2219
|
@vfuzzy=2
|
2211
2220
|
@autopan=true
|
2212
2221
|
end
|
2222
|
+
def pmap
|
2223
|
+
puts @mx.programList
|
2224
|
+
end
|
2225
|
+
def dmap
|
2226
|
+
puts @mx.percussionList
|
2227
|
+
end
|
2228
|
+
def psearch k
|
2229
|
+
puts @mx.programList.select{|i|i=~/#{k}/i}
|
2230
|
+
end
|
2231
|
+
def dsearch k
|
2232
|
+
puts @mx.percussionList.select{|i|i=~/#{k}/i}
|
2233
|
+
end
|
2213
2234
|
def init test,fz
|
2214
2235
|
@mx.prepare(@bpm,@tbase,@velocity,@octave,@vfuzzy)
|
2215
2236
|
@mx.setfile(@infile)
|
data/lib/smml/version.rb
CHANGED
data/smml.gemspec
CHANGED
@@ -13,7 +13,7 @@ Gem::Specification.new do |spec|
|
|
13
13
|
spec.homepage = "https://github.com/tabasano/wavseq"
|
14
14
|
spec.license = "MIT"
|
15
15
|
|
16
|
-
spec.files = Dir.glob("lib/*")+Dir.glob("lib/smml/*")+["Gemfile","Rakefile","LICENSE.txt","smml.gemspec","README_smml.md"]+["sample/midi-preModifier.txt","sample/midi-test.mml"]
|
16
|
+
spec.files = Dir.glob("lib/*")+Dir.glob("lib/smml/*")+Dir.glob("bin/*")+["Gemfile","Rakefile","LICENSE.txt","smml.gemspec","README_smml.md"]+["sample/midi-preModifier.txt","sample/midi-test.mml"]
|
17
17
|
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
18
18
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
19
19
|
spec.extra_rdoc_files =%w[README_smml.md LICENSE.txt]
|
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.0
|
4
|
+
version: 0.1.0
|
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-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -41,7 +41,9 @@ dependencies:
|
|
41
41
|
description: compile a Music Macro Language file to a Standard MIDI file.
|
42
42
|
email:
|
43
43
|
- pianotoieba+smml@gmail.com
|
44
|
-
executables:
|
44
|
+
executables:
|
45
|
+
- smml
|
46
|
+
- ssmml
|
45
47
|
extensions: []
|
46
48
|
extra_rdoc_files:
|
47
49
|
- README_smml.md
|
@@ -52,6 +54,8 @@ files:
|
|
52
54
|
- lib/smml/midi-programChange-list.txt
|
53
55
|
- lib/smml/msm.rb
|
54
56
|
- lib/smml/version.rb
|
57
|
+
- bin/smml
|
58
|
+
- bin/ssmml
|
55
59
|
- Gemfile
|
56
60
|
- Rakefile
|
57
61
|
- LICENSE.txt
|