diff options
author | gretchen <gretchen@gnar.cool> | 2020-07-24 00:05:03 -0700 |
---|---|---|
committer | gretchen <gretchen@gnar.cool> | 2020-07-24 00:05:43 -0700 |
commit | d8d2b617f3ccc9491dc519403a28f599c621def3 (patch) | |
tree | 36b4eb634485230c33b306536bc93a5b59b62ff4 | |
parent | a38250123d31df15177ae51b2fb16d6ff21c7abe (diff) | |
download | rhodes-master.tar.gz rhodes-master.zip |
-rw-r--r-- | README.org | 3 | ||||
-rw-r--r-- | rhodes.lua | 24 |
2 files changed, 26 insertions, 1 deletions
@@ -4,4 +4,5 @@ midi FM rhodes simulation for norns. Adapted for norns from [[https://sccode.org/1-522][this supercollider snippet]] by user 'snapizz', which is adapted from [[https://github.com/thestk/stk/blob/master/include/Rhodey.h][STK's rhodey]], which Perry R. Cook and Gary P. Scavone adapted from a Yamaha TX81z algorithm. -Needs some visualization and more parameters (chorus? brightness? tube amp?). Email patches to [[mailto:gretchen@gnar.cool][<gretchen@gnar.cool>]]. +Needs some more parameters (chorus? brightness? tube amp?). Email +patches to [[mailto:gretchen@gnar.cool][<gretchen@gnar.cool>]]. @@ -19,6 +19,16 @@ end function redraw(level) screen.clear(); screen.display_png(dir("rhodes.png"), 0, 0); + + -- draw the jewel light level meter + -- do this here so it won't overdraw the screen + screen.circle(104, 32, 6) + screen.level(math.floor(level or 0)) + screen.fill() + screen.circle(104, 32, 6) + screen.level(15) + screen.stroke() + screen.update() end @@ -124,7 +134,21 @@ function init () end end}) params:default() + redraw() + + -- set a poll to draw the jewel light level meter + p = poll.set("amp_out_l") + p.callback = function (val) + -- log this so it trails off naturally + level = math.log(10 * val + 1) * 15; + -- actually draw it in redraw, so it won't + -- draw over the menu + redraw(level) + end + p.time = 0.025 + p:start() + end function key (n, x) |