Momentan beschäftige ich mich mit der Midi Einrichtung vom Rode Rodecaster.
Nun ist es ja ein leichtes, die Fader die als Midi Controller fungieren, in die Fernsteuerung so ein zu binden, das bspw. ein Faderstart problemlos möglich ist.
Nun ist aber ein Faderstart nicht immer gewünscht und ich habe mich gefragt, ob man diese Funktion (auch per Tastendruck also Fernsteuerung) aktivieren und ggf. deaktivieren kann.
Item (0) und (1) sind Definitionen zu einer Preh-Tastatur.
Item (2) MIDI ist die Hauptkonfiguration des Rodecasters in Sachen Steuerung allgemein. Also Faderstellung, Buttons für Cartwall, PFL usw.
Item (3) und (4) sind ebenfalls Midi Steuerungen vom Rodecaster, die jedoch nur das Verhalten des Faderstarts selbst definieren. siehe Bild:
Ist es möglich, per Script oder Command genau diese zwei Items (3) und (4) gezielt zu aktivieren und auch zu deaktivieren?
Sodass nach zugewiesenem Tastendruck die Fernsteuerungsübersicht so aussehen könnte?
Hierfür würde ich gerne bestimmte Tasten vom Rode verwenden die jeweils über dem Kanalzug sich befinden.
Die Krönung wäre dann noch eine Anzeige innerhalb mAirList ob Faderstart aktuell aktiv oder inaktiv ist.
Vielen Dank
Wenn ich wüßte, wie die Midi-Fernsteuerung intern heißt, dann ginge das womöglich. Ist aber nirgendwo dokumentiert. Jedenfalls funktioniert das hier für meinen Velleman:
var
MidiOn: boolean;
procedure OnLoad;
begin
MidiOn := true;
K8055Remote(0).SetEnabled(true);
end;
procedure OnExecuteCommand(Command:string);
begin
if Command = 'FADERSTART' then
begin
if MidiOn then begin
MidiOn := false;
K8055Remote(0).SetEnabled(false);
end
else
begin
MidiOn := true;
K8055Remote(0).SetEnabled(true);
end;
end;
end;
begin
end.
Nee, das ist das erste Velleman-Gerät. Wie gesagt, wegen fehlender Dokumentation und ohne Midi-Geräte kann ich’s nicht weiter erforschen. Bei Dir müßte es vermutlich so aussehen wie
Ah ok.
Naja dann müssen wir schauen ob @Torben da uns was machen kann.
Am liebsten wäre es mir natürlich, wenn er solch eine Steuerung zu Aktivierung in die Tabelle der Auswahlliste der zu steuernden Funktionen mit aufnehmen könnte.
Remote(0).SetEnabled(true); // erste Fernsteuerung
Remote(1).SetEnabled(true); // zweite Fernsteuerung
// ...
Wobei sich die Nummerierung auf die Gesamtliste der Fernsteuerungen bezieht, unabhängig vom Typ.
Nur bestimmte Fernsteuerungen, die eine Script-Sonderfunktionalität bieten, haben eine spezielle Funktion wie DHDRemote, K8055NRemote, etc. - bei MIDI ist das nicht der Fall.
Danke, Torben. Ich habe viel rumprobiert, aber auf diese einfache Lösung bin ich nicht gekommen. Toms Skript müßte dann etwa lauten:
var
MidiOn: boolean;
procedure OnLoad;
begin // Falls bei Programmstart Faderstart ausgeschaltet sein soll, …
MidiOn := true; // … hier ggf. jeweils "false" bzw. "OFF" einsetzen
Remote(3).SetEnabled(true);
Remote(4).SetEnabled(true);
ExecuteCommand('BUTTON.FADERSTART ON');
end;
procedure OnExecuteCommand(Command:string);
begin
if Command = 'FADERSTART' then
begin
if MidiOn then
begin
MidiOn := false;
Remote(3).SetEnabled(false);
Remote(4).SetEnabled(false);
end
else
begin
MidiOn := true;
Remote(3).SetEnabled(true);
Remote(4).SetEnabled(true);
end;
end;
end;
begin
end.
(Ungetestetes Schreibtischprodukt.)
Voraussetzung: Ein erweiterter Button mit Fernsteuerungs-ID BUTTON.FADERSTART (oder beliebig anders, bitte ggf. im Skript ändern), der beim Ein- und Ausschalten jeweils den Befehl FADERSTART von sich gibt.
Alternativ kann der Befehl FADERSTART natürlich auch mittels einer Tastatur gegeben werden.
Also ich hab die Anpassung von Torben ins Script gemacht. Hoffe an der richtigen stelle.
var
MidiOn: boolean;
function Remote(Index: integer): IRemote;
begin
Result := Instance.GetRemoteController.GetItem(Index);
end;
procedure OnLoad;
begin // Falls bei Programmstart Faderstart ausgeschaltet sein soll, …
MidiOn := false; // … hier ggf. jeweils "false" bzw. "OFF" einsetzen
Remote(3).SetEnabled(true);
Remote(4).SetEnabled(true);
ExecuteCommand('BUTTON.FADERSTART ON');
end;
procedure OnExecuteCommand(Command:string);
begin
if Command = 'FADERSTART' then
begin
if MidiOn then
begin
MidiOn := false;
Remote(3).SetEnabled(false);
Remote(4).SetEnabled(false);
end
else
begin
MidiOn := true;
Remote(3).SetEnabled(true);
Remote(4).SetEnabled(true);
end;
end;
end;
begin
end.
Die Fehlermeldung ist zumindest weg.
Beim Programstart soll Faderstart deaktiviert sein.
Der erweiterte Button ist drin:
Schalte ich jetzt jedoch den Faderstart per Button ( der noch nicht mit einem Midi Controll verbunden ist sondern aktuell noch per Maus aktiviert oder deaktiviert wird) ein, passiert leider gar nichts.
Nun geht es daran diese für den jeweiligen einzelnen Player zu trennen aber das sollte ich hin bekommen. Und diese dann natürlich als Fernsteuerung der Midi Note vom Rodecaster zuweisen.
Ja manchmal sind es die einfachen Dinge
Die Buttons hab ich zum Test jetzt ein wenig angepasst und die Scripte von einander getrennt für die jeweiligen Player.
Da ich es gestern schon getestet hatte, ohne Torbens Zusatz, hab ich das Script erst mal wegen der Fehlermeldung deaktiviert. Und heute beim Neuanlauf wieder vergessen zu aktivieren.
Nun stehe ich nur noch vor dem Problem das mir der aktuelle Status durch den Button selbst nicht signalisiert wird: Ergo soll ja auch der Button bei der Fernsteuerung selbst umschalten.
Den Befehl FADERSTART hab ich jeweils für die PLAYER A und B ergänzt im Script und auch für den Button selbst.
Hier ein Beispiel für Player A:
// Faderstart Scpript copyright by Tondose (mAirList Community Forum https://community.mairlist.com/t/fernsteuerung-ein-und-aus-schalten/16752
// 06.02.2023 nach wunsch von TomJumbo83 mittels erweiterten Button bestimmte Midi Funktionen AN und AUS zu schalten.
// Erweiterung auf Rode Rodecaster möglich als Fernsteuerung Command: PLAYERSTARTA der Midi Note zuweisen.
var
MidiOn: boolean;
function Remote(Index: integer): IRemote;
begin
Result := Instance.GetRemoteController.GetItem(Index);
end;
procedure OnLoad;
begin // Falls bei Programmstart Faderstart ausgeschaltet sein soll, …
MidiOn := false;
Remote(0).SetEnabled(false); //für Programmstart AUS auf "false" ändern
ExecuteCommand('BUTTON.FADERSTARTA OFF'); //für Programmstart AUS auf "OFF" ändern
end;
procedure OnExecuteCommand(Command:string);
begin
if Command = 'FADERSTARTA' then // Command für FADERSTARTA (Player A)
begin
if MidiOn then
begin
MidiOn := false;
Remote(0).SetEnabled(false); // Die Nummern in der Klammer definieren die Position der Fernsteuerungen in mAirList beginnend mit (0),(1),(2)..usw.
end
else
begin
MidiOn := true;
Remote(0).SetEnabled(true); // Die Nummern in der Klammer definieren die Position der Fernsteuerungen in mAirList beginnend mit (0),(1),(2)..usw.
end;
end;
end;
begin
end.