monome / norns

norns is many sound instruments.
http://monome.org
GNU General Public License v3.0
633 stars 147 forks source link

crow.init() isn't (re)setting volts, slew #893

Closed pq closed 5 years ago

pq commented 5 years ago

looking at the source, it sure seems like it is:

https://github.com/monome/norns/blob/11311a65cd642cc07524348857a3561efb3dcbf3/lua/core/crow.lua#L75

but in practice i'm hearing otherwise.

to test (in maiden):

crow.output[2].volts = 5
<ok>
crow.output[2].volts = 0
<ok>
crow.output[2].slew = 3
<ok>
crow.output[2].volts = 5
<ok>
crow.output[2].volts = 0
<ok>
crow.init()
<ok>
crow.output[2].volts = 5
<ok>
crow.output[2].volts = 0
<ok>

to get slew to re-zero, you need to run:

crow.output[2].slew = 0

(crow.init() doesn't seem to be enough.)

EDIT: same issue w/ volts and easier to repro:

crow.output[2].volts = 5
<ok>
crow.init()
tehn commented 5 years ago

it's resetting the local var, but not sending these via serial.

i guess we need a reset function which transmits values.

or better yet, crow itself should have its own reset function that should just be called from norns, which resets slew/output and input modes, etc.