Class:            SirenSession

Environment:      Siren
Superclass:         ApplicationModel
Category:         Music-Support
Instance variables:   scheduleList scheduleListText verbosity clock
               startedAt inChannels blockSize sampleRate outChannels
               interfaceParams transport eventList sound voice timer
               soundPort midiPort loadedSounds loadedLists oscAddress
               defaultVoiceClass
Class instance variables:   instance useSingleton
Class variables:      EventLists Sounds Voices

The class SirenSession represents the user session state of the Siren Framework. The class is also the implementor of the Siren configuration panel, see the interface window spec, and the instance methods.

Instance Variables (used by the pop-up utility window)
   sampleRate - the sample rate
   inChannels outChannels - # of snd I/O channels
   oscIP oscPort - OSC IP & port
   defaultVoiceClass - voice class to use
   blockSize - snd IO block size
   interfaceParams - snd IO properties
   transport - value used by GUI
   eventList - value used by GUI
   sound - value used by GUI
   voice - value used by GUI
   timer - value used by GUI
   scheduleList - value used by GUI
   soundPort - value used by GUI
   midiPort - value used by GUI

Class Variables:
   EventLists Event lists
   Sounds Sounds
   Voices Voices

actions

allOff
   Turn off anything that's playing

cleanUp
   

configureMIDI
   

freeLists
   

inspectSession
   

loadAll
   SirenSession initialize. SirenSession loadDemoData

openSirenUtility
   

openTransport
   Open a transport control

resetSound
   Reset the parameters of the sound port

stopMIDI
   Turn off MIDI

stopSound
   Stop the sound player if it's active

aspects

blockSize
   

clock
   

defaultVoiceClass
   

eventList
   This method was generated by UIDefiner. Any edits made here
   may be lost whenever methods are automatically defined. The
   initialization provided below may have been preempted by an
   initialize method.

inChannels
   

midiPort
   This method was generated by UIDefiner. Any edits made here
   may be lost whenever methods are automatically defined. The
   initialization provided below may have been preempted by an
   initialize method.

oscAddress
   Answer the formatted OSC IP address + port

outChannels
   

sampleRate
   

scheduleList
   Answer the scheduler's list

scheduleListText
   Answer the scheduler's list

scheduleListText0
   Answer the scheduler's list

sound
   

soundPort
   

timer
   Answer the timer

updateClock
   Answer the clock display

updateScheduleList
   Build the transport view's list

updateTimer
   Answer the timer display

verbosity
   Answer the verbosity level 0, 1, or 2

verbosityLabel
   Answer the verbosity level 0, 1, or 2

voice
   

interface opening

postOpenWith: aBuilder
   This message is sent by the builder after it has opened a completed window.

initialize release

initialize
   Set up the defaults values.

release
   

actions--change

chBlockSize
   Respond to a selection in the block size menu

chInChans
   Respond to a selection in the input channel menu

chListSelection
   Respond to a selection in the main list menu

chOSCAddr
   Respond to a selection in the OSC address field

chOutChans
   Respond to a selection in the output channel menu

chSRate
   Respond to a selection in the sampleRate menu

chVerbosity
   Respond to a selection in the verbosity menu

chVoiceClass
   Respond to a selection in the voice class menu

newEventList
   Respond to a selection in the score menu

newMIDIPort
   Respond to a selection in the MIDI port menu

newSound
   Respond to a selection in the sound menu

newSoundPort
   Respond to a selection in the sound port menu

newTimer
   Respond to a selection in the timer menu

newVoice
   Respond to a selection in the sound port menu

accessing

objectFor: identifier
   Find the object that corresponds to the given ID

selectedObject
   Select an item in the list

selectedObjectName
   Select an item in the list

transport
   it's me

resources

addItemsFrom: aDict to: aMenu path: aPath
   Add items from the given dictionary to a hierarchical menu

listMenu
   Answer the event list menu

soundMenu
   Answer the hierarchical sound menu

timerMenu
   Answer the timer list menu

voiceMenu
   Tools.MenuEditor new openOnClass: self andSelector: #voiceMenu

actions--menu

deleteItem
   Remove an item from the list

playItem
   Remove an item from the list

spawnItem
   Remove an item from the list

zeroTimer
   

actions--transport

forward
   This stub method was generated by UIDefiner

play
   Play the selection

record
   This stub method was generated by UIDefiner

rewind
   This stub method was generated by UIDefiner

stop
   Stop the selection

actions--tests

testMIDI
   

testMIDIin
   

testMIDIout
   

testOSCout
   

testSndFileIn
   Run the default sound file test

testSoundIn
   This stub method was generated by UIDefiner

testSoundOut
   Play a sound

updating

executeAutoSave
   

update: anAspectSymbol with: aParameter from: aSender
   Catch an update

MetaClass:         SirenSession class

Instance variables:   instance useSingleton

class initialization

flushTempEventLists
   Flush the class's temporary event list dictionary.

initialize
   Edit these to taste for your installation.

initializeEventLists
   Flush the class's event list dictionary.

initializeSounds
   Empty the class's sound dictionary.

initializeVoices
   SirenSession initializeVoices

update: anAspect with: arguments from: anObject
   You can put code here to be done before or after a snapshot
      (i.e., do you want to store events lists and sounds in the image or not)

class var accessing

atVoice: nam put: vox
   Add to the class's voice dictionary.

eventList: aName
   Get the event list at the given (possibly hierarchical) name in the shared dictionary

eventList: aName put: anEventList
   Store the give n event list in the shared dictionary; handle hierarchical names

eventListNamed: aName
   Get the event list at the given (possibly hierarchical) name in the shared dictionary

eventLists
   Answer the class's event list dictionary.

schedule
   Answer the 'global' scheduler.

sound: aName
   Get the event list at the given (possibly hierarchical) name in the shared dictionary

sound: aName put: aSound
   Store the give n event list in the shared dictionary; handle hierarchical names

soundNamed: aName
   Get the event list at the given (possibly hierarchical) name in the shared dictionary

sounds
   Answer the class's sound dictionary.

voice: aName put: vox
   Add to the class's voice dictionary.

voiceNamed: aName
   Add to the class's voice dictionary.

voices
   Answer the class's voice dictionary.

resources

blocksizeMenu
   Tools.MenuEditor new openOnClass: self andSelector: #blocksizeMenu

chMenu
   Tools.MenuEditor new openOnClass: self andSelector: #chMenu

clockMenu
   Tools.MenuEditor new openOnClass: self andSelector: #clockMenu

forwardButton
   UIMaskEditor new openOnClass: self andSelector: #forwardButton

midiPortMenu
   Answer the midi port menu

playButton
   UIMaskEditor new openOnClass: self andSelector: #playButton

rateMenu
   Tools.MenuEditor new openOnClass: self andSelector: #rateMenu

recordButton
   UIMaskEditor new openOnClass: self andSelector: #recordButton

rewindButton
   UIMaskEditor new openOnClass: self andSelector: #rewindButton

scheduleMenu
   Tools.MenuEditor new openOnClass: self andSelector: #scheduleMenu

soundPortMenu
   Answer the sound port menu

stopButton
   UIMaskEditor new openOnClass: self andSelector: #stopButton

timerMenu
   Tools.MenuEditor new openOnClass: self andSelector: #timerMenu

verbosityMenu
   Tools.MenuEditor new openOnClass: self andSelector: #verbosityMenu

data load/store

data: aName in: theDict put: anItem
   Store the given item (sound or event list) in the shared dictionary;
      handle hierarchical names

dataAt: aName in: theDict
   Get the event list at the given (possibly hierarchical) name in the shared dictionary

loadDemoData
   Load a few scores and sounds for demos

interface opening

open
   Open the ApplicationModel's user interface.

openTransport
   Open the ApplicationModel's user interface.

openUtility
   Open the ApplicationModel's user interface.

interface specs

transportButtonSpec
   Tools.UIPainter new openOnClass: self andSelector: #transportButtonSpec

transportWindowSpec
   Tools.UIPainter new openOnClass: self andSelector: #transportWindowSpec

utilWindowSpec
   Tools.UIPainter new openOnClass: self andSelector: #utilWindowSpec

instance creation

instance
   Answer the 'global' session.

new
   Make sure there's only ever one of me.

refresh
   Recreate the instance

release
   Make sure there's only ever one of me.