top | item 38198982

(no title)

nyx_land | 2 years ago

I've always wondered why Common Lisp has so many algorithmic composition applications. In addition to Opusmodus, Common Music, and Common Lisp Music, which were mentioned elsewhere ITT, there's also Open Music (http://repmus.ircam.fr/openmusic/home) and Incudine (https://incudine.sourceforge.net/), and then of course there's some SuperCollider client stuff. it feels like such a niche within a niche to write algorithmic composition software (something that requires an intersection of some very specific skills and knowledge) in a language like CL that hardly anyone knows, but I'm glad it exists even if I can't personally make use of the one that most interests me (Open Music) because of LispWorks.

discuss

order

lispm|2 years ago

Open Music has precompiled LispWorks applications for Windows/86, Linux/86, macOS 86&ARM.

https://github.com/openmusic-project/openmusic/releases/tag/...

LispWorks is 'relatively' popular for Lisp-based music applications like Open Music, om#, Scorecloud, OpusModus and a few others, because the native GUI toolkit for Windows, Linux and macOS allows to write portable GUI applications. One pays for being able to use a niche language able to write such applications.

nyx_land|2 years ago

I'm aware, but I use *BSD on my computers and can't afford to pay for a FreeBSD LW license to compile something from source myself, so I'm shit outta luck. I am aware that the reason why it uses LispWorks is for the GUI toolkit, which is an understandable reason to since there isn't currently a real free software alternative to CAPI unless one wants to be reliant on Qt or GTK (neither of which are native to MacOS or Windows obviously). maybe one day if McCLIM gets better support for backends other than X11 there will be a real alternative, but even then, from digging into Open Music's source code it would be an absolutely massive undertaking to try to rewrite it to not be dependent on LW and it probably is the same for other CL composition software that uses LW.