tmhglnd / mercury

A minimal and human-readable language and environment for the live coding of algorithmic electronic music.
http://www.timohoogland.com/mercury-livecoding
GNU General Public License v3.0
288 stars 13 forks source link

Using Mercury with Pure Data and Linux #76

Open a-1219 opened 2 years ago

a-1219 commented 2 years ago

Hi! Is there a way to use Mercury in Pure Data and/or Linux (besides the browser-based playground)? I myself wouldn't know how to port it to Pd, but, given the right instructions, I might be able to try. I think it would be interesting for expanding the user base and the livecoding possibilities with Pd as well.

tmhglnd commented 2 years ago

Hey, at the moment no, but I agree that it would be a great addition! I'm sure a port to Pure Data would be possible, or at least some minimal port similar to the browser based version that just runs some of the basics (like sampler/synth and a few effects). I'm not much of a Pd user, so don't know all the objects that would be needed, some objects are probably very Max specific, but this is probably best to figure out along the way. Sadly I don't have the time at the moment to coordinate or work on this. What would you need from me to help you get started if this is something you would like to try? I do think this port will be quite hard to make if you don't have a way to also run the Max version.

For the time being you could also clone the browser based version and run it locally. It has the option to output midi as well so you can connect it to your own instruments in Pd.

a-1219 commented 2 years ago

There's a Pd external with Max objects called cyclone~ (https://github.com/porres/pd-cyclone), so I could at least check if some of the ones you used are avaible. It's updated to Max 7.3.5 though and it looks like it will take a while until it's fully compatible with Max 8. I could also try to run Max with wine as I don't have access to another OS at the moment. I'm not actually a dev, just an enthusiast lol so my hopes are that other people also get hooked by this idea.

tmhglnd commented 2 years ago

Great, thanks! Definitely good to check what can be used from there, but I think a better approach will be that I write a flow-chart of the current system and work from there porting bits and pieces (and along the way search for similar objects, but I think it will come down to the correct combination of different objects in Pd that combined give a similar result). One other thing I'm not too sure about is that Mercury makes use of javascript within Max (and NodeJS). Curious if this is also possible with Pd, or that it would have to run a seperate application.

I could also try to run Max with wine as I don't have access to another OS at the moment.

I believe this has been tried a couple times, here's a forum thread https://cycling74.com/forums/max-on-linux/replies/3 which might help.