First time here? Check out the FAQ!
x

where can I find a list of reserved words for parameter fields?

+1 vote
1,142 views
In certain parameter fields, kyma suggests reserved words like "default" or "signalProcessor halfSampleRate". Is there a list of these reserved words in the documentation that I keep overlooking? I'd love to have them all in one place for reference, and I can't seem to find them in Kyma X Revealed, the Kyma 7 docs, or the capytalk reference window.

If these are smalltalk (not sure if I would know yet!) then are they all in the smalltalk reference? I guess it's not entirely clear to me when certain reserved words (in smalltalk?) can be used in the context of basic capytalk expressions, as opposed to smalltalk-specific syntax.
asked Jan 10, 2017 in Capytalk & Smalltalk by aaron-zimmermann (Practitioner) (940 points)

2 Answers

+1 vote

Hi Aaron,

default is a reserved word that can be used in Frequency fields (as well as in some other fields, such as BankSize).  Your second example (SignalProcessor halfSampleRate) is a message sent to the object SignalProcessor.  This one can probably be superceded nowadays by using the signalToHz message.

Because of the way things have evolved over time, there's no central list of the "reserved words" and other handy messages (although for the Capytalk messages, you can always hover the cursor over the purple text to read what it means).  You can also open the Capytalk Reference from the Help menu to explore and look at examples.

In Kyma X Revealed there's an appendix called Smalltalk Quick Reference on page 375 that includes things like that message to SignalProcessor.

Would you be willing to keep track of things like these in a list as you encounter them?  That way, we could explain them as they come up in context with the end result being a document that we could share here.  Are you open to this idea?

answered Jan 11, 2017 by ssc (Savant) (126,620 points)
Thanks for the reply! I'd be happy to keep track of them—I've got a "kyma diary" distributed amongst a few small notebooks, and I've been writing them down as I find them—I'd be happy to keep track!
@ssc, I'm guessing the code that does the parsing and syntax highlighting in the parameter fields would use a list of symbols. Would it be easy to copy and post here the list of reserved words?
0 votes

Here is a list of Event Varibles (ones that start with a "!") that kyma suggests in parameter fields. They are not the reserved words (like default) but in case they're useful...

Do all of these do something out-the-box or are many just recommendations by kyma for an event variable name you might like to use?

 

Attack
Backward
bc
Beats
BoostCut
BPM
BreathController
Brightness
bt
Bypass
cc
CenterFreq
Channel
ChannelPressure
ChorusDepth
Cutoff
Cycles
Damper
DamperPedal
DetuneDepth
Direct
Direction
Distortion
Duty
EffectControl
ExpressionController
ExternalEffectsDepth
FingerAngle
FingerAngle_
FingerDown
FingerDown_
FingerHeight
FingerHeight_
FingerRadius
FingerRadius_
FingerWidth
FingerWidth_
FingerX
FingerX_
FingerY
FingerY_
FingerZ
FingerZ_
FootController
Formant
FrameStart
Frequecy
Fundamental
Gain
GainDB
Gate
Gater
HarmonicContent
Hold
Interval
IsActive
KeyDown
KeyDownLegato
KeyNumber
KeyPitch
KeyTimbre
KeyVelocity
lc
LegatoFootSwitch
Length
LocalTime
LogFreq
LoopEnd
LoopLength
LoopStart
MI
Modulation
ModulationWheel
Morph
Note
NunAccel
NunAccelX
NunAccelY
NunAccelZ
NunJoyX
NunJoyY
NunPitch
NunRoll
NunTriggerC
NunTriggerZ
NunYaw
Off
Offset
On
OnDuration
Pan
Pause
PenAngle
PenAngle_
PenButton
PenButton_
PenDown
PenDown_
PenRadius
PenRadius_
PenRotation
PenRotation_
PenTiltAngle
PenTiltAngle_
PenTiltRadius
PenTiltRadius_
PenTiltX
PenTiltX_
PenTiltY
PenTiltY_
PenWheel
PenWheel_
PenX
PenX_
PenY
PenY_
PenZ
PenZ_
PhaserDepth
Pitch
PitchBend
Portamento
PortamentoTime
ProgramNumber
Random
Rate
Ratio
Readout
RealTime
Release
ReleaseTime
Reset
Rolloff
Scale
Selection
SlewRate
SmallInterval
SoftPedal
SostenutoPedal
SoundVariation
Start
Steps
sw
Swing
ThreshDB
Threshold
Time
TimeCode
TimeConstant
TimeIndex
TimeJitter
TimingClock
TimingClockDuration
TremoloDepth
Trigger
Tune
Unpitched
Upinterval
Volume
WiiAccel
WiiAccelX
WiiAccelY
WiiAccelZ
WiiBarX
WiiBarY
WiiButtonA
WiiPitch
WiiRoll
WiiTrigger
WiiYaw

 

answered Jan 16, 2017 by alan-jackson (Virtuoso) (15,840 points)
Certain event variables have specific ranges, like "Interval" (-24.0—24.0). Page 403 of Kyma X Revealed has the complete list of them :)
Thanks, Aaron!  Another place to check is in the global map (it is a file in the Global Maps folder in your Kyma folder with the extension .map).
By the way, apart from some "convenience" initial values and ranges (as you mentioned for !Interval and also for !Frequency), the actual name of the Event Value is immaterial; you could name all of your Event Values !Percy and !Fred and change the ranges, widget types and initial values in the VCS.
Kyma does some auto-completion for your convenience, for example as soon as you type
an exclamation point (!), it auto-completes with the name of the parameter field.  However the name itself is somewhat arbitrary; it's just a symbolic placeholder for the value which you will supply (and change) using the VCS, a SoundToGlobalController, or an external source of control (like a MIDI or OSC stream).
Are events like !KeyDown really arbitrary? Aren't they created and their values set by kyma?

If you plug in a midi keyboard it's going to start creating !KeyDown events. If you wanted to use !Percy instead of !KeyDown you'd have to use a STGC or something to remap !KeyDown to !Percy... but am I right in thinking if we edit the global .map file we can permanently change !KeyDown to !Percy?

(Presumably if you did that all the sounds that use !KeyDown will stop working).

What I was trying to ask in my answer (I guess I should have asked it as a related question) is this:

In the list of "built-in" event variables, some of them have their value set by kyma while some seem to be suggestions of variable names. !KeyDown, !KeyPitch have their values set by kyma by the incoming midi stream. So if you use !KeyDown in a parameter you can expect something to happen.

Whereas !BPM, while it has a default range in its VCS control, is just a variable you can create and set.

Is that a correct? And if so, how can I tell the difference between built-in Event variables that do something, like !KeyDown, and ones that don't?
The list on page 403 in Kyma X Revealed is quite different from the list I posted.

My list has lots that are not in the table on page 403 (eg. !cc, !Gate) and is also missing some that are in the table (eg. !q).

I generated my list by typing a single letter "a" in a parameter field then cycling through all options with the up and down arrow keys.
Hi Alan,

You're right, there are indeed some Event Value names that are associated with specific devices (or families of devices).  For example, any of the names that begin with:
!Key... (MIDI or MPE continuous key events, Wacom tablet, Kyma Control keyboard tab)
!Wii...  or !Nun... (for the Nintendo Wiimote/Nunchuk and the accelerometer in Kyma Control)
!Pen (for Wacom tablet or Kyma Control pen tab)
!Finger... (for the Wacom Intuos pro touch)

For now, the easiest place to find the special Event Value names is in Default.map (in the Global Maps folder in your Kyma folder).
"I generated my list by typing a single letter "a" in a parameter field then cycling through all options with the up and down arrow keys."

Your list (the up/down arrow auto complete) comes from the Global map.  Look in Kyma/Global Maps/Default.map
Hey Ala,n
You're right, you've included a lot that aren't on the list on pg 403, and thanks for posting those! Sorry i didn't get back to you sooner, i was digging through the step sequencer object all day... that's a rough one.
...