super-bufrd icon indicating copy to clipboard operation
super-bufrd copied to clipboard

Can't build Mac M2

Open unculcated opened this issue 1 year ago • 14 comments

Terminal output:

ss@sss-Laptop build % cmake -DSC_PATH=/Users/ss/SuperCollider -DCMAKE_BUILD_TYPE=Release .. CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required): Compatibility with CMake < 3.5 will be removed from a future version of CMake.

Update the VERSION argument value or use a ... suffix to tell CMake that the project does not need compatibility with older versions.

-- Project name is SuperBufRd -- The C compiler identification is AppleClang 15.0.0.15000309 -- The CXX compiler identification is AppleClang 15.0.0.15000309 -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working C compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc - skipped -- Detecting C compile features -- Detecting C compile features - done -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Check for working CXX compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ - skipped -- Detecting CXX compile features -- Detecting CXX compile features - done -- Performing Test HAS_SSE -- Performing Test HAS_SSE - Success -- Performing Test HAS_CXX_SSE -- Performing Test HAS_CXX_SSE - Success -- Performing Test HAS_SSE2 -- Performing Test HAS_SSE2 - Success -- Performing Test HAS_CXX_SSE2 -- Performing Test HAS_CXX_SSE2 - Success -- Performing Test HAS_FPMATH_SSE -- Performing Test HAS_FPMATH_SSE - Failed -- Performing Test HAS_CXX_FPMATH_SSE -- Performing Test HAS_CXX_FPMATH_SSE - Failed -- Configuring done (0.7s) -- Generating done (0.0s) -- Build files have been written to: /Users/ss/super-bufrd/build ss@sss-Laptop build % cmake --build . --config Release [ 16%] Building CXX object CMakeFiles/SuperBufRd.dir/SuperBufRd.cpp.o clang: warning: argument unused during compilation: '-msse' [-Wunused-command-line-argument] clang: warning: argument unused during compilation: '-msse2' [-Wunused-command-line-argument] In file included from /Users/ss/super-bufrd/SuperBufRd.cpp:1: In file included from /Users/ss/SuperCollider/include/plugin_interface/SC_PlugIn.hpp:25: In file included from /Users/ss/SuperCollider/include/plugin_interface/SC_PlugIn.h:25: /Users/ss/SuperCollider/include/plugin_interface/SC_Unit.h:96:32: error: 'auto' return without trailing return type; deduced return types are a C++14 extension [[nodiscard]] inline constexpr auto copyAndCastToTypeOfFirstArg(const ToType&, const Value& value) noexcept { ^ /Users/ss/SuperCollider/include/plugin_interface/SC_Unit.h:97:26: error: no template named 'remove_cv_t' in namespace 'std' using TargetT = std::remove_cv_t<std::remove_reference_t<ToType>>; ~~~~~^ /Users/ss/SuperCollider/include/plugin_interface/SC_Unit.h:97:43: error: no template named 'remove_reference_t' in namespace 'std'; did you mean 'remove_reference'? using TargetT = std::remove_cv_t<std::remove_reference_t<ToType>>; ~~~~~^~~~~~~~~~~~~~~~~~ remove_reference /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/usr/include/c++/v1/__type_traits/remove_reference.h:23:8: note: 'remove_reference' declared here struct remove_reference { ^ In file included from /Users/ss/super-bufrd/SuperBufRd.cpp:1: In file included from /Users/ss/SuperCollider/include/plugin_interface/SC_PlugIn.hpp:25: In file included from /Users/ss/SuperCollider/include/plugin_interface/SC_PlugIn.h:25: /Users/ss/SuperCollider/include/plugin_interface/SC_Unit.h:98:24: error: unknown type name 'TargetT' return static_cast<TargetT>(value); ^ 4 errors generated. make[2]: *** [CMakeFiles/SuperBufRd.dir/SuperBufRd.cpp.o] Error 1 make[1]: *** [CMakeFiles/SuperBufRd.dir/all] Error 2 make: *** [all] Error 2

unculcated avatar Jun 24 '24 18:06 unculcated

SuperBufRd build apple silicon.zip

I'm getting the same error. Trying to update the CMakeFIle is way above my head but I've hacked at it and think I've gotten a usable build. Can you try these compiled files and confirm?

esluyter avatar Jun 25 '24 05:06 esluyter

Im able to compile everything in Extensions. No errors. (im not using supernova), but I get Class not defined errors when trying out the examples. So, not working

unculcated avatar Jun 25 '24 07:06 unculcated

Oh sorry you still need the .SC and .schelp files in this repository. Just add the files in that zip

esluyter avatar Jun 25 '24 07:06 esluyter

Ok, I see a few sc files and one that says Overwrite Do I open the supercollider app contents and put these files in there? Where do I over write extSuperPair.sc? Where do I put SuperBufRd.sc SuperPair.sc TestSuperBinaryOpUGen.sc TestSuperPair.sc

? Thanks

unculcated avatar Jun 25 '24 07:06 unculcated

Download or clone this whole repository into your extensions folder. Then add the unzipped binaries

esluyter avatar Jun 25 '24 07:06 esluyter

some of it works like a charm :). some help files im getting errors. ill post em tomorrow

unculcated avatar Jun 25 '24 07:06 unculcated

ok, here are the errors from some examples. The audio plays for some of them

this doesn't play at all 
b = Buffer.read(s, Platform.resourceDir +/+ "sounds/a11wlk01.wav");
​
(
{
  var phaseInt, phaseDec;
  # phaseInt, phaseDec = SuperPhasor.ar(0, BufRateScale.kr(b), 0, 0, Float.from32Bits(b.numFrames), 0);
  SuperBufRd.ar(1, b, phaseInt, phaseDec);
}.play;
)

ERROR: Message 'at' not understood.
Perhaps you misspelled 'as', or meant to call 'at' on another receiver?
RECEIVER:
Instance of SuperPair {    (0x150245b88, gc=0C, fmt=00, flg=00, set=02)
  instance variables [2]
    msd : instance of OutputProxy (0x1502b8ce8, size=11, set=4)
    lsd : instance of OutputProxy (0x1502b94b8, size=11, set=4)
}
ARGS:
   Integer 0

PROTECTED CALL STACK:
	Meta_MethodError:new	0x139123640
		arg this = DoesNotUnderstandError
		arg what = nil
		arg receiver = SuperPair(an OutputProxy, an OutputProxy)
	Meta_DoesNotUnderstandError:new	0x139125980
		arg this = DoesNotUnderstandError
		arg receiver = SuperPair(an OutputProxy, an OutputProxy)
		arg selector = at
		arg args = [0]
	Object:doesNotUnderstand	0x120409f00
		arg this = SuperPair(an OutputProxy, an OutputProxy)
		arg selector = at
		arg args = nil
	a FunctionDef	0x30013d5b8
		sourceCode = "{
  var phaseInt, phaseDec;
  # phaseInt, phaseDec = SuperPhasor.ar(0, BufRateScale.kr(b), 0, 0, Float.from32Bits(b.numFrames), 0);
  SuperBufRd.ar(1, b, phaseInt, phaseDec);
}"
		var phaseInt = nil
		var phaseDec = nil
	SynthDef:buildUgenGraph	0x13bd1cc40
		arg this = a SynthDef
		arg func = a Function
		arg rates = nil
		arg prependArgs = []
		var result = nil
		var saveControlNames = [ControlName  P 0 i_out scalar 0]
	a FunctionDef	0x13a6bda80
		sourceCode = "<an open Function>"
		arg i_out = an OutputProxy
		var result = nil
		var rate = nil
		var env = nil
	SynthDef:buildUgenGraph	0x13bd1cc40
		arg this = a SynthDef
		arg func = a Function
		arg rates = nil
		arg prependArgs = []
		var result = nil
		var saveControlNames = nil
	a FunctionDef	0x13bd1b1c0
		sourceCode = "<an open Function>"
	Function:prTry	0x1394ce4c0
		arg this = a Function
		var result = nil
		var thread = a Thread
		var next = nil
		var wasInProtectedFunc = false
	
CALL STACK:
	DoesNotUnderstandError:reportError
		arg this = <instance of DoesNotUnderstandError>
	Nil:handleError
		arg this = nil
		arg error = <instance of DoesNotUnderstandError>
	Thread:handleError
		arg this = <instance of Thread>
		arg error = <instance of DoesNotUnderstandError>
	Object:throw
		arg this = <instance of DoesNotUnderstandError>
	Function:protect
		arg this = <instance of Function>
		arg handler = <instance of Function>
		var result = <instance of DoesNotUnderstandError>
	SynthDef:build
		arg this = <instance of SynthDef>
		arg ugenGraphFunc = <instance of Function>
		arg rates = nil
		arg prependArgs = nil
	Function:play
		arg this = <instance of Function>
		arg target = <instance of Group>
		arg outbus = 0
		arg fadeTime = 0.02
		arg addAction = 'addToHead'
		arg args = nil
		var def = nil
		var synth = nil
		var server = <instance of Server>
		var bytes = nil
		var synthMsg = nil
	Interpreter:interpretPrintCmdLine
		arg this = <instance of Interpreter>
		var res = nil
		var func = <instance of Function>
		var code = "(
{
  var phaseInt, phaseDec..."
		var doc = nil
		var ideClass = <instance of Meta_ScIDE>
	Process:interpretPrintCmdLine
		arg this = <instance of Main>
^^ ERROR: Message 'at' not understood.
Perhaps you misspelled 'as', or meant to call 'at' on another receiver?
RECEIVER: SuperPair(an OutputProxy, an OutputProxy)

unculcated avatar Jun 25 '24 12:06 unculcated

this plays but I get the warning ;
b = Buffer.read(s, Platform.resourceDir +/+ "sounds/a11wlk01.wav");

{ SuperPlayBufX.ar(1, b, MouseX.kr(0.1, 10, \exponential), cuePos:b.atSec(b.duration / 2), cueTrig: MouseButton.kr(0, 1, 0))!2 }.play;

-> Buffer(3, nil, nil, nil, /Applications/SuperCollider.app/Contents/Resources/sounds/a11wlk01.wav)
WARNING: keyword arg 'cuePos' not found in call to Meta_SuperPlayBufX:ar
WARNING: keyword arg 'cueTrig' not found in call to Meta_SuperPlayBufX:ar
-> Synth('temp__26' : 1061)

unculcated avatar Jun 25 '24 12:06 unculcated

b = Buffer.read(s, Platform.resourceDir +/+ "sounds/a11wlk01.wav");



(
{
  var phaseInt, phaseDec;
  # phaseInt, phaseDec = SuperPhasor.ar(0, BufRateScale.kr(b), 0, 0, Float.from32Bits(b.numFrames), 0);
  SuperBufRd.ar(1, b, phaseInt, phaseDec);
}.play;
)

error:
ERROR: Message 'at' not understood.
Perhaps you misspelled 'as', or meant to call 'at' on another receiver?
RECEIVER:
Instance of SuperPair {    (0x3000b0828, gc=10, fmt=00, flg=00, set=02)
  instance variables [2]
    msd : instance of OutputProxy (0x178015608, size=11, set=4)
    lsd : instance of OutputProxy (0x178014698, size=11, set=4)
}
ARGS:
   Integer 0
PATH: /Users/ss/Library/Application Support/SuperCollider/Extensions/super-bufrd-superpair/HelpSource/Classes/SuperBufRd.schelp

PROTECTED CALL STACK:
	Meta_MethodError:new	0x139123640
		arg this = DoesNotUnderstandError
		arg what = nil
		arg receiver = SuperPair(an OutputProxy, an OutputProxy)
	Meta_DoesNotUnderstandError:new	0x139125980
		arg this = DoesNotUnderstandError
		arg receiver = SuperPair(an OutputProxy, an OutputProxy)
		arg selector = at
		arg args = [0]
	Object:doesNotUnderstand	0x120409f00
		arg this = SuperPair(an OutputProxy, an OutputProxy)
		arg selector = at
		arg args = nil
	a FunctionDef	0x15015edd8
		sourceCode = "{
  var phaseInt, phaseDec;
  # phaseInt, phaseDec = SuperPhasor.ar(0, BufRateScale.kr(b), 0, 0, Float.from32Bits(b.numFrames), 0);
  SuperBufRd.ar(1, b, phaseInt, phaseDec);
}"
		var phaseInt = nil
		var phaseDec = nil
	SynthDef:buildUgenGraph	0x13bd1cc40
		arg this = a SynthDef
		arg func = a Function
		arg rates = nil
		arg prependArgs = []
		var result = nil
		var saveControlNames = [ControlName  P 0 i_out scalar 0]
	a FunctionDef	0x13a6bda80
		sourceCode = "<an open Function>"
		arg i_out = an OutputProxy
		var result = nil
		var rate = nil
		var env = nil
	SynthDef:buildUgenGraph	0x13bd1cc40
		arg this = a SynthDef
		arg func = a Function
		arg rates = nil
		arg prependArgs = []
		var result = nil
		var saveControlNames = nil
	a FunctionDef	0x13bd1b1c0
		sourceCode = "<an open Function>"
	Function:prTry	0x1394ce4c0
		arg this = a Function
		var result = nil
		var thread = a Thread
		var next = nil
		var wasInProtectedFunc = false
	
CALL STACK:
	DoesNotUnderstandError:reportError
		arg this = <instance of DoesNotUnderstandError>
	Nil:handleError
		arg this = nil
		arg error = <instance of DoesNotUnderstandError>
	Thread:handleError
		arg this = <instance of Thread>
		arg error = <instance of DoesNotUnderstandError>
	Object:throw
		arg this = <instance of DoesNotUnderstandError>
	Function:protect
		arg this = <instance of Function>
		arg handler = <instance of Function>
		var result = <instance of DoesNotUnderstandError>
	SynthDef:build
		arg this = <instance of SynthDef>
		arg ugenGraphFunc = <instance of Function>
		arg rates = nil
		arg prependArgs = nil
	Function:play
		arg this = <instance of Function>
		arg target = <instance of Group>
		arg outbus = 0
		arg fadeTime = 0.02
		arg addAction = 'addToHead'
		arg args = nil
		var def = nil
		var synth = nil
		var server = <instance of Server>
		var bytes = nil
		var synthMsg = nil
	Interpreter:interpretPrintCmdLine
		arg this = <instance of Interpreter>
		var res = nil
		var func = <instance of Function>
		var code = "(
{
  var phaseInt, phaseDec..."
		var doc = nil
		var ideClass = <instance of Meta_ScIDE>
	Process:interpretPrintCmdLine
		arg this = <instance of Main>
^^ ERROR: Message 'at' not understood.
Perhaps you misspelled 'as', or meant to call 'at' on another receiver?
RECEIVER: SuperPair(an OutputProxy, an OutputProxy)


unculcated avatar Jun 25 '24 12:06 unculcated

b = Buffer.read(s, Platform.resourceDir +/+ "sounds/a11wlk01.wav");

(
{
  var sig, playhead;
  # sig, playhead = SuperPlayBufDetails.ar(1, b, MouseX.kr(0.1, 10, \exponential), cuePos:b.atSec(b.duration / 2), cueTrig: MouseButton.kr(0, 1, 0));
  SendTrig.ar(Impulse.ar(10), 0, playhead[0]); // send integer component of playhead
  sig!2;
}.play;

// print the elapsed time:
OSCdef(\trig, { |msg|
  if (msg[2] == 0) {
    ("Start: %       Playhead: %       End: %".format(
      0.asTimeString,
      b.atPair([msg[3], 0]).asSecs.asTimeString,
      b.duration.asTimeString)
    ).postln;
  };
}, '/tr');
)


ERROR: Class not defined.
  in interpreted text
  line 4 char 39:

    # sig, playhead = SuperPlayBufDetails.ar(1, b, MouseX.kr(0.1, 10, \exponential), cuePos:b.atSec(b.duration / 2), cueTrig: MouseButton.kr(0, 1, 0));
                                         
    SendTrig.ar(Impulse.ar(10), 0, playhead[0]); // send integer component of playhead
-----------------------------------
-> nil

unculcated avatar Jun 25 '24 13:06 unculcated

SuperPair works
(
x = {
    var bigValue = \bigValue.skr(0);
    bigValue.poll;
    DC.ar(0);
}.play;
)

x.set(\bigValue, 9000.00002.asPair);

perPair: 0.000000
SuperPair: 0.000000
SuperPair: 0.000000
SuperPair: 0.000000
SuperPair: 0.000000
SuperPair: 0.000000
SuperPair: 0.000000
SuperPair: 0.000000
SuperPair: 0.000000
SuperPair: 0.000000
SuperPair: 0.000000
SuperPair: 0.000000
-> Synth('temp__33' : 1156)
SuperPair: 9000.000020
SuperPair: 9000.000020
SuperPair: 9000.000020
SuperPair: 9000.000020
SuperPair: 9000.000020
SuperPair: 9000.000020


unculcated avatar Jun 25 '24 13:06 unculcated

SuperPhasor no sound

b = Buffer.read(s, Platform.resourceDir +/+ "sounds/a11wlk01.wav");

(
{
  var phaseInt, phaseDec;
  var trig = MouseButton.kr(0, 1, 0);
  # phaseInt, phaseDec = SuperPhasor.ar(trig, BufRateScale.kr(b) * MouseX.kr(0.1, 10, \exponential), 0, 0, Float.from32Bits(b.numFrames), 0, Float.from32Bits(b.numFrames/2));
  SuperBufRd.ar(1, b, phaseInt, phaseDec)!2;
}.play;
)

error:

-> Buffer(7, nil, nil, nil, /Applications/SuperCollider.app/Contents/Resources/sounds/a11wlk01.wav)
ERROR: Message 'at' not understood.
Perhaps you misspelled 'as', or meant to call 'at' on another receiver?
RECEIVER:
Instance of SuperPair {    (0x300173e28, gc=18, fmt=00, flg=00, set=02)
  instance variables [2]
    msd : instance of OutputProxy (0x13d0d9408, size=11, set=4)
    lsd : instance of OutputProxy (0x1182df398, size=11, set=4)
}
ARGS:
   Integer 0
PATH: /Users/ss/Library/Application Support/SuperCollider/Extensions/super-bufrd-superpair/HelpSource/Classes/SuperPhasor.schelp

PROTECTED CALL STACK:
	Meta_MethodError:new	0x139123640
		arg this = DoesNotUnderstandError
		arg what = nil
		arg receiver = SuperPair(an OutputProxy, an OutputProxy)
	Meta_DoesNotUnderstandError:new	0x139125980
		arg this = DoesNotUnderstandError
		arg receiver = SuperPair(an OutputProxy, an OutputProxy)
		arg selector = at
		arg args = [0]
	Object:doesNotUnderstand	0x120409f00
		arg this = SuperPair(an OutputProxy, an OutputProxy)
		arg selector = at
		arg args = nil
	a FunctionDef	0x150232718
		sourceCode = "{
  var phaseInt, phaseDec;
  var trig = MouseButton.kr(0, 1, 0);
  # phaseInt, phaseDec = SuperPhasor.ar(trig, BufRateScale.kr(b) * MouseX.kr(0.1, 10, \\exponential), 0, 0, Float.from32Bits(b.numFrames), 0, Float.from32Bits(b.numFrames/2));
  SuperBufRd.ar(1, b, phaseInt, phaseDec)!2;
}"
		var phaseInt = nil
		var phaseDec = nil
		var trig = a MouseButton
	SynthDef:buildUgenGraph	0x13bd1cc40
		arg this = a SynthDef
		arg func = a Function
		arg rates = nil
		arg prependArgs = []
		var result = nil
		var saveControlNames = [ControlName  P 0 i_out scalar 0]
	a FunctionDef	0x13a6bda80
		sourceCode = "<an open Function>"
		arg i_out = an OutputProxy
		var result = nil
		var rate = nil
		var env = nil
	SynthDef:buildUgenGraph	0x13bd1cc40
		arg this = a SynthDef
		arg func = a Function
		arg rates = nil
		arg prependArgs = []
		var result = nil
		var saveControlNames = nil
	a FunctionDef	0x13bd1b1c0
		sourceCode = "<an open Function>"
	Function:prTry	0x1394ce4c0
		arg this = a Function
		var result = nil
		var thread = a Thread
		var next = nil
		var wasInProtectedFunc = false
	
CALL STACK:
	DoesNotUnderstandError:reportError
		arg this = <instance of DoesNotUnderstandError>
	Nil:handleError
		arg this = nil
		arg error = <instance of DoesNotUnderstandError>
	Thread:handleError
		arg this = <instance of Thread>
		arg error = <instance of DoesNotUnderstandError>
	Object:throw
		arg this = <instance of DoesNotUnderstandError>
	Function:protect
		arg this = <instance of Function>
		arg handler = <instance of Function>
		var result = <instance of DoesNotUnderstandError>
	SynthDef:build
		arg this = <instance of SynthDef>
		arg ugenGraphFunc = <instance of Function>
		arg rates = nil
		arg prependArgs = nil
	Function:play
		arg this = <instance of Function>
		arg target = <instance of Group>
		arg outbus = 0
		arg fadeTime = 0.02
		arg addAction = 'addToHead'
		arg args = nil
		var def = nil
		var synth = nil
		var server = <instance of Server>
		var bytes = nil
		var synthMsg = nil
	Interpreter:interpretPrintCmdLine
		arg this = <instance of Interpreter>
		var res = nil
		var func = <instance of Function>
		var code = "(
{
  var phaseInt, phaseDec..."
		var doc = nil
		var ideClass = <instance of Meta_ScIDE>
	Process:interpretPrintCmdLine
		arg this = <instance of Main>
^^ ERROR: Message 'at' not understood.
Perhaps you misspelled 'as', or meant to call 'at' on another receiver?
RECEIVER: SuperPair(an OutputProxy, an OutputProxy)


unculcated avatar Jun 25 '24 13:06 unculcated


SuperPlayBufDetails . not defined

b = Buffer.read(s, Platform.resourceDir +/+ "sounds/a11wlk01.wav");

(
{
  var sig, playhead;
  # sig, playhead = SuperPlayBufDetails.ar(1, b, MouseX.kr(0.1, 10, \exponential), cuePos:b.atSec(b.duration / 2), cueTrig: MouseButton.kr(0, 1, 0));
  SendTrig.ar(Impulse.ar(10), 0, playhead[0]); // send integer component of playhead
  sig!2;
}.play;

// print the elapsed time:
OSCdef(\trig, { |msg|
  if (msg[2] == 0) {
    ("Start: %       Playhead: %       End: %".format(
      0.asTimeString,
      b.atPair([msg[3], 0]).asSecs.asTimeString,
      b.duration.asTimeString)
    ).postln;
  };
}, '/tr');
)

-> Buffer(8, nil, nil, nil, /Applications/SuperCollider.app/Contents/Resources/sounds/a11wlk01.wav)
ERROR: Class not defined.
  in interpreted text
  line 4 char 39:

    # sig, playhead = SuperPlayBufDetails.ar(1, b, MouseX.kr(0.1, 10, \exponential), cuePos:b.atSec(b.duration / 2), cueTrig: MouseButton.kr(0, 1, 0));
                                         
    SendTrig.ar(Impulse.ar(10), 0, playhead[0]); // send integer component of playhead
-----------------------------------
-> nil

sorry about all this. I figured the more info the better


here is may startup file.
im using SuperCollider 3.14.0-dev, built from source.


my startup file:

---


//
// Server.local.options.numOutputBusChannels = 2;
// Server.local.options.numInputBusChannels = 2;
// Server.default.options.inDevice_("Built-in Microph");
// Server.default.options.outDevice_("Built-in Output");
//
// Server.local.options.blockSize = 128;
// p = ServerOptions.new;
// p.memSize = 4096;
// // increase block size (default is 64)
// Server.internal.options.blockSize = 128;
// Server.local.options.sampleRate = 48000;
// Server.internal.options.sampleRate = 48000;
// s.latency = 0.05;
// Server.default.boot;
// make sure you have sc3 plugins installed first
// make sure you have sc3 plugins installed first
(
//var inOut = Server.default.options;inOut.outDevice = "BlackHole 2ch";inOut.inDevice = "BlackHole 2ch";//force devices
s.options.numBuffers = 1024 * 64; // increase if you need to load more samples
s.options.numWireBufs = 128; // increase if you get "exception in GraphDef_Recv: exceeded number of interconnect buffers."
s.options.memSize = 4096 * 256; // increase if you get "alloc failed" messages
s.options.maxNodes = 1024 * 32; // increase if dropouts and the message "too many nodes"
s.options.sampleRate= 44100;
s.options.blockSize = 16;
s.options.numOutputBusChannels = 2; // OUTPUT CHANNELS GO HERE
s.recSampleFormat = "int32";
s.recHeaderFormat="wav";
s.options.numInputBusChannels = 2; // set to hardware input channel size, if necessary
s.latency = 0.3;
// MIDIClient.init; // Untoggle this when you want to do MIDI
// m = MIDIOut.new(0); // Maybe yours is different?
// m.latency = 0.3; // This should match s.latency
// thisProcess.platform.recordingsDir = "/your/path/here/"; // choose where supercollider recordings end up

// scnvim
if (\SCNvim.asClass.notNil) {
	Server.default.doWhenBooted {
		\SCNvim.asClass.updateStatusLine(1, 9670);
	}
};

QtGUI.palette = QPalette.dark; // switch to night mode for floating windows like the meter for example.

// A simple triangle wave synth in stereo with panning and a simple low pass filter
// This synthDef was written by Mads Kjeldgaard and requires the sc3 plugins


s.waitForBoot {
	~clean = SuperClean(2, s); // two output channels, increase if you want to pan across more channels
	~clean.loadSoundFiles("~/Documents/mmd");
	s.sync; // optionally: wait for samples to be read
	~clean.start([0,0,0]); // first 8 out looks like [0,2,4,6]
	SuperClean.default = ~clean; // make the clean key sequenceable inside of SuperCollider
	"[ SuperClean up + running ]".postln;
};


Help.gui;
)

unculcated avatar Jun 25 '24 13:06 unculcated

Thank you for the detail! I think some of the help files are still out of date, holdovers from a previous version. I will take a look this week and make sure all the examples work on my end. More soon

esluyter avatar Jun 25 '24 15:06 esluyter