Class:            SymbolicLoudness

Environment:      Siren
Superclass:         Siren.NominalMagnitude
Category:         Music-Models-Implementation

Instances of SymbolicLoudness are dynamic names in the range #ppp to #fff.

The class instance variable NameMap is used for the name <--> MIDI velocity range (0 to 127) mapping dictionary.

printing

printOn0: aStream
   Print the receiver as a symbolic amplitude.

units
   Answer the units string of the receiver.

private

species
   Answer Amplitude.

converting

asDB
   Answer a dB loudness; ratio 1 = 0dB, ratio 0.5 = -6dB, etc.

asMIDI
   Answer a MIDIVelocity.

asRatio
   Answer a RatioLoudness.

asSymbol
   Answer a SymbolicLoudness.

mostGeneral
   Answer the most numerically meaningful version of the receiver.

MetaClass:         SymbolicLoudness class

class initialization

initialize
   Set up the class dynamic mapping dictionary

instance creation

fromMIDI: aValue
   Assuming value is a key velocity, answer a symbolic loudness name

coercion

ddMsgName
   Answer the selector to be used in coercing double-dispatching messages.