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'))) {