Copy+Paste, and Duplicate don’t seem to do anything except reset cursors, when a curve is selected. Trigger’s won’t copy either. Has this not been implemented yet, or is it broken? Or is there a trick to it? This would be a really useful feature to have working.
IanniX 8.2 Snow Leopard
-DK
Hi!
We know this bug and it is fixed for the next release. And we also added a Redo function 🙂
Will work on it, thanks!
Hi!
Yes, this bug is very annoying and it is fixed in the next release (we still have a bug, that’s why this is not released yet). However, if you fast-rewind your score (by pressing ‘f’ two or three times), your score may work again (it’s a very poor solution I know, but this is the only solution before the next release).
But be aware that free cursors are allowed (cursors without curves). This cursors can be controlled in OSC for example by an other software. We’ll post an example in a few days that shows this feature 🙂
I’m looking forward to Thierry’s input. In the meantime, you might be interested in this: One of my Facebook colleagues, https://www.facebook.com/dick.valentine, just put up a Supercollider example video, along with a description of his patch.
Cheers,
–Bob
I’m not making any progress with this. I invite someone with more knowledge than me about graphics rendering to help. I’ve looked at all the settings for my ATI video card, and have opened those PNG-files in various other programs where they appear non-exceptional.
Thanks
–Bob
Hi there,
Bob pointed me to the forum here after I posted my first (ever) IanniX/SuperCollider example at <<https://www.facebook.com/video/video.php?v=2115690658718>>. My goal in constructing the patch was simply to figure out how to to use the two software capabilities together. I posted the example with the hope that it would be useful to demonstrate the minimum conditions for making it work. So with Bob’s encouragement I’m submitting some details here.
My researches suggest there are three basic approaches to using IanniX together with SC:
1. Communicate to the SuperCollider server directly from IanniX. SCserver listens on port 57110, but it’s vain to send just any commands there. The IanniX score must emit commands recognized by the server, documented exhaustively at <<http://supercollider.svn.sourceforge.net/viewvc/supercollider/trunk/common/build/Help/ServerArchitecture/Server-Command-Reference.html>>.
My example is a beginner’s effort. It seemed simpler to start with one of the scores in the IanniX distribution.
2. Use a IanniX-distributed score (unchanged) to communicate with an intermediate environment (say Processing or pd or Max), drive SuperCollider from there. A lot of flexibility might be latent in an approach like this, but it’s just a little too Rube Goldberg for me.
3. Communicate to the SuperCollider language from IanniX. SC has library objects for this, in particular OSCresponderNode filters incoming OSC messages by command. I get the impression SC developers intended to make this the preferred, or anyway easiest path.
OSC is a foundation capability in SC. SCserver and SClang use it communicate with each other. Traffic between the two is constant when the server’s running, but normally invisible to the user. Observe the traffic in the server with s.dumpOSC.
SClang cannot be directed to listen on an arbitrary port number. It has a listening port open (51720, unless it found that one in use on startup), so that’s the port IanniX messages should be directed to. The IanniX distributed scores talk on 2001, so I changed that to 51720. It can also be made an input parameter, like « number of circles » etc.
A SynthDef should be loaded in the server for the score to activate and interact with. My example uses a Karplus-Strong plucked string implementation. All that’s needed then is to start an OSCresponderNode listening. The SClan code is short and quite simple:
g = OSCresponderNode(nil, ‘/trigger’,
{ |time, responder, msg|
var pitch, octave, triggerIndex = msg[1];
var scale = [ 28, 29, 31, 33, 35, 36, 38 ].midicps;
note = scale[ triggerIndex % 7 ];
octave = (triggerIndex / 7).floor;
Synth(« KSpluck », [ pitch, note*(2**octave), amp, 1.5]);
}
).add;
This responder is now listening for trigger messages, calculating pitches based on trigger_id (in msg[1]) and instantiating a sounding Synth for each one.
That’s about it for the highlights. I’m pretty excited about getting this to work, there’s so much potential latent in the objects that IanniX affords. Thanks you guys for a nicely thought out piece of software!
–Dick Valentine
I notice the scores distributed with IanniX construct trigger_id’s and cursor_id’s prepended with « 200 » and « 100 ». Is there a reason, are object id’s required to be unique?
Very nice writeup, Dick. It tempts me to consider taking up Supercollider. However, I’ve been fooling around on the periphery of Pd and Max for a decade and still haven’t gotten past novice stage there!
Cheers,
–Bob
Probably best to document this on the downloads page so people with os x4.11 (like me) don’t bother downloading something that doesn’t work…
sorry for being such a noob but how do i change 2001 to 51720 ??
got it had to modify the jscript ; )
is it possible to have a look at your KSpluck synthdef aswell?
thanks a lot for the help! 😉
another question how do i show up the script editor for a new document ?
Inspector > File inspector > Scripts & Styles > Current project
Double-click « New script »
@Guest wrote:
another question how do i show up the script editor for a new document ?
Cheers,
–Bob
© 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. |