Buffer.write() broken on M1 / universal binary?

Hi, wondering if someone else with an ARM mac could test this out and see if it’s just me…

On the Universal Binary download of 1.13.0, running this:

(
s.waitForBoot {
  b = Buffer.alloc(s, 2000);
  s.sync;
  b.write("/.../Desktop/test1.wav", "wav", "float32");
}
)

reliably fails with the cryptic error:

FAILURE IN SERVER /b_write failed

Further calls to b.write generate the same error.

However, the same code runs in the legacy build of 1.13.0 without problems, and writes the file to the desktop.

Does this happen for anyone else?

That Path looks a bit strange…

Do you mean “~/Desktop/test1.wav”.standardizePath

?

Josh

also - format is “float” - that will also make a difference.

If that doesn’t work, you may also need to give SuperCollider / scsynth / supernova permissions for disk access. This is in System Settings → Privacy and Security → Full Disk Access → and from there you can add items. For scsynth, you need to open in in Finder within the .app bundle, and drag the executables into the pane. If your SuperCollider is in Applications, you can do that with this command in Terminal:

open /Applications/SuperCollider/SuperCollider.app/Contents/Resources

Hope that helps.
Josh

OMG it was “float” vs “float32”. So I guess it’s actually weird that on the intel build “float32” produces a 32 bit float wav file.

Sorry for the noise + thanks Josh!