Forums > Max For Live

Delay with Launchmode mode switch

August 30, 2010 | 1:38 pm

I’ve got a live.observer monitoring the MAIN_MODES of the Launchpad so that I can restrict my device to only talking to the Launchpad when in ‘user 2′ mode.

When the LP is switched to ‘user 2′ mode from one of the other modes I need to refresh the button matrix. What I’m finding is that, although I’m sending the right set of messages to the Launchpad it’s not updating the matrix. If I manually trigger an update that does work, and I confirmed that it’s sending exactly the same messages as the update triggered by switching modes.

After a lot of head-scratching I put a Max delay module between my patcher detecting a switch to ‘user 2′ mode and the code that updates the Launchpad button matrix. Even a 1ms delay was enough, and the code started working properly.

Now I know to put in there it’s not such a big problem but I am puzzled that you can’t update the LP when it’s already signalled it’s in ‘user 2′ mode.

Anyone else come across this?

Matt


August 30, 2010 | 8:49 pm

It may be that you are trying to trigger an API change from another API change…that’s a no-no. I think the delay is sometimes enough to prevent this safety feature. You might want to defer it, as well, as putting the delay on it places it in the high-priority thread (which I try to keep the Launchpad out of… just to reserve the cpu cycles for other more important stuff).

I might be wrong about that…


Viewing 2 posts - 1 through 2 (of 2 total)