Knobs
Overview
Knobs is a great way to get a ton of knobs, providing you only need to adjust a maximum of 4 at a time.
Setup
A page can be created with monolith:knobs-new
(monolith:knobs-new "k")
Helper function in scheme can be found in knobs.scm
:
(monolith:load "knobs.scm")
Reading Values
Every value can be read from Graforge via the "knobsval"
runt word. In scheme, there is a corresponding knobsval
function which wraps this word up.
It takes in the following args: lane, x, y, and name.
lane is which of the four lanes, and x and y is the position local to that. name is the page name.
This will output a value between 0 and 1.
(knobsval 0 0 0 "k")
Selecting a Knob to Control
Selecting a knob is matter of pressing a button in the respective lane on the grid. The currently selected knob will light up.
Selecting a knob can also be done with
monolith:knobs-select
.
The following code below will select the knob in position (1,2) in lane 0:
(monolith:knobs-select "k" 0 1 2)
Setting a Knob Value
Turning the Arc will set the currently selected knob value associated with that lane.
Explicitely setting a knob value can be done with
monolith:knobs-val
. This will set knob (1,2) in lane
0 to be 0.5:
(monolith:knobs-val "k" 0 1 2 0.5)
Aux Knob
The griffin powermate can be used an auxiliary knob,
able to control any of the knobs in any of the lanes.
Assigning the knob can be done with
monolith:knobs-aux-assign
. The following code will set
the aux control to be the knob (1, 2) in lane 0:
(monolith:knobs-aux-assign "k" 0 1 2)
Code
The implementation for the knobs page can be found at knobs.c