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
|
|
|
|
|
3
|
Howto / Synths / Re: fun: frequency-stretching evil
|
on: December 20, 2008, 10:47:11 PM
|
a little more evil? 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 ( 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;});
)
|
|
|
|
|
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
|
|
|
|
|
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_(  ; 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
|
|
|
|
|
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
|
|
|
|
|