Class:            SirenUtility

Environment:      Siren
Superclass:         ApplicationModel
Category:         Music-Support
Class variables:      DataDir DefaultMIDIIn DefaultMIDIOut DefaultOSCHost
               DefaultOSCPort LoggingStream ScoreDir SoundDir
               Verbosity

The class SirenUtility represents the package-level state of the Siren Framework. Its class methods answer a variety of Siren system variables such as default file directories.

Class Variables:
   DataDir the default sound/score directory.
   ScoreDir the score directory.
   SoundDir the sound directory.

MetaClass:         SirenUtility class

class initialization

initialize
   Edit these to taste for your installation.

postLoad: aParcel
   Load the missing pieces and put up a dialog after loading the parcel

logging

log: theMessage
   Log the given string to the Transcript (or otgher output stream) if the system verbosity is >= the given verbosity level

log: theMessage level: verbosityInt
   Log the given string to the Transcript (or otgher output stream) if the system verbosity is >= the given verbosity level

verbosity
   Answer the class's default verbosity, 0/1/2.

verbosity: aNum
   Set the class's default verbosity, 0/1/2.

class var accessing

dataDir
   Answer the class's default data storage directory.

defaultMIDIIn
   Answer the class's default MIDI input device.

defaultMIDIIn: num
   Set the class's default MIDI input device.

defaultMIDIOut
   Answer the class's default MIDI output device.

defaultMIDIOut: num
   Set the class's default MIDI output device.

defaultOSCHost
   Answer the class's default OSC host IP.

defaultOSCHost: ip
   Set the class's default OSC host IP.

defaultOSCPort
   Answer the class's default OSC port #.

defaultOSCPort: num
   Set the class's default OSC port #.

scoreDir
   Answer the class's default score storage directory.

soundDir
   Answer the class's default sound storage directory.

utilities

categoryList
   Answer the class categories for all of CSL

fileoutCategories
   Create the source directory of old-fashioned ST80 file-outs (for Squeak users)

playSoundFile: nam
   Play a sound file using UNIX shell and libsndfile's play program

writeSirenManual
   Create the big book

writeSirenManualToHTML: folder
   Create the doxygen-style manual in an HTML folder

example access

formNamed: key
   Answer the given item from the global music constants.

musicConstants
   Answer the global music constants (mostly icons).

file support

addDir: dir to: list
   Try to locate the requested directory and, if found, add it to the given list

createS7: aFullPathName
   Create an s7 folder and copy any files with the same name into it

findDir: dir
   Try to locate the requested directory either locally or globally

findDir: dir tryHard: aggressive
   Try to locate the requested directory either locally or globally

findFile: fil
   Try to locate the requested file in the data directories, being smart about s7 files

findFile: fil in: theDir
   Try to locate the requested file in the given directory, being smart about s7 files

findFiles: ext
   Answer all of the files in the user's data folders with the given filename extension

findFiles: ext in: theDir into: coll
   Add the files with the given name extension to the given collection

listS7: aName
   List the contents of the requested s7 file

nextName: aName type: extension
   Answer the next free name with the given extension in the given s7 folder