Scripter Javascript Tutorial
javascriptmusiclogicscripterbookexcerpttutorial62 The if...else if
Statement
MDN: Control Flow and Error Handling: if...else statement
The if...else if
statement allows for the testing of
multiple conditions. The structure simply expands on the if
and if...else
statements:
if ( <condition 1 is true> ) {
<do something>
else if ( <condition 2 is true> ) {
} <do something else>
}
This becomes important when trying to capture different kinds of events, a common task in Scripter:
function HandleMIDI(event) {
if (event instanceof NoteOn) {
Trace("NoteOn " + event.pitch);
else if (event instanceof NoteOff) {
} Trace("NoteOff " + event.pitch);
else {
} Trace(event);
} }
For each event, if it is either NoteOn
or NoteOff
, the pitch is written to the console.
Otherwise, with the else
statement, the event itself is
written to the console. So, given a single Middle C note being played in
a track, the following is displayed in the console:
***Creating a new MIDI engine with script***
Evaluating MIDI-processing script...
Script evaluated successfully!
NoteOn 60
NoteOff 60
[ControlChange channel:1 number:120 [All Sound Off] value:0]
>