From cdee717d5168c40d8bc44d53bcbcf2d6b03d907f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=27=C3=A9lectron=20rare?= <108685187+electron-rare@users.noreply.github.com> Date: Sat, 27 Jun 2026 20:01:20 +0200 Subject: [PATCH] fix(sound): squat empty-skel + stop restore --- sound_algo/data_only/concert_gestures.scd | 3 ++- sound_algo/data_only/scene_concert.scd | 4 ++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/sound_algo/data_only/concert_gestures.scd b/sound_algo/data_only/concert_gestures.scd index 4aab90d..f67e1ba 100644 --- a/sound_algo/data_only/concert_gestures.scd +++ b/sound_algo/data_only/concert_gestures.scd @@ -23,7 +23,8 @@ var meanY = { |a, b| (((a ? ())[\y] ? 0.5) + ((b ? ())[\y] ? 0.5)) * 0.5 }; ~ccGestureAdd.((name:\squat, family:\fx, hold:0.6, cooldown:0.2, detect: { |pose, prev| var s = pose[\skel]; - s.notNil and: { meanY.(s[\hipL], s[\hipR]) > (meanY.(s[\kneeL], s[\kneeR]) - 0.10) } }, + (s[\hipL].notNil and: { s[\kneeL].notNil }) and: { + meanY.(s[\hipL], s[\hipR]) > (meanY.(s[\kneeL], s[\kneeR]) - 0.10) } }, fire: { ~ccMaster[\filterTo].(450, 1.0) }, release: { ~ccMaster[\filterTo].(20000, 1.5) })); diff --git a/sound_algo/data_only/scene_concert.scd b/sound_algo/data_only/scene_concert.scd index 3893785..f83802a 100644 --- a/sound_algo/data_only/scene_concert.scd +++ b/sound_algo/data_only/scene_concert.scd @@ -178,6 +178,10 @@ ~concert[\clock] !? { |c| c.stop }; ~concert[\clock] = nil; ~concert[\running] = false; + // restore the master event-FX so a stop mid-squat/spin doesn't leave the + // mix muffled / stuttering for the next set + ~ccMaster !? { ~ccMaster[\filterTo].(20000) }; + ~ccStutter !? { |st| st.set(\mix, 0) }; "[concert] STOPPED".postln; };