Hi - And some beginners help (sadly just with pan 1)

Hi, just recently started trying to learn this crazy beast and have stumped myself (yeah, not too hard really). The simplest "pan right" has stopped working, or maybe never did, can't really say for sure. The following will play, but mostly out of the left speaker.

d1 $ s "bd" # pan 1.0

The SuperCollider scope shows the same. Strong signal on channel 0 (left?), tiny signal on channel 1 (right?). Changing pan to 0 silences whatever was on channel 1 so, half of pan is working. Thinking it might be a problem with the mono bd sample, I tried outdoor:0 and get the same thing.

I turned on server OSC message logging and see

  [ "/s_new", "dirt_sample_1_2", -1, 1, 5765, "bufnum", 348, "sustain", 0.283166, "speed", 1, "freq", 261.626, "endSpeed", 1, "begin", 0, "end", 1, "pan", 1, "out", 36 ],

So I took those same arguments and made a similar call from SuperCollider using the same synth and buffer

x = Synth.new(\dirt_sample_1_2, [\out, 0, \bufnum, 348, \sustain, 0.283166, \speed, 1, \freq, 261.626, \endSpeed, 1, \begin, 0, \end, 1, \pan, 1.0]);

which, not surprisingly, generated completely different OSC messages

[ 9, "dirt_sample_1_2", 5766, 0, 1, "out", 0, "bufnum", 348, "sustain", 0.283166, "speed", 1, "freq", 261.626, "endSpeed", 1, "begin", 0, "end", 1, "pan", 1 ]

but behaved flawlessly.

The biggest difference I see is that Tidal/SuperDirt is using a separate bus (36 in the captured osc message). When I change SC's scope to display the bus indicated in the OSC messages everything is as I would expect when panning in Tidal (pan 0 shows signal on channel 36 nothing on 37, 0.5 shows signal on both and pan 1 shows nothing on 36 and signal on 37). So it seems that there's something interesting happening when routing the audio from the dirt bus back to the main output bus. This is where my limited knowledge of SuperCollider and Tidal end and I turn to the experts.

Some specifics:
Windows 10
GHCI: 9.0.1
Tidal: 1.78
SuperCollider: 3.11.1
VS Code: 1.59.1
Tital Extension: 1.4.1

I did have some odd errors during (manual) installation (I'd already been using SuperCollider). The cabal install tidal would error out with some odd build error but restarting the install would build the failing module just fine. This happened about three times. Then nothing was working and I noticed the build finished with a warning about using the lib option to install. After trying that everything seems to be working just fine. Thought I'd mention it, just in case.

Anyway, "hi." Enjoying learning Tidal and hopefully I'll have something more interesting than "pan right doesn't work" in the future.


Hmm this is a new one on me! Thanks for the detailed info. Are you using the default SuperDirt.start to start superdirt or something else?

Sorry, realized as I was going to sleep that I should have mentioned that. Just simple Superdirt.start. I just tried killing the server and using superdirt_startup.scd (and verifying that it matches https://raw.githubusercontent.com/musikinformatik/SuperDirt/v1.7.2/superdirt_startup.scd) to boot everything but that results in the same behavior.

After reading through a bit more SuperDirt code it looked like dirt_monitor is responsible for mixing the wet and dry busses onto the output bus so I decided to try routing the dry bus directly to the output bus and pan started working. I put pieces back in one-at-a-time and eventually got back to nothing being commented out and pan was still working. I guess that I could have just recompiled the class library without doing anything and it would have worked.

Color me stumped but happy. Back to learning. :smiley:

Heh, that's a strange one, but glad it's working!