repl-electric / sonic-pi.el

Emacs running SonicPi
89 stars 21 forks source link

Sonic Pi 4.x #32

Open porras opened 1 year ago

porras commented 1 year ago

Hi!

I was trying to update this mode to work with Sonic Pi 4. I was having a bit of a hard time so, to make it simpler, I decided to write it "from scratch" (not really, I copied parts of this mode, including the whole sonic-pi-console). I finally got it working! I think, now that I understand exactly what needs to be changed (the protocol to communicate with the daemon has changed a bit, I'll summarize the changes below), that I'll be able to contribute it back, while keeping it backwards compatible (my fork only works with Sonic Pi 4). I'll do that in the next days/weeks, depending on the time I have available.

The changes are (I got this by reading the sonic-pi code, and also the https://github.com/Bubobubobubobubo/sonic_pipe code):

Anyway, in case it's useful for anyone in the meantime, here it is: https://github.com/porras/sonic-pi-mode. If there's any suggestion of how to integrate that back (I'm thinking on keeping it compatible with the old protocol too, by using two different classes), they're also welcome.

porras commented 1 year ago

I was thinking, maybe backwards-compatibility is not so important, and it adds some complexity. If folks need to use an outdated version of Sonic Pi, they can also use an outdated version of the plugin I guess. What do you think @josephwilk?

Anyway, here's some work in progress: https://github.com/repl-electric/sonic-pi.el/compare/master...porras:sonic-pi.el:4.x (not yet ready to merge by a long stretch, but already works with 4.x, I just need to finish the 3.x support and do some polishing).