Ableton / push-interface

The Ableton Push 2 MIDI and display interface manual.
647 stars 74 forks source link

How do you grab the display when Live is running? #25

Open Vaynerix opened 5 years ago

Vaynerix commented 5 years ago

When Live is running, switching to User Mode doesn't release the display. It is still connected to show the User Mode graphic. This means that libusb can't connect to the display, since the connection remains in use.

So far the most used workaround is to kill push2display.app from the shell. Then connect from the custom application. When you release the connection from the custom app, push2display takes it over again because the app restarted after it was killed.

Would it be possible to make it so the display is released when you switch to User Mode? This would make it much easier to develop a cross-platform solution that works while Live is running.

xnamahx commented 4 years ago

Hi @Vaynerix

check the following function over class SetupComponent

@make_it_go_boom_button.pressed def make_it_go_boom_button(self, _button): self.make_it_go_boom = True

im using the display through max4live https://github.com/impsnldavid/imp.push, changed the script to make_it_go_boom when "User Mode button" is pressed. The device is released for a few seconds, if nothing hooks it, ableton grabs the control again showing the usual user mode.

Vaynerix commented 4 years ago

Thanks xnamahx!

Are you having consistently timed results with triggering it from the script? If the script is modified to make_it_go_boom, which event do you use to connect imp.push?

I found this function in the MFL access to Push too, when I trigger it I follow it by the connection message to imp.push. (multiple messages, since one doesn't always work) My connection times vary between 1 and 4 seconds.