Class:            NotelistVoice

Environment:      Siren
Superclass:         Siren.Voice
Category:         MusicIO-Voices
Instance variables:   parameterMap lastTime header

Instances of the subclasses of NotelistVoice can read or write note list file streams in various formats for software sound synthesis packages such as cmusic, csound, or cmix.

Note that we are output-only at present.

Instance Variables:
   parameterMap      
         the object's P:=map, used to print out or parse note commands.

accessing

addMap: anItem
   Add the argument (a symbol or block), to the parameterMap of the receiver

header: aString
   Set the file header string of the receiver.

parameterMap
   Answer the parameterMap of the receiver.

parameterMap: anOrderedCollection
   Set the parameterMap of the receiver.

events

dump: aStringOrValue
   The case I handle is strings. Subclasses may override.

endLine
   Put the proper command terminator on the receiver's stream.

mapProperty: item of: ass within: list
   Write the given event association to the receiver's stream in the appropriate format.

play: anEL
   Perform the argument.

play: anEL at: start
   Perform the argument.

playAssociation: ass in: list
   Write the given event association to the receiver's stream in the appropriate format.

space
   Put the proper field separator on the receiver's stream.

writeFooter
   Write a notelist file footer on the receiver's stream.

writeHeader
   Write a notelist file header on the receiver's stream.

initialize-release

close
   Close the receiver's output stream (if it's a file).

initialize
   Initialize the receiver.

initializeNamed: aName onStream: theStream
   Answer a new named NotelistVoice on the given stream.

initializeOnStream: theStream
   Answer a new named NotelistVoice on the given stream.

MetaClass:         NotelistVoice class

instance creation

defaultPMap
   Answer the default parameterMap of the receiver class's instances.

newNamed: aName onFile: fName
   Set up a NotelistVoice on the given output file

newNamed: aName onStream: aStream
   Set up a NotelistVoice on the given output stream

onFileNamed: fName
   Set up a NotelistVoice on the given output file