Daten per Script von mAirList zum DHD RM3200

Ich versuche nochmal mein Glück.

Auch wenn ich mir inzwischen die entsprechende mAirList Wiki und unzählige Beiträge zig mal durchgelesen habe verstehe ich das Konzept nicht wie ich einen Befehl von mAirList zurück ans Pult schicke.

Ich stochere da nur sinnbefreit rum und komme nicht voran.
Irgendwie fehlt mir gerade der Zugang um auf das schließen des Voice-Trakings das passende Command aus zu führen :frowning:

procedure OnVTCancel( [KEINE AHNUNG] );
begin
	RM3200Remote(0).SetLogic(28, 0);
end;

Wo liegt die Schwierigkeit? In der Kommunikation mit DHD oder dem Triggern der Funktion? Letzteres würde mich nicht wundern, denn eine

gibt es nicht. Dies und die Parameter steht immer noch in der Background Script Template.mls, und daraus lernen wir, daß die richtige Wahl der Prozedur vermutlich

// Called when Voice Track Recorder is closed
procedure OnVTOff;
begin
end;

(ohne Parameter) lauten müßte. Geht’s damit?

1 Like

Ich bin nach der Reference gegangen und habe mich da auf das VT Cancel festgebissen gehabt. :rage:

Ja, damit funktioniert das … Menno :frowning:

Aber ich habe noch immer einen Denkfehler im RemoteBefehl zum DHD.

Der DHD-Monitor spuckt ja zum Beispiel …
grafik
… aus.

Ich vermute, dass ich im Umkehrschluß aber nicht mit DHDRemote(0).SetLogic(28, 0); darauf antworten kann.

Gehe ich nach der DHD Reference, bleibt mir nur der Umweg über eine Logic-Function die ich dann mit DHDRemote(0).SetLogic(TESTLOGIC, false); auslöse?

Fragst Du mich? Da kann ich Dir leider nicht weiterhelfen.

Ich vergas … ja die Frage war an Dich gerichtet, aber ich hatte vergessen, dass Du mit den DHD-Codes nix am Hut hast.

Die Erklärungen die man überall findet sind allgemein hin eher vage :frowning:

Weniger mit faktischem Wissen als mehr mit Geduld und Kombinationsgabe habe ich nun dieses Script-Schnipsel am Start und es scheint soweit zu funktionieren.

Gibt es hier irgendwelche Bedenken?

procedure OnDHDLogic(Remote: IDHDRemote; LogicNo: integer; State: boolean);
  begin
	for  i := 0 to 3 do begin
		if (LogicNo = i+20) and (State = true) then begin
			ExecuteCommand('ENCODER_0' + IntToStr(i) + ' ON/OFF');
		end
		else if (LogicNo = i+20) and (State = false) then begin
			ExecuteCommand('ENCODER_0' + IntToStr(i) + ' OFF');
		end;
	end;
  end;

Nein, wenn’s funktioniert ist doch gut. Warum aber nutzt Du zum Einschalten den Toggle-Befehl … ON/OFF anstelle des eindeutigeren … ON?

Weil ich mal wieder blind durch mein kleines Universum gelaufen bin und vergessen habe das auf ... ON zu korrigieren. Danke für den Hinweis.