Fork me on GitHub
#overtone
<
2018-10-18
>
lambdam21:10:35

Hello, I'm just discovering Overtone and am very surprised about the fact that I have to import overtone.live with use and not with require. When I macroexpand demo, I see three symbols that are not namespaced : out, hold and FREE Thus, the following code doesn't work :

(ns overtone-demo.core
  (:require [overtone.live :as ol]))

(ol/demo 2 (ol/sin-osc 440))
and when I macroexpand, I get:
((overtone.sc.synth/synth
   "audition-synth"
   (out 0 (hold (ol/sin-osc 440) 2 :done FREE))))

lambdam22:10:05

If I understand well, this macro is non-hygienic. I'm forced to do it this way:

(ns overtone-demo.core
  (:use [overtone.live]))

(demo 2 (sin-osc 440))
and then it works.

lambdam22:10:34

@channel Is it a design purpose? It feels weird.