Superdirt lazy samples loading

I run a pretty old machine here too (+10years), it has 16GB of ram but I find superdirt/sc sample loading will often just push it over the edge into swap... which requires meticulous sample set management.

This has made a huge difference to me ... it's made possible the use of some much lower spec machines for teaching/loaning, it's really opened up a lot of possibilities - thanks again :smiley:

edit: one thing I will note, is it doesn't seem to handle missing samples too gracefully now:

ERROR: Message 'at' not understood.
RECEIVER:
   nil
ARGS:
   Symbol 'notYetRead'

PROTECTED CALL STACK:
	Meta_MethodError:new	0x5635fca72b40
		arg this = DoesNotUnderstandError
		arg what = nil
		arg receiver = nil
	Meta_DoesNotUnderstandError:new	0x5635fca74b00
		arg this = DoesNotUnderstandError
		arg receiver = nil
		arg selector = at
		arg args = [ notYetRead ]
	Object:doesNotUnderstand	0x5635fc5cec00
		arg this = nil
		arg selector = at
		arg args = nil
	DirtSoundLibrary:getEvent	0x5635fd3f8000
		arg this = a DirtSoundLibrary
		arg name = lidvox
		arg index = 9.0
		var allEvents = nil
		var event = nil
	DirtEvent:mergeSoundEvent	0x5635fca35cc0
		arg this = a DirtEvent
		var soundEvent = nil
	a FunctionDef	0x5635fca351c0
		sourceCode = "<an open Function>"
	a FunctionDef	0x5635fd813fc0
		sourceCode = "<an open Function>"
	Function:prTry	0x5635fcd09600
		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>
	Environment:use
		arg this = <instance of Event>
		arg function = <instance of Function>
		var result = nil
		var saveEnvir = <instance of Environment>
	DirtEvent:play
		arg this = <instance of DirtEvent>
	OSCFuncBothMessageMatcher:value
		arg this = <instance of OSCFuncBothMessageMatcher>
		arg msg = [*13]
		arg time = 395.80448335991
		arg testAddr = <instance of NetAddr>
		arg testRecvPort = 57120
	OSCMessageDispatcher:value
		arg this = <instance of OSCMessageDispatcher>
		arg msg = [*13]
		arg time = 395.80448335991
		arg addr = <instance of NetAddr>
		arg recvPort = 57120
	Main:recvOSCmessage
		arg this = <instance of Main>
		arg time = 395.80448335991
		arg replyAddr = <instance of NetAddr>
		arg recvPort = 57120
		arg msg = [*13]
^^ The preceding error dump is for ERROR: Message 'at' not understood.
RECEIVER: nil
1 Like