Kill the audio
-
Hi everyone :-)
Is there a way to kill the audio? Something like
AllNotesOff.Here’s the situation:
I have several hardcoded effects, such as reverb, that continue to echo when I change plugin settings, causing unpleasant artifacts. I want to prevent this by kill all audio.I found
BackgroundTask.killVoicesAndCall(var loadingFunction)
Threads.killVoicesAndCall(var functionToExecute)
but I’m not sure if this is the right approach or if it will actually do the job. And I don’t need any additional functionality.It is an effects plug-in.
Thanks for your help,
Oli -
This post is deleted! -
@Oli-Ullmann could you use a gain?
-
@Oli-Ullmann If you use "UserPresetHandler" you could set the gain to -100dB in the "setPreCallback()" and gain to 0dB in the "setPostCallback()"
-
@ulrik
@trillbilly
When I use a gain, the reverb tail is still there and becomes audible again as soon as I turn the gain back up. I’d rather have to clear the audio buffer or something like that... But I don't know if that's possible. -
@Oli-Ullmann try this, I use the backgroundTask
HiseSnippet 1556.3oc2XE0aaaCDlxNJswcqXcnnXOJDrGbGJLraRZ6vvPRbbblwpSLhbSKvdnflh1lvRjZTzIwaX.6w8ya+D5Og7OX6HkjkbhZZpWaGPcdQ73cje2w693wzSJHznHgDYUo+rPJx5KrcmwUi2aLlwQcZoE7yLeemSDLBE0bVHNJh5grrJefVCq0VAY9cw1Mw9XNnybQHjwnmyBXpLo81Qudswdz9rfbZu4NcHB9dBewT.MksqiBwjI3QzCwZ0JYi9IbzXj02YS71jrI4IC1rAFO7oMF7D5fm03oMnOirk22SHXxVCHM1XCLxZ088XJgzUgUzHj0JMEdybGKNiGuAmvhXC7o5AMPtvNGKtsv2S6h5uQ6Ml460KMLEgPV18xBZkiCZ22tKyiMWdVv6qLS3jYQ9.nUoEgW4EfWi2F7J.RV4fzJwP5d1tDIKTkMiFO2wtCWQkCwW5rLVWTITI68DfFbUs.7DZaILXtEUeb85OxowV0e3OToRE3vJR4z7f9N+ny97QLNsFQRAOoIbrMRJlx85iilTccPk00Vv39fRNCmxIJlf6DJoQTEDq3indUOE6Ok9vJ+dk0..DI7o0BkLtp55lbnHGrj5LARbnd5E6Opb00Sv0IVwpqcBovuJQDDJ3f67HmrMfMzIc6VaM.c0lL2tc4d6g88qt.1z6Gf+z.yHXhzks55Y645Orl1l3cVuJCf.Q0BPErd4.8gBE8HdUCx.+x4xSMbXgykrV9TYgSqqsjWmgU4SCFPk4iKZEg7mESJW8lkTRhCN4TTv6vYpiBoIiyppZTPJLJI5Be8hNsvJrNqNQFnWHUpXZ3X0hdJDJiywWytEMZhRDZzM4HADqLyd2jJflSUJAGw7R4xhOLPmmw8zYmY4IhNi4oFOWve9K6LlxFMNGGVqcXQcEAvtgkfkVknbLDTz05OmhkbcIUD9TZGdOShjdL5p0n.6fvapOVsHkglXMYB3Hag5TcsHOholkm38x7Hq71OxpWHMWgGH2P3dO6dLEYbw3sTA3ENX+Xi2DV4uzd+gCoDUFXWwt8qtVJ3UtYY6uiaHJfNtRRxHr+wWpFOzo8qZTDQr0eYu.QYHP+0WzyGOqZDNHzmdLf2G4LvWPl3x9M5UKzCigPSsFUI.QFm5GsL7Aq9A5RJzwhoJFeTWrRxfZO6CmF3B20Sn6kfNPlUIMUP7355w57EWJ2yL3efeIS1PO1JYxFoSliE4Pp5Lgbh43H4aj0s0w9aaKomRkCP656KNSyavRxbg3uQVOg+rvwBNinEEqQJJ2M.tYSkB0rz9loGEonF5VoOl4qqBbmFAzfdGwcg0wzhjU4SnxHyddK650f+fphCEdvT2pMl.w6Y8vZNn6YqYVg7WprFYdd7bWHepSbeRymRuZocSEiHvQBLDjPuT5SvdXIXBb4djoTnbNd13bX8HnxsTbFamnSzyRv9nSz4HZOyrKwwXC3WUq5ZIP.37y6J2wd340dq3NynqG3VkxCSTNe.R7lOBJ35x3IvLi4oK97KI6hscUzv3ysL8bmPOKF640L12ZA0ePZLpO8bUegY4frN.5ls8A1GJjAXeXA85Qgja3vaDEf4n3dXcmN3.n2nPyfqfuVzg3o9pKI+Mai936X2x9kla89v6VuY6+GcqUsM59g2qt3F3U5DzlBwj.rgHZo5rI+8Z2Mdx6.9DmZdllgM3AlwNuDZ3v4.JvTnugtw07Vs+9l9Vsva7a0NhnfsuuDyiBEQKd3PCX8gVyhxK7EQviKn+5wZty7x2SfkEN0Ea2FbxBswEqlJMjvojy450n7RcA+hsfkS+BtsekOVuG7SZeb+2a6r7MCtui9kVKEitLceN6CEq9PQhAiescRMWpzESx6J3hzqsyx.NlB8aLZDcQpghbncUJ3EaYRt+NGS8o37Yye6NOGxBwxtla6VpXw6+S4K775arigqitxz4yimKT9ynmK7d.kOEMF+oXOBvDo30j32SnykusQB327jV75pG6z.c5kunO.XEeMgr3RcECe7xZ3FKqgatrFt0xZ3SVVCe5xZ3yd2FpuzZ2oJQPbIKzXVu8MsxXYsu4+7go5.8uTOUQ7B -
usually the reverbs in HISE clear their buffers when they are bypassed and unbypassed.
-
Hi guys,
thanks for your help! :-) I'm using granular and reverb effects whose buffers unfortunately aren't cleared via the bypass or backgroundTask functionality.These were originally Max patches that I imported into HISE via RNBO. I then combined them further in a network and, after compiling, integrated them back into my plugin as hardcoded effects.
My workaround now is to unload the effects at the critical moment, then reload them and reset the parameters accordingly. There might be a better way, but this one works—at least so far. Let’s see what the beta testers have to say... :-)
-
O Oli Ullmann has marked this topic as solved
-
@Oli-Ullmann The RNBO wrapper sends a reset message at the bypass / unbypass - can you react to that in the RNBO patch and clear out the buffers?
void reset() { for(auto& o: obj) o.scheduleEvent(RNBO::MessageEvent(RNBO::TAG("reset"), RNBO::RNBOTimeNow)); }RNBO side: https://rnbo.cycling74.com/learn/sending-and-receiving-messages-cpp
Try an inlet called
reset, should receive a bang.