Skip to content

Conversation

@zzsnzmn
Copy link

@zzsnzmn zzsnzmn commented Dec 16, 2021

Still a bit of a WIP, but the main plumbing is there.

engine/poly.sc Outdated
}

PTCrowOut : PTOp {
//
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We can either take 2 or 3 arguments, depending on whether we want the channel to be built into the op name.

I think my favorite is (by example) something like

CROW.V= 1 SN K

Which will copy the voltage on bus K to crow every sixteenth note.

I would probably add a norns parameter per crow output for its slew time, and not (yet?) have them controllable from the inside of PHONOTYPE. Either that, or we might want a CROW.VS= 1 SN K 0.3 alternate which allows you to specify slew, and the original one always has a slew of 0.

I am also interested (maybe in a later PR) in CROW.ACT <output> <trigger>, which will fire the action for that output, and then have a corresponding set of parameters in Norns to set crow actions (choose between trigger and AR envelope) and length.

engine/poly.sc Outdated
PTDbg << args;
PTDbg << resources;

^SendReply.kr(Impulse.kr(0), "/crow/out", values: [1, 2, 3]);
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You will want something like

var iargs = PTOp.instantiateAll(args); // this "instantiates" all the children for you.
SendReply.kr(args[1], "/crow/out", values: [iargs[0], iargs[2], 0]);
^Latch.kr(iargs[2], iargs[1]) // Just output the sample-and-hold.

engine/poly.sc Outdated

min { |args, resources|
^0;
}
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Probably draw your min and max from the input signal.

engine/poly.sc Outdated
var v = iargs[1];
// s is slew ... hardcoded for now
var s = 0.01;
^SendReply.kr(Impulse.kr(0), "/crow/out", values: [n, s, v]);
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Here is where you want to replace Impulse.kr(0) with another argument. I suggest the first arg (args[0]) be the trigger, and shift everything else up one.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants