Commit 12dedb26 authored by Dan Stowell's avatar Dan Stowell

Imported Upstream version 3.5.2

parent 814a3ed3
......@@ -57,8 +57,6 @@ endif()
#############################################
# Compiler flags etc
add_definitions(-DWIN32_LEAN_AND_MEAN)
if (${CMAKE_COMPILER_IS_GNUCXX})
exec_program(${CMAKE_CXX_COMPILER} ARGS -dumpversion OUTPUT_VARIABLE _gcc_version)
......@@ -121,6 +119,8 @@ if(WIN32)
APPEND
PROPERTY COMPILE_DEFINITIONS SC_WIN32 NOMINMAX _WIN32_WINNT=0x0500)
add_definitions(-DWIN32_LEAN_AND_MEAN)
if(MSVC)
SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_RELEASE} /MTd")
SET(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_DEBUG} /MT")
......
......@@ -105,7 +105,6 @@ method::hypot
method::hypotApx
method::>>
method::+>>
method::fill
method::ring1
method::ring2
method::ring3
......
......@@ -98,4 +98,4 @@ Remove all active functions from this object's function list.
EXAMPLES::
See link::Classes/OSCFunc:: and link::Classe/MIDIFunc::.
See link::Classes/OSCFunc:: and link::Classes/MIDIFunc::.
......@@ -18,6 +18,10 @@ argument::attackTime
argument::releaseTime
60dB convergence time for following decays.
argument::mul
argument::add
examples::
code::
......
......@@ -104,7 +104,7 @@ code::
[1, 2, 3, 4].pyramid(i + 1).postcs;
});
::
argument::n
argument::patternType
Choose counting algorithm. The algorithms are numbered 1 through 10.
method::pyramidg
......
......@@ -20,6 +20,10 @@ argument::channel
Input channel number to read. Channel numbers begin at 1.
argument::mul
argument::add
Examples::
Patching input to output
code::
......
......@@ -18,6 +18,8 @@ argument:: freq
center frequency.
argument:: rq
the reciprocal of Q. bandwidth / cutoffFreq.
argument:: mul
argument:: add
examples::
code::
......
......@@ -19,6 +19,8 @@ argument:: freq
center frequency.
argument:: bw
the bandwidth in octaves between -3 dB frequencies.
argument:: mul
argument:: add
examples::
code::
......
......@@ -19,6 +19,8 @@ argument:: freq
center frequency.
argument:: bw
the bandwidth in octaves between -3 dB frequencies.
argument:: mul
argument:: add
examples::
code::
......
......@@ -19,6 +19,8 @@ argument:: freq
cutoff frequency.
argument:: rq
the reciprocal of Q. bandwidth / cutoffFreq.
argument:: mul
argument:: add
method:: sc
calculate filter coefficients.
......
......@@ -21,6 +21,8 @@ argument:: freq
cutoff frequency.
argument:: rq
the reciprocal of Q. bandwidth / cutoffFreq.
argument:: mul
argument:: add
examples::
code::
......
......@@ -21,6 +21,8 @@ argument:: rs
the reciprocal of S. Shell boost/cut slope. When S = 1, the shelf slope is as steep as it can be and remain monotonically increasing or decreasing gain with frequency. The shelf slope, in dB/octave, remains proportional to S for all other values for a fixed code::freq/SampleRate.ir:: and code::db::.
argument:: db
gain. boost/cut the center frequency in dBs.
argument:: mul
argument:: add
examples::
code::
......
......@@ -19,6 +19,8 @@ argument:: freq
cutoff frequency.
argument:: rq
the reciprocal of Q. bandwidth / cutoffFreq.
argument:: mul
argument:: add
method:: sc
calculate filter coefficients.
......
......@@ -21,6 +21,8 @@ argument:: freq
cutoff frequency.
argument:: rq
the reciprocal of Q. bandwidth / cutoffFreq.
argument:: mul
argument:: add
examples::
code::
......
......@@ -21,6 +21,8 @@ argument:: rs
the reciprocal of S. Shell boost/cut slope. When S = 1, the shelf slope is as steep as it can be and remain monotonically increasing or decreasing gain with frequency. The shelf slope, in dB/octave, remains proportional to S for all other values for a fixed code::freq/SampleRate.ir:: and code::db::.
argument:: db
gain. boost/cut the center frequency in dBs.
argument:: mul
argument:: add
examples::
code::
......
......@@ -27,6 +27,9 @@ argument::rq
The reciprocal of Q. Q is conventionally defined as cutoffFreq / bandwidth, meaning rq = (bandwidth / cutoffFreq).
argument::mul
argument::add
Examples::
......
......@@ -21,6 +21,8 @@ argument:: rq
the reciprocal of Q. bandwidth / cutoffFreq.
argument:: db
boost/cut the center frequency (in dBs).
argument:: mul
argument:: add
examples::
code::
......
......@@ -33,6 +33,9 @@ Frequency in Hertz.
argument::numharm
Number of harmonics. This may be lowered internally if it would cause aliasing.
argument::mul
argument::add
Examples::
......
......@@ -33,7 +33,7 @@ method::&&
returns:: true if the receiver is true and aBoolean is true.
method::\||
method::||
returns:: true if either the receiver is true or aBoolean is true.
......
......@@ -29,6 +29,10 @@ Delay time in seconds.
argument::decaytime
Time for the echoes to decay by 60 decibels. If this time is negative then the feedback coefficient will be negative, thus emphasizing only odd harmonics at an octave lower.
argument::mul
argument::add
discussion::
Warning:: For reasons of efficiency, the effective buffer size is limited to the previous power of two. So, if 44100 samples are allocated, the maximum delay would be 32768 samples.
::
......
......@@ -28,6 +28,10 @@ The input signal.
argument::delaytime
Delay time in seconds.
argument::mul
argument::add
discussion::
Warning:: For reasons of efficiency, the effective buffer size is limited to the previous power of two. So, if 44100 samples are allocated, the maximum delay would be 32768 samples.
::
......
......@@ -200,10 +200,10 @@ argument:: startFrame
The first frame of the soundfile to read. The default is 0, which is the beginning of the file.
argument:: numFrames
The number of frames to read. The default is -1, which will read the whole file.
argument:: completionMessage
A valid OSC message or a Function which will return one. A Function will be passed this Buffer as an argument when evaluated.
argument:: bufnum
An explicitly specified buffer number. Generally this is not needed.
argument:: completionMessage
A valid OSC message or a Function which will return one. A Function will be passed this Buffer as an argument when evaluated.
discussion::
code::
// with a completion message
......@@ -495,7 +495,7 @@ subsection:: Other methods
method:: read, readMsg
Read a soundfile into an already allocated buffer.
argument:: path
argument:: argpath
A String representing the path of the soundfile to be read.
argument:: fileStartFrame
The first frame of the soundfile to read. The default is 0, which is the beginning of the file.
......@@ -516,7 +516,7 @@ Note that if the number of frames in the file is greater than the number of fram
method:: readChannel, readChannelMsg
As link::#-read:: above, but allows you to specify which channels to read.
argument:: path
argument:: argpath
A String representing the path of the soundfile to be read.
argument:: fileStartFrame
The first frame of the soundfile to read. The default is 0, which is the beginning of the file.
......@@ -560,6 +560,10 @@ Write the contents of the buffer to a file. See link::Classes/SoundFile:: for in
argument:: path
A String representing the path of the soundfile to be written.
If no path is given, Buffer writes into the default recording directory with a generic name.
argument:: headerFormat
A String.
argument:: sampleFormat
A String.
argument:: numFrames
The number of frames to write. The default is -1, which will write the whole buffer.
argument:: startFrame
......
......@@ -28,6 +28,15 @@ Return a link to my output, which is limited by strong::numChannels::. If uninit
method::play
Plays from a bus index ( strong::out:: ) with a number of channels to another index with a number of channels, within a strong::group:: (ie a target group or server).
argument::out
bus index
argument::numChannels
an link::Classes/Integer::
argument::group
target link::Classes/Group:: or link::Classes/Server::
argument::multi
keep old links and add new one
......@@ -37,6 +46,8 @@ volume at which to monitor
argument::fadeTime
fade in fade out time
argument:: addAction
method::playN
argument::outs
......@@ -48,6 +59,11 @@ array of amplitudes for each channel
argument::ins
array of source channels
argument:: vol
argument:: fadetime
argument:: group
argument:: addAction
method::monitor
returns the current monitor (see link::Classes/Monitor::)
......
......@@ -9,9 +9,9 @@ classmethods::
method:: ar, kr
A special case fixed filter.
argument:: in
argument:: input
signal input
argument:: thresh
argument:: threshold
threshold
discussion::
......
......@@ -28,6 +28,10 @@ The amount of time it takes for the amplitude adjustment to kick in fully. This
argument::relaxTime
The amount of time for the amplitude adjustment to be released. Usually a bit longer than clampTime; if both times are too short, you can get some (possibly unwanted) artifacts.
argument::mul
argument::add
discussion::
If any of this is confusing, see http://en.wikipedia.org/wiki/Audio_level_compression
......
......@@ -45,7 +45,7 @@ c.resize_(6); // contents adust since coords are relative
subsection:: Keydown Bubbling
Key actions "bubble up" to the parent view if a view does not define one itself. In the following example, a and b do not have keyDown actions themselves, so the key event is passed to c, the parent, which defines the key down action. d's parent is the link::Classes/SCTopView::, which has no key down action. See also link::Classes/View::.
Key actions "bubble up" to the parent view if a view does not define one itself. In the following example, a and b do not have keyDown actions themselves, so the key event is passed to c, the parent, which defines the key down action. d's parent is the SCTopView, which has no key down action. See also link::Classes/View::.
code::
( //Click on the different views and hit keys on the keyboard.
......@@ -70,7 +70,7 @@ d.background = Color.black;
subsection:: Decorators
A 'decorator' object can be set to handle layout management. All views added to the CompositeView will now be placed by the decorator. Currently the only one existing is link::Classes/FlowLayout::. You can use the link::Classes/ContainerView#addFlowLayout:: method as a short cut to assigning FlowLayout to decorator.
A 'decorator' object can be set to handle layout management. All views added to the CompositeView will now be placed by the decorator. Currently the only one existing is link::Classes/FlowLayout::. You can use the ContainerView's addFlowLayout method as a short cut to assigning FlowLayout to decorator.
code::
(
a = Window.new;
......
......@@ -36,6 +36,8 @@ The default value.
argument::units
The units, e.g. "hz". Used by some gui's as a unit label.
argument::grid
InstanceMethods::
method::map
......
......@@ -42,6 +42,9 @@ this number internally, maximum value you can give this argument
is 2^16 = 65536. Note that it gets progressively more expensive to run for higher powers! 512, 1024,
2048, 4096 standard.
argument::mul
argument::add
Examples::
......
......@@ -29,6 +29,9 @@ size of FFT frame, must be a power of two. Convolution uses twice this number in
argument::crossfade
The number of periods over which a crossfade is made. The default is 1. This must be an integer.
argument::mul
argument::add
Examples::
......
......@@ -25,3 +25,6 @@ update the kernel on a change from <=0 to >0
argument::framesize
size of FFT frame, does not have to be a power of two.
argument:: mul
argument:: add
......@@ -22,6 +22,8 @@ argument::b
Equation variable
argument::xi
Initial value of x
argument::mul
argument::add
examples::
code::
......
......@@ -21,6 +21,9 @@ The input signal.
argument::decayTime
60 dB decay time in seconds.
argument::mul
argument::add
Examples::
......
class:: Decay2
summary:: Exponential decay.
summary:: Exponential decay
related:: Classes/Decay
categories:: UGens>Filters>Linear, UGens>Envelopes
......@@ -33,6 +33,10 @@ argument::decayTime
60 dB decay time in seconds.
argument::mul
argument::add
Examples::
......
......@@ -19,6 +19,8 @@ argument:: delTime
A delay time in seconds.
argument:: interp
the kind of interpolation to be used. 1 is none, 2 is linear, 4 is cubic.
argument:: mul
argument:: add
examples::
See link::Classes/DelTapWr#examples:: for examples.
......
......@@ -50,7 +50,7 @@ d.put("abc", 10);
::
argument::key
key to associate with object. This can be any objects, but is often a link::Classes/Symbol::.
argument::obj
argument::value
an object
method::removeAt
......@@ -66,7 +66,7 @@ code::
d = ();
d.putAll(Dictionary[\hello -> 9, \whello -> "world"], Dictionary["abd" -> 6]);
::
argument::dictionaries
argument:: ... dictionaries
any Object that responds to keysValuesDo (usually a Dictionary).
method::putPairs
......
......@@ -119,7 +119,7 @@ A class for implementing Document, e.g. link::Classes/CocoaDocument::.
method:: postColor
Get / set the listeners pen color.
argument:: color
argument:: col
An instance of link::Classes/Color::.
discussion::
code::
......@@ -551,10 +551,12 @@ doc.getSelectedLines(doc.selectionStart - 40, 130).postln;
method:: string
Gets or sets the string within a certain range.
argument:: string
A link::Classes/String::.
argument:: rangestart
An link::Classes/Integer::. Default value is code::nil::.
An link::Classes/Integer::.
argument:: rangesize
An link::Classes/Integer::. Default value is 1.
An link::Classes/Integer::.
discussion::
code::
// Select the following code in parentheses and execute it
......@@ -573,7 +575,7 @@ An instance of link::Classes/Font::.
argument:: rangestart
An link::Classes/Integer::. Default value is -1. If code::rangestart = -1::, the whole document is selected.
argument:: rangesize
An link::Classes/nteger::. Default value is 0.
An link::Classes/Integer::. Default value is 0.
discussion::
code::
// Select the following code in parentheses and execute it
......
......@@ -16,6 +16,7 @@ argument:: label
a label string
argument:: run
active if 1, inactive if 0. can be a demand ugen (default: 1)
argument:: trigid
discussion::
the print-out is in the form: code:: label: value block offset: offset. ::
......
......@@ -9,7 +9,7 @@ argument:: list
array of values or other ugens
argument:: weights
array of values (should sum up to 1.0)
argument:: length
argument:: repeats
number of values to return
discussion::
structurally related: link::Classes/Pwrand::, link::Classes/TWindex::, link::Classes/TWChoose::
......
......@@ -145,8 +145,8 @@ argument:: numNormalColor
An instance of link::Classes/Color::. The code::normalColor:: of the number view.
argument:: numTypingColor
An instance of link::Classes/Color::. The code::typingColor:: of the number view.
argument:: knobColor
An instance of link::Classes/Color::. The code::knobColor:: of the knob view.
argument:: knobColors
An instance of link::Classes/Color::. The code::knobColors:: of the knob view.
argument:: background
An instance of link::Classes/Color::. The code::background:: of the enclosing view.
......
......@@ -115,11 +115,11 @@ argument:: stringColor
An instance of link::Classes/Color::. The code::stringColor:: of the label and unit views.
argument:: textBackground
An instance of link::Classes/Color::. The code::background:: of the textField.
argument:: numStringColor
argument:: textStringColor
An instance of link::Classes/Color::. The code::stringColor:: of the textField.
argument:: numNormalColor
argument:: textNormalColor
An instance of link::Classes/Color::. The code::normalColor:: of the textField.
argument:: numTypingColor
argument:: textTypingColor
An instance of link::Classes/Color::. The code::typingColor:: of the textField.
argument:: background
An instance of link::Classes/Color::. The code::background:: of the enclosing view.
......
......@@ -165,6 +165,9 @@ the peak level of the envelope.
argument::curve
the curvature of the envelope.
argument::bias
offset
discussion::
code::
Env.adsr(0.02, 0.2, 0.25, 1, 1, -4).test(2).plot;
......@@ -223,10 +226,10 @@ private::prAsArray
method::blend
Blend two envelopes. Returns a new Env. See link::#blend:: example below.
argument::anotherEnv
argument::argAnotherEnv
an Env.
argument::blendFraction
argument::argBlendFrac
a number from zero to one.
method::delay
......
......@@ -20,17 +20,15 @@ A strong::label:: for each of the nodes can be set using link::#-strings:: and l
SUBSECTION:: Interaction
Multiple nodes can be selected and moved using mouse or keyboard. See link::#-defaultKeyDownAction:: for details.
Nodes can be selected and moved using mouse. Shift-clicking a node will add it to the selection.
The last selected node is considered to be the current, and can be moved programmatically using link::#-x:: and link::#-y::. It is also possible to change the selection and switch the current node programmatically using link::#-selectIndex::, link::#-deselectIndex:: and link::#-index::, as well as move the current node .
You can also move selected nodes and change selection using keyboard. In strong::Qt::, pressing the arrow keys will move selected nodes (as long as link::#-step:: is larger than 0). Pressing the left or right arrow keys while holding down Alt will select previous or next node, and holding down Shift will extend selection to the left or to the right. Other GUI kits may differ.
In strong::Qt GUI::, link::#-keepHorizontalOrder:: allows you to enforce the order of nodes in horizontal direction to match their index order. In that case, node movement to the left and to the right will be restricted by the positions of their immediate neighbours. This is especially useful when EnvelopeView is used to display an link::Classes/Env::.
In strong::Qt GUI::, link::#-elasticSelection:: determines whether moving multiple nodes will be blocked altogether if any of the nodes meet an obstacle (the view bounds or a neighbour node), or only those individual nodes will be blocked.
note:: The variable link::#-step:: must be explicitly set to allow moving nodes using keyboard. ::
In strong::Qt::, link::#-keepHorizontalOrder:: allows you to enforce the order of nodes in horizontal direction to match their index order. In that case, node movement to the left and to the right will be restricted by the positions of their immediate neighbours. This is especially useful when EnvelopeView is used to display an link::Classes/Env::.
In strong::Qt::, link::#-elasticSelection:: determines whether moving multiple nodes will be blocked altogether if any of the nodes meet an obstacle (the view bounds or a neighbour node), or only those individual nodes will be blocked.
Node selection can also be changed programmatically using link::#-index::, link::#-selectIndex::, and link::#-deselectIndex::. The link::#-index#current:: node can be moved programmatically using link::#-x:: and link::#-y::.
INSTANCEMETHODS::
......@@ -244,13 +242,19 @@ METHOD:: colors
SUBSECTION:: Interaction
METHOD:: index
The index of the emphasis::current:: node.
The index of the emphasis::current:: node, i.e. the node affected by link::#-x:: and link::#-y:: methods.
In strong::Qt::, this is the selected node with lowest index, or -1 if no selection.
In strong::Cocoa::, this is the last node selected, or -1 if no selection.