Dann ziehe ich diesen Beitrag mal aus dem allgemeinen Thread heraus, damit der nicht verwässert wird Dort steht er quasi 1:1 noch einmal, aber ich halte es für sinnvoller, die Diskussion zu diesem speziellen Script in diesem Faden zu führen und das Script im anderen Faden als das zu nehmen, was in der Büberschrift des Fadens steht: als Codebeispiel
Weiterhin gibt es zu diesem Faden auch ein Geschwisterchen in englischer Sprache.
Hallo, alle,
wie Ihr vielleicht mitbekommen habt, habe ich in den letzten Tagen, seit ich meinen Behringer CMD MM-1 Controller gekauft habe, versucht, ein Script zu schreiben, um diesen Controller in mAirlist besser nutzen zu können. Heute (genauer gesagt: gestern Abend, Anm.d.A. ;-)) habe ich dabei eine erste Stufe erreicht: Das Script läßt sich jetzt in mAirlist als Benachrichtigungsscript einbinden, das beim Start selbsttätig die Playerstatus abfragt und demzufolge die Status der Schalter am Controller richtig setzt. Wer das Script nutzen oder anpassen möchte, tue sich keinen Zwang an. Ich habe das Script auf GitHub veröffentlicht: https://github.com/McCavity/Behringer_CMD_MM-1 - es steht unter Apache 2.0 Lizenz, es darf daher frei benutzt, verändert und weitergegeben werden - ich würde mich nur darüber freuen, wenn man mich als Autor oder Beitragender irgendwo erwähnt, wenn man es ganz oder teilweise weiterveröffentlicht.
Das Script ist an meine mAirlist Umgebung angepaßt und macht daher die folgenden Annahmen: es gibt zwei Playlisten, die erste hat zwei Player (1-1 und 1-2) und die zweite einen Player (2-1). Diese drei Player sind mit den ersten drei Fadern des MM-1 verknüpft: Kanal 1: 1-1, Kanal 2: 1-2, Kanal 3: 2-1. Ich verwende die “CUE” Schalter des MM-1 für START/PAUSE Befehle. Die zwei “Side buttons” (In DJ-Programmen üblicherweise dazu genutzt, den Player der linken oder rechten Seite des Cross Faders (welchen ich in mAirlist nicht nutze) zuzuweisen) oberhalb der “CUE” Schalter (mit den Beschriftungen “1” und “2”) nutze ich für PFL (Schalter 1) und Schalter 2 innerhalb des PFL Modes für End Monitor. Während ein Player läuft schalte ich die LED im CUE Schalter auf “blinkend”, gleiches gilt für den Schalter “2”, der anfängt zu blinken, sobald der zugehörige Player EOF erreicht.
Eines fehlt jedoch noch: Ich nutze ja den MM-1 auch für Voicetracking. Daher nutze ich im VT-Mode eine andere Belegung der Schalter. Dies bekomme ich im Script aber noch nicht mit, momentan funktioniert es nur im Assist- oder Automations-Modus.
@Torben: gibt es da eine Möglichkeit wie “onVoicetrack…” oder ähnlich, mit der ich herausfinden kann, wann mAirlist den Voicetrack Recorder / Editor öffnet, bzw. verläßt? F+r die Automation habe ich “OnAutomationOn” und “OnAutomationOff” gefunden, aber Voicetracking nichts vergleichbares…?
[Ergänzung]
Im anderen Faden antwortete Torben bereits, daß diese Funktionalität bereits in Version 5.1 Realität werden könne
[/Ergänzung]
Als Referenz hier noch mein Teil der remote.ini, der die Zuweisungen für den MM-1 enthält:
[Remote2]
Type=MIDI
Enabled=on
Device=1
Message0=0094307F
Action0=NOVT PLAYER 1-1 START/PAUSE;VT PLAYER A START
Message1=0094317F
Action1=NOVT PLAYER 1-2 START/PAUSE; VT PLAYER B START
Message2=0094127F
Action2=NOVT PLAYLIST 1 EXTRAPFL ON/OFF; VT RECORD START
Message3=0094207F
Action3=VT RECORD STOP
Message4=0094117F
Action4=NOVT CARTWALL NEXT SET; VT SAVE
Message5=0094107F
Action5=NOVT CARTWALL PREVIOUS SET; VT RECORD CANCEL
Message6=00B4B080
Action6=NOVT PLAYER 1-1 VOLUME $DATA2/100; VT PLAYER A VOLUME $DATA2/127
Message7=00B4B180
Action7=NOVT PLAYER 1-2 VOLUME $DATA2/100; VT PLAYER B VOLUME $DATA2/127
Message8=00B4B280
Action8=NOVT PLAYER 2-1 VOLUME $DATA2/100
Message9=0094327F
Action9=PLAYER 2-1 START/PAUSE
Message10=00B40341
Action10=PLAYLIST 1 CURSOR DOWN
Message11=00B4033F
Action11=PLAYLIST 1 CURSOR UP
Message12=0094037F
Action12=PLAYLIST 1 RECYCLE
Message13=0094137F
Action13=PLAYER 1-1 PFL ON/OFF
Message14=0094147F
Action14=PFL END MON
Message15=0094177F
Action15=PLAYER 1-2 PFL ON/OFF
Message16=0094187F
Action16=PFL END MON
Message17=00941B7F
Action17=PLAYER 2-1 PFL ON/OFF
Message18=00941C7F
Action18=PFL END MON
Wenn Ihr irgendwelche Vorschlähe habt, immer her damit - ich hoffe, daß das Script irgendjemandem nützen möge. Aber bevor Ihr auf mich einschlagt, denkt bitte daran: ich habe in den letzten 20 Jahren kein Pascal angefaßt. (Ich denke, die letzte Version, die ich in der Hand hatte, war Turbo Pascal 5.5 für MS-DOS ;-))
Deshalb ein kurzer Disclaimer: Ich stelle das Script so, wie es ist, zur Verfügung, ohne jegliche ausdrückliche oder implizierte Garantie oder eine Aussage über die Nutzbarkeit zu irgendeinem bestimmten Zwecke. Benutzung auf eigene Gefahr, ich übernehme keine Verantwortung für irgendwelche Schäden gleich welcher Art, die durch die Benutzung des Scriptes entstehen könnten.
Eines noch: ein dickes fettes Dankeschön an Torben für seine geduldige Unterstützung, an Thomas “Kloppi” Kloppholz für sein LC-1 Script, welches mich auf die Idee zu meinem eigenen Script brachte und mir als Ausgangspunkt diente (ich habe mir einigen Code von dort kopiert und ihn daher im Dateikopf erwähnt) und ebenso ein riesieges Dankeschön an alle anderen, die mit ihren Beiträgen hier im Forum mir halfen, eine ganze Reihe von Problemen, auf die ich während der Programmierung stieß, zu lösen, ohne extra nochmal nachfragen zu müssen
LG,
McCavity
P.S.: Ich habe noch ein seltsames Verhalten, das möglicherweise mit dem Script / Controller zusammenhängt: dann und wann hängt ein gerade abgespielter track für eine Weile in einer sehr kurzen (<1 Sek.) Schleife, bis er dann nach einigen Sekunden weitermacht… ich untersuche das noch, Fakt ist aber, daß im Systemlog nichts auffälliges erscheint… Ich melde mich da nochmal, wenn ich einen Weg gefunden habe, das Problem zuverlässig nachzustellen.