Class: FunctionView

Environment: Siren
Superclass: Siren.DisplayListView
Category: MusicUI-Functions
Instance variables: models aScale vRange hRange colors normalize lineWidth
Class variables: LineWidth

Instances of class FunctionView are views on breakpoint or sampled data functions.
They can display up to 4 model functions on a fixed-size non-scrolling field.

Instance variables:
models the function array
aScale the y-scale of the view
vRange the vertical range, normally = aScale
hRange the horizontal range
colors the colors for the 4 functions
normalize < whether to normalize (to +- 1) the fnuctions

accessing

aScale
Answer the receiver's 'aScale'.

aScale: anObject
Set the receiver's instance variable 'aScale' to be anObject.

colors
Answer the receiver's color array.

colors: anArrayOfSize4
Set the receiver's color array to the argument.

displayExtent
Answer the receiver's visual extent.

dontNormalize: aNumber

hRange
Answer the receiver's 'hRange'.

hRange: aNumber
Set the receiver's horizontal extent to aNumber.

lineWidth: aNumber
Set the receiver's line width to the argument.

model
Answer the fisrt element from receiver's array of models.

modelAt: anIndex
Answer the receiver's model at the given index.

modelAt: anIndex put: aFunction
Set the receiver's model at the given index to the given function.

models
Answer the receiver's first model.

models: anArray
Set the receiver's array of models to the argument.

normalize: aNumber

normalizeArray: arrayOfBooleans
Set the receiver's array of normalization switches.

vRange
Answer the receiver's 'vRange'.

vRange: aNumber
Set the receiver's vertical extent to aNumber.

displaying

displayGridsOn: gc
Display the gridding for the receiver on its cached form.

displayOn: aGraphicsContext
Transcript show: 'FcnView size: ', hRange printString, ' @ ', vRange printString; cr.

displayOnImage
Display the receiver on its cached form.

updateBetween: p1 and: p2 with: color on: gc
Display the receiver on its cached form.

initialize-release

initialize
Initialize the receiver's instance variables for cacheing the pixmap during display.

initializeCacheing
Initialize the receiver's instance variables for cacheing the pixmap during display.

initializeCacheingSmall
Initialize the receiver's instance variables for cacheing the pixmap during display.

initializeCacheSized: x by: y
Initialize the receiver's instance variables for cacheing the pixmap during display.

setPixmap
Reset the receiver's pixmap display cache after changing its size.

private

setModel: aModel
Set the receiver's model to be aModel

source

controller access

bounds: aRectangle
Set the receiver's bounds.

defaultControllerClass

MetaClass: FunctionView class

instance creation

componentOnFunction: function color: color normalize: normal x: x y: y

componentOnFunctions: functionArray withColors: colorArray normalize: normArray x: x y: y

componentOnFunctions: functionArray withColors: colorArray x: x y: y

onFunction: function
FunctionView example

onFunction: function normalize: norm
FunctionView example

onFunction: function x: x y: y
FunctionView onFunction: (LinearFunction from: #((0@0) (0.1@1.0)
(0.15@0.75) (0.75@0.5) (1@0)))
x: 256 y: 128

onFunctions: functionArray
FunctionView onFunctions: (Array
with: (LinearFunction from: #((0@0) (0.15@1.0) (0.25@0.75) (0.75@0.5) (1@0)))
with: (LinearFunction from: #((0@0.1) (0.3@0.7) (0.7@0.45) (1@0)))
with: (LinearFunction from: #((0@0) (0.05@1) (0.2@0.35) (1@0)))
with: (LinearFunction from: #((0@0.2) (0.6@0.3) (1@0.3))))

onFunctions: functionArray normalize: normArray
FunctionView onFunctions: (Array
with: (LinearFunction from: #((0@0) (0.15@1.0) (0.25@0.75) (0.75@0.5) (1@0)))
with: (LinearFunction from: #((0@0.1) (0.3@0.7) (0.7@0.45) (1@0)))
with: (LinearFunction from: #((0@0) (0.05@1) (0.2@0.35) (1@0)))
with: (LinearFunction from: #((0@0.2) (0.6@0.3) (1@0.3))))

onFunctions: functionArray withColors: colorArray normalize: normArray x: x y: y
FunctionView onFunctions: (Array
with: (LinearFunction from: #((0@0) (0.15@1.0) (0.25@0.75) (0.75@0.5) (1@0)))
with: (LinearFunction from: #((0@0.1) (0.3@0.7) (0.7@0.45) (1@0)))
with: (LinearFunction from: #((0@0) (0.05@1) (0.2@0.35) (1@0)))
with: (LinearFunction from: #((0@0.2) (0.6@0.3) (1@0.3))))
withColors: (Array with: ColorValue blue with: ColorValue red
with: ColorValue cyan with: ColorValue green)
normalize: #(false false false false)
x: 512 y: 256

onFunctions: functionArray withColors: colorArray x: x y: y
FunctionView onFunctions: (Array
with: (LinearFunction from: #((0@0) (0.15@1.0) (0.25@0.75) (0.75@0.5) (1@0)))
with: (LinearFunction from: #((0@0.1) (0.3@0.7) (0.7@0.45) (1@0)))
with: (LinearFunction from: #((0@0) (0.05@1) (0.2@0.35) (1@0)))
with: (LinearFunction from: #((0@0.2) (0.6@0.3) (1@0.3))))
withColors: (Array with: ColorValue blue with: ColorValue red
with: ColorValue cyan with: ColorValue green)
x: 512 y: 256

onFunctions: functionArray x: x y: y
FunctionView onFunctions: (Array
with: (LinearFunction from: #((0@0) (0.15@1.0) (0.25@0.75) (0.75@0.5) (1@0)))
with: (LinearFunction from: #((0@0.1) (0.3@0.7) (0.7@0.45) (1@0)))
with: (LinearFunction from: #((0@0) (0.05@1) (0.2@0.35) (1@0)))
with: (LinearFunction from: #((0@0.2) (0.6@0.3) (1@0.3))))
x: 512 y: 256

openOn: function

smallOnFunction: function
FunctionView example

examples

example
FunctionView example

expSegExample
Demonstrate an ExpSeg function with different weights.

fileExample
Read an extracted envelope as floating-point data from a file.

linSegExample
FunctionView linSegExample

multiFunctionExample
Open a function editor on 4 different functions.

smallFileExample
Read an extracted envelope as floating-point data from a file.

smallMultiFunctionExample
Open a function editor on 4 different functions.

class initialization

initialize
Set up the defaults

constant access

defaultColors
Answer the default color array for the 4 functions.

inset
Answer the default display inset.

lineWidth
Answer the default line width for fnuction plots.

lineWidth: anInteger
Set the default line width for fnuction plots.