helgoboss / helgobox

Helgobox: ReaLearn & Playtime
https://www.helgoboss.org/projects/helgobox
GNU General Public License v3.0
204 stars 20 forks source link

Bugs: LUA and JSON import, Bank switching, Linux freezes #876

Closed AntoineBalaine closed 1 year ago

AntoineBalaine commented 1 year ago

Hello, I'm Perken from the reaper forum. I hope this message finds you well. I'm finding some bugs with my realearn setup.

Sorry if some of these descriptions are not terribly clear. They can be difficult to pinpoint - I'm trying my best to find the triggers, but it's not always obvious.

the setup:

Issues

1. LUA import - main compartment.

When importing a lua file, some of the mappings can turn out to be missing. Steps: create a mapping, export to lua, make some modifications (extract mappings to variables, loops, etc.), add some new mappings to list or make some updates, and import. Result: the new/changed mappings aren't there.

2. JSON import

export a map and re-import a modified version: if targets are not present, bank-switching breaks: upon import, BANK1 will be selected - all of its destinations are missing (expected, because FX are not loaded on track) - if I now switch to BANK2 (bank2 only has dummy targets), the led feedback updates to correct colours, but returning to BANK1 is not possible anymore. If I revert targets in BANK1 to be dummies, bank-switching is restored. Dunno if this is intentional, but this doesn't feel right: activation should probably not be dependent upon targets being valid.

3. Linux issue.

I'm getting some really bad hangs/freezes on arch linux (dunno if because of the distro). I'll make an import, try to switch banks and move some knobs, and the UI/mappings will freeze for 10+ seconds: no sign of movement on the twister's leds, and mapped FX won't move either. Happens very frequently, though I can't figure out what the trigger is. I couldn't try to reproduce on another distro - so this might be Arch-only.

Hope this helps! Let me know if you'd like me to try some specific scenarios to further pin point the issues.

AntoineBalaine commented 1 year ago

Update: I think I found the culprit of some of the Linux hangs. Some encoders will slow realearn a lot if they're mapped to trigger reaper actions. I dunno if it's worth worrying over short term, I can re-do some tests with buttons instead of encoders next week though.

On a different subject: I've created a Lua types file for the mappings. Here's where to find it. This is useful when using LuaLSP and trying to build mappings programmatically (type-checking, auto-complete, etc.). The types are not very accurate for now, and I'd like to dig a little deeper next week. Ideally I'd want to pull the types from the mapper in the realearn code base, but I'm having a difficult time finding the mapper in all the rust files. Any pointers?

Do you like the idea of the lua types? If I can get something more or less accurate going, I could include this in the reaper extension for vscode.

I'll close this issue for now.

Best regards