[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [sc-users] Scope question



With the internal server, you can do Server.scope in SC3. This will pop open a window and all the Buffer stuff, node allocation etc. is taken care of for you. The arguments are numChannels, startingChannel, bufsize, but for most cases the default works.

Again, this only works with the internal server.

S.


On Tuesday, December 30, 2003, at 04:20 PM, ccos wrote:

the scope method is no longer implemented, you
need to use an SCScope view. btw, you probably
already know, but you can just change 'scope' to 'play' in those
examples to just hear them w/ no image.

this is jmc's post on the subject from a little while back.
i don't think there is a helpfile yet for the view.

The SCScope view 'style' property supports 3 styles:

0 = separate waveform plots
1 = overlapping waveform plots
2 = x,y plots of 2 channel pairs.

(
// create a window with a scope view
var f, s;
w = SCWindow("scope test", Rect(128, 64, 512, 512));

n = SCScope(w, Rect(10,10,480,480));
n.bufnum = 0;
n.background = Color.black;
n.resize = 5;
n.style = 2;
n.waveColors = [Color.yellow, Color.blue(1.2), Color.red, Color.green];
w.front;
)

// boot internal server
s = Server.internal;
s.boot;

// allocate a 2 channel buffer
s.sendMsg(\b_alloc, 0, 2048, 2);

// play a 2 channel sound into that buffer using ScopeOut.
(
z = {
var m, f;
f = SampleRate.ir / 64;
m = SinOsc.kr(0.001, 0, 0.8, 1).round(1/60);
ScopeOut.ar([SinOsc.ar(f + 0.01), SinOsc.ar(f * m)], 0)
}.play(s);
)

z.free;

(
z = {
var in, f;
f = MouseX.kr(40,8000,1);
in = {RLPF.ar(BrownNoise.ar(0.5), f, 0.3) }.dup;
ScopeOut.ar(in, 0);
Out.ar(0, in);
}.play(s);
)

z.free;


(
z = {
var in, f, pw;
f = MouseX.kr(40,8000,1);
pw = MouseY.kr(0.01,0.99);
in = RLPF.ar(Pulse.ar([100,100.2],pw,0.5), f, 0.1).softclip;
ScopeOut.ar(in, 0);
Out.ar(0, in);
}.play(s);
)

z.free;

(
z = {
var in, f;
f = MouseX.kr(40,8000,1);
in = RLPF.ar(Saw.ar([100,100.2],0.5), f, 0.1).softclip;
ScopeOut.ar(in, 0);
Out.ar(0, in);
}.play(s);
)

z.free;



// allocate a 4 channel buffer
s.sendMsg(\b_alloc, 0, 2048, 4);


(
z = {
var in, f, pw;
f = MouseX.kr(40,8000,1);
pw = MouseY.kr(0.01,0.99);
in = RLPF.ar(Pulse.ar([120,120.12, 200, 200.1],pw,0.5), f, 0.1).softclip;
ScopeOut.ar(in, 0);
Out.ar(0, Mix(in.clump(2)) * 0.5);
}.play(s);
)

z.free;

n.style = 0;
n.style = 1;
n.style = 2;



--
--- james mccartney james@xxxxxxxxxxxxxx <http://www.audiosynth.com>
SuperCollider - a real time audio synthesis programming language

_______________________________________________
sc-users mailing list
sc-users@xxxxxxxxxxxxxxx
http://www.create.ucsb.edu/mailman/listinfo/sc-users


On Wednesday, December 31, 2003, at 08:14 AM, Umiachi wrote:

I'm using the 12/03/03 binary build.

I know scope has been implimented in the internal
server, but I take it the syntax is now quite
different, no?

I'm attempting to learn SC3 from David Cottle's
Digital Synthesis, Computer Assisted Composition
With SuperCollider txt. I've not had a problem running
any of the Synth.play examples, but many involve the
scope and are formatted like:

Synth.scope(
{
RLPF.ar(
LFSaw.ar([8, 12], 0.2),
LFNoise1.ar([2, 3].choose, 1500, 1600),
0.05
)
}, 0.05
)

or

Synth.scope({SinOsc.ar(200, 0, 0.3)}, 0.1);

How would I format these examples with the SC3 scope?
I've tried these on the internal server, but they
didn't seem to work.





=====
"Freedom is a hallucination created by a pathological lack of Paranoia"

__________________________________
Do you Yahoo!?
Find out what made the Top Yahoo! Searches of 2003
http://search.yahoo.com/top2003
_______________________________________________
sc-users mailing list
sc-users@xxxxxxxxxxxxxxx
http://www.create.ucsb.edu/mailman/listinfo/sc-users

_______________________________________________
sc-users mailing list
sc-users@xxxxxxxxxxxxxxx
http://www.create.ucsb.edu/mailman/listinfo/sc-users