Comment 4 for bug 1902379

Revision history for this message
Gino Issel (ginoissel777) wrote (last edit ):

hi Eitan,

Just FYI - I had the same use case my side and played around with a raspberry pi 3B, raspbian, installed Mixxx 2.2.0, and use the the application to queue all my mixes particularly for internet radio broadcast.
wanted to verify that even when there is a power failure, that this small box would come up, and start playing "autodj" and whatever was in the autodj queue. only when I want to do a live set/broadcast using the MIC, would I then stop the autodj.

For starting mixxx up when pi starts up...

I used the LXDE-pi "autostart"

/etc/xdg/lxsession/LXDE-pi
edited this with nano and added /home/pi/autostart.sh

as for the /home/pi/autostart.sh itself I added this
with the following

ping localhost -c 20 <-- this would provide me with a pause/sleep for the my audio devices to be picked up as sometimes the mixxx run way too fast and never picked up any audio devices.
mixxx <-- this was in my path and could start from anywhere.

this would bring up the mixxx program...

ping localhost -c 20 <-- same reason as above - give time for program to load.

the only issue now was to get mixxx to select and start AutoDJ, and then start broadcasting.
I came across an automation tool called "xdotool" and started playing around with this. I eventually had to change my EnableLiveBroadcasting to the "Shift+F8" key in the default /usr/share/mixxx/keyboard/en_US.kbd.cfg as somehow the xdotool did not like my Control+L key combination.

with my specific monitor/display I used the following to select and get things going...

xdotool mousemove 100 100 click 3; xdotool key shift+F8; xdotool mousemove 120 550 click 1; xdotool key Shift+F12

explanation :
the "100 100" is X Y axis and click 3 is a right click on that window it finds.
then shift+F8 is to enable livebroadcasting; with my active display, I then select the "AutoDJ" just below "Tracks" and then start the AutoDJ itself by doing a Shift+F12

So eventually my "autostart" startup script under /etc/xdg/lxsession/LXDE-pi

had @sh /home/pi/autostart.sh
just before the "@xscreensaver

and the actual /home/pi/autostart.sh had

ping localhost -c 10
mixxx &
ping localhost -c 30
lxterminal --command "DISPLAY=:0 xdotool mousemove 100 100 click 3; xdotool mousemove 120 550 click 1; xdotool key Shift+F12; xdotool key shift+F8"
ping localhost -c 5

Dont know if this would work headless - but for my use case this worked, you might need to play around with the xdotool to select, or use keys for selection if required.

Anyway - just FYI - happy playing

Regards
Gino