-
Notifications
You must be signed in to change notification settings - Fork 147
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Internal clock not responding to tempo changes or reset #1757
Comments
i wasn't able to reproduce problems with tempo change in a quick test:
however, i did find that hitting i will look at that closer given more time, but meanwhile did you have other repro steps? |
When I perform those same steps, the param value changes but Awake's sequence continues to play at the same speed. Triggering the BUT... it just occurred to me that it's been several days since I restarted. Sleep+wake seems to have resolved the issue. FWIW, no issues with Awake handling |
@catfact , was this on awake 2.7.0? i pushed a fix for that exact behavior a few months ago, but lmk if it persists! |
Oh - I may indeed be running an old copy of awake, sorry |
Re-opening this as I can confirm I am experiencing this on multiple Nornses now running the official 240221 update. Steps to reproduce:
Hoping to give a better idea of when the issue occurs, I created a test script to change the param every minute, wait a second, then compare values in the hopes. Unfortunately, it intermittently gets falsely triggered because it takes > 1 second to update the value returned via function init()
local start_time = os.date("%Y-%m-%d %H:%M:%S", os.time())
local state = "running"
msg_1 = "start"
msg_2 = "running test..."
msg_3 = ""
myvar = false
local function check_tempo()
params:set("clock_tempo", math.random(200, 300))
clock.run(
function()
while state == "running" do
clock.sleep(1)
if util.round(norns.state.clock.tempo) ~= util.round(clock.get_tempo()) then
state = "stopped"
msg_1 = "start @ " .. start_time
msg_2 = "error @ " .. os.date("%Y-%m-%d %H:%M:%S", os.time())
msg_3 = "beat " .. clock.get_beats()
print(msg_1)
print(msg_2)
print(msg_3)
print("params:get('clock_tempo'): " ..params:get("clock_tempo"));
print("norns.state.clock.tempo: " ..norns.state.clock.tempo);
print("clock.get_tempo(): " .. clock.get_tempo())
elseif state == "running" then
msg_1 = "start @ " .. start_time
msg_2 = "OK @ " .. os.date("%Y-%m-%d %H:%M:%S", os.time())
msg_3 = ""
end
redraw()
end
end
)
end
my_metro = metro.init(check_tempo, 60, -1)
my_metro:start()
check_tempo()
end
function redraw()
screen.clear()
screen.blend_mode(2)
screen.line_width(1)
screen.aa(0)
local text = function(fn, x, y, string)
screen.move(x, y)
screen[fn](string)
end
screen.level(10)
text("text_center", 60, 30, msg_1)
text("text_center", 60, 40, msg_2)
text("text_center", 60, 50, msg_3)
screen.update()
end``` |
tempo
andreset
in parameters>>clock do not seem to affect the internal clock in the code I compiled 24.02.02. Link and MIDI work but I'm unable to test Crow at the moment.The text was updated successfully, but these errors were encountered: