This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
dir = File.dirname(File.expand_path(__FILE__)) | |
$LOAD_PATH.unshift dir + '/../lib' | |
require 'midi-jruby' | |
MIDIJRuby::Input.first.open do |input| | |
while true do | |
m = input.gets | |
$>.puts(m.inspect) | |
end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(ns overtone.bug | |
(:require [overtone.midi :as midi])) | |
(defn ping-event [& _] (Thread/sleep 10) (print ".") (flush)) | |
(defn- detect-midi-devices [] (midi/midi-sources)) | |
(defn- add-listener-handles! | |
"Adds listener handles to send incoming messages to Overtone's event | |
stream. Devices that a handler can't be added to are dropped. Returns |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(ns explore-overtone.beethoven | |
(:use [overtone.live])) | |
;; Starting with this example | |
;; https://github.com/overtone/overtone/blob/master/src/overtone/examples/timing/internal_sequencer.clj | |
;; lets see about trying to get rid of the limitation on sequence | |
;; length. | |
;; | |
;; I'd like to create a composition outside the server in "beat space" | |
;; (play note N at beat B). I really enjoy working with the |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(use '[overtone.live]) | |
(defsynth phasor-skipping-sequencer | |
"Supports looping and jumping position" | |
[buf 0 rate 1 out-bus 0 start-point 0 bar-trg [0 :tr] loop? 0 amp 1.0 cb 0] | |
(let [ph (phasor:ar :trig bar-trg | |
:rate (* rate (buf-rate-scale:kr buf)) | |
:start 0 | |
:end (buf-frames:kr buf) | |
:reset-pos start-point) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
;;TB3 pack | |
474 | |
(def trumpet (sample (freesound-path 2323)) | |
(def boom (sample (freesound-path 157523)) | |
(def shock-chord (sample (freesound-path 207365))) | |
(def heart-beat (sample (freesound-path 92036))) | |
(def group-talking (sample (freesound-path 30046))) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(use 'overtone.live) | |
(def harp-s (sample (freesound-path 27130))) | |
(def dub-s (sample (freesound-path 185943))) | |
(defsynth skipping-sequencer | |
"Plays a single channel audio buffer." | |
[buf 0 rate 1 out-bus 0 beat-cnt-bus 0 beat-trg-bus 0 start-point 0 bar-trg 0 loop? 0 vol 1.0] | |
(out out-bus (* vol (scaled-play-buf 1 buf rate bar-trg start-point loop?)))) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
defmodule AmTestTest do | |
use Amrita.Sweet | |
def user_pid do | |
{:ok, pid} = User.start_link("test") | |
end | |
#Works since user_pid is a fn that can be resolved as part of current module | |
fact "the truth" do | |
provided [Repo.find_by_email("test") |> user_pid] do |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
January 16th - Classic and Beginner Guitar Brendan C & Brian W | |
February 20th - Working with Overtones Joe w | |
March 20th - Abelton Mathis P, Dominik, Ozgur | |
April 17th - Cubase Darius | |
May 15th - Signal Flow Dominik S |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
;Thought: Clojure destructing not supporting pattern matching means Compojure routes mix | |
; route matching and data extraction. Hence you validate within a route (since you want the extracted data). | |
; | |
; Route matching should support matching on the properties of the extracted data. | |
; A route is just a function and I want Erlang style guard statements. | |
;Now | |
(defroutes app | |
(GET "/impression/:x" [x] (when (valid? x) {:body "Woo hoo" :status 200})) | |
(ANY "*" {:status 404 :body "Not found"})) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(defmacro pandoriclet (letargs &rest body) | |
(let [letargs (cons '(this) (let-binding-transform letargs))] | |
`(let (,@letargs) | |
(setq this ,@(last body)) | |
,@(butlast body) | |
(dlambda | |
(:pandoric-get (sym) | |
,(pandoriclet-get letargs)) | |
(:pandoric-set (sym val) | |
,(pandoriclet-set letargs)) |