Giter Site home page Giter Site logo

banjo's People

Contributors

gabriellagergely avatar teancom avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

banjo's Issues

Duration scale for notes

Currently, the duration scale for a note is seconds.

That is that you can tell banjo to play a specific notes for X seconds.

# Example:
play(c(4)).for(5).at(4)

To be consistent with sheet music, I think this should change to whole, half, quarter, eighth, etc.

play(c(4)).for(:half).at(4)

Or:

play(c(4)).half.at(4)

Does it work on Linux?

It would be awesome if someone could try to set it up and running on Linux and share findings.

The unimidi README says it does work on Linux. Unimidi is the underlying library that I'm using to connect to MIDI virtual ports, in theory banjo should work as well.

How to setup multi-channel sounds?

Following your setup with GarageBand, I can only use one track.
I tried to add more than one software instrument tracks in Garageband but all channels e.g. from the "/nickel" project played on the latest created track.
How to support multi-channel sounds?

CLI to create new banjo projects

To provide a starting point for every new project, a CLI is needed.

banjo new song_name

Creates the skeleton of a new banjo song. A song.rb file, the channels folder and maybe an example of a channel class.

banjo channel piano

Creates an empty channel class to use on the song.

These are the first few commands that come to mind right now, more can be added as they are needed.

TO DO List

Would be awesome to see TO DO list in README.MD or TODO.md :)

Trouble getting started

Great lightning talk at RailsConf! I was trying to get this working on my machine but can't seem to get any output. Everything bundles correctly and I see this output from unimidi list:

input:
0) Apple Inc. IAC Driver
output:
1) Apple Inc. IAC Driver

but I can't seem to get any audio. Do I have to do anything more specific with GarageBand besides just have it running in the background?

Not hearing any sound on OSX10.10.4

Hi,
i followed your description step by step. Running the basic example with ruby song.rb after bundle install I can see the console output but hear no sound.
The midi channels seem to be correctly configured:

$ unimidi list
input:
0) Apple Inc. IAC Driver
2) Apple Inc. IAC Driver
4) Apple Inc. IAC Driver
6) Apple Inc. IAC Driver
output:
1) Apple Inc. IAC Driver
3) Apple Inc. IAC Driver
5) Apple Inc. IAC Driver
7) Apple Inc. IAC Driver

I use the following ruby version:
ruby 2.0.0p481 (2014-05-08 revision 45883) [universal.x86_64-darwin14]

What am I doing wrong?

Unable to run "ruby sample/song.rb"

I'm running Ruby 2.1.2 on a current Mac and have installed the gem using a Gemfile. When I try to run "ruby song.rb" I get:
... "banjo/sample/basic/channels/main_channel.rb:17:in perform': undefined methodtick_note' for #MainChannel:0x007f8ecb910508 (NoMethodError)"

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.