I was playing around with https://aimxhaisse.com/aerodynamic-en.html when I stumbled upon the following really strange issue:
param = "il-macquillage-lady.wav"
param1 = "il-macquillage-lade.wav"
define :play_sample do |what|
puts what
sample what, beat_stretch: 16, start: 0, finish: 1
end
play_sample(param1)
sleep 10
play_sample(param)
This code will play a file named "il-macquillage-lade.wav"
but will not play "il-macquillage-lady.wav"
but throw the following error:
Runtime Error: [buffer 1, line 5] - RuntimeError
Thread death!
Unknown sample description: nil
expected a string containing a path
However the puts statement does its work:
=> Starting run 66
=> Redefining fn :play_sample
{run: 66, time: 0.0}
├─ "il-macquillage-lade.wav"
└─ sample "~",
"il-macquillage-lade.wav", {beat_stretch: 16, start: 0, finish: 1, rate: 0.4881}
{run: 66, time: 10.0}
└─ "il-macquillage-lady.wav"
=> Completed run 66
=> All runs completed
=> Pausing SuperCollider Audio Server
Of course both files exist, sample param
will play "il-macquillage-lady.wav"
.
This doesn’t seem to occur with other file names as far as I tried.
Also the content of "il-macquillage-lady.wav"
doesn’t matter I also tried renaming another .wav
and same behaviour, so this is not related to the file itself.
I’m totally baffled and hope someone can reproduce or even track down this.