smml 0.0.1.2 → 0.0.1.3
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/README_smml.md +32 -0
- data/lib/smml/msm.rb +21 -10
- data/lib/smml/version.rb +1 -1
- data/smml.gemspec +1 -1
- metadata +3 -2
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA1:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 67aa246a5209bbc55a5ba1356a63ef39b10c87bc
         | 
| 4 | 
            +
              data.tar.gz: 696a7e1b9642fb167bc719a2a04e4d425e866a34
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 1a93e8f14b8ea8d1a4147601989e4e7777be71f07b63c7bd0e118291d50c6224b9e970327b6c554c078d4f923594496b1065359f2dd3577709b7ac2579e99f24
         | 
| 7 | 
            +
              data.tar.gz: dd1dc625e001fdf571cd8bb5dfd10c75c7becff2961a7e9c0248968181da89295fa53fd5a7b2936b5bc8fdde4ff425923868e4a21a20ff22e31e785f1f524448
         | 
    
        data/README_smml.md
    ADDED
    
    | @@ -0,0 +1,32 @@ | |
| 1 | 
            +
            # Smml
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            simple Music Macro Language to MIDI
         | 
| 4 | 
            +
             | 
| 5 | 
            +
            ## Installation
         | 
| 6 | 
            +
             | 
| 7 | 
            +
            Add this line to your application's Gemfile:
         | 
| 8 | 
            +
             | 
| 9 | 
            +
            ```ruby
         | 
| 10 | 
            +
            gem 'smml'
         | 
| 11 | 
            +
            ```
         | 
| 12 | 
            +
             | 
| 13 | 
            +
            And then execute:
         | 
| 14 | 
            +
             | 
| 15 | 
            +
                $ bundle
         | 
| 16 | 
            +
             | 
| 17 | 
            +
            Or install it yourself as:
         | 
| 18 | 
            +
             | 
| 19 | 
            +
                $ gem install smml
         | 
| 20 | 
            +
             | 
| 21 | 
            +
            ## Usage
         | 
| 22 | 
            +
             | 
| 23 | 
            +
                m=MmlTracks.new
         | 
| 24 | 
            +
                m.compile('infile.mml','outfile.mid')
         | 
| 25 | 
            +
             | 
| 26 | 
            +
            ## Contributing
         | 
| 27 | 
            +
             | 
| 28 | 
            +
            1. Fork it ( https://github.com/[my-github-username]/smml/fork )
         | 
| 29 | 
            +
            2. Create your feature branch (`git checkout -b my-new-feature`)
         | 
| 30 | 
            +
            3. Commit your changes (`git commit -am 'Add some feature'`)
         | 
| 31 | 
            +
            4. Push to the branch (`git push origin my-new-feature`)
         | 
| 32 | 
            +
            5. Create a new Pull Request
         | 
    
        data/lib/smml/msm.rb
    CHANGED
    
    | @@ -67,6 +67,7 @@ syntax: ...( will be changed time after time) | |
| 67 67 | 
             
                (syswait:) =when using '(gm:on)' etc., this command is needed for all other tracks to adjust wait-time.
         | 
| 68 68 | 
             
                ||| = track separater
         | 
| 69 69 | 
             
                /// = page separater
         | 
| 70 | 
            +
                      series of page seperaters insert unique '(mark:all track mark)' to allready running tracks automaticaly.
         | 
| 70 71 | 
             
                (mark:posname) =position name for adjustment of tracks after long rest etc.
         | 
| 71 72 | 
             
                .DC .DS .toCODA .CODA .FINE =coda mark etc.
         | 
| 72 73 | 
             
                .SKIP =skip mark on over second time
         | 
| @@ -128,6 +129,9 @@ def multilineTrim l,com | |
| 128 129 | 
             
              puts " ? mismatch end mark of multiline comment."  if on
         | 
| 129 130 | 
             
              r
         | 
| 130 131 | 
             
            end
         | 
| 132 | 
            +
            def allTrackMark c
         | 
| 133 | 
            +
              "(mark:.ALL_TRACK_MARK_#{c}.)"
         | 
| 134 | 
            +
            end
         | 
| 131 135 | 
             
            class String
         | 
| 132 136 | 
             
              def setcmark c
         | 
| 133 137 | 
             
                @@cmark=c
         | 
| @@ -144,17 +148,24 @@ class String | |
| 144 148 | 
             
              def sharp2cmark
         | 
| 145 149 | 
             
                self.gsub!("#"){@@cmark}
         | 
| 146 150 | 
             
              end
         | 
| 147 | 
            -
              def  | 
| 151 | 
            +
              def tracksep pspl
         | 
| 148 152 | 
             
                tracks={}
         | 
| 149 153 | 
             
                pages=self.split(/#{pspl}+/)
         | 
| 154 | 
            +
                markc=0
         | 
| 150 155 | 
             
                pages.each{|p|
         | 
| 151 | 
            -
                  p | 
| 152 | 
            -
                     | 
| 153 | 
            -
             | 
| 154 | 
            -
                     | 
| 155 | 
            -
             | 
| 156 | 
            -
                     | 
| 157 | 
            -
             | 
| 156 | 
            +
                  if p=~/^[ ;]+$/
         | 
| 157 | 
            +
                    p=allTrackMark(markc)
         | 
| 158 | 
            +
                    tracks.values.each{|v| v << p }
         | 
| 159 | 
            +
                    markc+=1
         | 
| 160 | 
            +
                  else
         | 
| 161 | 
            +
                    p.split('|||').each_with_index{|t,i|
         | 
| 162 | 
            +
                      if tracks[i]
         | 
| 163 | 
            +
                        tracks[i] << t
         | 
| 164 | 
            +
                      else
         | 
| 165 | 
            +
                        tracks[i] = [t]
         | 
| 166 | 
            +
                      end
         | 
| 167 | 
            +
                    }
         | 
| 168 | 
            +
                  end
         | 
| 158 169 | 
             
                }
         | 
| 159 170 | 
             
                tracks.keys.sort.map{|k|tracks[k]*";"}
         | 
| 160 171 | 
             
              end
         | 
| @@ -2151,7 +2162,7 @@ end | |
| 2151 2162 | 
             
            class MmlTracks
         | 
| 2152 2163 | 
             
              attr_accessor :tracknum, :tbase, :rundatas, :rawdatas, :mx
         | 
| 2153 2164 | 
             
              attr_accessor :bpm, :velocity, :octave, :vfuzzy, :data, :infile, :outfile
         | 
| 2154 | 
            -
              def initialize tbase=480,pagesep='///',expfile= | 
| 2165 | 
            +
              def initialize tbase=480,pagesep='///',expfile=false,cmark=';;'
         | 
| 2155 2166 | 
             
                String.new.setcmark(cmark)
         | 
| 2156 2167 | 
             
                @mx=MidiHex
         | 
| 2157 2168 | 
             
                @rundatas=[]
         | 
| @@ -2175,7 +2186,7 @@ class MmlTracks | |
| 2175 2186 | 
             
                @mx.setdata(@data) if ! @mx.getdata
         | 
| 2176 2187 | 
             
                (hint;exit) if (! @mx.getdata || ! @mx.getmidiname ) && ! test
         | 
| 2177 2188 | 
             
                settest if test
         | 
| 2178 | 
            -
                @tracks=@mx.getdata. | 
| 2189 | 
            +
                @tracks=@mx.getdata.tracksep(@pagesep)
         | 
| 2179 2190 | 
             
                showtracks if $DEBUG && $debuglevel>1
         | 
| 2180 2191 | 
             
                fuzzy(fz)
         | 
| 2181 2192 | 
             
              end
         | 
    
        data/lib/smml/version.rb
    CHANGED
    
    
    
        data/smml.gemspec
    CHANGED
    
    | @@ -13,7 +13,7 @@ Gem::Specification.new do |spec| | |
| 13 13 | 
             
              spec.homepage      = ""
         | 
| 14 14 | 
             
              spec.license       = "MIT"
         | 
| 15 15 |  | 
| 16 | 
            -
              spec.files         = Dir.glob("lib/*")+Dir.glob("lib/smml/*")+["Gemfile","Rakefile","LICENSE.txt","smml.gemspec"]
         | 
| 16 | 
            +
              spec.files         = Dir.glob("lib/*")+Dir.glob("lib/smml/*")+["Gemfile","Rakefile","LICENSE.txt","smml.gemspec","README_smml.md"]
         | 
| 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.require_paths = ["lib"]
         | 
    
        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.1. | 
| 4 | 
            +
              version: 0.0.1.3
         | 
| 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-17 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: bundler
         | 
| @@ -54,6 +54,7 @@ files: | |
| 54 54 | 
             
            - Rakefile
         | 
| 55 55 | 
             
            - LICENSE.txt
         | 
| 56 56 | 
             
            - smml.gemspec
         | 
| 57 | 
            +
            - README_smml.md
         | 
| 57 58 | 
             
            homepage: ''
         | 
| 58 59 | 
             
            licenses:
         | 
| 59 60 | 
             
            - MIT
         |