doc update

This commit is contained in:
nik gaffney 2022-08-28 12:27:01 +02:00
parent 37ac970ea6
commit b6622a1b55
464 changed files with 4741 additions and 3522 deletions

View file

@ -23,12 +23,11 @@ instance of class BinaryOpUGen which has the two operands as inputs.
@racketblock[ @racketblock[
{ var a, b; a = LFSaw.ar(220); b = LFPulse.ar(1442); [a, b, a * b] }.plot; { var a, b; a = LFSaw.ar(220); b = LFPulse.ar(1442); [a, b, a * b] }.plot;
:: ]
For an overview of common operators, see link::Overviews/Operators::, for specific examples, see also e.g. link::Classes/Function::, link::Classes/UGen::, link::Classes/Pattern::. For an overview of common operators, see link::Overviews/Operators::, for specific examples, see also e.g. link::Classes/Function::, link::Classes/UGen::, link::Classes/Pattern::.
To see which classes implement a specific method, see that method in the generated link::Overviews/Methods:: overview. To see which classes implement a specific method, see that method in the generated link::Overviews/Methods:: overview.
]
@section{instanceMethods} @section{instanceMethods}
@ -49,7 +48,6 @@ a = { 10.rand.postln }; b = a.neg; b.value;
// Patterns, Streams, UGens, and Proxies are AbstractFunctions, too: // Patterns, Streams, UGens, and Proxies are AbstractFunctions, too:
a = Pgeom(1, 2, 5).neg; a.asStream.nextN(8); a = Pgeom(1, 2, 5).neg; a.asStream.nextN(8);
{ a = LFNoise1.ar(1500); [a, a.neg] }.plot; { a = LFNoise1.ar(1500); [a, a.neg] }.plot;
::
] ]
@section{method} @section{method}
reciprocal reciprocal

View file

@ -0,0 +1,859 @@
#lang scribble/manual
@title{Classes}
@include-section["A2K.scrbl"]
@include-section["APF.scrbl"]
@include-section["AbstractDispatcher.scrbl"]
@include-section["AbstractFunction.scrbl"]
@include-section["AbstractIn.scrbl"]
@include-section["AbstractMessageMatcher.scrbl"]
@include-section["AbstractOut.scrbl"]
@include-section["AbstractResponderFunc.scrbl"]
@include-section["AbstractSystemAction.scrbl"]
@include-section["AbstractWrappingDispatcher.scrbl"]
@include-section["AllpassC.scrbl"]
@include-section["AllpassL.scrbl"]
@include-section["AllpassN.scrbl"]
@include-section["AmpComp.scrbl"]
@include-section["AmpCompA.scrbl"]
@include-section["Amplitude.scrbl"]
@include-section["AppClock.scrbl"]
@include-section["ApplicationStart.scrbl"]
@include-section["Archive.scrbl"]
@include-section["Array.scrbl"]
@include-section["Array2D.scrbl"]
@include-section["ArrayedCollection.scrbl"]
@include-section["Association.scrbl"]
@include-section["AudioIn.scrbl"]
@include-section["BAllPass.scrbl"]
@include-section["BBandPass.scrbl"]
@include-section["BBandStop.scrbl"]
@include-section["BEQSuite.scrbl"]
@include-section["BHiPass.scrbl"]
@include-section["BHiPass4.scrbl"]
@include-section["BHiShelf.scrbl"]
@include-section["BLowPass.scrbl"]
@include-section["BLowPass4.scrbl"]
@include-section["BLowShelf.scrbl"]
@include-section["BPF.scrbl"]
@include-section["BPZ2.scrbl"]
@include-section["BPeakEQ.scrbl"]
@include-section["BRF.scrbl"]
@include-section["BRZ2.scrbl"]
@include-section["Bag.scrbl"]
@include-section["Balance2.scrbl"]
@include-section["Ball.scrbl"]
@include-section["BasicOpUGen.scrbl"]
@include-section["BeatTrack.scrbl"]
@include-section["BeatTrack2.scrbl"]
@include-section["BendResponder.scrbl"]
@include-section["BiPanB2.scrbl"]
@include-section["BinaryOpFunction.scrbl"]
@include-section["BinaryOpStream.scrbl"]
@include-section["BinaryOpUGen.scrbl"]
@include-section["Blip.scrbl"]
@include-section["Boolean.scrbl"]
@include-section["BrownNoise.scrbl"]
@include-section["BufAllpassC.scrbl"]
@include-section["BufAllpassL.scrbl"]
@include-section["BufAllpassN.scrbl"]
@include-section["BufChannels.scrbl"]
@include-section["BufCombC.scrbl"]
@include-section["BufCombL.scrbl"]
@include-section["BufCombN.scrbl"]
@include-section["BufDelayC.scrbl"]
@include-section["BufDelayL.scrbl"]
@include-section["BufDelayN.scrbl"]
@include-section["BufDur.scrbl"]
@include-section["BufFrames.scrbl"]
@include-section["BufInfoUGenBase.scrbl"]
@include-section["BufRateScale.scrbl"]
@include-section["BufRd.scrbl"]
@include-section["BufSampleRate.scrbl"]
@include-section["BufSamples.scrbl"]
@include-section["BufWr.scrbl"]
@include-section["Buffer.scrbl"]
@include-section["Bus.scrbl"]
@include-section["BusPlug.scrbl"]
@include-section["Button.scrbl"]
@include-section["CCResponder.scrbl"]
@include-section["COsc.scrbl"]
@include-section["CSVFileReader.scrbl"]
@include-section["Changed.scrbl"]
@include-section["Char.scrbl"]
@include-section["CheckBadValues.scrbl"]
@include-section["CheckBox.scrbl"]
@include-section["Class.scrbl"]
@include-section["Clip.scrbl"]
@include-section["ClipNoise.scrbl"]
@include-section["Clock.scrbl"]
@include-section["CmdPeriod.scrbl"]
@include-section["CoinGate.scrbl"]
@include-section["Collection.scrbl"]
@include-section["Color.scrbl"]
@include-section["CombC.scrbl"]
@include-section["CombL.scrbl"]
@include-section["CombN.scrbl"]
@include-section["Compander.scrbl"]
@include-section["CompanderD.scrbl"]
@include-section["Complex.scrbl"]
@include-section["CompositeView.scrbl"]
@include-section["Condition.scrbl"]
@include-section["ContiguousBlockAllocator.scrbl"]
@include-section["Control.scrbl"]
@include-section["ControlDur.scrbl"]
@include-section["ControlName.scrbl"]
@include-section["ControlRate.scrbl"]
@include-section["ControlSpec.scrbl"]
@include-section["Convolution.scrbl"]
@include-section["Convolution2.scrbl"]
@include-section["Convolution2L.scrbl"]
@include-section["Convolution3.scrbl"]
@include-section["Crackle.scrbl"]
@include-section["CuspL.scrbl"]
@include-section["CuspN.scrbl"]
@include-section["DC.scrbl"]
@include-section["Date.scrbl"]
@include-section["Dbrown.scrbl"]
@include-section["Dbufrd.scrbl"]
@include-section["Dbufwr.scrbl"]
@include-section["Dconst.scrbl"]
@include-section["DebugNodeWatcher.scrbl"]
@include-section["Decay.scrbl"]
@include-section["Decay2.scrbl"]
@include-section["DecodeB2.scrbl"]
@include-section["DegreeToKey.scrbl"]
@include-section["DelTapRd.scrbl"]
@include-section["DelTapWr.scrbl"]
@include-section["Delay1.scrbl"]
@include-section["Delay2.scrbl"]
@include-section["DelayC.scrbl"]
@include-section["DelayL.scrbl"]
@include-section["DelayN.scrbl"]
@include-section["Demand.scrbl"]
@include-section["DemandEnvGen.scrbl"]
@include-section["DetectIndex.scrbl"]
@include-section["DetectSilence.scrbl"]
@include-section["Dgeom.scrbl"]
@include-section["Dialog.scrbl"]
@include-section["Dibrown.scrbl"]
@include-section["Dictionary.scrbl"]
@include-section["DiskIn.scrbl"]
@include-section["DiskOut.scrbl"]
@include-section["Diwhite.scrbl"]
@include-section["Done.scrbl"]
@include-section["DoubleArray.scrbl"]
@include-section["Download.scrbl"]
@include-section["Dpoll.scrbl"]
@include-section["DragBoth.scrbl"]
@include-section["DragSink.scrbl"]
@include-section["DragSource.scrbl"]
@include-section["Drand.scrbl"]
@include-section["DrawGrid.scrbl"]
@include-section["Dreset.scrbl"]
@include-section["Dseq.scrbl"]
@include-section["Dser.scrbl"]
@include-section["Dseries.scrbl"]
@include-section["Dshuf.scrbl"]
@include-section["Dstutter.scrbl"]
@include-section["Dswitch.scrbl"]
@include-section["Dswitch1.scrbl"]
@include-section["Dunique.scrbl"]
@include-section["Dust.scrbl"]
@include-section["Dust2.scrbl"]
@include-section["Duty.scrbl"]
@include-section["Dwhite.scrbl"]
@include-section["Dwrand.scrbl"]
@include-section["Dxrand.scrbl"]
@include-section["DynKlang.scrbl"]
@include-section["DynKlank.scrbl"]
@include-section["EZGui.scrbl"]
@include-section["EZKnob.scrbl"]
@include-section["EZListView.scrbl"]
@include-section["EZLists.scrbl"]
@include-section["EZNumber.scrbl"]
@include-section["EZPopUpMenu.scrbl"]
@include-section["EZRanger.scrbl"]
@include-section["EZScroller.scrbl"]
@include-section["EZSlider.scrbl"]
@include-section["EZText.scrbl"]
@include-section["Env.scrbl"]
@include-section["EnvGate.scrbl"]
@include-section["EnvGen.scrbl"]
@include-section["EnvelopeView.scrbl"]
@include-section["EnvirGui.scrbl"]
@include-section["Environment.scrbl"]
@include-section["EnvironmentRedirect.scrbl"]
@include-section["Error.scrbl"]
@include-section["Event.scrbl"]
@include-section["EventPatternProxy.scrbl"]
@include-section["EventStreamCleanup.scrbl"]
@include-section["EventStreamPlayer.scrbl"]
@include-section["Exception.scrbl"]
@include-section["ExpRand.scrbl"]
@include-section["FBSineC.scrbl"]
@include-section["FBSineL.scrbl"]
@include-section["FBSineN.scrbl"]
@include-section["FFT.scrbl"]
@include-section["FFTTrigger.scrbl"]
@include-section["FOS.scrbl"]
@include-section["FSinOsc.scrbl"]
@include-section["False.scrbl"]
@include-section["Fdef.scrbl"]
@include-section["File.scrbl"]
@include-section["FileDialog.scrbl"]
@include-section["FileReader.scrbl"]
@include-section["Filter.scrbl"]
@include-section["FilterPattern.scrbl"]
@include-section["Float.scrbl"]
@include-section["FloatArray.scrbl"]
@include-section["FlowLayout.scrbl"]
@include-section["FlowVar.scrbl"]
@include-section["FlowView.scrbl"]
@include-section["Fold.scrbl"]
@include-section["Font.scrbl"]
@include-section["Formant.scrbl"]
@include-section["Formlet.scrbl"]
@include-section["Frame.scrbl"]
@include-section["Free.scrbl"]
@include-section["FreeSelf.scrbl"]
@include-section["FreeSelfWhenDone.scrbl"]
@include-section["FreeVerb.scrbl"]
@include-section["FreeVerb2.scrbl"]
@include-section["FreqScope.scrbl"]
@include-section["FreqScopeView.scrbl"]
@include-section["FreqShift.scrbl"]
@include-section["FuncFilterPattern.scrbl"]
@include-section["Function.scrbl"]
@include-section["FunctionDef.scrbl"]
@include-section["FunctionList.scrbl"]
@include-section["GVerb.scrbl"]
@include-section["Gate.scrbl"]
@include-section["GbmanL.scrbl"]
@include-section["GbmanN.scrbl"]
@include-section["Gendy1.scrbl"]
@include-section["Gendy2.scrbl"]
@include-section["Gendy3.scrbl"]
@include-section["Git.scrbl"]
@include-section["Gradient.scrbl"]
@include-section["GrainBuf.scrbl"]
@include-section["GrainFM.scrbl"]
@include-section["GrainIn.scrbl"]
@include-section["GrainSin.scrbl"]
@include-section["GrayNoise.scrbl"]
@include-section["GridLayout.scrbl"]
@include-section["GridLines.scrbl"]
@include-section["Group.scrbl"]
@include-section["HID.scrbl"]
@include-section["HIDCollection.scrbl"]
@include-section["HIDElement.scrbl"]
@include-section["HIDElementProto.scrbl"]
@include-section["HIDFunc.scrbl"]
@include-section["HIDInfo.scrbl"]
@include-section["HIDProto.scrbl"]
@include-section["HIDUsage.scrbl"]
@include-section["HIDdef.scrbl"]
@include-section["HLayout.scrbl"]
@include-section["HLayoutView.scrbl"]
@include-section["HPF.scrbl"]
@include-section["HPZ1.scrbl"]
@include-section["HPZ2.scrbl"]
@include-section["Harmonics.scrbl"]
@include-section["Hasher.scrbl"]
@include-section["HelpBrowser.scrbl"]
@include-section["HenonC.scrbl"]
@include-section["HenonL.scrbl"]
@include-section["HenonN.scrbl"]
@include-section["Hilbert.scrbl"]
@include-section["HilbertFIR.scrbl"]
@include-section["HiliteGradient.scrbl"]
@include-section["History.scrbl"]
@include-section["HistoryGui.scrbl"]
@include-section["IEnvGen.scrbl"]
@include-section["IFFT.scrbl"]
@include-section["IODesc.scrbl"]
@include-section["IRand.scrbl"]
@include-section["IdentityBag.scrbl"]
@include-section["IdentityDictionary.scrbl"]
@include-section["IdentitySet.scrbl"]
@include-section["Image.scrbl"]
@include-section["Impulse.scrbl"]
@include-section["In.scrbl"]
@include-section["InBus.scrbl"]
@include-section["InFeedback.scrbl"]
@include-section["InRange.scrbl"]
@include-section["InRect.scrbl"]
@include-section["InTrig.scrbl"]
@include-section["Index.scrbl"]
@include-section["IndexInBetween.scrbl"]
@include-section["IndexL.scrbl"]
@include-section["InfoUGenBase.scrbl"]
@include-section["Int16Array.scrbl"]
@include-section["Int32Array.scrbl"]
@include-section["Int8Array.scrbl"]
@include-section["Integrator.scrbl"]
@include-section["InterplEnv.scrbl"]
@include-section["InterplPairs.scrbl"]
@include-section["InterplXYC.scrbl"]
@include-section["Interpreter.scrbl"]
@include-section["Interval.scrbl"]
@include-section["JITGui.scrbl"]
@include-section["K2A.scrbl"]
@include-section["KeyState.scrbl"]
@include-section["KeyTrack.scrbl"]
@include-section["Klang.scrbl"]
@include-section["Knob.scrbl"]
@include-section["LFClipNoise.scrbl"]
@include-section["LFCub.scrbl"]
@include-section["LFDClipNoise.scrbl"]
@include-section["LFDNoise0.scrbl"]
@include-section["LFDNoise1.scrbl"]
@include-section["LFDNoise3.scrbl"]
@include-section["LFGauss.scrbl"]
@include-section["LFNoise0.scrbl"]
@include-section["LFNoise1.scrbl"]
@include-section["LFNoise2.scrbl"]
@include-section["LFPar.scrbl"]
@include-section["LFPulse.scrbl"]
@include-section["LFSaw.scrbl"]
@include-section["LFTri.scrbl"]
@include-section["LID.scrbl"]
@include-section["LIDGui.scrbl"]
@include-section["LIDInfo.scrbl"]
@include-section["LIDSlot.scrbl"]
@include-section["LPF.scrbl"]
@include-section["LPZ1.scrbl"]
@include-section["LPZ2.scrbl"]
@include-section["Lag.scrbl"]
@include-section["Lag2.scrbl"]
@include-section["Lag2UD.scrbl"]
@include-section["Lag3.scrbl"]
@include-section["Lag3UD.scrbl"]
@include-section["LagControl.scrbl"]
@include-section["LagIn.scrbl"]
@include-section["LagUD.scrbl"]
@include-section["LanguageConfig.scrbl"]
@include-section["LastValue.scrbl"]
@include-section["Latch.scrbl"]
@include-section["LatoocarfianC.scrbl"]
@include-section["LatoocarfianL.scrbl"]
@include-section["LatoocarfianN.scrbl"]
@include-section["Layout.scrbl"]
@include-section["LazyEnvir.scrbl"]
@include-section["LeakDC.scrbl"]
@include-section["LeastChange.scrbl"]
@include-section["LevelIndicator.scrbl"]
@include-section["Library.scrbl"]
@include-section["LibraryBase.scrbl"]
@include-section["Limiter.scrbl"]
@include-section["LinCongC.scrbl"]
@include-section["LinCongL.scrbl"]
@include-section["LinCongN.scrbl"]
@include-section["LinExp.scrbl"]
@include-section["LinLin.scrbl"]
@include-section["LinPan2.scrbl"]
@include-section["LinRand.scrbl"]
@include-section["LinSelectX.scrbl"]
@include-section["LinXFade2.scrbl"]
@include-section["Line.scrbl"]
@include-section["LineLayout.scrbl"]
@include-section["Linen.scrbl"]
@include-section["LinkedList.scrbl"]
@include-section["LinkedListNode.scrbl"]
@include-section["List.scrbl"]
@include-section["ListPattern.scrbl"]
@include-section["ListView.scrbl"]
@include-section["LocalBuf.scrbl"]
@include-section["LocalIn.scrbl"]
@include-section["LocalOut.scrbl"]
@include-section["Logistic.scrbl"]
@include-section["LorenzL.scrbl"]
@include-section["Loudness.scrbl"]
@include-section["MFCC.scrbl"]
@include-section["MIDIClient.scrbl"]
@include-section["MIDIFunc.scrbl"]
@include-section["MIDIFuncBothCAMessageMatcher.scrbl"]
@include-section["MIDIFuncBothMessageMatcher.scrbl"]
@include-section["MIDIFuncChanArrayMessageMatcher.scrbl"]
@include-section["MIDIFuncChanMessageMatcher.scrbl"]
@include-section["MIDIFuncSrcMessageMatcher.scrbl"]
@include-section["MIDIFuncSrcMessageMatcherNV.scrbl"]
@include-section["MIDIIn.scrbl"]
@include-section["MIDIMessageDispatcher.scrbl"]
@include-section["MIDIMessageDispatcherNV.scrbl"]
@include-section["MIDIOut.scrbl"]
@include-section["MIDIResponder.scrbl"]
@include-section["MIDIdef.scrbl"]
@include-section["Magnitude.scrbl"]
@include-section["Main.scrbl"]
@include-section["MantissaMask.scrbl"]
@include-section["MaxLocalBufs.scrbl"]
@include-section["Maybe.scrbl"]
@include-section["Median.scrbl"]
@include-section["Message.scrbl"]
@include-section["MidEQ.scrbl"]
@include-section["Mix.scrbl"]
@include-section["ModDif.scrbl"]
@include-section["Monitor.scrbl"]
@include-section["MonitorGui.scrbl"]
@include-section["MoogFF.scrbl"]
@include-section["MostChange.scrbl"]
@include-section["MouseButton.scrbl"]
@include-section["MouseX.scrbl"]
@include-section["MouseY.scrbl"]
@include-section["MulAdd.scrbl"]
@include-section["MultiLevelIdentityDictionary.scrbl"]
@include-section["MultiOutUGen.scrbl"]
@include-section["MultiSliderView.scrbl"]
@include-section["MultiTap.scrbl"]
@include-section["NAryOpFunction.scrbl"]
@include-section["NAryOpStream.scrbl"]
@include-section["NRand.scrbl"]
@include-section["NamedControl.scrbl"]
@include-section["Ndef.scrbl"]
@include-section["NdefGui.scrbl"]
@include-section["NdefMixer.scrbl"]
@include-section["NdefMixerOld.scrbl"]
@include-section["NdefParamGui.scrbl"]
@include-section["NetAddr.scrbl"]
@include-section["Nil.scrbl"]
@include-section["NodeControl.scrbl"]
@include-section["NodeMap.scrbl"]
@include-section["NodeProxy.scrbl"]
@include-section["NodeProxyEditor.scrbl"]
@include-section["NodeWatcher.scrbl"]
@include-section["Normalizer.scrbl"]
@include-section["NoteOffResponder.scrbl"]
@include-section["NoteOnResponder.scrbl"]
@include-section["NotificationCenter.scrbl"]
@include-section["NumAudioBuses.scrbl"]
@include-section["NumBuffers.scrbl"]
@include-section["NumChannels.scrbl"]
@include-section["NumControlBuses.scrbl"]
@include-section["NumInputBuses.scrbl"]
@include-section["NumOutputBuses.scrbl"]
@include-section["NumRunningSynths.scrbl"]
@include-section["Number.scrbl"]
@include-section["NumberBox.scrbl"]
@include-section["OSCArgsMatcher.scrbl"]
@include-section["OSCBundle.scrbl"]
@include-section["OSCFunc.scrbl"]
@include-section["OSCFuncAddrMessageMatcher.scrbl"]
@include-section["OSCFuncBothMessageMatcher.scrbl"]
@include-section["OSCFuncRecvPortMessageMatcher.scrbl"]
@include-section["OSCMessageDispatcher.scrbl"]
@include-section["OSCMessagePatternDispatcher.scrbl"]
@include-section["OSCdef.scrbl"]
@include-section["OSCpathResponder.scrbl"]
@include-section["OSCresponder.scrbl"]
@include-section["OSCresponderNode.scrbl"]
@include-section["Object.scrbl"]
@include-section["ObjectGui.scrbl"]
@include-section["ObjectTable.scrbl"]
@include-section["OffsetOut.scrbl"]
@include-section["OnError.scrbl"]
@include-section["OnePole.scrbl"]
@include-section["OneZero.scrbl"]
@include-section["Onsets.scrbl"]
@include-section["Order.scrbl"]
@include-section["OrderedIdentitySet.scrbl"]
@include-section["Osc.scrbl"]
@include-section["OscN.scrbl"]
@include-section["Out.scrbl"]
@include-section["OutputProxy.scrbl"]
@include-section["PMOsc.scrbl"]
@include-section["PSinGrain.scrbl"]
@include-section["PV_Add.scrbl"]
@include-section["PV_BinScramble.scrbl"]
@include-section["PV_BinShift.scrbl"]
@include-section["PV_BinWipe.scrbl"]
@include-section["PV_BrickWall.scrbl"]
@include-section["PV_ChainUGen.scrbl"]
@include-section["PV_ConformalMap.scrbl"]
@include-section["PV_Conj.scrbl"]
@include-section["PV_Copy.scrbl"]
@include-section["PV_CopyPhase.scrbl"]
@include-section["PV_Diffuser.scrbl"]
@include-section["PV_Div.scrbl"]
@include-section["PV_HainsworthFoote.scrbl"]
@include-section["PV_JensenAndersen.scrbl"]
@include-section["PV_LocalMax.scrbl"]
@include-section["PV_MagAbove.scrbl"]
@include-section["PV_MagBelow.scrbl"]
@include-section["PV_MagClip.scrbl"]
@include-section["PV_MagDiv.scrbl"]
@include-section["PV_MagFreeze.scrbl"]
@include-section["PV_MagMul.scrbl"]
@include-section["PV_MagNoise.scrbl"]
@include-section["PV_MagShift.scrbl"]
@include-section["PV_MagSmear.scrbl"]
@include-section["PV_MagSquared.scrbl"]
@include-section["PV_Max.scrbl"]
@include-section["PV_Min.scrbl"]
@include-section["PV_Mul.scrbl"]
@include-section["PV_PhaseShift.scrbl"]
@include-section["PV_PhaseShift270.scrbl"]
@include-section["PV_PhaseShift90.scrbl"]
@include-section["PV_RandComb.scrbl"]
@include-section["PV_RandWipe.scrbl"]
@include-section["PV_RectComb.scrbl"]
@include-section["PV_RectComb2.scrbl"]
@include-section["PackFFT.scrbl"]
@include-section["Padd.scrbl"]
@include-section["Paddp.scrbl"]
@include-section["Paddpre.scrbl"]
@include-section["PageLayout.scrbl"]
@include-section["Pair.scrbl"]
@include-section["Pan2.scrbl"]
@include-section["Pan4.scrbl"]
@include-section["PanAz.scrbl"]
@include-section["PanB.scrbl"]
@include-section["PanB2.scrbl"]
@include-section["ParGroup.scrbl"]
@include-section["ParamView.scrbl"]
@include-section["PartConv.scrbl"]
@include-section["PathName.scrbl"]
@include-section["Pattern.scrbl"]
@include-section["PatternConductor.scrbl"]
@include-section["PatternProxy.scrbl"]
@include-section["Pause.scrbl"]
@include-section["PauseSelf.scrbl"]
@include-section["PauseSelfWhenDone.scrbl"]
@include-section["Pavaroh.scrbl"]
@include-section["Pbeta.scrbl"]
@include-section["Pbind.scrbl"]
@include-section["PbindProxy.scrbl"]
@include-section["Pbindef.scrbl"]
@include-section["Pbindf.scrbl"]
@include-section["Pbinop.scrbl"]
@include-section["Pbrown.scrbl"]
@include-section["Pbus.scrbl"]
@include-section["Pcauchy.scrbl"]
@include-section["Pchain.scrbl"]
@include-section["Pclutch.scrbl"]
@include-section["Pcollect.scrbl"]
@include-section["Pconst.scrbl"]
@include-section["Pdef.scrbl"]
@include-section["PdefAllGui.scrbl"]
@include-section["PdefEditor.scrbl"]
@include-section["PdefGui.scrbl"]
@include-section["Pdefn.scrbl"]
@include-section["PdefnAllGui.scrbl"]
@include-section["PdefnGui.scrbl"]
@include-section["PdegreeToKey.scrbl"]
@include-section["Pdfsm.scrbl"]
@include-section["Pdict.scrbl"]
@include-section["PdurStutter.scrbl"]
@include-section["Peak.scrbl"]
@include-section["PeakFollower.scrbl"]
@include-section["Pen.scrbl"]
@include-section["Penvir.scrbl"]
@include-section["Pevent.scrbl"]
@include-section["Pexprand.scrbl"]
@include-section["Pfin.scrbl"]
@include-section["Pfindur.scrbl"]
@include-section["Pfinval.scrbl"]
@include-section["Pfset.scrbl"]
@include-section["Pfsm.scrbl"]
@include-section["Pfunc.scrbl"]
@include-section["Pfuncn.scrbl"]
@include-section["Pfx.scrbl"]
@include-section["Pfxb.scrbl"]
@include-section["Pgate.scrbl"]
@include-section["Pgauss.scrbl"]
@include-section["Pgbrown.scrbl"]
@include-section["Pgeom.scrbl"]
@include-section["Pgpar.scrbl"]
@include-section["Pgroup.scrbl"]
@include-section["Phasor.scrbl"]
@include-section["Phprand.scrbl"]
@include-section["Pif.scrbl"]
@include-section["Pindex.scrbl"]
@include-section["PingPong.scrbl"]
@include-section["PinkNoise.scrbl"]
@include-section["Pipe.scrbl"]
@include-section["Pitch.scrbl"]
@include-section["PitchShift.scrbl"]
@include-section["Pkey.scrbl"]
@include-section["Place.scrbl"]
@include-section["Plambda.scrbl"]
@include-section["Platform.scrbl"]
@include-section["PlayBuf.scrbl"]
@include-section["Plazy.scrbl"]
@include-section["PlazyEnvir.scrbl"]
@include-section["PlazyEnvirN.scrbl"]
@include-section["Plotter.scrbl"]
@include-section["Plprand.scrbl"]
@include-section["Pluck.scrbl"]
@include-section["Pmeanrand.scrbl"]
@include-section["Pmono.scrbl"]
@include-section["PmonoArtic.scrbl"]
@include-section["Pmul.scrbl"]
@include-section["Pmulp.scrbl"]
@include-section["Pmulpre.scrbl"]
@include-section["Pn.scrbl"]
@include-section["Pnaryop.scrbl"]
@include-section["Pnsym.scrbl"]
@include-section["Point.scrbl"]
@include-section["Polar.scrbl"]
@include-section["Poll.scrbl"]
@include-section["PopUpMenu.scrbl"]
@include-section["Post.scrbl"]
@include-section["Ppar.scrbl"]
@include-section["PparGroup.scrbl"]
@include-section["Ppatlace.scrbl"]
@include-section["Ppatmod.scrbl"]
@include-section["Ppoisson.scrbl"]
@include-section["Pprob.scrbl"]
@include-section["Pprotect.scrbl"]
@include-section["Pproto.scrbl"]
@include-section["Prand.scrbl"]
@include-section["Preject.scrbl"]
@include-section["Prewrite.scrbl"]
@include-section["PriorityQueue.scrbl"]
@include-section["Process.scrbl"]
@include-section["ProgramChangeResponder.scrbl"]
@include-section["Prorate.scrbl"]
@include-section["Prout.scrbl"]
@include-section["ProxyMixer.scrbl"]
@include-section["ProxyMixerOld.scrbl"]
@include-section["ProxyMonitorGui.scrbl"]
@include-section["ProxyNodeMap.scrbl"]
@include-section["ProxySpace.scrbl"]
@include-section["ProxySynthDef.scrbl"]
@include-section["Pseed.scrbl"]
@include-section["Pseg.scrbl"]
@include-section["Pselect.scrbl"]
@include-section["Pseq.scrbl"]
@include-section["Pser.scrbl"]
@include-section["Pseries.scrbl"]
@include-section["Pset.scrbl"]
@include-section["Psetp.scrbl"]
@include-section["Psetpre.scrbl"]
@include-section["Pshuf.scrbl"]
@include-section["Pslide.scrbl"]
@include-section["Pspawn.scrbl"]
@include-section["Pspawner.scrbl"]
@include-section["Pstep.scrbl"]
@include-section["PstepNadd.scrbl"]
@include-section["PstepNfunc.scrbl"]
@include-section["Pstutter.scrbl"]
@include-section["Pswitch.scrbl"]
@include-section["Pswitch1.scrbl"]
@include-section["Psym.scrbl"]
@include-section["Psync.scrbl"]
@include-section["Ptime.scrbl"]
@include-section["Ptpar.scrbl"]
@include-section["Ptuple.scrbl"]
@include-section["Pulse.scrbl"]
@include-section["PulseCount.scrbl"]
@include-section["PulseDivider.scrbl"]
@include-section["Punop.scrbl"]
@include-section["PureUGen.scrbl"]
@include-section["Pwalk.scrbl"]
@include-section["Pwhile.scrbl"]
@include-section["Pwhite.scrbl"]
@include-section["Pwrand.scrbl"]
@include-section["Pwrap.scrbl"]
@include-section["Pxrand.scrbl"]
@include-section["QPalette.scrbl"]
@include-section["QPenPrinter.scrbl"]
@include-section["QuadC.scrbl"]
@include-section["QuadL.scrbl"]
@include-section["QuadN.scrbl"]
@include-section["Quant.scrbl"]
@include-section["Quark.scrbl"]
@include-section["Quarks.scrbl"]
@include-section["QuartzComposerView.scrbl"]
@include-section["RHPF.scrbl"]
@include-section["RLPF.scrbl"]
@include-section["RadiansPerSample.scrbl"]
@include-section["Ramp.scrbl"]
@include-section["Rand.scrbl"]
@include-section["RandID.scrbl"]
@include-section["RandSeed.scrbl"]
@include-section["RangeSlider.scrbl"]
@include-section["RawArray.scrbl"]
@include-section["RawPointer.scrbl"]
@include-section["RecNodeProxy.scrbl"]
@include-section["RecordBuf.scrbl"]
@include-section["Recorder.scrbl"]
@include-section["Rect.scrbl"]
@include-section["Ref.scrbl"]
@include-section["RefCopy.scrbl"]
@include-section["ReplaceOut.scrbl"]
@include-section["Resonz.scrbl"]
@include-section["Rest.scrbl"]
@include-section["Ringz.scrbl"]
@include-section["RootNode.scrbl"]
@include-section["Rotate2.scrbl"]
@include-section["Routine.scrbl"]
@include-section["RunningMax.scrbl"]
@include-section["RunningMin.scrbl"]
@include-section["RunningSum.scrbl"]
@include-section["SCContainerView.scrbl"]
@include-section["SCDocHTMLRenderer.scrbl"]
@include-section["SCDocNode.scrbl"]
@include-section["SCDragView.scrbl"]
@include-section["SCEnvelopeEdit.scrbl"]
@include-section["SCImage.scrbl"]
@include-section["SCImageKernel.scrbl"]
@include-section["SCViewHolder.scrbl"]
@include-section["SOS.scrbl"]
@include-section["SampleDur.scrbl"]
@include-section["SampleRate.scrbl"]
@include-section["Sanitize.scrbl"]
@include-section["Saw.scrbl"]
@include-section["ScIDE.scrbl"]
@include-section["Scale.scrbl"]
@include-section["Scheduler.scrbl"]
@include-section["Schmidt.scrbl"]
@include-section["ScopeOut.scrbl"]
@include-section["ScopeView.scrbl"]
@include-section["Score.scrbl"]
@include-section["ScrollView.scrbl"]
@include-section["Select.scrbl"]
@include-section["SelectX.scrbl"]
@include-section["SelectXFocus.scrbl"]
@include-section["Semaphore.scrbl"]
@include-section["SemiColonFileReader.scrbl"]
@include-section["SendPeakRMS.scrbl"]
@include-section["SendReply.scrbl"]
@include-section["SendTrig.scrbl"]
@include-section["SerialPort.scrbl"]
@include-section["Server.scrbl"]
@include-section["ServerBoot.scrbl"]
@include-section["ServerMeter.scrbl"]
@include-section["ServerMeterView.scrbl"]
@include-section["ServerOptions.scrbl"]
@include-section["ServerQuit.scrbl"]
@include-section["ServerTree.scrbl"]
@include-section["Set.scrbl"]
@include-section["SetResetFF.scrbl"]
@include-section["Shaper.scrbl"]
@include-section["SharedIn.scrbl"]
@include-section["SharedOut.scrbl"]
@include-section["ShutDown.scrbl"]
@include-section["Signal.scrbl"]
@include-section["Silent.scrbl"]
@include-section["SimpleController.scrbl"]
@include-section["SimpleNumber.scrbl"]
@include-section["SinOsc.scrbl"]
@include-section["SinOscFB.scrbl"]
@include-section["SkipJack.scrbl"]
@include-section["Slew.scrbl"]
@include-section["Slider.scrbl"]
@include-section["Slider2D.scrbl"]
@include-section["Slope.scrbl"]
@include-section["SortedList.scrbl"]
@include-section["SoundFile.scrbl"]
@include-section["SoundFileView.scrbl"]
@include-section["SoundIn.scrbl"]
@include-section["SparseArray.scrbl"]
@include-section["SpecCentroid.scrbl"]
@include-section["SpecFlatness.scrbl"]
@include-section["SpecPcile.scrbl"]
@include-section["Speech.scrbl"]
@include-section["Splay.scrbl"]
@include-section["SplayAz.scrbl"]
@include-section["SplayZ.scrbl"]
@include-section["Spring.scrbl"]
@include-section["StackLayout.scrbl"]
@include-section["StandardL.scrbl"]
@include-section["StandardN.scrbl"]
@include-section["StaticText.scrbl"]
@include-section["Stepper.scrbl"]
@include-section["StereoConvolution2L.scrbl"]
@include-section["Stethoscope.scrbl"]
@include-section["Stream.scrbl"]
@include-section["StreamClutch.scrbl"]
@include-section["String.ext.scrbl"]
@include-section["String.scrbl"]
@include-section["SubsampleOffset.scrbl"]
@include-section["Sum3.scrbl"]
@include-section["Sum4.scrbl"]
@include-section["Sweep.scrbl"]
@include-section["Symbol.scrbl"]
@include-section["SymbolArray.scrbl"]
@include-section["SyncSaw.scrbl"]
@include-section["Synth.scrbl"]
@include-section["SynthDef.scrbl"]
@include-section["SynthDesc.scrbl"]
@include-section["SynthDescLib.scrbl"]
@include-section["SystemClock.scrbl"]
@include-section["T2A.scrbl"]
@include-section["T2K.scrbl"]
@include-section["TBall.scrbl"]
@include-section["TChoose.scrbl"]
@include-section["TDelay.scrbl"]
@include-section["TDuty.scrbl"]
@include-section["TDuty_old.scrbl"]
@include-section["TExpRand.scrbl"]
@include-section["TGrains.scrbl"]
@include-section["TIRand.scrbl"]
@include-section["TRand.scrbl"]
@include-section["TWChoose.scrbl"]
@include-section["TWindex.scrbl"]
@include-section["TabFileReader.scrbl"]
@include-section["Tap.scrbl"]
@include-section["Task.scrbl"]
@include-section["TaskProxy.scrbl"]
@include-section["TaskProxyGui.scrbl"]
@include-section["Tdef.scrbl"]
@include-section["TdefAllGui.scrbl"]
@include-section["TdefEditor.scrbl"]
@include-section["TdefGui.scrbl"]
@include-section["TempoBusClock.scrbl"]
@include-section["TempoClock.scrbl"]
@include-section["TextField.scrbl"]
@include-section["TextView.scrbl"]
@include-section["Thread.scrbl"]
@include-section["Thunk.scrbl"]
@include-section["Timer.scrbl"]
@include-section["ToggleFF.scrbl"]
@include-section["TouchResponder.scrbl"]
@include-section["TreeView.scrbl"]
@include-section["TreeViewItem.scrbl"]
@include-section["Trig.scrbl"]
@include-section["Trig1.scrbl"]
@include-section["TrigControl.scrbl"]
@include-section["True.scrbl"]
@include-section["Tuning.scrbl"]
@include-section["TwoPole.scrbl"]
@include-section["TwoWayIdentityDictionary.scrbl"]
@include-section["TwoZero.scrbl"]
@include-section["UGen.scrbl"]
@include-section["UnaryOpFunction.scrbl"]
@include-section["UnaryOpStream.scrbl"]
@include-section["UnaryOpUGen.scrbl"]
@include-section["UniqueID.scrbl"]
@include-section["UnixFILE.scrbl"]
@include-section["Unpack1FFT.scrbl"]
@include-section["UnpackFFT.scrbl"]
@include-section["UserView.scrbl"]
@include-section["VDiskIn.scrbl"]
@include-section["VLayout.scrbl"]
@include-section["VLayoutView.scrbl"]
@include-section["VOsc.scrbl"]
@include-section["VOsc3.scrbl"]
@include-section["VarLag.scrbl"]
@include-section["VarSaw.scrbl"]
@include-section["Vibrato.scrbl"]
@include-section["View.scrbl"]
@include-section["Volume.scrbl"]
@include-section["Warp.scrbl"]
@include-section["Warp1.scrbl"]
@include-section["Wavetable.scrbl"]
@include-section["WebView.scrbl"]
@include-section["WhiteNoise.scrbl"]
@include-section["WiiMote.scrbl"]
@include-section["Window.scrbl"]
@include-section["Wrap.scrbl"]
@include-section["WrapIndex.scrbl"]
@include-section["XFade2.scrbl"]
@include-section["XIn.scrbl"]
@include-section["XInFeedback.scrbl"]
@include-section["XLine.scrbl"]
@include-section["XOut.scrbl"]
@include-section["ZeroCrossing.scrbl"]

View file

@ -0,0 +1,49 @@
Guides
@include-section["AggregateDevice.scrbl"]
@include-section["Backwards-Compatibility.scrbl"]
@include-section["Bundled-Messages.scrbl"]
@include-section["ClientVsServer.scrbl"]
@include-section["Debugging-tips.scrbl"]
@include-section["EmacsGUI.scrbl"]
@include-section["FFT-Overview.scrbl"]
@include-section["GUI-Introduction.scrbl"]
@include-section["GUI-Layout-Management.scrbl"]
@include-section["Glossary.scrbl"]
@include-section["HID_permissions.scrbl"]
@include-section["How-to-Use-the-Interpreter.scrbl"]
@include-section["Intro-to-Objects.scrbl"]
@include-section["J-concepts-in-SC.scrbl"]
@include-section["LID_permissions.scrbl"]
@include-section["ListComprehensions.scrbl"]
@include-section["MIDI.scrbl"]
@include-section["More-On-Getting-Help.scrbl"]
@include-section["Multichannel-Expansion.scrbl"]
@include-section["News-3_5.scrbl"]
@include-section["News-3_6.scrbl"]
@include-section["News-3_7.scrbl"]
@include-section["News-3_8.scrbl"]
@include-section["News-Qt-GUI.scrbl"]
@include-section["NodeMessaging.scrbl"]
@include-section["Non-Realtime-Synthesis.scrbl"]
@include-section["OSC_communication.scrbl"]
@include-section["Order-of-execution.scrbl"]
@include-section["Polymorphism.scrbl"]
@include-section["Randomness.scrbl"]
@include-section["SCIde.scrbl"]
@include-section["Server-Guide.scrbl"]
@include-section["ServerTiming.scrbl"]
@include-section["Spawning.scrbl"]
@include-section["Sync-Async.scrbl"]
@include-section["SynthDefsVsSynths.scrbl"]
@include-section["Tour_of_UGens.scrbl"]
@include-section["Tracing-Processes.scrbl"]
@include-section["UGens-and-Synths.scrbl"]
@include-section["Understanding-Errors.scrbl"]
@include-section["UsingExtensions.scrbl"]
@include-section["UsingMIDI.scrbl"]
@include-section["UsingQuarks.scrbl"]
@include-section["Working_with_HID.scrbl"]
@include-section["WritingPrimitives.scrbl"]
@include-section["WritingUGens.scrbl"]
@include-section["standalones.scrbl"]

View file

@ -0,0 +1,10 @@
Overview
@include-section["ClassTree.scrbl"]
@include-section["Collections.scrbl"]
@include-section["Event_types.scrbl"]
@include-section["JITLib.scrbl"]
@include-section["Operators.scrbl"]
@include-section["SC3vsSC2.scrbl"]
@include-section["Streams.scrbl"]
@include-section["SymbolicNotations.scrbl"]

View file

@ -0,0 +1,38 @@
Reference
@include-section["Adverbs.scrbl"]
@include-section["Assignment.scrbl"]
@include-section["Control-Structures.scrbl"]
@include-section["EmacsEditor.scrbl"]
@include-section["Expression-Sequence.scrbl"]
@include-section["Functions.scrbl"]
@include-section["Key-Value-Pairs.scrbl"]
@include-section["KeyboardShortcuts.scrbl"]
@include-section["Literals.scrbl"]
@include-section["Messages.scrbl"]
@include-section["Modifiers.scrbl"]
@include-section["NodeEvent.scrbl"]
@include-section["NodeProxy_roles.scrbl"]
@include-section["Partial-Application.scrbl"]
@include-section["Resize.scrbl"]
@include-section["Scope.scrbl"]
@include-section["Server-Architecture.scrbl"]
@include-section["Server-Command-Reference.scrbl"]
@include-section["ServerPluginAPI.scrbl"]
@include-section["StartupFile.scrbl"]
@include-section["Syntax-Shortcuts.scrbl"]
@include-section["Synth-Definition-File-Format.scrbl"]
@include-section["asTarget.scrbl"]
@include-section["default_group.scrbl"]
@include-section["gui.scrbl"]
@include-section["gui_alignments.scrbl"]
@include-section["if.scrbl"]
@include-section["initClass.scrbl"]
@include-section["loop.scrbl"]
@include-section["play.scrbl"]
@include-section["playN.scrbl"]
@include-section["plot.scrbl"]
@include-section["randomSeed.scrbl"]
@include-section["softPut.scrbl"]
@include-section["softSet.scrbl"]
@include-section["softVol_.scrbl"]

View file

@ -0,0 +1,20 @@
#lang scribble/manual
@title{rsc3: racket/scheme/supercollider}
@table-of-contents[]
Partially regenerated documentation (sc3.schelp -> rsc3.scrbl)
@; ------------------------------------------------------------------------
@include-section["HelpSource/Help.scrbl"]
@include-section["HelpSource/Classes/classes.scrbl"]
@include-section["HelpSource/Guides/guides.scrbl"]
@include-section["HelpSource/Other/JITLibChanges3.7.scrbl"]
@include-section["HelpSource/Overviews/overviews.scrbl"]
@include-section["HelpSource/Reference/reference.scrbl"]
@include-section["HelpSource/Tutorials/Tutorial.scrbl"]
@; further "HelpSource/Tutorials/"
@index-section[]

View file

@ -12,3 +12,4 @@
(comb-l s 0.3 (mce2 0.2 0.25) 2))) (comb-l s 0.3 (mce2 0.2 0.25) 2)))
(audition (out 0 lfo-modulation)) (audition (out 0 lfo-modulation))

View file

@ -3,6 +3,7 @@
@title{/b_alloc Allocate buffer space.} @title{/b_alloc Allocate buffer space.}
int - buffer number int - buffer number
int - number of frames int - number of frames
int - number of channels (optional. default = 1 channel) int - number of channels (optional. default = 1 channel)
@ -12,3 +13,4 @@ Allocates zero filled buffer to number of channels and samples.
Asynchronous. Replies to sender with /done when complete. Asynchronous. Replies to sender with /done when complete.

View file

@ -3,6 +3,7 @@
@title{/b_allocRead Allocate buffer space and read a sound file.} @title{/b_allocRead Allocate buffer space and read a sound file.}
int - buffer number int - buffer number
string - path name of a sound file. string - path name of a sound file.
int - starting frame in file (optional. default = 0) int - starting frame in file (optional. default = 0)
@ -18,3 +19,4 @@ file is read.
Asynchronous. Replies to sender with /done when complete. Asynchronous. Replies to sender with /done when complete.

View file

@ -3,8 +3,10 @@
@title{/b_close} @title{/b_close}
int - buffer number int - buffer number
After using a buffer with DiskOut, close the soundfile and write After using a buffer with DiskOut, close the soundfile and write
header information. header information.

View file

@ -3,6 +3,7 @@
@title{/b_fill Fill ranges of sample value(s)} @title{/b_fill Fill ranges of sample value(s)}
int - buffer number int - buffer number
[ [
int - sample starting index int - sample starting index
@ -15,3 +16,4 @@ range, the starting sample index is given followed by the number of
samples to change, followed by the value to fill. This is only meant samples to change, followed by the value to fill. This is only meant
for setting a few samples, not whole buffers or large sections. for setting a few samples, not whole buffers or large sections.

View file

@ -3,6 +3,7 @@
@title{/b_free Free buffer data.} @title{/b_free Free buffer data.}
int - buffer number int - buffer number
bytes - an OSC message to execute upon completion. (optional) bytes - an OSC message to execute upon completion. (optional)
@ -10,3 +11,4 @@ Frees buffer space allocated for this buffer.
Asynchronous. Replies to sender with /done when complete. Asynchronous. Replies to sender with /done when complete.

View file

@ -3,6 +3,7 @@
@title{/b_gen Call a command to fill a buffer} @title{/b_gen Call a command to fill a buffer}
int - buffer number int - buffer number
string - command name string - command name
.. command arguments .. command arguments
@ -83,3 +84,4 @@ negative, the maximum number of samples possible is copied.
Asynchronous. Replies to sender with /done when complete. Asynchronous. Replies to sender with /done when complete.

View file

@ -3,6 +3,7 @@
@title{/b_get Get sample value(s)} @title{/b_get Get sample value(s)}
int - buffer number int - buffer number
[ [
int - a sample index int - a sample index
@ -10,3 +11,4 @@ int - buffer number
Replies to sender with the corresponding /b_set command. Replies to sender with the corresponding /b_set command.

View file

@ -3,6 +3,7 @@
@title{/b_getn Get ranges of sample value(s)} @title{/b_getn Get ranges of sample value(s)}
int - buffer number int - buffer number
[ [
int - starting sample index int - starting sample index
@ -13,3 +14,4 @@ Get contiguous ranges of samples. Replies to sender with the
corresponding /b_setn command. This is only meant for getting a few corresponding /b_setn command. This is only meant for getting a few
samples, not whole buffers or large sections. samples, not whole buffers or large sections.

View file

@ -3,6 +3,7 @@
@title{/b_query} @title{/b_query}
[ [
int - buffer number int - buffer number
] * N ] * N
@ -17,8 +18,12 @@ Responds to the sender with a /b_info message. The arguments to
float - sample rate float - sample rate
] * N ] * N
@racketblock[
(with-sc3 (with-sc3
(lambda (fd) (lambda (fd)
(async fd (/b_alloc 10 6 1)) (async fd (/b_alloc 10 6 1))
(async fd (/b_query 10)))) (async fd (/b_query 10))))
]

View file

@ -3,6 +3,7 @@
@title{/b_read Read sound file data into an existing buffer.} @title{/b_read Read sound file data into an existing buffer.}
int - buffer number int - buffer number
string - path name of a sound file. string - path name of a sound file.
int - starting frame in file (optional. default = 0) int - starting frame in file (optional. default = 0)
@ -19,3 +20,4 @@ open" to one, otherwise set it to zero.
Asynchronous. Replies to sender with /done when complete. Asynchronous. Replies to sender with /done when complete.

View file

@ -3,6 +3,7 @@
@title{/b_set Set sample value(s)} @title{/b_set Set sample value(s)}
int - buffer number int - buffer number
[ [
int - a sample index int - a sample index
@ -13,3 +14,4 @@ Takes a list of pairs of sample indices and values and sets the
samples to those values. samples to those values.

View file

@ -3,6 +3,7 @@
@title{/b_setn Set ranges of sample value(s)} @title{/b_setn Set ranges of sample value(s)}
int - buffer number int - buffer number
[ [
int - sample starting index int - sample starting index
@ -17,3 +18,4 @@ range, the starting sample index is given followed by the number of
samples to change, followed by the values. samples to change, followed by the values.

View file

@ -3,6 +3,7 @@
@title{/b_write Write sound file data.} @title{/b_write Write sound file data.}
int - buffer number int - buffer number
string - path name of a sound file. string - path name of a sound file.
string - header format. string - header format.
@ -29,3 +30,4 @@ the DiskOut ugen does so.
Asynchronous. Replies to sender with /done when complete. Asynchronous. Replies to sender with /done when complete.

View file

@ -3,6 +3,7 @@
@title{/b_zero Zero sample data} @title{/b_zero Zero sample data}
int - buffer number int - buffer number
bytes - an OSC message to execute upon completion. (optional) bytes - an OSC message to execute upon completion. (optional)
@ -10,3 +11,4 @@ Sets all samples in the buffer to zero.
Asynchronous. Replies to sender with /done when complete. Asynchronous. Replies to sender with /done when complete.

View file

@ -3,6 +3,7 @@
@title{/c_fill Fill ranges of bus value(s)} @title{/c_fill Fill ranges of bus value(s)}
[ [
int - starting bus index int - starting bus index
int - number of buses to fill (M) int - number of buses to fill (M)
@ -13,3 +14,4 @@ Set contiguous ranges of buses to single values. For each range, the
starting sample index is given followed by the number of buses to starting sample index is given followed by the number of buses to
change, followed by the value to fill. change, followed by the value to fill.

View file

@ -1,9 +1,8 @@
;/c_get Get bus value(s) ; /c_get Get bus value(s)
; [ ; [
; int - a bus index ; int - a bus index
; ] * N ; ] * N
; Takes a list of buses and replies to sender with the corresponding ; Takes a list of buses and replies to sender with the corresponding
; /c_set command. ; /c_set command.

View file

@ -3,10 +3,11 @@
@title{/c_get Get bus value(s)} @title{/c_get Get bus value(s)}
[ [
int - a bus index int - a bus index
] * N ] * N
Takes a list of buses and replies to sender with the corresponding Takes a list of buses and replies to sender with the corresponding
/c_set command. /c_set command.

View file

@ -3,6 +3,7 @@
@title{/c_getn Get ranges of bus value(s)} @title{/c_getn Get ranges of bus value(s)}
[ [
int - starting bus index int - starting bus index
int - number of sequential buses to get (M) int - number of sequential buses to get (M)
@ -11,3 +12,4 @@ int - number of sequential buses to get (M)
Get contiguous ranges of buses. Replies to sender with the Get contiguous ranges of buses. Replies to sender with the
corresponding /c_setn command. corresponding /c_setn command.

View file

@ -3,6 +3,7 @@
@title{/c_setn Set ranges of bus value(s)} @title{/c_setn Set ranges of bus value(s)}
[ [
int - starting bus index int - starting bus index
int - number of sequential buses to change (M) int - number of sequential buses to change (M)
@ -15,3 +16,4 @@ Set contiguous ranges of buses to sets of values. For each range, the
starting bus index is given followed by the number of channels to starting bus index is given followed by the number of channels to
change, followed by the values. change, followed by the values.

View file

@ -3,6 +3,7 @@
@title{/c_set Set bus value(s)} @title{/c_set Set bus value(s)}
[ [
int - a bus index int - a bus index
float - a control value float - a control value
@ -11,3 +12,4 @@ float - a control value
Takes a list of pairs of bus indices and values and sets the buses to Takes a list of pairs of bus indices and values and sets the buses to
those values. those values.

View file

@ -3,5 +3,7 @@
@title{/clearSched Clear all scheduled bundles.} @title{/clearSched Clear all scheduled bundles.}
Removes all bundles from the scheduling queue. Removes all bundles from the scheduling queue.

View file

@ -3,9 +3,11 @@
@title{/d_free delete synth definition} @title{/d_free delete synth definition}
[ [
string - synth def name string - synth def name
] * N ] * N
Removes a synth definition once all synths using it have ended. Removes a synth definition once all synths using it have ended.

View file

@ -3,6 +3,7 @@
@title{/d_load Load synth definition} @title{/d_load Load synth definition}
string - pathname of file. Can be a pattern like "synthdefs/perc-*" string - pathname of file. Can be a pattern like "synthdefs/perc-*"
bytes - an OSC message to execute upon completion. (optional) bytes - an OSC message to execute upon completion. (optional)
@ -11,3 +12,4 @@ names are overwritten.
Asynchronous. Replies to sender with /done when complete. Asynchronous. Replies to sender with /done when complete.

View file

@ -3,6 +3,7 @@
@title{/d_recv Receive a synth definition file} @title{/d_recv Receive a synth definition file}
bytes - buffer of data. bytes - buffer of data.
bytes - an OSC message to execute upon completion. (optional) bytes - an OSC message to execute upon completion. (optional)
@ -11,3 +12,4 @@ message. Resident definitions with the same names are overwritten.
Asynchronous. Replies to sender with /done when complete. Asynchronous. Replies to sender with /done when complete.

View file

@ -3,6 +3,7 @@
@title{/dumpOSC Display incoming OSC messages} @title{/dumpOSC Display incoming OSC messages}
int - code int - code
Turns on and off printing of the contents of incoming Open Sound Turns on and off printing of the contents of incoming Open Sound
@ -14,3 +15,4 @@ The values for the code are as follows:
2 - print the contents in hexadecimal. 2 - print the contents in hexadecimal.
3 - print both the parsed and hexadecimal representations of the contents. 3 - print both the parsed and hexadecimal representations of the contents.

View file

@ -3,6 +3,7 @@
@title{/g_deepFree Free all synths in this group and all its sub-groups.} @title{/g_deepFree Free all synths in this group and all its sub-groups.}
[ [
int - group ID int - group ID
] * N ] * N
@ -11,3 +12,4 @@ Traverses all groups below this group and frees all the
synths. Sub-groups are not freed. A list of groups may be specified. synths. Sub-groups are not freed. A list of groups may be specified.

View file

@ -3,9 +3,11 @@
@title{/g_freeAll Delete all nodes in a group.} @title{/g_freeAll Delete all nodes in a group.}
[ [
int - group ID int - group ID
] * N ] * N
Frees all nodes in the group. A list of groups may be specified. Frees all nodes in the group. A list of groups may be specified.

View file

@ -3,6 +3,7 @@
@title{/g_head Add node to head of group} @title{/g_head Add node to head of group}
[ [
int - group ID int - group ID
int - node ID int - node ID
@ -10,3 +11,4 @@
Adds the node to the head (first to be executed) of the group. Adds the node to the head (first to be executed) of the group.

View file

@ -3,6 +3,7 @@
@title{/g_new Create a new group} @title{/g_new Create a new group}
[ [
int - new group ID int - new group ID
int - add action (0,1,2, 3 or 4 see below) int - add action (0,1,2, 3 or 4 see below)
@ -33,3 +34,4 @@ ID. The target node is freed.
Multiple groups may be created in one command by adding Multiple groups may be created in one command by adding
arguments. arguments.

View file

@ -4,3 +4,4 @@
@title{see g-new} @title{see g-new}

View file

@ -3,6 +3,7 @@
@title{/g_tail Add node to tail of group} @title{/g_tail Add node to tail of group}
[ [
int - group ID int - group ID
int - node ID int - node ID
@ -11,3 +12,4 @@
Adds the node to the tail (last to be executed) of the group. Adds the node to the tail (last to be executed) of the group.

View file

@ -3,6 +3,7 @@
@title{/n_after Place a node after another} @title{/n_after Place a node after another}
[ [
int - the ID of the node to place (A) int - the ID of the node to place (A)
int - the ID of the node after which the above is placed (B) int - the ID of the node after which the above is placed (B)
@ -11,3 +12,4 @@
Places node A in the same group as node B, to execute immediately Places node A in the same group as node B, to execute immediately
after node B. after node B.

View file

@ -3,6 +3,7 @@
@title{/n_before Place a node before another} @title{/n_before Place a node before another}
[ [
int - the ID of the node to place (A) int - the ID of the node to place (A)
int - the ID of the node before which the above is placed (B) int - the ID of the node before which the above is placed (B)
@ -11,3 +12,4 @@
Places node A in the same group as node B, to execute immediately Places node A in the same group as node B, to execute immediately
before node B. before node B.

View file

@ -3,6 +3,7 @@
@title{/n_fill Fill ranges of a node's control value(s)} @title{/n_fill Fill ranges of a node's control value(s)}
int - node ID int - node ID
[ [
int or string - a control index or name int or string - a control index or name
@ -15,3 +16,4 @@ range, the starting control index is given followed by the number of
controls to change, followed by the value to fill. If the node is a controls to change, followed by the value to fill. If the node is a
group, then it sets the controls of every node in the group. group, then it sets the controls of every node in the group.

View file

@ -3,6 +3,7 @@
@title{/n_free Delete a node.} @title{/n_free Delete a node.}
[ [
int - node ID int - node ID
] * N ] * N
@ -11,3 +12,4 @@ Stops a node abruptly, removes it from its group, and frees its
memory. A list of node IDs may be specified. Using this method can memory. A list of node IDs may be specified. Using this method can
cause a click if the node is not silent at the time it is freed. cause a click if the node is not silent at the time it is freed.

View file

@ -3,6 +3,7 @@
@title{/n_map Map a node's controls to read from a bus} @title{/n_map Map a node's controls to read from a bus}
int - node ID int - node ID
[ [
int or string - a control index or name int or string - a control index or name
@ -17,3 +18,4 @@ group. If the control bus index is -1 then any current mapping is
undone and control reverts to normal. undone and control reverts to normal.

View file

@ -3,6 +3,7 @@
@title{/n_mapn Map a node's controls to read from buses} @title{/n_mapn Map a node's controls to read from buses}
int - node ID int - node ID
[ [
int or string - a control index or name int or string - a control index or name
@ -18,3 +19,4 @@ then any current mapping is undone and control reverts to normal.
See also: /n_map See also: /n_map

View file

@ -3,6 +3,7 @@
@title{/n_query Get info about a node} @title{/n_query Get info about a node}
[ [
int - node ID int - node ID
] * N ] * N
@ -12,3 +13,4 @@ clients.
See Node Notifications below for the format of the /n_info message. See Node Notifications below for the format of the /n_info message.

View file

@ -3,6 +3,7 @@
@title{/n_run Turn node on or off} @title{/n_run Turn node on or off}
[ [
int - node ID int - node ID
int - run flag int - run flag
@ -13,3 +14,4 @@ the run flag is set back to one, then it will be executed. Using
this method to start and stop nodes can cause a click if the node is this method to start and stop nodes can cause a click if the node is
not silent at the time run flag is toggled. not silent at the time run flag is toggled.

View file

@ -3,6 +3,7 @@
@title{/n_set Set a node's control value(s)} @title{/n_set Set a node's control value(s)}
int - node ID int - node ID
[ [
int or string - a control index or name int or string - a control index or name
@ -13,19 +14,29 @@ Takes a list of pairs of control indices and values and sets the
controls to those values. If the node is a group, then it sets the controls to those values. If the node is a group, then it sets the
controls of every node in the group. controls of every node in the group.
@racketblock[
(with-sc3 (with-sc3
(lambda (fd) (lambda (fd)
(letc ((f 440) (letc ((f 440)
(a 0.1)) (a 0.1))
(send-synth fd "sin" (out 0 (mul (sin-osc ar f 0) a)))) (send-synth fd "sin" (out 0 (mul (sin-osc ar f 0) a))))
(send fd (s-new0 "sin" 1001 add-to-tail 1)))) (send fd (s-new0 "sin" 1001 add-to-tail 1))))
]
@racketblock[
(with-sc3 (with-sc3
(lambda (fd) (lambda (fd)
(send fd (n-set1 1001 "f" 1280)))) (send fd (n-set1 1001 "f" 1280))))
]
@racketblock[
(with-sc3 (with-sc3
(lambda (fd) (lambda (fd)
(send fd (n-set 1001 (list (tuple2 "f" (random 60 900)) (send fd (n-set 1001 (list (tuple2 "f" (random 60 900))
(tuple2 "a" (random 0.05 0.25))))))) (tuple2 "a" (random 0.05 0.25)))))))
]

View file

@ -4,3 +4,4 @@
@title{see n-set} @title{see n-set}

View file

@ -3,6 +3,7 @@
@title{/n_setn Set ranges of a node's control value(s)} @title{/n_setn Set ranges of a node's control value(s)}
int - node ID int - node ID
[ [
int or string - a control index or name int or string - a control index or name
@ -17,3 +18,4 @@ range, the starting control index is given followed by the number of
controls to change, followed by the values. If the node is a group, controls to change, followed by the values. If the node is a group,
then it sets the controls of every node in the group. then it sets the controls of every node in the group.

View file

@ -3,6 +3,7 @@
@title{/n_trace Trace a node} @title{/n_trace Trace a node}
[ [
int - node ID int - node ID
] * N ] * N
@ -13,3 +14,4 @@ the node IDs and names of each node in the group for one control
period. period.

View file

@ -3,6 +3,7 @@
@title{/notify Register to receive notifications from server} @title{/notify Register to receive notifications from server}
int - one to receive notifications, zero to stop receiving them. int - one to receive notifications, zero to stop receiving them.
If argument is one, server will remember your return address and If argument is one, server will remember your return address and
@ -11,3 +12,4 @@ sending you notifications.
Asynchronous. Replies to sender with /done when complete. Asynchronous. Replies to sender with /done when complete.

View file

@ -3,6 +3,7 @@
@title{/nrt_end end real time mode, close file} @title{/nrt_end end real time mode, close file}
**NOT YET IMPLEMENTED** **NOT YET IMPLEMENTED**
no arguments. no arguments.
@ -12,3 +13,4 @@ bundle timestamp will establish the ending time of the file. This
command will end non real time mode and close the sound file. command will end non real time mode and close the sound file.
Replies to sender with /done when complete. Replies to sender with /done when complete.

View file

@ -3,9 +3,11 @@
@title{/quit Quit program} @title{/quit Quit program}
No arguments. No arguments.
Exits the synthesis server. Exits the synthesis server.
Asynchronous. Replies to sender with /done just before completion. Asynchronous. Replies to sender with /done just before completion.

View file

@ -3,6 +3,7 @@
@title{/s_get Get control value(s)} @title{/s_get Get control value(s)}
int - synth ID int - synth ID
[ [
int or string - a control index or name int or string - a control index or name
@ -10,3 +11,4 @@ int - synth ID
Replies to sender with the corresponding /n_set command. Replies to sender with the corresponding /n_set command.

View file

@ -3,6 +3,7 @@
@title{/s_getn Get ranges of control value(s)} @title{/s_getn Get ranges of control value(s)}
int - synth ID int - synth ID
[ [
int|string - a control index or name int|string - a control index or name
@ -12,3 +13,4 @@ int - synth ID
Get contiguous ranges of controls. Replies to sender with the Get contiguous ranges of controls. Replies to sender with the
corresponding /n_setn command. corresponding /n_setn command.

View file

@ -3,6 +3,7 @@
@title{/s_new Create a new synth} @title{/s_new Create a new synth}
string - synth definition name string - synth definition name
int - synth ID int - synth ID
int - add action (0,1,2, 3 or 4 see below) int - add action (0,1,2, 3 or 4 see below)
@ -49,3 +50,4 @@ ID or not). This is how you can map the controls of a node with an
auto generated ID. In a multi-client situation, the only way you can auto generated ID. In a multi-client situation, the only way you can
be sure what node -1 refers to is to put the messages in a bundle. be sure what node -1 refers to is to put the messages in a bundle.

View file

@ -4,3 +4,4 @@
@title{see s-new} @title{see s-new}

View file

@ -3,6 +3,7 @@
@title{/s_noid Auto-reassign synth's ID to a reserved value} @title{/s_noid Auto-reassign synth's ID to a reserved value}
[ [
int - synth ID int - synth ID
] * N ] * N
@ -13,3 +14,4 @@ server will reassign this synth to a reserved negative number. This
command is purely for bookkeeping convenience of the client. No command is purely for bookkeeping convenience of the client. No
notification is sent when this occurs. notification is sent when this occurs.

View file

@ -3,6 +3,7 @@
@title{/status Query the status} @title{/status Query the status}
No arguments. No arguments.
Replies to sender with the following message. Replies to sender with the following message.
@ -20,3 +21,4 @@ Replies to sender with the following message.

View file

@ -3,6 +3,7 @@
@title{/sync Notify when async commands have completed.} @title{/sync Notify when async commands have completed.}
int - a unique number identifying this command. int - a unique number identifying this command.
Replies with a /synced message when all asynchronous commands Replies with a /synced message when all asynchronous commands
@ -11,3 +12,4 @@ sent unique ID.
Asynchronous. Replies to sender with /synced, ID when complete. Asynchronous. Replies to sender with /synced, ID when complete.

View file

@ -3,6 +3,7 @@
@title{/tr A trigger message} @title{/tr A trigger message}
int - node ID int - node ID
int - trigger ID int - trigger ID
float - trigger value float - trigger value
@ -14,3 +15,4 @@ The node ID is the node that is sending the trigger. The trigger ID
and value are determined by inputs to the SendTrig unit generator and value are determined by inputs to the SendTrig unit generator
which is the originator of this message. which is the originator of this message.

View file

@ -3,6 +3,7 @@
@title{/u_cmd send a command to a unit generator} @title{/u_cmd send a command to a unit generator}
int - node ID int - node ID
int - unit generator index int - unit generator index
string - command name string - command name
@ -11,3 +12,4 @@ string - command name
Sends all arguments following the command name to the unit generator Sends all arguments following the command name to the unit generator
to be performed. Commands are defined by unit generator plug ins. to be performed. Commands are defined by unit generator plug ins.

View file

@ -3,12 +3,20 @@
@title{(amplitude rate in attackTime releaseTime)} @title{(amplitude rate in attackTime releaseTime)}
Amplitude follower. Tracks the peak amplitude of a signal. Amplitude follower. Tracks the peak amplitude of a signal.
@racketblock[
(audition (audition
(out 0 (mul (pulse ar 90 0.3) (out 0 (mul (pulse ar 90 0.3)
(amplitude kr (in 1 ar num-output-buses) 0.01 0.01)))) (amplitude kr (in 1 ar num-output-buses) 0.01 0.01))))
]
@racketblock[
(let* ((a (amplitude kr (in 1 ar num-output-buses) 0.01 0.01)) (let* ((a (amplitude kr (in 1 ar num-output-buses) 0.01 0.01))
(f (mul-add a 1200 400))) (f (mul-add a 1200 400)))
(audition (out 0 (mul (sin-osc ar f 0) 0.3)))) (audition (out 0 (mul (sin-osc ar f 0) 0.3))))
]

View file

@ -3,6 +3,7 @@
@title{(compander input control thresh slopeBelow slopeAbove clampTime relaxTime)} @title{(compander input control thresh slopeBelow slopeAbove clampTime relaxTime)}
Compressor, expander, limiter, gate, ducker. General purpose Compressor, expander, limiter, gate, ducker. General purpose
dynamics processor. dynamics processor.
@ -43,29 +44,48 @@ relaxTime: The amount of time for the amplitude adjustment to be
Example signal to process. Example signal to process.
@racketblock[
(define z (define z
(mul (decay2 (mul (impulse ar 8 0) (mul (lf-saw kr 0.3 0) 0.3)) 0.001 0.3) (mul (decay2 (mul (impulse ar 8 0) (mul (lf-saw kr 0.3 0) 0.3)) 0.001 0.3)
(mix (pulse ar (mce2 80 81) 0.3)))) (mix (pulse ar (mce2 80 81) 0.3))))
]
@racketblock[
(audition (out 0 z)) (audition (out 0 z))
]
Noise gate Noise gate
@racketblock[
(let ((x (mouse-x kr 0.01 1 0 0.1))) (let ((x (mouse-x kr 0.01 1 0 0.1)))
(audition (out 0 (mce2 z (compander z z x 10 1 0.01 0.01))))) (audition (out 0 (mce2 z (compander z z x 10 1 0.01 0.01)))))
]
Compressor Compressor
@racketblock[
(let ((x (mouse-x kr 0.01 1 0 0.1))) (let ((x (mouse-x kr 0.01 1 0 0.1)))
(audition (out 0 (mce2 z (compander z z x 1 0.5 0.01 0.01))))) (audition (out 0 (mce2 z (compander z z x 1 0.5 0.01 0.01)))))
]
limiter limiter
@racketblock[
(let ((x (mouse-x kr 0.01 1 0 0.1))) (let ((x (mouse-x kr 0.01 1 0 0.1)))
(audition (out 0 (mce2 z (compander z z x 1 0.1 0.01 0.01))))) (audition (out 0 (mce2 z (compander z z x 1 0.1 0.01 0.01)))))
]
Sustainer Sustainer
@racketblock[
(let ((x (mouse-x kr 0.01 1 0 0.1))) (let ((x (mouse-x kr 0.01 1 0 0.1)))
(audition (out 0 (mce2 z (compander z z x 0.1 1.0 0.01 0.01))))) (audition (out 0 (mce2 z (compander z z x 0.1 1.0 0.01 0.01)))))
]

View file

@ -22,9 +22,14 @@ minFreq = 60.0, maxFreq = 4000.0, execFreq = 100.0,
maxBinsPerOctave = 16, median = 1, ampThreshold = 0.01, maxBinsPerOctave = 16, median = 1, ampThreshold = 0.01,
peakThreshold = 0.5, downSample = 1. peakThreshold = 0.5, downSample = 1.
@racketblock[
(define (pitch* in median ampThreshold) (define (pitch* in median ampThreshold)
(pitch in 444.0 60.0 4000.0 100.0 16 median ampThreshold 0.5 1)) (pitch in 444.0 60.0 4000.0 100.0 16 median ampThreshold 0.5 1))
]
@racketblock[
(let* ((in (mul (sin-osc ar (mouse-x kr 220 660 0 0.1) 0) (let* ((in (mul (sin-osc ar (mouse-x kr 220 660 0 0.1) 0)
(mouse-y kr 0.05 0.25 0 0.1))) (mouse-y kr 0.05 0.25 0 0.1)))
(amp (amplitude kr in 0.05 0.05)) (amp (amplitude kr in 0.05 0.05))
@ -32,11 +37,16 @@ peakThreshold = 0.5, downSample = 1.
(f (fdiv (car (mce-channels freq+)) 2)) (f (fdiv (car (mce-channels freq+)) 2))
(o (mul (sin-osc ar f 0) amp))) (o (mul (sin-osc ar f 0) amp)))
(audition (out 0 (mce2 in o)))) (audition (out 0 (mce2 in o))))
]
@racketblock[
(let* ((in (sound-in 0)) (let* ((in (sound-in 0))
(amp (amplitude kr in 0.05 0.05)) (amp (amplitude kr in 0.05 0.05))
(freq+ (pitch* in 7 0.02)) (freq+ (pitch* in 7 0.02))
(f (car (mce-channels freq+))) (f (car (mce-channels freq+)))
(o (mul (sin-osc ar f 0) amp))) (o (mul (sin-osc ar f 0) amp)))
(audition (out 0 (mce2 in o)))) (audition (out 0 (mce2 in o))))
]

View file

@ -3,6 +3,7 @@
@title{(running-sum in numsamp)} @title{(running-sum in numsamp)}
A running sum over a user specified number of samples, useful for A running sum over a user specified number of samples, useful for
running RMS power windowing. running RMS power windowing.
@ -10,9 +11,13 @@ in - input signal
numsamp - How many samples to take the running sum over numsamp - How many samples to take the running sum over
(initialisation rate) (initialisation rate)
@racketblock[
(let ((n 40)) (let ((n 40))
(audition (audition
(out 0 (foldl1 mul (list (sin-osc ar 440 0) (out 0 (foldl1 mul (list (sin-osc ar 440 0)
(running-sum (sound-in (mce2 0 1)) n) (running-sum (sound-in (mce2 0 1)) n)
(recip n)))))) (recip n))))))
]

View file

@ -3,6 +3,7 @@
@title{(slope in)} @title{(slope in)}
slope of signal. Measures the rate of change per second of a slope of signal. Measures the rate of change per second of a
signal. Formula implemented is: signal. Formula implemented is:
@ -13,6 +14,8 @@ in - input signal to measure.
a = quadratic noise, b = first derivative line segments, c = second a = quadratic noise, b = first derivative line segments, c = second
derivative constant segments derivative constant segments
@racketblock[
(let* ((r 2) (let* ((r 2)
(a (lf-noise2 kr r)) (a (lf-noise2 kr r))
(scale (recip r)) (scale (recip r))
@ -20,4 +23,6 @@ derivative constant segments
(c (mul (slope b) (squared scale))) (c (mul (slope b) (squared scale)))
(o (sin-osc ar (mul-add (mce3 a b c) 220 220) 0))) (o (sin-osc ar (mul-add (mce3 a b c) 220 220) 0)))
(audition (out 0 (mix (mul o 1/3))))) (audition (out 0 (mix (mul o 1/3)))))
]

View file

@ -3,6 +3,7 @@
@title{(zero-crossing in)} @title{(zero-crossing in)}
Zero crossing frequency follower. Zero crossing frequency follower.
outputs a frequency based upon the distance between interceptions outputs a frequency based upon the distance between interceptions
@ -13,7 +14,11 @@ in some situations.
in - input signal. in - input signal.
@racketblock[
(let* ((a (mul (sin-osc ar (mul-add (sin-osc kr 1 0) 600 700) 0) 0.1)) (let* ((a (mul (sin-osc ar (mul-add (sin-osc kr 1 0) 600 700) 0) 0.1))
(b (mul (impulse ar (zero-crossing a) 0) 0.25))) (b (mul (impulse ar (zero-crossing a) 0) 0.25)))
(audition (out 0 (mce2 a b)))) (audition (out 0 (mce2 a b))))
]

View file

@ -3,10 +3,15 @@
@title{(abs-dif a b)} @title{(abs-dif a b)}
Calculates the value of (abs (- a b). Finding the magnitude of the Calculates the value of (abs (- a b). Finding the magnitude of the
difference of two values is a common operation. difference of two values is a common operation.
@racketblock[
(audition (audition
(out 0 (mul (f-sin-osc ar 440 0) (out 0 (mul (f-sin-osc ar 440 0)
(abs-dif 0.2 (mul (f-sin-osc ar 2 0) 0.5))))) (abs-dif 0.2 (mul (f-sin-osc ar 2 0) 0.5)))))
]

View file

@ -3,14 +3,22 @@
@title{(add a b)} @title{(add a b)}
addition, written '+' in sclang. addition, written '+' in sclang.
@racketblock[
(audition (audition
(out 0 (add (mul (f-sin-osc ar 800 0) 0.1) (out 0 (add (mul (f-sin-osc ar 800 0) 0.1)
(mul (pink-noise ar) 0.1)))) (mul (pink-noise ar) 0.1))))
]
DC offset. DC offset.
@racketblock[
(audition (audition
(out 0 (add (f-sin-osc ar 440 0) 0.1))) (out 0 (add (f-sin-osc ar 440 0) 0.1)))
]

View file

@ -3,9 +3,14 @@
@title{(am-clip a b)} @title{(am-clip a b)}
Two quadrant multiply, 0 when b <= 0, a*b when b > 0 Two quadrant multiply, 0 when b <= 0, a*b when b > 0
@racketblock[
(audition (audition
(out 0 (am-clip (white-noise ar) (out 0 (am-clip (white-noise ar)
(mul (f-sin-osc kr 1 0) 0.2)))) (mul (f-sin-osc kr 1 0) 0.2))))
]

View file

@ -3,6 +3,7 @@
@title{(Atan2 x y)} @title{(Atan2 x y)}
Returns the arctangent of y/x. Returns the arctangent of y/x.
See also hypot. See also hypot.
@ -11,6 +12,8 @@ add a pan to the hypot doppler examples by using atan2 to find the
azimuth, or direction angle, of the sound source. Assume speakers azimuth, or direction angle, of the sound source. Assume speakers
at +/- 45 degrees and clip the direction to between those. at +/- 45 degrees and clip the direction to between those.
@racketblock[
(let* ((x 10) (let* ((x 10)
(y (mul (lf-saw kr 1/6 0) 100)) (y (mul (lf-saw kr 1/6 0) 100))
(distance (hypot x y)) (distance (hypot x y))
@ -22,4 +25,6 @@ at +/- 45 degrees and clip the direction to between those.
(out 0 (pan2 (delay-l sound 110/344 (fdiv distance 344)) (out 0 (pan2 (delay-l sound 110/344 (fdiv distance 344))
loc loc
amplitude)))) amplitude))))
]

View file

@ -3,11 +3,19 @@
@title{(clip2 a b)} @title{(clip2 a b)}
Bilateral clipping. clips a to +/- b Bilateral clipping. clips a to +/- b
@racketblock[
(audition (audition
(out 0 (clip2 (f-sin-osc ar 400 0) 0.2))) (out 0 (clip2 (f-sin-osc ar 400 0) 0.2)))
]
@racketblock[
(audition (audition
(out 0 (clip2 (f-sin-osc ar 400 0) (line kr 0 1 8 remove-synth)))) (out 0 (clip2 (f-sin-osc ar 400 0) (line kr 0 1 8 remove-synth))))
]

View file

@ -3,17 +3,25 @@
@title{(dif-sqr a b)} @title{(dif-sqr a b)}
Difference of squares. Return the value of (a*a) - (b*b). This is Difference of squares. Return the value of (a*a) - (b*b). This is
more efficient than using separate unit generators for each more efficient than using separate unit generators for each
operation. operation.
@racketblock[
(audition (audition
(out 0 (mul (dif-sqr (f-sin-osc ar 800 0) (out 0 (mul (dif-sqr (f-sin-osc ar 800 0)
(f-sin-osc ar (x-line kr 200 500 5 do-nothing) 0)) (f-sin-osc ar (x-line kr 200 500 5 do-nothing) 0))
0.125))) 0.125)))
]
@racketblock[
(audition (audition
(out 0 (let ((a (f-sin-osc ar 800 0)) (out 0 (let ((a (f-sin-osc ar 800 0))
(b (f-sin-osc ar (x-line kr 200 500 5 do-nothing) 0))) (b (f-sin-osc ar (x-line kr 200 500 5 do-nothing) 0)))
(mul (sub (mul a a) (mul b b)) 0.125)))) (mul (sub (mul a a) (mul b b)) 0.125))))
]

View file

@ -1 +1,2 @@
;; See gt ;; eq
;; See gt

View file

@ -1,6 +1,8 @@
#lang scribble/manual #lang scribble/manual
@(require (for-label racket)) @(require (for-label racket))
@title{See gt} @title{eq}
See gt

View file

@ -3,14 +3,22 @@
@title{(excess a b)} @title{(excess a b)}
clipping residual. Returns the difference of the original signal clipping residual. Returns the difference of the original signal
and its clipped form: (a - clip2(a,b)). and its clipped form: (a - clip2(a,b)).
@racketblock[
(audition (audition
(out 0 (excess (f-sin-osc ar 1000 0) (line kr 0 1 8 do-nothing)))) (out 0 (excess (f-sin-osc ar 1000 0) (line kr 0 1 8 do-nothing))))
]
@racketblock[
(audition (audition
(out 0 (let ((a (f-sin-osc ar 1000 0)) (out 0 (let ((a (f-sin-osc ar 1000 0))
(b (line kr 0 1 8 do-nothing))) (b (line kr 0 1 8 do-nothing)))
(sub a (clip2 a b))))) (sub a (clip2 a b)))))
]

View file

@ -3,11 +3,16 @@
@title{(fdiv a b)} @title{(fdiv a b)}
Division, written '/' in sclang. Division, written '/' in sclang.
Division can be tricky with signals because of division by zero. Division can be tricky with signals because of division by zero.
@racketblock[
(audition (audition
(out 0 (fdiv (mul (pink-noise ar) 0.1) (out 0 (fdiv (mul (pink-noise ar) 0.1)
(mul (f-sin-osc kr 10 0.5) 0.75)))) (mul (f-sin-osc kr 10 0.5) 0.75))))
]

View file

@ -3,9 +3,14 @@
@title{(fold2 a b)} @title{(fold2 a b)}
Bilateral folding. folds a to +/- b. Bilateral folding. folds a to +/- b.
@racketblock[
(audition (audition
(out 0 (fold2 (f-sin-osc ar 1000 0) (out 0 (fold2 (f-sin-osc ar 1000 0)
(line kr 0 1 8 do-nothing)))) (line kr 0 1 8 do-nothing))))
]

View file

@ -3,5 +3,7 @@
@title{(ge a b)} @title{(ge a b)}
See gt See gt

View file

@ -3,10 +3,13 @@
@title{(gt a b)} @title{(gt a b)}
Greater than, written '>' in sclang. Signal is 1.0 if a > b, Greater than, written '>' in sclang. Signal is 1.0 if a > b,
otherwise it is 0.0. Similarly LT is <, GE >=, LE <= and EQ ==. otherwise it is 0.0. Similarly LT is <, GE >=, LE <= and EQ ==.
These can be useful for triggering purposes, among other things. These can be useful for triggering purposes, among other things.
@racketblock[
(let* ((o (sin-osc kr 1 0)) (let* ((o (sin-osc kr 1 0))
(t (list (gt o 0) (t (list (gt o 0)
(ge o 0) (ge o 0)
@ -23,4 +26,6 @@ These can be useful for triggering purposes, among other things.
(p (env-perc 0.01 1 1 (list -4 -4))) (p (env-perc 0.01 1 1 (list -4 -4)))
(e (env-gen kr (make-mce t) 0.1 0 1 do-nothing p))) (e (env-gen kr (make-mce t) 0.1 0 1 do-nothing p)))
(audition (out 0 (mix (mul (sin-osc ar (make-mce f) 0) e))))) (audition (out 0 (mix (mul (sin-osc ar (make-mce f) 0) e)))))
]

View file

@ -3,17 +3,23 @@
@title{(hypot x y)} @title{(hypot x y)}
Returns the square root of the sum of the squares of a and b. Or Returns the square root of the sum of the squares of a and b. Or
equivalently, the distance from the origin to the point (x, y). equivalently, the distance from the origin to the point (x, y).
@racketblock[
(audition (audition
(out 0 (mul (sin-osc ar 440 0) (out 0 (mul (sin-osc ar 440 0)
(hypot (mouse-x kr 0 0.1 0 0.1) (hypot (mouse-x kr 0 0.1 0 0.1)
(mouse-y kr 0 0.1 0 0.1))))) (mouse-y kr 0 0.1 0 0.1)))))
]
Object travels 200 meters in 6 secs (=120kph) passing 10 meters Object travels 200 meters in 6 secs (=120kph) passing 10 meters
from the listener. The speed of sound is 344 meters/sec. from the listener. The speed of sound is 344 meters/sec.
@racketblock[
(let* ((x 10) (let* ((x 10)
(y (mul (lf-saw kr 1/6 0) 100)) (y (mul (lf-saw kr 1/6 0) 100))
(distance (hypot x y)) (distance (hypot x y))
@ -23,7 +29,10 @@ from the listener. The speed of sound is 344 meters/sec.
(audition (audition
(out 0 (mul (f-sin-osc ar (mul 1000 pitch-ratio) 0) (out 0 (mul (f-sin-osc ar (mul 1000 pitch-ratio) 0)
amplitude)))) amplitude))))
]
@racketblock[
(let* ((x 10) (let* ((x 10)
(y (mul (lf-saw kr 1/6 0) 100)) (y (mul (lf-saw kr 1/6 0) 100))
(distance (hypot x y)) (distance (hypot x y))
@ -32,4 +41,6 @@ from the listener. The speed of sound is 344 meters/sec.
(audition (audition
(out 0 (mul (delay-l sound 110/344 (fdiv distance 344)) (out 0 (mul (delay-l sound 110/344 (fdiv distance 344))
amplitude)))) amplitude))))
]

View file

@ -3,5 +3,7 @@
@title{(le a b)} @title{(le a b)}
See gt See gt

View file

@ -3,5 +3,7 @@
@title{(lt a b)} @title{(lt a b)}
See gt See gt

View file

@ -3,9 +3,14 @@
@title{(max a b)} @title{(max a b)}
Maximum. Maximum.
@racketblock[
(audition (audition
(out 0 (let ((z (f-sin-osc ar 500 0))) (out 0 (let ((z (f-sin-osc ar 500 0)))
(u:max z (f-sin-osc ar 0.1 0))))) (u:max z (f-sin-osc ar 0.1 0)))))
]

View file

@ -3,9 +3,14 @@
@title{(min a b)} @title{(min a b)}
Minimum. Minimum.
@racketblock[
(audition (audition
(out 0 (let ((z (f-sin-osc ar 500 0))) (out 0 (let ((z (f-sin-osc ar 500 0)))
(u:min z (f-sin-osc ar 0.1 0))))) (u:min z (f-sin-osc ar 0.1 0)))))
]

View file

@ -3,8 +3,13 @@
@title{(Mod a b)} @title{(Mod a b)}
Modulo, written % in sclang. outputs a modulo b. Modulo, written % in sclang. outputs a modulo b.
@racketblock[
(audition (audition
(out 0 (u:mod (f-sin-osc ar 100 4) 1))) (out 0 (u:mod (f-sin-osc ar 100 4) 1)))
]

View file

@ -3,22 +3,33 @@
@title{(mul a b)} @title{(mul a b)}
multiplication, written '*' in sclang. multiplication, written '*' in sclang.
@racketblock[
(audition (audition
(out 0 (mul (sin-osc ar 440 0) 0.5))) (out 0 (mul (sin-osc ar 440 0) 0.5)))
]
Creates a beating effect (subaudio rate). Creates a beating effect (subaudio rate).
@racketblock[
(audition (audition
(out 0 (mul3 (f-sin-osc kr 10 0) (out 0 (mul3 (f-sin-osc kr 10 0)
(pink-noise ar) (pink-noise ar)
0.5))) 0.5)))
]
Ring modulation. Ring modulation.
@racketblock[
(audition (audition
(out 0 (mul3 (sin-osc ar (x-line kr 100 1001 10 do-nothing) 0) (out 0 (mul3 (sin-osc ar (x-line kr 100 1001 10 do-nothing) 0)
(sync-saw ar 100 200) (sync-saw ar 100 200)
0.25))) 0.25)))
]

View file

@ -3,17 +3,23 @@
@title{(pow a b)} @title{(pow a b)}
Exponentiation, written ** in sclang. When the signal is negative Exponentiation, written ** in sclang. When the signal is negative
this function extends the usual definition of exponentiation and this function extends the usual definition of exponentiation and
returns neg(neg(a) ** b). This allows exponentiation of negative returns neg(neg(a) ** b). This allows exponentiation of negative
signal values by noninteger exponents. signal values by noninteger exponents.
@racketblock[
(audition (audition
(out 0 (let ((a (mul (f-sin-osc ar 100 0) 0.1))) (out 0 (let ((a (mul (f-sin-osc ar 100 0) 0.1)))
(mce2 a (pow a 10))))) (mce2 a (pow a 10)))))
]
http://create.ucsb.edu/pipermail/sc-users/2006-December/029998.html http://create.ucsb.edu/pipermail/sc-users/2006-December/029998.html
@racketblock[
(let* ((n0 (mul-add (lf-noise2 kr 8) 200 300)) (let* ((n0 (mul-add (lf-noise2 kr 8) 200 300))
(n1 (mul-add (lf-noise2 kr 3) 10 20)) (n1 (mul-add (lf-noise2 kr 3) 10 20))
(s (blip ar n0 n1)) (s (blip ar n0 n1))
@ -23,4 +29,6 @@ http://create.ucsb.edu/pipermail/sc-users/2006-December/029998.html
(b (u:round d (pow 0.5 y)))) (b (u:round d (pow 0.5 y))))
(audition (audition
(out 0 (mce2 d b)))) (out 0 (mce2 d b))))
]

View file

@ -3,19 +3,27 @@
@title{(ring1 a b)} @title{(ring1 a b)}
Ring modulation plus first source. Return the value of ((a*b) + Ring modulation plus first source. Return the value of ((a*b) +
a). This is more efficient than using separate unit generators for a). This is more efficient than using separate unit generators for
the multiply and add. the multiply and add.
See also mul, Ring1, Ring2, Ring3, Ring4. See also mul, Ring1, Ring2, Ring3, Ring4.
@racketblock[
(audition (audition
(out 0 (mul (ring1 (f-sin-osc ar 800 0) (out 0 (mul (ring1 (f-sin-osc ar 800 0)
(f-sin-osc ar (x-line kr 200 500 5 do-nothing) 0)) (f-sin-osc ar (x-line kr 200 500 5 do-nothing) 0))
0.125))) 0.125)))
]
@racketblock[
(let ((a (f-sin-osc ar 800 0)) (let ((a (f-sin-osc ar 800 0))
(b (f-sin-osc ar (x-line kr 200 500 5 do-nothing) 0))) (b (f-sin-osc ar (x-line kr 200 500 5 do-nothing) 0)))
(audition (audition
(out 0 (mul (add (mul a b) a) 0.125)))) (out 0 (mul (add (mul a b) a) 0.125))))
]

View file

@ -3,19 +3,27 @@
@title{(ring2 a b)} @title{(ring2 a b)}
Ring modulation plus both sources. Return the value of ((a*b) + a Ring modulation plus both sources. Return the value of ((a*b) + a
+ b). This is more efficient than using separate unit generators + b). This is more efficient than using separate unit generators
for the multiply and add. for the multiply and add.
See also mul, Ring1, Ring3, Ring4. See also mul, Ring1, Ring3, Ring4.
@racketblock[
(audition (audition
(out 0 (mul (ring2 (f-sin-osc ar 800 0) (out 0 (mul (ring2 (f-sin-osc ar 800 0)
(f-sin-osc ar (x-line kr 200 500 5 do-nothing) 0)) (f-sin-osc ar (x-line kr 200 500 5 do-nothing) 0))
0.125))) 0.125)))
]
@racketblock[
(let ((a (f-sin-osc ar 800 0)) (let ((a (f-sin-osc ar 800 0))
(b (f-sin-osc ar (x-line kr 200 500 5 do-nothing) 0))) (b (f-sin-osc ar (x-line kr 200 500 5 do-nothing) 0)))
(audition (audition
(out 0 (mul (add3 (mul a b) a b) 0.125)))) (out 0 (mul (add3 (mul a b) a b) 0.125))))
]

View file

@ -3,19 +3,27 @@
@title{(ring3 a b)} @title{(ring3 a b)}
Ring modulation variant. Return the value of (a * a * b). This is Ring modulation variant. Return the value of (a * a * b). This is
more efficient than using separate unit generators for the more efficient than using separate unit generators for the
multiplies. multiplies.
See also mul, ring1, ring2, ring4. See also mul, ring1, ring2, ring4.
@racketblock[
(audition (audition
(out 0 (mul (ring3 (f-sin-osc ar 800 0) (out 0 (mul (ring3 (f-sin-osc ar 800 0)
(f-sin-osc ar (x-line kr 200 500 5 do-nothing) 0)) (f-sin-osc ar (x-line kr 200 500 5 do-nothing) 0))
0.125))) 0.125)))
]
@racketblock[
(let ((a (f-sin-osc ar 800 0)) (let ((a (f-sin-osc ar 800 0))
(b (f-sin-osc ar (x-line kr 200 500 5 do-nothing) 0))) (b (f-sin-osc ar (x-line kr 200 500 5 do-nothing) 0)))
(audition (audition
(out 0 (mul4 a a b 0.125)))) (out 0 (mul4 a a b 0.125))))
]

View file

@ -3,20 +3,28 @@
@title{(ring4 a b)} @title{(ring4 a b)}
Ring modulation variant. Return the value of ((a*a *b) - Ring modulation variant. Return the value of ((a*a *b) -
(a*b*b)). This is more efficient than using separate unit (a*b*b)). This is more efficient than using separate unit
generators for the multiplies. generators for the multiplies.
See also mul, ring1, ring2, ring3. See also mul, ring1, ring2, ring3.
@racketblock[
(audition (audition
(out 0 (mul (ring4 (f-sin-osc ar 800 0) (out 0 (mul (ring4 (f-sin-osc ar 800 0)
(f-sin-osc ar (x-line kr 200 500 5 do-nothing) 0)) (f-sin-osc ar (x-line kr 200 500 5 do-nothing) 0))
0.125))) 0.125)))
]
@racketblock[
(let ((a (f-sin-osc ar 800 0)) (let ((a (f-sin-osc ar 800 0))
(b (f-sin-osc ar (x-line kr 200 500 5 do-nothing) 0))) (b (f-sin-osc ar (x-line kr 200 500 5 do-nothing) 0)))
(audition (audition
(out 0 (mul (sub (mul3 a a b) (mul3 a b b)) (out 0 (mul (sub (mul3 a a b) (mul3 a b b))
0.125)))) 0.125))))
]

View file

@ -3,14 +3,22 @@
@title{(round-up a b)} @title{(round-up a b)}
Rounds a up to the nearest multiple of b. Rounds a up to the nearest multiple of b.
@racketblock[
(let* ((x (mouse-x kr 60 4000 0 0.1)) (let* ((x (mouse-x kr 60 4000 0 0.1))
(f (round-up x 100))) (f (round-up x 100)))
(audition (audition
(out 0 (mul (sin-osc ar f 0) 0.1)))) (out 0 (mul (sin-osc ar f 0) 0.1))))
]
@racketblock[
(let ((n (line kr 24 108 6 remove-synth))) (let ((n (line kr 24 108 6 remove-synth)))
(audition (audition
(out 0 (mul (saw ar (midi-cps (round-up n 1))) 0.2)))) (out 0 (mul (saw ar (midi-cps (round-up n 1))) 0.2))))
]

View file

@ -3,14 +3,22 @@
@title{(round a b)} @title{(round a b)}
Rounds a to the nearest multiple of b. Rounds a to the nearest multiple of b.
@racketblock[
(let* ((x (mouse-x kr 60 4000 0 0.1)) (let* ((x (mouse-x kr 60 4000 0 0.1))
(f (u:round x 100))) (f (u:round x 100)))
(audition (audition
(out 0 (mul (sin-osc ar f 0) 0.1)))) (out 0 (mul (sin-osc ar f 0) 0.1))))
]
@racketblock[
(let ((n (line kr 24 108 6 remove-synth))) (let ((n (line kr 24 108 6 remove-synth)))
(audition (audition
(out 0 (mul (saw ar (midi-cps (u:round n 1))) 0.2)))) (out 0 (mul (saw ar (midi-cps (u:round n 1))) 0.2))))
]

View file

@ -3,9 +3,14 @@
@title{(scale-neg a b)} @title{(scale-neg a b)}
Scale negative part of input wave. a * b when a < 0, otherwise a. Scale negative part of input wave. a * b when a < 0, otherwise a.
@racketblock[
(audition (audition
(out 0 (scale-neg (f-sin-osc ar 500 0) (line ar 1 -1 4 remove-synth)))) (out 0 (scale-neg (f-sin-osc ar 500 0) (line ar 1 -1 4 remove-synth))))
]

View file

@ -3,18 +3,26 @@
@title{(sqr-dif a b)} @title{(sqr-dif a b)}
Square of the difference. Return the value of (a - b)**2. This is Square of the difference. Return the value of (a - b)**2. This is
more efficient than using separate unit generators for each more efficient than using separate unit generators for each
operation. operation.
@racketblock[
(audition (audition
(out 0 (mul (sqr-dif (f-sin-osc ar 800 0) (out 0 (mul (sqr-dif (f-sin-osc ar 800 0)
(f-sin-osc ar (x-line kr 200 500 5 do-nothing) 0)) (f-sin-osc ar (x-line kr 200 500 5 do-nothing) 0))
0.125))) 0.125)))
]
@racketblock[
(let ((a (f-sin-osc ar 800 0)) (let ((a (f-sin-osc ar 800 0))
(b (f-sin-osc ar (x-line kr 200 500 5 do-nothing) 0))) (b (f-sin-osc ar (x-line kr 200 500 5 do-nothing) 0)))
(audition (audition
(out 0 (mul (mul (sub a b) (sub a b)) (out 0 (mul (mul (sub a b) (sub a b))
0.125)))) 0.125))))
]

View file

@ -3,18 +3,26 @@
@title{(sqr-sum a b)} @title{(sqr-sum a b)}
Square of the difference. Return the value of (a + b)**2. This is Square of the difference. Return the value of (a + b)**2. This is
more efficient than using separate unit generators for each more efficient than using separate unit generators for each
operation. operation.
@racketblock[
(audition (audition
(out 0 (mul (sqr-sum (f-sin-osc ar 800 0) (out 0 (mul (sqr-sum (f-sin-osc ar 800 0)
(f-sin-osc ar (x-line kr 200 500 5 do-nothing) 0)) (f-sin-osc ar (x-line kr 200 500 5 do-nothing) 0))
0.125))) 0.125)))
]
@racketblock[
(let ((a (f-sin-osc ar 800 0)) (let ((a (f-sin-osc ar 800 0))
(b (f-sin-osc ar (x-line kr 200 500 5 do-nothing) 0))) (b (f-sin-osc ar (x-line kr 200 500 5 do-nothing) 0)))
(audition (audition
(out 0 (mul (mul (add a b) (add a b)) (out 0 (mul (mul (add a b) (add a b))
0.125)))) 0.125))))
]

View file

@ -3,13 +3,18 @@
@title{(sub a b)} @title{(sub a b)}
subtraction, written '-' in sclang. subtraction, written '-' in sclang.
Silence. Silence.
@racketblock[
(let ((z (f-sin-osc ar 800 0))) (let ((z (f-sin-osc ar 800 0)))
(audition (audition
(out 0 (sub z z)))) (out 0 (sub z z))))
]

View file

@ -3,16 +3,24 @@
@title{(sum-sqr a b)} @title{(sum-sqr a b)}
Return the value of (a*a) + (b*b). This is more efficient than Return the value of (a*a) + (b*b). This is more efficient than
using separate unit generators for each operation. using separate unit generators for each operation.
@racketblock[
(audition (audition
(out 0 (mul (sum-sqr (f-sin-osc ar 800 0) (out 0 (mul (sum-sqr (f-sin-osc ar 800 0)
(f-sin-osc ar (x-line kr 200 500 5 do-nothing) 0)) (f-sin-osc ar (x-line kr 200 500 5 do-nothing) 0))
0.125))) 0.125)))
]
@racketblock[
(let ((a (f-sin-osc ar 800 0)) (let ((a (f-sin-osc ar 800 0))
(b (f-sin-osc ar (x-line kr 200 500 5 do-nothing) 0))) (b (f-sin-osc ar (x-line kr 200 500 5 do-nothing) 0)))
(audition (audition
(out 0 (mul (add (mul a a) (mul b b)) 0.125)))) (out 0 (mul (add (mul a a) (mul b b)) 0.125))))
]

Some files were not shown because too many files have changed in this diff Show more