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.