summaryrefslogtreecommitdiff
path: root/DEVLOG.md
diff options
context:
space:
mode:
Diffstat (limited to 'DEVLOG.md')
-rw-r--r--DEVLOG.md37
1 files changed, 36 insertions, 1 deletions
diff --git a/DEVLOG.md b/DEVLOG.md
index 089270a..c560552 100644
--- a/DEVLOG.md
+++ b/DEVLOG.md
@@ -1298,6 +1298,8 @@ Let's see how tagging would accomplish a few goals.
swaps between dorian and locrian.
6. Two different instruments playing the same phrase, one shifted up
an octave
+7. A sine wave adds tremolo to one note in a chord. The frequency
+ of that tremolo is dictated by a knob.
### No. 1:
@@ -1507,6 +1509,16 @@ I think this one makes sense.
Hm, we're back to flows in the value position.
This makes me think that we should _always have a flow in value position_.
+This would obviate the x combinator introduced in
+the above example.
+
+Another insight that came from this is that there should be a global
+called cv that allows you to fetch control values by name.
+
+Is :k1-knob-1 compositional?
+And how do I ensure that the existence of :k1-knob-1 is known
+at compile time as an imput, so I can raise an exception if
+it isn't connected to anything?
```clojure
(def d1
@@ -1520,6 +1532,11 @@ This makes me think that we should _always have a flow in value position_.
(l (m/ap :ionian))))
```
+Also, notice that I'm returning items that are themselves tagged entities from the flow.
+I think that this implies that tags are part of values.
+
+Put differently, a value has two components, :tag and :value.
+
## No. 6
@@ -1561,14 +1578,32 @@ I don't love this one.
### No. 7
+TODO I'm not even sure where to begin right now.
+
---
+Summarizing a few insights:
+
+1. Flows will exist in value position. This implies that
+ values should always be wrapped in a flow.
+2. Flows will return tagged items. This implies that tags
+ must be part of value, not separate metadata.
+3. Tags returned by flows should somehow merge with their
+ container tags. This seems hard?
+4. It still isn't clear how we'll avoid naming collisions
+ with input labels.
+5. Interpretation of tagged values remains an open question.
+6. It isn't clear how to represent temporally-relative
+ structures, like make the next note one higher than the
+ previous.
+7. Similarly, counterpoint-like structures cannot currently
+ be expressed in a relative way.
+
Next, need to think about interpretation.
Should tags be a set? That loses hierarchical information.
Is that bad?
Oh, what about temporally relative structures, such as +1 tone?
-
And counterpoint-like relations, like in no. 6?