What is the best way to upgrade SuperCollider?

Hey everyone,

I want to upgrade SuperCollider to its latest version but I’m not sure how to do it without losing extensions, customizations etc.

1 Like

Which OS are you on? Which version of SuperCollider are you currently running?

I’m on MacOS, and aside from now dragging SuperCollider.app directly into applications with 3.12, where before I’d drop the entire folder that was in the top level after mounting the .dmg file, everything works the same, and none of my extensions, quarks, customizations were overwritten.

In my experience, MacOS tends not to erase the folders in ~/Library, but adds to them when installing new versions, perhaps overwriting certain files, which shouldn’t affect your startup files or extensions.

If you’re worried about upgrading you can download a new version and try it without removing the older version from your machine. This way, you can verify you won’t have any problems with existing code. I generally have multiple versions of SC installed at any given time, in case I encounter a problem with some legacy code and need an old version to run it. However, backwards-compatibility breaking changes are very uncommon in the last 5 years or so.

I have a similar question and I’m not sure I still understand how to keep both versions operating (including the various custom UGens I compiled for the old version.) How to ensure that the two are separately installed and one is not overwritten?

As noted above, it’s an OS-specific question – not the same answer for macOS, Linux or Windows. Can’t give a detailed answer until you tell us what you’re running.

hjh

MacOS 11.7.10, Intel processor. Currently have SC3.8 and want to try the latest (3.13) while having the old to fall back on if there are any compatibility issues.
(I’ll probably also want to install it on my new M3 based MacBook as well, but first things first.)

Ok, thanks. Mac is actually a bit easier than Linux for this. (I use Linux, not Mac, so someone else might have to correct me.)

I think custom plugins and extensions could be put into the app bundle…? If so, that would be the easiest way. I’m not sure of details for this approach though.

If that doesn’t pan out: both versions will look by default in the same location for extensions and plugins, so to have different versions coexist, one installation would have to override those locations.

  • Class library extension directories are managed in the language configuration file (Preferences → Interpreter I believe). How to select these automatically per version, I’m not completely sure. You could have a second language config file with:
    • “Include” directories for that version’s stuff.
    • “Exclude” directories for the default locations.
  • Plugin locations are managed in ServerOptions. Supplying any location here completely overrides default locations, so you’d have to specify all core and extension plugin locations.

Not easy but should be possible to smooth it out somewhat.

hjh

1 Like

Hi, as a Mac user I have had alternate versions on my machine. The way I did it was to make a copy of the Application Support/SuperCollider folder, name it differently (to something recognizably associated with the version of SC it belonged to) and then create a symbolic link to it with the original name (using ln -s in Terminal). Then when I wanted to run another version I replaced the symbolic link to the corresponding appsupport folder. I created a little sh script to do this and then boot the version I wanted.

hope that helps!
cheers, Wouter

1 Like

@gwennadf - please respond - this answer doesn’t quite make sense to me in context of SuperCollider. Can you post a screenshot showing what you mean? And if these are the steps, which OS are you using?