
Benutzeranmeldung
Geben Sie Ihren Benutzernamen und Ihr Passwort ein, um sich an der Web-Site anzumelden:

MidiFader durchschleifen
| Autor | Nachricht |
|---|---|
|
Verfasst am: 06.08.2012 [11:29]
|
|
|
Mario
Themenersteller
Dabei seit: 06.03.2011
Beiträge: 33
|
Hallo, habe da gleich noch eine Frage. Ich möchte gerne ein Fader von einem angeschlossen Pult gleich wieder rausschicken über den MidiOut-Port des Pultes. Pads sind kein Problem über die Automation. Allerdings kann ich so nur einen festen Werten vom Fader senden. Ich kann den Wert auswählen, bei dem eine Reaktion erfolgen soll, und einen Wert der dann gesendet wird. Also müßte ich ja 128 TriggerRules schreiben um den ganzen Fader weiterzuschicken. Ist mächtig aufwendig. Momentan löse ich das über einen VersatileFader und reagiere auf ANY. Frage den VersatileFader ab, und schicke den dann weiter. Also per TriggerRule reagieren und ein Macro auslösen der dann die Weiterversendung regelt. Geht es auch einfacher ? Wie löst Ihr das ? Kann man eventuell in einer zukünftigen Ecue-Version was einbinden um das einfacher zu gestalten ? Gruß Mario |
|
Verfasst am: 10.08.2012 [20:13]
|
|
|
Rainer Indra
Dabei seit: 15.10.2010
Beiträge: 36
|
Hi Mario, schreib Dir doch ein RegisterEvent Macro mit Event Name = "MidiControlChange". In die function machst Dir ein switch rein, damit nur der gewünschte Fader/Poti das Macro auslöst. Alternativ kannst Du auch gleich das ganze Macro in die function schreiben. fertig schaut das dann so aus: RegisterEvent(MidiControlChange,MIDI); Suspend(); function MIDI(int Channel,int Controller,int Value){ switch(Controller){ case 0: printf("Fader %d hat den Wert %d\n",Controller,Value); //Call("gewuenschtes Macro",0,0,0); break; } } In dem Macro ist jetzt nur ein Fader/Poti im switch, wenn Du mehr Fader benutzen möchtest, musst Du nur mehr Cases definieren (case 1:,case 2: usw.). In der zweiten Zeile im case 0: schreibst Du dann (in Anführungszeichen) den Namen Deines Macros rein (im Augenblick steht da "gewünschtes Macro") und gut is. Vergiss nicht die zwei Kommentar Slashes zu entfernen (der Text im Macro darf nicht grün sein). So ein RegisterEvent-Macro macht im Prinzip das gleiche wie ein Trigger in der Automation. Es ist also nicht notwendig die Automation damit zu bemühen. Hoffe das löst Dein Problem, ansonsten so wie immer: Bei Fragen einfach fragen... Liebe Grüße rainer |
|
Verfasst am: 13.08.2012 [13:57]
|
|
|
Mario
Themenersteller
Dabei seit: 06.03.2011
Beiträge: 33
|
Hallo Rainer, danke für die Antwort, mit bißchen Anpassung läuft deine Lösung wunderbar, allerdings vom Aufwand nicht weniger wie meine Was ist denn der Vorteil eines RegisterEvents gegenüber Triggern per Automation ? Am besten wäre natürlich, wenn man auf ANY reagieren könnte (bzw. kann man ja!) und nicht nur einen bestimmten Wert zurückliefert, sondern den Wert, auf den man auch reagiert Gruß Mario |
|
Verfasst am: 16.08.2012 [19:22]
|
|
|
Rainer Indra
Dabei seit: 15.10.2010
Beiträge: 36
|
Hi Mario, hab das mit dem Fader durchschleifen offensichtlich überlesen. Meiner Meinung nach sollte das mit einem ganz einfachen Macro funktionieren. Das Macro macht nichts anderes als die vom Trigger übergebenen Argumente (arg2 & arg3, das ist der sendende Fader und der übertragene Wert) mit einem MidiSendControlChange wieder auszugeben. Kommt mir jetzt nicht sonderlich kompliziert vor, aber ich hab keine Möglichkeit das auszuprobieren, also vielleicht funktioniert es nicht. Aber die Hoffnung stirbt zuletzt Wichtig ist noch, das im Macro ein Driver-Handle benötigt wird, dieser steht auf "midi#1," das ist per default der Name, der vom Programmer automatisch für den ersten midi Controller vergeben wird, Du solltest nachschauen ob das eh der richtige ist, (wenn Du eigene Namen vergeben hast, musst Du das natürlich auch ändern). Das Macro feuerst Du einfach über die Triggerlist mit einem "Midi Control Change" Trigger ab. Im Anhang ist noch ein Bild mit den Einstellungen die eigentlich passen müssten. ich hab das Macro "FORUM_Midicrtl_Change" genannt. Macro "FORUM_Midicrtl_Change": int Fader = getarg(2); int Value = getarg(3); int MidiHandle = DriverGetHandle("midi#1"); printf("Fader#%d hat den Wert %d\n",Fader,Value);//die Zeile brauchst Du nicht, ist aber ganz gut zu sehen das die Werte übergeben werden MidiSendCtrlChange(MidiHandle,0,Fader,Value); Bin selbst erst gerade bei Midi eingestiegen, und sehr interessiert an der Sache dran, hab aber zur Zeit nur einen Korg nanoKontrol2 zur Hand, der nur Midi-Noten und keine Control-Changes empfangen kann. Deshalb meld Dich ob das Macro funktioniert. lg rainer p.s.: wg. Deiner Frage nach dem Unterschied zw. einem Trigger-Event und einem Register-Event: Es ist im Prinzip das gleiche, nur mit dem Unterschied das Trigger-Events nicht über das Remote ActionPad (iPhone/iPad/Browser) übertragen werden, die kannst Du mit ständig abfragenden Registerevents sehr wohl registrieren (bei einem kabelgebundenem Midi Controller wohl eher unwichtig). Und das Du nicht auf die 80-90 Zeichen in einem exec Command beschränkt bist (da kannst Du aber ohnehin ein Macro nutzen, und dieses Problem umgehen). Ansonsten ist es genau das gleiche. Ich bevorzuge die Register-Event Lösung weil ich ohnehin meistens ein Macro mit dem Trigger-Event auslösen möchte, und deshalb nicht die doppelte Arbeit mit dem Umweg über die Automation haben will, außerdem funktioniert es nicht mit dem Remote Action Pad, das ich fast ausschließlich nutze. Nachteilig vom Registerevent ist das Du es erst einmal starten musst, und wenn Du es nicht mehr brauchst auch wieder ausschaltest. Du kannst es natürlich auch laufen lassen, aber das ist bei permanent abfragenden,umfangreichen Macros manchmal ein CPU/GUI-Performance Problem. |
|
Verfasst am: 17.08.2012 [10:18]
|
|
|
Björn Kruse
Dabei seit: 13.07.2010
Beiträge: 551
|
Hallo, wenn man sich in MIDI einarbeitet, mag http://nerds.de/en/loopbe1.html hilfreich sein? Wenn per RegisterEvent auf MidiControlChange reagiert wird, sollte dies auch nur dann ausgeführt werden (und damit Ressourcen verbrauchen), wenn ein Solches ankommt. Ein aufwändiges Makro mit RegisterEvent auf "Frame" kann da schon deutlich mehr Leistung futtern ; ) Grüße, Björn |
|
Verfasst am: 18.08.2012 [13:48]
|
|
|
Mario
Themenersteller
Dabei seit: 06.03.2011
Beiträge: 33
|
Hi, danke für die Antworten. Die Register-Variante lasse ich anhand Björns Ausführung mal aussen vor. Sehe auch keine expliziten Sinn drin. Denke mal, das meine Lösung mit dem Versatilen Master momentan die Beste ist. LoopBe1,MidiYoke etc. kommen nicht in Frage, da ja die Möglichkeit Midi in ecue an Lichtbedingungen zu verknüpfen neben dem ActionPad gerade das ist, weswegen ich ecue nutze. Das gibt ungeahnte Möglichkeiten, eine gesamte Show homogen zu fahren. Da ja fast alles im Veranstaltungsbereich entweder DMX und/oder Midi versteht. Ich habe bei mehreren Kunden z.B. am DJ-Pult den Crusheffekt abgegriffen um das Licht unruhiger zu machen und gleichzeitig einen Noiseeffekt im Videostream einzuspielen. Oder als zweites Beispiel haue ich bei HipHop-Acts auf dem CrossFader Videowechsel für Kanal A und B rein. Das ist eine Supersache, da es Syncroner nicht geht. Das möchte ich aber alles auf dem ActionPad sehen und beeinflussen bzw. Zu und Wegschalten können. Je nach Bedarf. Genauso ist es für mich wichtig, das ich FlashTasten (bei mir auf dem Midi-Pult halt Pads) auswerten kann, zum Beispiel um sagen zu können, je schneller ich die Pads drücke (ist fast immer abhängig von der Gefühlten Geschwindigkeit des Musiktracks) werden automatisch schneller wirkende VideoLoops eingespielt. Daher komme ich garnicht drum herum, wie das Midi-Signal in ecue auszuwerten und verarbeitet in Macros weiterzuschicken. Interessant sind halt Geschichten wie der Grandmaster. Den direkt weiterschicken, und alles wird gleichmäßig dunkel (Licht,Video etc.) um die Gesamthelligkeit zu regulieren. Oder es kommt noch ein zusätzlicher VJ, der auf einen extra Beamer abfeuert, den möchte ich aber mal eben einen Fader von mir zuweisen, um sicherzugehen, das der Break auch überall syncron abläuft, und er nicht erst merkt, okay da macht eine Dunkel, dann ziehe ich auch mal runter. Soll schon zack alles dunkel werden. Das Problem fängt nun allerdings dann an, wenn der Beamer in der Gesamthelligtkeit unverhältnismäßig zu den Videomonitoren ist, dafür habe ich eine Macro, der einen Wert (den ich per ActionPad vorgebe) beim Midisignal abzieht, um das Grundverhältnis der Helligkeit einzustellen. Und da fallen externe Sachen wie MidiYoke und LoopBe1 weg. Aber das ist es, was ich so super an ecue finde. Es vereinfacht das ganze, und gibt einer Show so super Möglichkeiten eine neuen Qualität Aber es ist jetzt auch kein Beinbruch, das ich keinen Fader mal eben durchziehen kann, mache das Macro dementsprechend flexibler und dann ist es da für zukünftige Anforderungen Gruß Mario |
Portalinfo:
Zur Zeit ist 1 Benutzer online, davon 1 registrierter Benutzer und 0 Gäste.
Heute waren bereits 7 registrierte Benutzer und 0 Gäste online.
Derzeit online
Benutzer: Andreas Scholand
www.ecue.com hat 9986 registrierte Benutzer, 2213 Themen und 6938 Antworten. Es werden durchschnittlich 2.9 Beiträge pro Tag erstellt.
Heute waren bereits 7 registrierte Benutzer und 0 Gäste online.
Derzeit online
Benutzer: Andreas Scholand
www.ecue.com hat 9986 registrierte Benutzer, 2213 Themen und 6938 Antworten. Es werden durchschnittlich 2.9 Beiträge pro Tag erstellt.
Kurzanleitung zur Suche
- Wildcard Suche
Mit Hilfe eines sogenannten Wildcard [in diesem Fall ein "*"] kann man nach mehreren Suchbegriffen suchen, die den gleichen Wortanfang haben. Zum Beispiel wird gesucht nach "Typo*" dann findet die Suche alles was mit Typo anfängt: Typo3, Typoscript, Typocode, Typo3user ... usw..
- Negativ Suche
Wenn man gewisse Ausdrücke in seinem Suchergebnis nicht finden möchte, kann man dieses mit einem Voranstellen eines "-" bewirken. Beiträge, die diesen Begriff enthalten, werden aus dem Suchergebnis ausgeschlossen.
- Suchen nach Usern
Mit der neuen Suche ist es auch nun möglich die Suchergebnisse auf Antworten von bestimmten Usern einzugrenzen. Dazu hängt man an die Suchanfrage noch ein "user:username" an und findet die Ergebnisse, die von diesem bestimmten User geschrieben wurden. Sollte es den Usernamen nicht geben, wird dieser Anhang nicht weiter beachtet.
Kurzanleitung zur Indizierung
- ###LABEL_START_INDEX###
###START_INDEX_CONTENT###
Weitere Artikel über e:cue Produkte und deren Anwendung finden Sie auch hier: www.ecuetips.com (C) www.ruby-lighting.com


