i really had an old version of your quark. i installed it for some reasons by hand.
it runs now much much better. thank you !
with buffersize set to 64 and s.latency set to zero i measure something like 9ms latency
there is one error i experience:
Pdefâs throw an âMessage âtimeToNextBeatâ not understood.â error.
(
SynthDef(\clicks,{|freq=5000|
Out.ar(0,
SinOsc.ar(3000!2, 0, 0.5) * EnvGen.kr(Env.perc(0.001,0.01),doneAction: 2)
);
}).add
)
(
Pdef(\test2,
Pbind(\instrument, \clicks,\dur, 1/2)
)
)
Pdef(\test2).play(MIDISyncClock, quant: 1)
Pdef(\test2).stop
if i evaluate Pdef(\test2 a second time while playing it throws that error.
Pbindefâs behave like expected.
Pbindef(\test1,\instrument, \clicks,\dur, 1/2);
Pbindef(\test1).play(MIDISyncClock, quant: 4);
Pbindef(\test1).stop;
here is the complete error message
ERROR: Message 'timeToNextBeat' not understood.
RECEIVER:
class MIDISyncClock (0x107daa0) {
instance variables [19]
name : Symbol 'MIDISyncClock'
nextclass : instance of Meta_MIDISysDataDispatcher (0x16e4820, size=19, set=5)
superclass : Symbol 'Object'
subclasses : nil
methods : nil
instVarNames : nil
classVarNames : instance of SymbolArray (0x107db60, size=15, set=3)
iprototype : nil
cprototype : instance of Array (0x107dbe0, size=15, set=4)
constNames : nil
constValues : nil
instanceFormat : Integer 0
instanceFlags : Integer 0
classIndex : Integer 615
classFlags : Integer 0
maxSubclassIndex : Integer 615
filenameSymbol : Symbol '/root/.local/share/SuperCollider/downloaded-quarks/ddwMIDI/MIDISyncClock.sc'
charPos : Integer 176
classVarIndex : Integer 130
}
ARGS:
Float 1.000000 00000000 3FF00000
PROTECTED CALL STACK:
Meta_MethodError:new 0xffb160
arg this = DoesNotUnderstandError
arg what = nil
arg receiver = MIDISyncClock
Meta_DoesNotUnderstandError:new 0xffc320
arg this = DoesNotUnderstandError
arg receiver = MIDISyncClock
arg selector = timeToNextBeat
arg args = [ 1 ]
Object:doesNotUnderstand 0xb13c20
arg this = MIDISyncClock
arg selector = timeToNextBeat
arg args = nil
EventPatternProxy:constrainStream 0x12afd20
arg this = Pdef('test2')
arg stream = a Routine
arg newStream = a Routine
arg inval = ( )
arg cleanup = an EventStreamCleanup
var delta = nil
var tolerance = nil
var quantBeat = 0
var catchUp = nil
var deltaTillCatchUp = nil
var forwardTime = nil
var quant = 1
EventPatternProxy:embedInStream 0x12af960
arg this = Pdef('test2')
arg inval = ( )
arg embed = true
arg default = nil
var outval = ( 'instrument': clicks, 'msgFunc': a Function, 'dur': 0.5, 'amp': 0.1,
'server': localhost, 'sustain': 0.4, 'isPlaying': true, 'freq': 261.6255653006, 'hasGate': false,
'id': [ 1209 ] )
var count = 0
var pat = a Pbind
var test = true
var resetTest = nil
var stream = a Routine
var cleanup = an EventStreamCleanup
Routine:prStart 0x1591a60
arg this = a Routine
arg inval = ( )
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 Routine>
arg error = <instance of DoesNotUnderstandError>
Object:throw
arg this = <instance of DoesNotUnderstandError>
Object:doesNotUnderstand
arg this = <instance of Meta_MIDISyncClock>
arg selector = 'timeToNextBeat'
arg args = [*1]
EventPatternProxy:constrainStream
arg this = <instance of Pdef>
arg stream = <instance of Routine>
arg newStream = <instance of Routine>
arg inval = <instance of Event>
arg cleanup = <instance of EventStreamCleanup>
var delta = nil
var tolerance = nil
var quantBeat = 0
var catchUp = nil
var deltaTillCatchUp = nil
var forwardTime = nil
var quant = 1
EventPatternProxy:embedInStream
arg this = <instance of Pdef>
arg inval = <instance of Event>
arg embed = true
arg default = nil
var outval = <instance of Event>
var count = 0
var pat = <instance of Pbind>
var test = true
var resetTest = nil
var stream = <instance of Routine>
var cleanup = <instance of EventStreamCleanup>
Routine:prStart
arg this = <instance of Routine>
arg inval = <instance of Event>
^^ The preceding error dump is for ERROR: Message 'timeToNextBeat' not understood.
RECEIVER: MIDISyncClock