summaryrefslogtreecommitdiff
path: root/src/unheard/theory.clj
diff options
context:
space:
mode:
authorJake Zerrer <him@jakezerrer.com>2025-11-26 15:10:20 -0500
committerJake Zerrer <him@jakezerrer.com>2025-11-26 16:11:20 -0500
commit10badcaa52d9d428dceb5a3219029d3640b35fb2 (patch)
treef9f3a57f51a4eef9fb69fa0e6028244366086b29 /src/unheard/theory.clj
parentd545ba065c8780e29390e37b347834ac7356c667 (diff)
Mild housekeeping
Diffstat (limited to 'src/unheard/theory.clj')
-rw-r--r--src/unheard/theory.clj25
1 files changed, 0 insertions, 25 deletions
diff --git a/src/unheard/theory.clj b/src/unheard/theory.clj
index e7ed9eb..5314ea7 100644
--- a/src/unheard/theory.clj
+++ b/src/unheard/theory.clj
@@ -2,7 +2,6 @@
(:require [missionary.core :as m]
[unheard.time-object :refer
[time-object lift phrase timeline point-query]]
- [clojure.set :refer [union]]
[unheard.util.missionary :refer [reconcile-merge]]))
(defn note
@@ -42,27 +41,3 @@
(swap! c inc)
(swap! v inc)
(swap! v dec))
-
-(defn poly
- [& notes]
- (m/signal (m/cp (apply union (m/?< (apply m/latest vector notes))))))
-
-;; TODO: Group could actually wrap note, rather than using explicitly
-;; WIll introduce a lot of GC churn, though
-(defn group
- [clock start end content]
- (m/cp (let [content (m/signal content)]
- (if (m/?< (m/latest #(<= start % end) clock))
- (m/?< content)
- (m/amb #{})))))
-
-;; TODO:
-;; - Note literals turn into numbers
-;; - Represent keyboard as byte array of shorts
-;; - play a note increments, stop a note decrements
-;; - Multiple instruments
-;; - Mapping inputs to vars
-;; - Inputs get declared at the top of a track
-;; - Devices get mapped to declared inputs
-;; - Notion of scenes that change mapping of inputs to vars
-;; - Loops