SuperCollider Forum
May 21, 2013, 05:03:04 AM *
Welcome, Guest. Please login or register.

Login with username, password and session length
News: The SuperCollider forum is currently experiencing a rash of spambot registrations. New user requests may not be approved quickly as a result -- and if your email address looks like spam, it might not be approved at all. We are working to improve the security of the registration process, and to provide alternate means to contact the administrators to get a new account. Thanks for your patience.
 
  Home Help Search Calendar Login Register  
  Show Posts
Pages: [1] 2 3 ... 9
1  Howto / Installing and compiling / Re: Crash when accessing help on: June 01, 2009, 09:43:10 PM
My guess is you have installed the Safari 4 beta? If so, there is a problem with the WebKit version in use there, and we are waiting for the final Safari 4 to come out before fixing the problem. You can either uninstall Safari 4 (using the uninstaller that came with it), or do a search on the sc-users mail list for a script that allows for Safari 3 and Safari 4 to live side by side...
Hope that helps.
Josh
2  General Discussion / General Discussion / Re: The "What's wrong with this picture?" game on: February 13, 2009, 03:06:53 PM
No Synths are running, yet there is a wave form in the scope. This actually does happen sometimes (as a bug in how the Stethoscope sometimes stops updating its view when cmd-. is pressed), but it certainly LOOKS wrong.

Josh
3  Howto / Synths / Re: fun: frequency-stretching evil on: December 20, 2008, 10:47:11 PM
a little more evil?
Code:
b = Buffer.read(s, "sounds/a11wlk01.wav");

(
SynthDef('freq-stretch-evil', { |stretch = 1, center = 440, out|
var sig = PlayBuf.ar(1, b, loop: 1);
// stretched
sig = PitchShift.ar(sig, 0.2, stretch * [0.25, 0.33], timeDispersion: 0.5, pitchDispersion: 0.5).sum;
// re-centered
sig = FreqShift.ar(sig, center * (1-stretch) - [200, 100, 50]).sum;
Out.ar(out, sig ! 2);
}, metadata: (specs: (stretch: [0.25, 4, \exp], center: \freq))).memStore;

SynthDescLib.at('freq-stretch-evil').makeWindow;
)

4  Howto / GUI and interaction / Re: On/off button on: November 27, 2008, 12:43:38 AM
Maybe something like this (though there are many solutions). This sets up the button, and its action checks an array for functions to execute based on the buttons value. Then, your EZ sliders check to see if the Synth is active (the var 'a' is set to nil when you kill the synth), and if it is, a set message is sent.

HTH

Josh
Code:
(
SynthDef("noise", { arg param, mul,paramcrack,mulcrack,pan;
Out.ar(0,Pan2.ar( Dust.ar(param,mul),pan,0.5)
+ Pan2.ar(Crackle.ar(paramcrack,mulcrack),pan * -1,0.5))}).load(s);
)

(
var w, paramslid, mulslid,paramcrackslid,mulcrackslid,panslid; //create slider variable
var buttonActions, a;
//
//a=Synth(\noise);

buttonActions = [
{a.free; a = nil},
{a = Synth(\noise, [\param, paramslid.value, \mul, mulslid.value, \paramcrack, \paramcrackslid.value, \mulcrack, mulcrackslid.value, \pan, panslid.value])}
];

w=SCWindow("noise",Rect(10,200,400,150));

w.front;

w.view.decorator= FlowLayout(w.view.bounds);

paramslid = EZSlider(w, 250@24,  // window containing views, dimensions 250w by 24h
"param", ControlSpec(0.9, 4000, 'exponential', 0.01),// slider name, control spec range
{arg ez;a.notNil.if({ a.set(\param,ez.value)})}, // function called when value changes must be arg
 1); // inital value when slider loaded

SCButton.new(w, 100@24)
.states_([
["Start Synth", Color.black, Color.green],
["Stop Synth", Color.black, Color.red]
])
.action_({arg button;
buttonActions[button.value].value
});

mulslid = EZSlider(w, 250@24,  // window containing views, dimensions 250w by 24h
"mul", ControlSpec(0.2, 2.0, 'exponential', 0.01),// slider name, control spec range
{arg ez; a.notNil.if({a.set(\mul,ez.value)})}, // function called when value changes must be arg
 1); // inital value when slider loaded

w.view.decorator.nextLine;

paramcrackslid = EZSlider(w, 250@24,  // window containing views, dimensions 250w by 24h
"paramcrack", ControlSpec(0.9, 2.0, 'exponential', 0.01),// slider name, control spec range
{arg ez; a.notNil.if({a.set(\paramcrack,ez.value)})}, // function called when value changes must be arg
 1); // inital value when slider loaded

w.view.decorator.nextLine;

mulcrackslid = EZSlider(w, 250@24,  // window containing views, dimensions 250w by 24h
"mulcrack", ControlSpec(0.2, 2.0, 'exponential', 0.01),// slider name, control spec range
{arg ez; a.notNil.if({a.set(\mulcrack,ez.value)})}, // function called when value changes must be arg
 1); // inital value when slider loaded

w.view.decorator.nextLine;

panslid = EZSlider(w, 250@24,  // window containing views, dimensions 250w by 24h
"pan", ControlSpec(-1.0, 1.0, 'lin', 0.01),// slider name, control spec range
{arg ez; a.notNil.if({a.set(\pan,ez.value)})}, // function called when value changes must be arg
 1); // inital value when slider loaded


w.onClose_({a.free;});


)
5  Events / Performances / Re: Recent gig in Shanghai on: November 16, 2008, 11:16:50 PM
I want a Hello Kitty guitar:

http://www.dewdrop-world.net/albums/China2008/China2008-Pages/Image31.html

Josh
6  Howto / Language questions / Re: .fork/argument question on: November 16, 2008, 11:15:32 PM
Here is an easy way to test out what your code is doing (and may be helpful for future explorations):

5.do({arg a;
    "A is now ".post;
    a.postln;
    });

Notice that ONLY the values of 'a' will have the first part of the string printed... there is a '5' that will show up in the post window as well, but this is what the interpreter returns from the expression. .do returns its receiver, in this case, the integer 5.

Hope that helps.

Josh

7  General Discussion / General Discussion / Re: loading buffers automatically with Pbind on: November 10, 2008, 12:49:34 PM
Well... there is now VDiskIn. You can slow or speed samples down (but can't play them in reverse). Perhaps that helps?

Josh
8  General Discussion / General Discussion / Re: Channels choice in with Soundflower on: November 05, 2008, 11:30:06 AM
I use Jack quite a bit (and was just about to suggest it as well). Make sure the number of outputs from SC is high enough:

s.options.numOutputBusChannels_(Cool;

And I think the actual device name for Jack is JackRouter:

s.options.device_("JackRouter");

Then boot.

THEN - you need to go into Jack Pilot and connect your scsynth outputs to your Logic inputs. Since you are using Jack, you actually don't have to change your Out.ar anymore! So, Out.ar(0 ... ) is the same as scsynth - out1 in Jack. Open the Connections Manager in Jack. On Send Ports click the triangle to the right of scsynth to bring down its ports. Then, click 'out1' once. Go to the Receive Ports, open Logic's triangle, and DOUBLE-CLICK the port you want SC to go into (probably in5?). Both out1 and in5 will now be red. This tells you they are connected, and you should be ready to go.

Best,

Josh

9  General Discussion / General Discussion / Re: Channels choice in with Soundflower on: November 04, 2008, 03:40:13 PM
If Soundflower is your sound driver choice in SC, this should output to Soundflower 5:

Out.ar( 4, Pan2.ar(mastera * sound * envgen,0))   

Best,

Josh
10  General Discussion / General Discussion / Re: Channels choice in with Soundflower on: November 04, 2008, 05:51:47 AM
I don't think there is a way to do this with ServerOptions. You need to just send to Out.ar on 4 and 5 (since '1' id Out at 0)

Josh
11  General Discussion / General Discussion / Re: Viewing spectral data on: November 02, 2008, 04:23:38 AM
Using the getn approach, you can use PV_FreqBuffer, and the data will already be calc'd for you.

Josh
12  General Discussion / General Discussion / Re: Max (float) to trigger a sound in SC on: October 19, 2008, 11:32:50 AM
oops! That should be * the EnvGen
13  General Discussion / General Discussion / Re: Max (float) to trigger a sound in SC on: October 18, 2008, 11:14:23 PM
So = I think this may work:

                                      var envpeak = Latch.kr(t_triga, t_triga);
                                      var envelope = Env([0.00001, 1, 0.00001], [1,1], ['exp', 'lin']).circle * envpeak;

I am also changing the level to 0 (since 'exp' and zero are, well, bad)

Josh
14  Howto / Synths / Re: Looking for a ugen: Trigger on value change? on: October 03, 2008, 10:10:44 PM
Something like:
Code:
{Trig1.kr(HPZ1.kr(MouseX.kr(0, 1)).abs).poll}.play(s)

Hope that helps!

Josh
15  Howto / Language questions / Re: possible to refer to an individual channel within a multichannel bus object? on: September 01, 2008, 02:39:12 PM
Yes... they are always a contiguous block and sequential. Out inside UGens relies on this.

Josh
Pages: [1] 2 3 ... 9
Powered by MySQL Powered by PHP Powered by SMF 1.1.4 | SMF © 2006-2007, Simple Machines LLC Valid XHTML 1.0! Valid CSS!