Midi senden mit Auswahl in Config

Hallo Torben,
ich möchte noch einmal ein thema von 2006 aufgreifen.
Hierbei geht es um Midi Befehle senden. Das empfangen ist ja kein problem und funzt ja auch sau gut.
Jetzt die Frage:
Könntest du sowas auch in die andere Richtung machen (ohne Scripte) mit dem Aufbau wie beim empfangen?
Also mit Auswahl des Devices, Angabe des Kanals sowie Daten 1 und daten 2 mit den verschieden “auf” Abfragen, welche dann durch einen entsprechenden Befehl ausgelöst werden?

Beispiel:

  • Starten des PFL’s in MairList setzt mir automatisch mein Solo auf die Kanäle.
  • OffAir schalten würde ein herunternehmen des Busses bewirken
  • Track ende würde Kanalzug runter nehmen

By the way, mir ist ein unschönes Verhalten aufgefallen wo ich aber nicht weiß ob man das ändern kann.
Folgendes Szenario:
Auf Kanalzug 1 ist der Midibefehl für Start/Pause bei überschreiten von Daten = 11 eingestellt.
Er startet auch schön, jedoch springt er bei weiterem aufziehen des Faders auf Pause. Sollte nicht vielleicht eine Prüfung vorliegen ob der alte gelesene Wert nicht auch schon über den Schwellwert lag? Hierdurch könnte dieses Problem ja behoben werden und es würde wirklich nur die Schwelle ausgewertet.
Weiterhin könnte ich mir in diesem Zusammenhang folgende Funktion wünschen:
gleiches Szenario:
Sobald der Kanalzug den Wert 11 überschreitet (also mindestens 12) so würde der Player gestartet, bei unterschreiten der 11 (also kleiner gleich10) würde der Player in Pause geschickt. Also mit überschreiten Schwellwert ausführen der ersten Aktion, unterschreiten dann ausführen der zweiten Aktion.

Hau mich jetzt bitte nicht.

Ich sende zwar nicht wirklich, dafür bastel ich jede Menge und habe manchmal noch komischere Ideen.

PS: Sollte mal Bedarf bestehen um so ein Midi Device zu testen, dann gib einfach laut. Soweit weg wohnst du nicht (wenn ich das richtig im Kopf habe) und wenn ich nicht grade im Ausland bin so finde ich bestimmt Samstags (leider nur am WE) jede Menge Zeit.

So long

Peter

Hast du in der Script-Hilfe den MidiOut()-Befehl gesehen? :slight_smile:

Das Problem mit den Schwellwerten habe ich verstanden. Auf die Schnelle kann ich das nicht realisieren, aber wir behalten es mal auf der Wunschliste.

Hi Toben,
joar, das mit dem Script habe ich gelesen, aber ganz ehrlich, nicht verstanden.
Ich weiß noch nicht einmal wo und wie ich das Script einbinden muss :frowning:

Grüße

Peter

Oha, dann wirst du hier wohl externe Hilfe in Anspruch nehmen müssen :wink:

Die Benachrichtungs-Scripts (notification scripts) sind eine tolle Sache, weil man mit ihnen auf alle möglichen Ereignisse reagieren und dann beliebige Aktionen durchführen kann. Dazu muss man zwar ein bisschen programmieren (können), aber die Möglichkeiten sind dann beinahe unbegrenzt.

Ich bin gerade zeitlich etwas schlecht dran, sonst würde ich dir die Grundlagen gerade mal erklären. Aber ich weiß, dass es hier noch ein zwei andere Leute gibt, die sich damit auskennen :slight_smile:

Geht das mit dem Script seit der 3er Version oder schon in der 2.2?
Mit dem Thema würde ich mich nämlich auch gerne beschäftigen.

Geht auch in v2.2 schon.

Hallo Torben,
ich weiß das du recht busy bist, aber dennoch würde ich gerne nochmal deine Hilfe in anspruch nehmen wegen der midi sache.
Ich habe ja hier im Forum gestöbert und bin auch fündig geworden.
Wenn ich das Script manuell starte, so flitzt der Fader auch auf die gewünschte Position (hatte zwar etwas gedauert bis ich wusste welches Midi device das von meinen 10 Stück war, aber auch das geht jetzt).

Für den Shorty: Die zeile lautet:

MidiOut ( 06, 184, 03, 55 ) ;
// 06 = Mididevice 4
// 184 = Kanalzug 25/26 (Status)
// 03 = keine Ahnung. So lassen (Data 1)
// 55 = Lautstärke bei “-5” (Data 2)

Nur:
wie kriege ich mein Script dazu das es diese Zeile nur ausführt wenn der Player A gestartet wird?
Und wo muss ich das Script aktivieren? (In der Konfig unter Benachrichtigungs Script?)

Ich denke mal dass es dann für den Player B gleich ist (nur der Player Index ist anders) und das ich für das Stop ereignis nur den Start befehl gegen den Stop Befehl austauschen muss.

Muss ich bei em entsprechenden Prozduraufruf eigentlich das “begin” davor setzten oder kommt das danach. Überall wo ich es gefunden habe steht es ja danach und das entsprechende “end” mit einem Semikolon. Also muss ich ganz am Ende auf jeden Fall noch ein “Begin” und ein “End”, hier aber mit Punkt einfügen, damit das Script sauber abgeschlossen ist?

danke nochmal für deine Hilfe.

Achja, ich fahre noch die Version 3.0.1 Build 544. Ich weiß das sich die item Zuordnung in einer der nachfolgenden Releases geändert hat. Ich möchte aber erstmal mit dieser Version weitermachen damit ich mir soviel wie möglich erstmal von anderen Scripten abgucken kann bevor ich auch noch umdenken muss. (erst will ich laufen lernen bevor ich es mit rennen versuche gg)

Schöne Grüße

Peter

Du solltest auf jeden Fall das Update auf v3.0.3 machen, denn dort ist das Schreiben von Notification Scripts erheblich einfacher geworden, und außerdem sind jede Menge Bugs behoben.

Prinzipiell hat jedes Script - normal oder Notification - am Ende einen “Hauptteil”, der in “begin” und “end.” (mit Punkt) gefasst ist. Das kürzeste, weil leere Script sieht also so aus:

begin
end.

“Normale” Scripts werden über das Menü oder einen RUNSCRIPT-Befehl gestartet. Dabei werden die Befehle zwischen “begin” und “end.” ausgeführt. Wenn man möchte, kann man Teile seines Codes in eigene Prozeduren auslagern.

“Notification Scripts” (in der GUI etwas holprig übersetzt als “Benachrichtigungs-Script”) sind etwas anders - der Code zwischen “begin” und “end.” wird niemals ausgeführt. Stattdessen gibt es eine Reihe von Prozeduren mit vordefinierten Namen und Parameterlisten, die mAirList in den jeweiligen Situationen automatisch aufruft. Die Prozeduren und ihre Definitionen findest du im Notification Script Template. Nicht benötigte Prozeduren kannst du leer lassen oder, noch besser, löschen.

Auch Notification Scripts haben am Ende einen leeren “begin end.”-Block, weil das Script sonst nicht kompiliert (Syntaxfehler). Er ist aber irrelevant.

Ab Version 3.0.3 würde ein Notification Script mit deinem Midi-Befehl so aussehen:

procedure OnPlayerStart(PlaylistIndex: integer; PlayerIndex: integer);
begin
  if PlayerIndex = 0 then
    MidiOut ( 06, 184, 03, 55 ) ;
end;

procedure OnPlayerStop(PlaylistIndex: integer; PlayerIndex: integer; Duration: TTimeValue);
begin
  if PlayerIndex = 0 then
    MidiOut ( 06, 184, 03, 55 ) ; // hier noch die Werte für den Stop-Befehl anpassen!
end;

begin
end.

Der Vergleich “PlayerIndex=0” überprüft, ob es der erste Player war, der da gestartet wurde. Player B hätte dann Index 1 usw.

Hallo Torben,
vielen dank das du dich auf nen Sonntagmorgen schon hinsetzt und mir hilfst.
Ich werde nachher mal auf die 3.03 umsteigen. Ich dene mal das dies noch genauso gut geht wie vorher. Sprich installieren, GUI und andere dateien einfach entsprechend in das Verzeichnis rein…

Danke auf jeden fall für die Script Sache. Das habe ich sogar jetzt verstanden (irgendwie aktivieren sich so ganz einzelne graue Zellen die mir sagen das es mich ein wenig an das alte Pascal unter Dos erinnert :D:D )

MFG

Peter

Wenn du die 3.0.1 per setup.exe installiert hast, kannst du die 3.0.3 einfach wieder per setup.exe drüberinstallieren.

Hallo torben,
danke für die Hilfe. hat geklappt.
Werde das Script jetzt brav erweitern so das die grundsätzlichen kanalzüge ferngesteuert werden könne und werde das Script dann einstellen so das jeder was davon hat.

Grüße

Peter

Ist schon was her, aber was verwendest Du für ein Pult Piet?

Greetz
Malte

[quote=“shorty.xs, post:12, topic:5995”]Ist schon was her, aber was verwendest Du für ein Pult Piet?

Greetz
Malte[/quote]

Hiho,
ich verwende ein Tascam DM3200 mit zusätzlicher Firewire Karte (Also eigentlich ein Producer Pult und kein reines Radio Pult)
Dies hat aber den Vorteil dass ich kaum noch weitere externe Hardware brauche. So habe ich nur noch einen Master Limiter der mir im schlimmsten Falle (wenn doch noch was durchrutscht) die letzte Übersteuerung kappt.
Alle anderen dynamischen EQ’s, Limiter, Gates usw. sind direkt im Mischer (bei Bedarf für jeden Kanal, jeden Buss usw.)
So ist es zum Beispiel möglich verschiedene Soundkarten Ausgänge per Knopfdruck auf andere Geräte zu routen (Beispiel, Telefon nur auf Telefon oder auf Master).
Das schöne mit der Midisteuerung ist vor allem das man nicht auf die aktive Faderseite am Mischer schalten muss, sondern die Kanäle auch bei anderer aktiver Seite verändert werden können.

Grüße

Peter

Wow, hast du schon ein Studiobild gepostet? http://forum.mairlist.com/index.php/topic,1861.0.html
Würde mich ja mal interessieren wie’s bei Dir so aussieht.

Ich befürchte das Pult liegt ausserhalb meines budgets. Nur mal interesse halber, kann man da auch 2 Mono Wege als Stereo auf einen Fader legen oder geht das auch nur, dass man 2 Fader koppelt, die sich dann synchron bewegen?

Greetz
Malte

Hiho,
joar, das Pult verhält sich so wie alle Studiopulte. Um einen Stereokanal zu erzeugen muss man 2 Monokanäle nutzen. Dies kann man programmieren (geht auf Knopfdruck) und dank der Motorfader ist es anschließend egal welchen man zieht, der andere folgt umgehend auf den gleichen Wert. Es erfolgt zwar eine kurze Verzögerung bei dem Motor, das Signal jedoch wird unverzüglich mit genommen. Würde dem nicht sos ein würde anschließend keiner mehr wissen was auf welchen Kanal ist bzw. was zusammen gehört, da man ja Mono und Stereo ganz nach belieben mischen kann. Und wenn solche Pulte auch voller High TEc sind…eines ist immer noch wie früher…die fest aufgedruckte Zahl für die Kanalnummer lach
Leider habe ich bisher kein Foto hochgestellt und im Moment wird das auch nicht gehen da ich ersteinmal wieder für 8 Wochen in China sitze…
Und sowas hat auch seinen Vorteil, dadurch habe ich überhaupt erst MairList gefunden da ich endlich mal genügend Zeit zum stöbern hatte :slight_smile:

Grüße

Peter