diff --git a/README.md b/README.md index d433329..ba99f05 100644 --- a/README.md +++ b/README.md @@ -14,9 +14,11 @@ Every locked door has a matching key, and every floor has a final door that desc While events are recorded in a breadth-based loop, playback is depth-first. At each step in the playback loop, which begins advancing when the splash screen is dismissed, all available modulation events within that loop step are played before advancing to the next step. 1:1, 1:2, 1:3, 2:1, 2:2, 3:1, and so on. -Adjust the `Drone Base` note, `Loop Length`, and `Max Step Depth`, along with various `Asterion (Engine)` characteristics in the params menu. Note that in the `Asterion (Engine)` params, only `amplitude`, `hz` and `noise amplitude` will stay where you put them due to the nature of the script. Also note that `attack`, `decay`, and `release` are both unused in the script and currently unimplemented in the engine. That's a big TODO, buddy. +Adjust the `Drone Base` note, `Loop Length`, and `Max Step Depth`, along with various `Asterion (Engine)` characteristics in the params menu. Note that in the `Asterion (Engine)` params, only `amplitude`, `hz` and `noise amplitude` will stay where you put them due to the nature of the script. -Parameter adjustments are not recorded to the loop. Only events from gameplay are sequenced. +In addition to the sequenced drone, programmed by exploring the labyrinth, you can play accent notes in scale from the drone base using your (typing) keyboard's number keys. These will play the ten notes in the `scale` of your selection from the `Asterion` parameter group. You may also adjust the fixed `velocity` of accent notes played. Note that `attack`, `decay`, `sustain` and `release` within the `Asterion (Engine)` params apply exclusively to the Accent feature in this script and have not effect on the drone. + +Parameter adjustments and accent notes are not recorded to the loop. Only events from gameplay are sequenced. A word of WARNING: Care has been take to tame the drone, but it has some intimidating qualities that should be explored at moderate volumes as you begin to wander the labyrinth. I moved from testing it on a regular stereo speaker to a bass amp and nearly had a heart attack. diff --git a/asterion.lua b/asterion.lua index 2bc1dab..318caff 100644 --- a/asterion.lua +++ b/asterion.lua @@ -66,7 +66,7 @@ function init() parameters = Parameters:new() pouch = Pouch:new() labyrinth:init() - parameters.init() + parameters:init() redraw() end @@ -88,6 +88,11 @@ function keyboard.code(k, z) else commence() end + else + local note_input = tonumber(k) + if note_input then + minstrel:accent_song(note_input, parameters:get('scale')) + end end end diff --git a/lib/engine/Engine_Asterion.sc b/lib/engine/Engine_Asterion.sc index 6ddb6bc..0974aa0 100644 --- a/lib/engine/Engine_Asterion.sc +++ b/lib/engine/Engine_Asterion.sc @@ -3,17 +3,17 @@ // Inherit methods from CroneEngine Engine_Asterion : CroneEngine { - var