Update: Änderungen und Verbesserungen
Zu obiger Version haben sich einige Veränderungen ergeben:
- Die Steuerung der LED’s sowie der Tastenfunktionen über MIDI wurden ergänzt
- 2 Scripts (beim Start und bei Beenden von mAirList sowie Programmierung spezieller Tasten) wurden angepasst und als Hintergrundscript in einem Verzeichnis hinterlegt.
- Die Cartwall (1-24 Tasten) wurde zum Ein- und Ausschalten mit LED Steuerung auf eine Taste gelegt sowie über MIDI 24 Funktionen (CARTWALL 1 START/STOP) programmiert.
- Grundsätzlich gilt: alle AKTIVEN Tasten werden durch blinkende LED’s angezeigt.
Die Belegung der MIDI-Tasten Programmierung sieht jetzt wie folgt aus:
Die Zuordnung zu den APCmini Tasten sieht folgendermaßen aus:
Die Scripte sind als Hintergrundscripte in mAirList hinterlegt, damit sie beim Starten und beim Beenden von mAirList ausgeführt werden:
Hinweis: die Option „Automatisch neu laden wenn die Datei sich geändert hat“ bitte NICHT einschalten, da sich das Einschalten auf die Performance im Echtbetrieb auswirkt (nur beim Testen eines Scripts einschalten).
Das Script „LED_MIDI_ON_02_PgmStart.mls“ startet die LED Steuerung beim Starten und beim Beenden von mAirList:
// AKAI "APCmini" LED Programmierung
// Programming at: 28.09.2020
// Version: 1.0
const
off = 00;
green = 01;
green_blink = 02;
red = 03;
red_blink = 04;
yellow = 05;
yellow_blink = 06;
var
i: integer;
Procedure OnLoad;
begin
MidiOutOpen(1); // --> MIDI Device oeffnen
// Grundfarben setzen
// Grundfarbe: 00 (off) --> alle 64 Tasten AUS
for i:= 0 to 99 do
MidiOut(1, $90, i, off); // device, status, data1, data2
// Grundfarbe: 05 (yellow)
for i:= 24 to 31 do // Grundfarbe: 03 (red)
MidiOut(1, $90, i, red); // device, status, data1, data2
// Grundfarbe: 01 (green)
for i:= 40 to 63 do
MidiOut(1, $90, i, green); // device, status, data1, data2
// Farbe fuer spezielle Tasten setzen (Tasten, die als Gruppe zusammen gehoeren)
// Player A Steuertasten
MidiOut(1, $90, 00, yellow); // device, status, data1, data2
MidiOut(1, $90, 01, yellow); // device, status, data1, data2
// Player B Steuertasten
MidiOut(1, $90, 02, green); // device, status, data1, data2
MidiOut(1, $90, 03, green); // device, status, data1, data2
// Next Track, AUTO
MidiOut(1, $90, 06, yellow); // device, status, data1, data2
MidiOut(1, $90, 07, yellow); // device, status, data1, data2
// Mic ON/OFF
MidiOut(1, $90, 15, green_blink); // device, status, data1, data2
// Voice Tracking Aufnahme
MidiOut(1, $90, 14, red); // device, status, data1, data2
MidiOut(1, $90, 04, red); // device, status, data1, data2
MidiOut(1, $90, 05, red); // device, status, data1, data2
// Cartwall ON/OFF
MidiOut(1, $90, 8, green_blink); // device, status, data1, data2
// Cartwall Fade out all
MidiOut(1, $90, 9, green); // device, status, data1, data2
// Die Tasten 64 bis 71 haben nur die Farbe ROT
// Browser Cursor Up
// MidiOut(1, $90, 64, red); // device, status, data1, data2
// Browser Cursor Down
// MidiOut(1, $90, 65, red); // device, status, data1, data2
// Browser Cursor Left
MidiOut(1, $90, 66, red); // device, status, data1, data2
// Browser Cursor Right
MidiOut(1, $90, 67, red); // device, status, data1, data2
MidiOutClose(1); // --> MIDI Device schliessen
end;
Procedure OnUnLoad;
begin
MidiOutOpen(1); // --> MIDI Device oeffnen
// Grundfarben loeschen bei Programmende
// Grundfarbe: 00 (off) --> alle 99 Tasten AUS
for i:= 0 to 99 do
MidiOut(1, $90, i, off); // device, status, data1, data2
MidiOutClose(1); // --> MIDI Device schliessen
end;
// Main Program
begin
end.
Das Programm „LED_MIDI_ON_02_Player_ON_Blinking.mls“ setzt bestimmte Farben auf die LED-Tasten (blinkend: Tasten sind aktuell „AKTIV“):
// AKAI "APCmini" LED Programmierung
// Programming at: 28.09.2020
// Version: 1.0
const
off = 00;
green = 01;
green_blink = 02;
red = 03;
red_blink = 04;
yellow = 05;
yellow_blink = 06;
var
i: integer;
Procedure OnPlayerStart(PlaylistIndex: integer; PlayerIndex : integer; Item: IPlaylistItem);
begin
MidiOutOpen(1); // --> MIDI Device oeffnen
// Farbe fuer spezielle Tasten setzen
If PlayerIndex = 0 then
begin
// Player A Steuertasten
MidiOut(1, $90, 00, yellow_blink); // device, status, data1, data2
MidiOut(1, $90, 01, yellow_blink);
end;
If PlayerIndex = 1 then
begin
// Player B Steuertasten
MidiOut(1, $90, 02, green_blink); // device, status, data1, data2
MidiOut(1, $90, 03, green_blink);
end;
MidiOutClose(1); // --> MIDI Device schliessen
end;
Procedure OnPlayerStop(PlaylistIndex: integer; PlayerIndex : integer; Duration: TTimeValue; Item: IPlaylistItem);
begin
MidiOutOpen(1); // --> MIDI Device oeffnen
// Farbe fuer spezielle Tasten setzen
If PlayerIndex = 0 then
begin
// Player A Steuertasten
MidiOut(1, $90, 00, yellow); // device, status, data1, data2
MidiOut(1, $90, 01, yellow);
end;
If PlayerIndex = 1 then
begin
// Player B Steuertasten
MidiOut(1, $90, 02, green); // device, status, data1, data2
MidiOut(1, $90, 03, green);
end;
MidiOutClose(1); // --> MIDI Device schliessen
end;
// Called when cart player is started
procedure OnCartwallPlayerStart(PlayerIndex: integer; Item: IAudioCartwallItem; PlaylistItem: IPlaylistItem);
begin;
MidiOutOpen(1); // --> MIDI Device oeffnen
MidiOut(1, $90, 09, green_blink); // device, status, data1, data2
MidiOutClose(1); // --> MIDI Device schliessen
end;
// Called when cart player is stopped
procedure OnCartwallPlayerStop(PlayerIndex: integer; Item: IAudioCartwallItem; PlaylistItem: IPlaylistItem; Duration:TTimeValue);
begin
MidiOutOpen(1); // --> MIDI Device oeffnen
MidiOut(1, $90, 09, green); // device, status, data1, data2
MidiOutClose(1); // --> MIDI Device schliessen
end;
// Main Program
begin
end.
Noch ein Blick auf das aktuelle Aussehen von mAirList bei eingeschalteter Cartwall:
Die Cartwall kann auf Tastendruck aus- und eingeblendet werden.
Getestet wurde mit der mAirList Version: 6.3.2 Build: 4356
Gruß rbor