Yes, ID have to be unique. ID allows you to target actions on an specific object. For example, to move an object, you can type (in script) setPos 3 0 0 0 to place the object with ID 3 at the position (x,y,z)=(0,0,0).
However, there is a mistake in our scripts examples that will be fixed for next release. We don’t want to prepend ID with « 100 » or « 200 » but we want to make ID range (0->1000 for cursors, 1000->2000 for curves, 2000+ for triggers).
I added a « 10.5+ » on download pages.
hello there!
For our project we are trying to create a normal timeline, where multiple curves are actually being controlled by one cursor. an illustration:
maybe it is possible to control the position of the other cursors, with the x location of the timeline-cursor?
would be a blast if this is easily possible 🙂
cheers,
charlie
Hi Charlie!
Well, we thought about this case but it’s not so easy (what about polyphony, when there are multiple y positions for a given x-position?).
But you can have a look at the example « Xenakis Metastaseis linear » that is very close to your question (thanks to the messages arguments collision_curve_id, collision_xPos, collision_yPos, collision_value_x and collision_value_y, cf documentation).
Hope it can help you!
thanks for the quick reply!
the example shows indeed a single timeline cursor 🙂 but now the different curves have the same mapping (because of the single cursor). Is it possible with osc to control other cursors with a timeline cursor?
cheers, charlie
@Guest wrote:
another question how do i show up the script editor for a new document ?
You can find a version of KSpluck, along with more physically modeled SuperCollider patches, at http://www.informatics.sussex.ac.uk/users/nc81/courses/cm1/scfiles/11.1%20Physical%20Modelling.html
@vvvv1 wrote:
is it possible to have a look at your KSpluck synthdef aswell?
thanks a lot for the help! 😉
… sorry, quoted the wrong question first time …
There’s a version of KSpluck, along with more physically modeled SuperCollider patches, at http://www.informatics.sussex.ac.uk/use … lling.html
Hey thanks dick for everything but i still got some problems
when i change my sawbass arg note to freq to have iannix’s triggerIndex control it’s pitch it just clips and crashes…
hmm don’t get much on how Iannix messages works and the one you wrote either
or perhaps it is just some stupid mistalkes i’ve made
it will be great if i could get some explanations for newbies like me!: )
thanks a lot ; )
(
SynthDef(
« sawbass »,
{
|note = 35, amp=1.2, cutoff=350, decay=1|
var env, audio;
env = EnvGen.kr(Env.new([0,1,0],[0.001,2],[3,-50]),doneAction:2);
audio = RLPF.ar(Saw.ar(note.midicps,amp),cutoff)*env;
audio = CombC.ar(audio,1,0.125,decay);
Out.ar([0,1],audio);
}
).send(s);
)
(
g = OSCresponderNode(nil, ‘/trigger’,
{ |time, responder, msg|
var pitch, octave, triggerIndex = msg[1];
var scale = [ 28, 29, 31, 33, 35, 36, 38 ].midicps;
var note = [ triggerIndex % 7 ];
octave = (triggerIndex / 7).floor;
Synth(« sawbass »/*, [ freq, note*(2**octave), amp, 1.5]*/);
}
).add(s);
)
NetAddr.langPort
@Guest wrote:
Hey thanks dick for everything but i still got some problems
when i change my sawbass arg note to freq to have iannix’s triggerIndex control it’s pitch it just clips and crashes…
hmm don’t get much on how Iannix messages works and the one you wrote either
or perhaps it is just some stupid mistalkes i’ve made
it will be great if i could get some explanations for newbies like me!: )
thanks a lot ; )
(
SynthDef(
« sawbass »,
{
|note = 35, amp=1.2, cutoff=350, decay=1|
var env, audio;
env = EnvGen.kr(Env.new([0,1,0],[0.001,2],[3,-50]),doneAction:2);
audio = RLPF.ar(Saw.ar(note.midicps,amp),cutoff)*env;
audio = CombC.ar(audio,1,0.125,decay);
Out.ar([0,1],audio);
}
).send(s);
)
(
g = OSCresponderNode(nil, ‘/trigger’,
{ |time, responder, msg|
var pitch, octave, triggerIndex = msg[1];
var scale = [ 28, 29, 31, 33, 35, 36, 38 ].midicps;
var note = [ triggerIndex % 7 ];
octave = (triggerIndex / 7).floor;
Synth(« sawbass »/*, [ freq, note*(2**octave), amp, 1.5]*/);
}
).add(s);
)
NetAddr.langPort
well…
I tried your program out, found it made a few low grumbly noises and then quit on a memory allocation fail.
I’m probably not the guy to diagnose your SC troubles, just a beginner myself. A glance at your code above suggests you might be generating a lot of Synths that aren’t being removed fast enough. That would cause the memory fault. The pitch selection logic seems a bit odd. I tried your code with the sawbass decay a bit shorter, and pitch selection tweaked as follows, and it worked for me:
(
SynthDef(
« sawbass »,
{
|note = 35, amp=1.2, cutoff=350, decay=1|
var env, audio;
env = EnvGen.kr(Env.new([0,1,0],[0.001,0.4],[3,-5]),doneAction:2);
audio = RLPF.ar(Saw.ar(note.midicps,amp),cutoff)*env;
audio = CombC.ar(audio,1,0.125,decay);
Out.ar([0,1],audio);
}
).send(s);
)
(
g = OSCresponderNode(nil, ‘/trigger’,
{ |time, responder, msg|
var pitch, triggerIndex = msg[1];
var scale = [ 40, 41, 43, 45, 47, 48, 50 ];
var note = scale[ triggerIndex % 7 ];
Synth(« sawbass », [ note, note, amp, 1.5] );
}
).add(s);
)
I resolved this, but not in a satisfying way. I had a spare video adapter card which has an nVIDIA GPU (a GeForce 6200). I replaced the ATI card (a Radeon 9200) originally installed in the Shuttle system. This solved my trigger rendering issues under both Win-XP and Linux.
Cheers,
–Bob
thanks for your reply, it works better but still not great !!
sc obviously can’t take too many triggers at the same time,
i wonder if there is a way to work around that
all the best
Yau
Hi where can i find the documentation for the scripts?
thank you
i can’t open the scripts window on a new document either how can i do that?
@Guest wrote:
thanks for your reply, it works better but still not great !!
sc obviously can’t take too many triggers at the same time,
i wonder if there is a way to work around thatall the best
Yau
well … I’m pretty sure SuperCollider can receive and process plenty of OSC traffic, certainly as much as you can transmit from IanniX. The question is what your program does with the traffic.
Try this:
OSCresponderNode(nil, ‘/trigger’, { |time, responder, msg| msg.postln }).add;
OSCresponderNode(nil, ‘/cursor’, { |time, responder, msg| msg.postln }).add;
Then see how many cursors and triggers you can add before SC gives up or misbehaves. I think you’ll find IanniX hangs on the send and display side before SC stops handling traffic. Yes, you will hit trouble if you try to instantiate a thousand UGens at once. Is that a limitation of SC, or of your hardware config?
The biggest problem with your patch is the comb you have echoing each new note. I couldn’t figure out what you intend the relation between the echoes and the pace of triggers to be. I believe that fixing your note/frequency selection logic and removing the comb will make your patch perfectly well-behaved.
cheers
Dear Community,
It would be great with a walk trough, step by step, on how to configure iannix with ableton live, via max4live and CNMAT OSC. Who´s up for the tutorial ???
All the best
Carsten 🙂
MBD73
Thanks Bob for debugging some OpenGL bugs!
© IanniX Association
Qu'est-ce que IanniX ? | Téléchargement | Showcase | Forum | Recherche | À propos
Cookie | Durée | Description |
---|---|---|
cookielawinfo-checkbox-analytics | 11 months | This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Analytics". |
cookielawinfo-checkbox-functional | 11 months | The cookie is set by GDPR cookie consent to record the user consent for the cookies in the category "Functional". |
cookielawinfo-checkbox-necessary | 11 months | This cookie is set by GDPR Cookie Consent plugin. The cookies is used to store the user consent for the cookies in the category "Necessary". |
cookielawinfo-checkbox-others | 11 months | This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Other. |
cookielawinfo-checkbox-performance | 11 months | This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Performance". |
viewed_cookie_policy | 11 months | The cookie is set by the GDPR Cookie Consent plugin and is used to store whether or not user has consented to the use of cookies. It does not store any personal data. |