Navigation Menu

Skip to content

superkonduktr/ovation

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Ovation

Novation controllers meet Overtone

Clojars Project

Why

Ovation is a thin abstraction layer between Overtone and Novation controllers. It leverages Component to help you build modular music apps with as little delving into MIDI specs as possible. Still very much a work in progress though.

Install

[ovation "0.1.1"]

Usage

Launchpad

Plug in your Launchpad, then start a REPL session. Define a simple event handler:

(require '[ovation.launchpad.core :as launchpad]
         '[ovation.launchpad.events :as events]
         '[ovation.launchpad.utils :as utils])
=> nil
(events/defevent echo-repl [:midi :note-on]
  [_]
  (fn [e]
    (let [n (:note e)]
      (println (format "cell %s, midi %s" (utils/note->xy n) n)))))
=> #'user/echo-repl

Define a config for the Launchpad component with :session as its default mode and bind your event handler to it:

(def config
  {:default-mode :session
   :modes {:session {:handlers [echo-repl]}}})
=> #'user/config

Start the component:

(require '[com.stuartsierra.component :as component])
=> nil
(component/start (launchpad/new-launchpad config))
=> ...

Try pattering on the Launchpad grid. The REPL should inform you of all the pressed buttons' coordinates and their corresponding MIDI values.

[Ovation]

Nocturn

Coming right up.

To do

  • better docs;
  • add support for all sorts of controllers!

License

Copyright © 2015 Lyosha Kuleshov

Distributed under the Eclipse Public License either version 1.0 or (at your option) any later version.

About

Novation controllers meet Overtone

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published