sonic-pi-net / sonic-pi

Code. Music. Live.
https://sonic-pi.net
Other
10.82k stars 922 forks source link

Separation of server and gui for raspi, plus linux mint X environment #2388

Open richrarobi opened 4 years ago

richrarobi commented 4 years ago

I run a headless raspi environment, (no v4 pi's as yet, but ....) using Linux Mint (latest version) as desktops. (No windose). I use: ssh -Y -l pi raspi.local to connect. Then: sonic-pi-3-2-2& to start sonic.

I would like to run the server separately, on the pi. (I don't mind doing some work and writing up properly how to do it, etc.) I want to run the server on the pi, and be able to load the gui (whenever I want), but independently on my remote X-server desktop on (any of my) Mint clients. Please point me in the right direction....

I also would use python, and maybe golang?) and command-line (as I have seen elsewhere) to drive the sonic server for automated sound effects (things like clock chimes, maybe, or siren's for doorbell (!!)?) But I do also want to use sonic as normal, just not have to leave the gui running.

richrarobi commented 4 years ago

p.s. If I run the gui (3.2.2) on one Mint X-server screen, on a different Mint X-server desktop I can send command-line commands to the system (e.g. sonic_pi play :E4 ) - this is actually shown on the first gui screen (which is nice) - and plays just fine. Also, at the same time I am running the python chime demo (from here:- https://grantwinney.com/creating-music-with-sonic-pi-on-the-raspberry-pi/ (with the led's commented out...)). However, I want to leave the (osc?) server running autonomously when not using my desktop(s). p.p.s. Additionally, If you try to run a second gui, the first one is killed (which makes sense, but a bit counter-productive for me) - so I cannot leave a dummy gui running on a headless pi.

richrarobi commented 4 years ago

Firstly, the install deb for 3.2.2 doesn't appear to create a symlink, so:- sudo ln -s /usr/bin/sonic-pi-3-2-2 /usr/bin/sonic-pi Which helps a bit.

Eventually I found this - https://github.com/emlyn/sonic-pi-tool

It doesn't work with 3.2.2, but nearly does. I had to change some paths. see comment on that post.

It works, ........ until I start the sonic-pi gui. This then hijacks the server (kills it), which is a bit unfriendly...Is there/could there be an option for using an already running server in the gui? Conversely could the gui check if the server is already running? Use it then leave it running?

p.s. Forum registration started working again, just now.

emlyn commented 4 years ago

I'm the author of that (Python) version of sonic-pi-tool. For some reason I wasn't getting notifications about it from github. I'll try to find some time over the next few days to get it working again with the latest Sonic Pi.

richrarobi commented 4 years ago

Let me know if you want anything tested (Linux Mint (X-server) + Raspi 4 (or 3) running sonic-pi) - switched to raspi 4 for the Gigabit LAN and faster processor.

rbnpi commented 4 years ago

It was deliberate not to put in the symlink to sonic-pi in 3.2.2 on Raspbian as it is designed to coexist with the supp;ied rasbpian 3.1 version which uses /usr/bin/sonic-pi hence I created sonic-pi-3-2-2

emlyn commented 4 years ago

@richrarobi I've made some changes that hopefully should help, could you try with the latest version and let me know how it goes?

richrarobi commented 4 years ago

Thanks, I put some info in your github thread.