[X-Air XR18] Motorfader & mAirList

Hallo Gregor, ich war mal so frei, den Thread in den Hardware-Bereich zu verschieben und die Überschrift etwas zu erweitern.
Viel Erfolg bei deinem Vorhaben!

Also ich hab seid heute das X18.
Prinzipiell kannst du das zwar machen per Midi aber zunächst müsste geklärt werden ob du dein XTouch ind das Xair18 per Midikabel direkt verbunden hast oder per USB über den Rechner routest.

Das verstehe ich noch nicht ganz. Faderstart überhaupt kein Thema jedoch müssen die Player selbst im Programm ja nie wirklich gemutet werden. Das reicht völlig im xAir18.

Thema Faderstart:

Wenn du dein xTouch per USB am Rechner hast kannst du unter Fernsteuerung Midi Geräte mal den Monitor aktivieren und dir die Range anschauen vom Faderzug indem du ihn einmal von unten nach oben ziehst.
Ist im Normalfall eine Range von 0 bis 127
Jetzt kannst du entscheiden ab wann der Player starten soll. Ich habs bei mir auf 25 damit er nicht sofort losrennt wenn man mal versehentlich dran kommt.
Hast du dich für eine Position entschieden musst du nur noch den richtigen Befehl raussuchen. Habs jetzt nicht im Kopf aber PlayerA_Start dürfte in die Richtung gehen.

Anders herum hab ichs nie gestetet und auch nie verwirklicht da es für mich keinen sinn macht das mAirlist die Fader steuert. Sorry.

Hi

Das XTouch Compact geht per USB in den PC und wird dann mit “OSIMIDI” auf das Pult geroutet.

Mir geht es nicht um den Fader Start, wie mAirlist ein Signal vom Pult bekommt, habe ich schon verstanden. Ich möchte aber gerne das:

(Fader Unten)
Player A Startet -> (Fader A auf 0 db)
und wenn der Player stoppt -> (Fader A wieder zu)
Und das für B auch…

Ähnlich wie in Studios von 1Live, MDR Jump bzw, fast allen Öffentlich Rechtlichen Sendern die Motorfader haben.

Ich weiß nur nicht wie ich mAirList Midi Signale bei bestimmten befehlen (Start und End Punkt) wieder ans Pult schicken lassen kann.

Das meinte ich, aber danke für deine Antwort. Ich hoffe jetzt ist es verständlicher.

In dem Fall müsste mAirlist im Idealfall Midi senden. Ob es nun OSIMidi ist oder normal wäre glaube ich egal.
Wir benutzen für unser Setup einen Midi Translator der im Prinzip aus allen Signalen wie einem Tastendruck oder status von mAirlist (wäre in deinem Fall ja angebracht) ein gewünschten Befehl machen könnte.
Der nennt sich Bome Miditranslator. Das hat aber andere Gründe zb wegen Studioampel und Playout Monitor.

Wir haben jedoch kein xTouch von Behringer sondern ein iCon Platform X das aber auch Motorfader hat.

Wo hast du denn das genau von den angegebenen Sender her? Ich würde gerne verstehen wozu das bei denen so gehandhabt wird. Wenn ich eine Sendung fahre sind mindestens drei Fader immer offen. Player A player B und Cartwall. Schalte ich von Auto auf Assist um nehme ich den nicht aktiven Player runter. (hier könnte schon der Punkt sein) um ihn dann per Faderstart wieder hoch zu ziehen gegen ende der Moderation.

Ich weis nun nicht ob mAirlist einen Midi Befehl senden kann aber mit dem Bome könnte mAirlist zumindest per Script einen Status senden beim umschalten auf Assist. Zum Beispiel einen Aktiv und inaktiv Status.
Player A Status 1 (läuft)
Player B Status 0 (steht)
Wenn Assist schreibe den Status in eine Datei.
Diese müsste dann zb jede sekunde geprüft werden von Bome der dann aus entsprechenden Fader Stellung status 1 für offen auf 127 und 0 für geschlossen auf 0 stellt.

Ob das so funktioniert weis ich leider nicht und leider kann ich auch nicht scripten. Vlt haben ja andere noch eine idee dazu :grin:

Der korrekte Befehl sollte PLAYER 1-1 START lauten (bzw. 1-2 etc.).

All commands for the players have the form PLAYER x-y <command> , where x is the number of the referring playlist, starting with 1 (the first and often only playlist) and y the number of the player of this playlist. So PLAYER 1-2 is the second player of the first playlist, PLAYER 2-1 the first player of the second playlist and so on.

Quelle: reference:remote_control_commands [mAirList Wiki]

Der Name des Players ist unerheblich, denn er kann in der Konfiguration frei vergeben werden. Die Buchstaben A und B sind lediglich voreingestellte Vorschläge, die jedoch beliebig geändert werden können. Insofern hat der Playername keinen Einfluss auf die Fernsteuerung; das System orientiert sich vielmehr an festen Nummern.

Ich habe das mAirList Forum nochmal durchforstet und das hier gefunden: m-audio midi-pult und mAirList????
dort geht es auch darum… allerdings wird dort nicht genau beschrieben wie das Funktioniert.
Die Schreiben nur das es in der .ini funktionieren soll.

Interessant. Also sendet mAirlist doch MidiOut. Wusste ich bis jetzt auch noch nicht.
Ich hatte wie schon gesagt bisher immer die Analoge Abmischung im Hinterkopf. :thinking:

Nicht von alleine, nur bei Bedarf via Script.

Ok heißt ich muss doch nen Script dazu schreiben?

Naja ich denke das wird dann
Situation - Status = MidiAktion sein.
Also:
Player 1-1 Bereit ( Geladen )
Aktion Midinote Range 0
Player 1-1 Start
Aktion Midi Range 127

Natürlich dann mit der exakten Midi Note deines xTouch damit der richtige Fader läuft.
Müsste man mal jemand fragen der sich mit Scripten auskennt.

Ich habe mal ein bisschen Rumprobiert und habe versucht ein Script zu schreiben, welches diese Funktionen übernimmt.

Jedoch kommt beim Laden in mAirList immer:

// aktuelle Version
VERSION='1.0.0';
// Scriptname
SCRIPTNAME='mAirList MotorFaderControl';


//Called when Script is loaded
procedure OnLoad;
begin
	MidiOutListDevices;
		1: X18/XR18 MIDI IN;
		MidiOutOpen(1);
end;

// Called before mAirList shutdown
procedure OnUnload;
begin
	MidiOutClose(1);
end;


//Steuerung

//A Start
procedure PLAYER 1-1 START;
begin
	MidiOut(1, $B0, $04, 5F); // device, status, data1, data2
end;

//A Stop
procedure PLAYER 1-1 STOP;
begin
	MidiOut(1, $B0, $04, 00); // device, status, data1, data2
end;

//B Start
procedure PLAYER 1-2 START;
begin
	MidiOut(1, $B0, $06, 5F); // device, status, data1, data2
end;

//B Stop
procedure PLAYER 1-2 STOP;
begin
	MidiOut(1, $B0, $06, 00); // device, status, data1, data2
end;

begin
end.

Habe ich irgendwas falsch gemacht? Habe noch nie nen Script geschrieben.

Hast du das exakt so gefunden für das xAir18 oder hast du diese daten ergänzt?
Ich hab von scripten auch leider keine Ahnung.
Aber viele hier im Forum können das ubd ich denke das sich bald jemand dazu äussert. :wink:

Nein ich habe es so ergänzt, weiß aber nicht ob mairlist das Pult so erkennt.

Naja die richtigen Midi Noten\Adressen sollten schon dem des xAir18 entsprechen. Aber rein davon würde mairlist keinen fehler ausgeben sondern lediglich das pult einfach nicht reagieren.
Aber ansonsten kann ich dir momentan nicht weiterhelfen. Schauen wir mal was der rest der Comunity so sagt.

Achso, na die entsprechen schon dem Xair18, mir ging es ehr um die zeile mit dem Midi Load

[Error] (4.1) müsste heißen, dass der Fehler in Zeile 4 an Stelle 1 auftritt - offenbar wird hier BEGIN erwartet.
Da ist also ein Syntaxfehler, wenn ich mal ganz frech vermuten darf.

Ich habe jetzt mal den ganzen Schnick Schnack oben aus dem Script raus genommen.

Jetzt zeigt er mir an: [Error] (4:1): Identifier expected

in Zeile 4 steht: procedure OnLoad;

Was mich ein wenig nachdenklich macht sind die ersten Zeilen des Scripts. Alles was nicht mit // im Code ausgeklammert ist wird in der normalen Programierung eigentlich als Ausführung oder Befehl verstanden. Diese würde ich zum test auf jeden fall mal mit // versehen.
Also Version und Scriptname.
Diese sind zu 100% nicht scriptrelevant und somit auch auszuschließen. :sunglasses:

Ja habe ich gemacht. Jetzt sieht es so aus…

begin

//Called when Script is loaded
procedure OnLoad;
begin
	MidiOutListDevices;
		1: X18/XR18 MIDI IN;
		MidiOutOpen(1);
end;

// Called before mAirList shutdown
procedure OnUnload;
begin
	MidiOutClose(1);
end;


//Steuerung

//A Start
procedure PLAYER 1-1 START;
begin
	MidiOut(1, $B0, $04, 5F); // device, status, data1, data2
end;

//A Stop
procedure PLAYER 1-1 STOP;
begin
	MidiOut(1, $B0, $04, 00); // device, status, data1, data2
end;

//B Start
procedure PLAYER 1-2 START;
begin
	MidiOut(1, $B0, $06, 5F); // device, status, data1, data2
end;

//B Stop
procedure PLAYER 1-2 STOP;
begin
	MidiOut(1, $B0, $06, 00); // device, status, data1, data2
end;

end.

ist aber immernoch diese Fehlermeldung

1 Like

Was möchte uns diese Fehlermeldung sagen?
image

Ich weiß es leider nicht aber wir warten einfach mal ab. :smile: