This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2018-10-18
Channels
- # 100-days-of-code (6)
- # announcements (4)
- # beginners (126)
- # cider (49)
- # cljdoc (28)
- # cljsrn (3)
- # clojure (89)
- # clojure-dev (19)
- # clojure-greece (2)
- # clojure-italy (13)
- # clojure-mexico (1)
- # clojure-nl (13)
- # clojure-spec (108)
- # clojure-sweden (1)
- # clojure-uk (48)
- # clojurescript (31)
- # cloverage (3)
- # core-async (16)
- # cursive (28)
- # data-science (3)
- # datascript (1)
- # datomic (60)
- # defnpodcast (1)
- # docker (17)
- # editors (18)
- # emacs (16)
- # events (1)
- # figwheel (22)
- # figwheel-main (4)
- # graphql (26)
- # jobs (2)
- # off-topic (9)
- # om-next (2)
- # overtone (4)
- # perun (1)
- # re-frame (2)
- # reagent (18)
- # reitit (1)
- # ring-swagger (2)
- # shadow-cljs (2)
- # tools-deps (49)
- # uncomplicate (1)
- # unrepl (1)
- # vim (2)
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))))
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.From https://github.com/overtone/overtone/blob/f6d414f884f1b6d3166195b49276174efddf2cf2/src/overtone/sc/synth.clj#L668 we can clearly see the non-syntax-quoted variables.