Exemple #1
0
function BuildEvalAction($cmd)
{
    static $mapOptNames = array('acc' => 'Accidental', 'pos' => 'Position', 'head' => 'Notehead', 'col' => 'Color');
    if (!preg_match('/^([a-z]+)(\\=|\\-\\=|\\+\\=)(.+)$/', $cmd, $m)) {
        doHelp("Invalid action string: {$cmd}\n");
    }
    list($ignore, $option, $op, $val) = $m;
    $fldName = nw_aafield($mapOptNames, $option, false);
    if (!$fldName) {
        doHelp("Invalid option: {$option}\n");
    }
    if (in_array($op, array('+=', '-='))) {
        if (!in_array($option, array('pos', 'col'))) {
            doHelp("Invalid cmd: {$cmd}\n");
        }
        $val = intval($val);
    } else {
        if (in_array($option, array('pos', 'col'))) {
            $val = intval($val);
        } else {
            if ($option == "acc") {
                static $accmap = array("v" => "v", "bb" => "v", "b" => "b", "n" => "n", "#" => "#", "x" => "x");
                $val = nw_aafield($accmap, $val, $val);
            }
            $val = "'{$val}'";
        }
    }
    return '$npObj->' . $fldName . $op . $val . ';';
}
         if ($i == 0) {
             $userObj->Opts['Pos'] = $notepitchObj->Position;
         }
         if ($PlayContext->IsTieReceiver($notepitchObj)) {
             $WarnAboutInboundTie = true;
         }
     }
     foreach (array('Color', 'Visibility') as $baseprop) {
         if (!empty($o->Opts[$baseprop])) {
             $userObj->Opts[$baseprop] = $o->Opts[$baseprop];
         }
     }
     if ($ARPEGGIO_SEQUENCE == "down") {
         $userObj->Opts['Dir'] = 'down';
     }
     $chordDurMinRate = nw_aafield($ARPDURConvert, $baseDur, 32) * 4;
     $userObj->Opts['Rate'] = max($chordDurMinRate, $ARPEGGIO_DURATION);
     echo $userObj->ReconstructClipText() . "\n";
     // Now mute the chord
     if (empty($o->Opts['Opts'])) {
         $o->Opts['Opts'] = array();
     }
     $o->Opts['Opts']['Muted'] = '';
     echo $o->ReconstructClipText() . "\n";
 } else {
     echo $item;
 }
 if ($o->GetUserObjType() == 'Arpeggio.ms') {
     $ArpeggioAllowedHere = false;
 } else {
     if (in_array($o->GetObjType(), array('Note', 'Chord', 'Rest', 'RestChord'))) {