present for my bro
Ruby
Switch branches/tags
Nothing to show
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
examples
lib
spec
.gitignore
Gemfile
Gemfile.lock
HISTORY.md
README.md
Rakefile
roborabb.gemspec

README.md

Roborabb

Generates drumming practice charts in lilypond notation.

example score

Example

Install the gem:

gem install roborabb

Then use it:

require 'roborabb'

rock_1 = Roborabb.construct(
  title:          "Rock",
  subdivisions:   8,
  unit:           8,
  time_signature: "4/4",
  notes: {
    hihat: ->(env) { true },
    kick:  ->(env) { (env.subdivision + 0) % 4 == 0 },
    snare: ->(env) { (env.subdivision + 2) % 4 == 0 },
  }
)

puts Roborabb::Lilypond.new(rock_1, bars: 16).to_lilypond

The resulting file is immediately compilable with lilypond:

ruby examples/rock.rb > rock.ly && lilypond rock.ly # Generates rock.pdf

See examples directory for more.

Compatibility

Only tested on ruby 1.9.3. Require 1.9, since it uses new style hashes.

Developing

git clone git://github.com/xaviershay/roborabb.git
bundle           # Install development dependencies
bundle exec rake # Runs the specs

Any big new features require an acceptance test, bug fixes should only require unit tests. Follow the conventions already present.

Status

New, but complete.