crucialfelix / crucial-library

SuperCollider music programming library.
17 stars 4 forks source link

Instr generated defName #2

Closed crucialfelix closed 12 years ago

crucialfelix commented 12 years ago

Reported by JH

Instr([\busfx, \companderd], { arg bus, numChannels, thresh, slopeBelow, slopeAbove, clampTime, relaxTime, postGain, maxDelay = 0.15;
        var sig = In.ar(bus, numChannels),
        dly = DelayN.ar(sig, maxDelay, clampTime);
        Compander.ar(dly, sig, thresh, slopeBelow, slopeAbove, clampTime, relaxTime, postGain);
        // CompanderD.ar(sig, thresh, slopeBelow, slopeAbove, clampTime, relaxTime, postGain);
}, [\audiobus, nil, [0, 1, \linear, 0, 0.5], [0.1, 10, \exponential, 0, 1], [0.1, 10, \exponential, 0, 1], [0.001, 5, \exponential], [0.001, 5, \exponential], [0.1, 10, \exponential, 0, 1]]);

p = Patch("busfx.companderd", [53, 2, 0.24418604651163, 1, 0.45486335881451, 0.0024383806993711, 0.009755722081855, 1, 0.15]);

q = Patch("busfx.companderd", [65, 1, 0.11627906976744, 1, 0.26218307403758, 0.0032819756113027, 0.026264685871815, 1, 0.15]);

a = p.asSynthDef;
b = q.asSynthDef;

The values provided in the patch argument list are different, so it should go one of two ways:

These defs have the same name, but actually:

a.allControlNames.do(_.postln); ""

The args are "noncontrol" -- hardcoded, no control inputs. So both patches would play the same way as the first one that was created.

crucialfelix commented 12 years ago

They have different names for me !

SynthDef:companderd#u

SynthDef:companderd#CDv9eK

SynthDef:companderd#u

SynthDef:companderd#CDv9eK

// reloading it to double check Instr("busfx.companderd")

Patch("busfx.companderd")

Patch("busfx.companderd")

SynthDef:companderd#u

SynthDef:companderd#CDv9eK

I don't see any commits since the last release that would have fixed or altered this.

the u kind of freaks me out. seems like it couldn't be unique, but it obeys the hash