A scorefile can have a MKScore
info
statement that consists of the keyword info followed by one or more parameters:
info parameter[ , parameter ] ... ; |
The Score info statement represents a
MKScore
object's info
MKNote
; it can contain any amount and type of
information. Typically, the MKScore
info
statement contains one or more of the following parameters:
Table 7-1. MKScore
info parameters
Parameter | Meaning |
---|---|
tempo | The tempo that should be used when performing the Score |
samplingRate | The performance sampling rate |
headroom | The MKOrchestra 's headroom setting; a value between -1.0 and 1.0 |
A scorefile can have more than one
MKScore
info statement; if a parameter
conflicts with a parameter set in a previous info statement, the subsequent setting takes
precedence. Parameters are similarly merged if a scorefile is read
into a MKScore
object that already has an info
MKNote
(a MKScore
object
can have only one info MKNote
). Parameter
syntax is described in the Section called Note Statements, below.
The parameters in the info
statement aren't explicitly used when the scorefile is read by a
MKScore
or
MKScorefilePerformer
. It's left to the
application designer to provide an implementation that acts on the
info statement's parameters.
The names of all the MKPart
objects that
are represented in a scorefile must be declared in a part statement in the header:
part partName [ , partName ] ... ; |
partName is an identifier that must not have been previously
declared. A scorefile can contain more than one part statement. When the scorefile is read by
an application, a MKPart
object is created and
named for each partName in the file's part statements. If a name conflict results
from reading a scorefile into a MKScore
, the
MKPart
represented in the scorefile is merged
into the similarly named MKPart
in the
MKScore
.
Each MKPart
represented in the scorefile
can have a MKPart
info statement that consists
of the MKPart
's partNameas it appears in the part
statement followed by one or more parameters:
partName parameter [ , parameter ] ... ; |
The MKPart
info statement represents a
MKPart
object's info
MKNote
; it can contain any amount and type of
information. The following parameters are typically used in a part
info statement:
Table 7-2. MKScore
info parameters
Parameter | Meaning |
---|---|
synthPatch | The name of the MKSynthPatch class used to realize the MKPart |
synthPatchCount | The number of manually allocated MKSynthPatch objects |
midiChan | The MIDI channel on which the MKPart appears |
Each MKPart
represented in a scorefile
can have only one MKPart
info statement. Like
the scorefile's info statement,
interpretation and use of a MKPart
info's
parameters is left to the application designer.
The noteTagRange statement declares the range of noteTags used in the body of the scorefile:
noteTagRange anInteger to aHigherInteger ; |
This is an optional statement that optimizes the noteTag
renumbering that occurs when you mix two or more scorefiles together
or when you merge a scorefile into an existing
MKScore
object.
It isn't an error to use a tag that's outside the range specified by a noteTagRange statement, but the renumbering optimization applies only to tags that are within the declared range. A scorefile can have more than one noteTagRange statement although each subsequent statement cancels the previous one.