ich würde gerne das SLEEP Remote-Kommando getrennt nach NOVT und VT auf einem Reglerkontakt einsetzen. NOVT SLEEP funktioniert nach meinen Beobachtungen wie gewünscht. VT SLEEP hingegen nicht.
Leider funktioniert aber die Befehlsfolge VT RECORD STOP;VT SAVE nur, wenn dazwischen ein paar Sekunden Pause sind, z.B. SLEEP 4000. Fehlt die Pause, wird der Voicetrack nicht gespeichert.
Wenn ich nun aber VT RECORD STOP;SLEEP 4000;VT SAVE auslöse, dann geht das zwar, ruft aber unerwünschte Effekt im Falle von NOVT-Befehlen auf demselben Kotakt hervor.
Beispiel:
NOVT PLAYER 1-1 START;VT RECORD STOP;SLEEP 4000;VT SAVE
Der Player 1 startet zwar wenn VT nicht aktiv ist, aber für 4 Sekunden ist die Bildschirmdarstellung eingefroren, was unerwünscht ist.
Ein Präfix analog zu NOVT, das die Befehle nur dann ausführt, wenn VT aktiv ist, existierte bislang nicht.
Ich lade gleich Build 4417 hoch, dort habe ich das kurzfristig eingebaut, und zwar als ISVT .... (Nur VT ging nicht, da es dann mit den vorhandenen Befehlen VT SAVE etc. kollidiert wäre.)
Du kannst also dann verwenden:
NOVT PLAYER 1-1 START;VT RECORD STOP;ISVT SLEEP 4000;VT SAVE
Jetzt würde ich aber auch gerne die Aufnahme verzögert starten. NOVT PLAYER 1-1 START;VT PLAYER A START;ISVT SLEEP 4000;VT RECORD START
Da wirkt ISVT SLEEP 4000 aber offenbar nicht, sondern VT RECORD START wird sofort ausgeführt
Das liegt wohl daran, dass die Befehle asynchron ausgeführt werden, zumindest wenn sie von unterschiedlichen “Stellen” verarbeitet werden. Es ist also mitnichten so, dass das Semikolon auf das erfolgreiche Abarbeiten des Befehles wartet, bevor es den zweiten ausführt.
Nein. Auszuführende Befehle - egal ob über eine Fernsteuerung ausgelöst oder über ein Script mit ExecuteCommand() - werden immer in die Befehlswarteschlage des jeweiligen Empfängerobjektes gestellt und dort dann asynchron, und ohne jegliche Rückmeldung, verarbeitet.
Man könnte aber die Problemstellung ganz allgemein mit einem Script lösen, das mittels OnVTOn und OnVTOff nachhält, ob VT gerade aktiv ist, und dann über OnExecuteCommand einen benutzerdefinierten Befehl (verknüpft mit dem Hotkey) implementiert, der mal das eine und mal das andere tut, je nach VT-Status.