playdate.sound.removeEffect is not working properly in 1.13

Can be confirmed by running the synthtests (B button) in the sndtest.lua example project. Instead of removing the lowpass filter effect at the end, the removeEffect operation is a no-op and it keeps layering the lowpass effect. Works properly in 1.12.3.

1 Like

Well caught! I've added a fix for the next release.

To be totally pedantic here: The bug was due to a big under-the-hood change in 1.13 where I updated all of the Lua code to use the same LuaUDObject wrappers that the C API uses so that we can pass objects back and forth. That is, pd->lua->getArgObject() should now give you the correct C API object for the given Lua type. I spent a very tedious afternoon auditing the code to make sure I was using it consistently, but somehow missed this one. :anguished: That's fixed now and I'll take another pass to see if I made the same error anywhere else.

2 Likes