Kann man die denn Upgraden?
Upgraden sollte gehen, wende dich dafür mal an sales@mairlist.com
Upgrade erledigt. Jetzt müss ich den Script scheinbar auf den APCmini mkII angepasst werden
Moin, habe jetzt das Script angepasst und esläuft perfekt.
Jetzt nochmal eine Frage: wie bekomme ich die Tasten zum blinken, wenn eine Scene auf dem Midi Controller bzw. Cartwall läuft.
Hat jemend eine Lösung.
Nach meiner Kenntnis (Midi-Mapping) ersetze
MidiOut (1, $96, i, 96);
durch
MidiOut (1, $9B, i, 96);
MidiOut (1, $9C, i, 96);
.
.
.
MidiOut (1, $9F, i, 96);
je nach Blinkfrequenz.
Super!
Könntest Du den Code hier auch als formatierten Code posten, damit andere ihn ebenfalls einfach nutzen können?
Hilfe dazu hier:
var
i: integer;
Procedure ACPminibeleuchten;
begin
MidiOutOpen(1)
// Alle Tasten aus
for i:= 0 to 128 do
MidiOut(1, $96, i, 00);
// 76 Grün Cartwall
for i:= 40 to 63 do
MidiOut(1, $96, i, 76);
// 106 Rot Cartwall
for i:= 24 to 39 do
MidiOut(1, $96, i, 106);
// 45 Blau Cartwall
for i:= 8 to 23 do
MidiOut(1, $96, i, 45);
// 96 Orange Cartwall
for i:= 0 to 7 do
MidiOut(1, $96, i, 96);
// Untere Tasten
MidiOut(1, $90, 100, 01)
MidiOut(1, $90, 101, 01)
MidiOut(1, $90, 106, 01)
MidiOut(1, $90, 107, 01)
MidiOutClose(1)
end;
// Programm starten
begin
ACPminibeleuchten;
end.
Hier erstmal der Code
So Blinken die Tasten durchgehend, ich möchte das Blinken aber nur wenn zB. ein Jingle auf der Cartwall läuft. Sonst sollen die Tasten nicht blinken.
Na ja, das mußt Du halt in Deinem Skript so schreiben. Oder hapert’s genau daran?
Genau daran hapert´s
Probiere dies:
var
i: integer;
procedure Taste(Index, Mode: integer);
var
Colour: integer;
begin
if (Index >= 0) AND (Index < 8) then
Colour := 96
else if (Index >= 8) AND (Index < 24) then
else if (Index <= 8) AND (Index < 24) then
Colour := 45
else if (Index >= 24) AND (Index < 40) then
Colour := 106
else if (Index >= 40) AND (Index < 63) then
Colour := 76
else if (Index >= 64) AND (Index < 128) then
Colour := 0
else
exit;
case Mode of
1: Mode := $96;
2: Mode := $9D;
else
begin
Mode := $96;
Colour := 0;
end;
end;
MidiOut(1, Mode, Index, Colour);
end;
procedure OnLoad;
begin
MidiOutOpen(1);
ExecuteCommand('CARTWALL ALL STOP');
for i := 0 to 127 do
Taste(i, 1);
MidiOut(1, $90, 100, 01);
MidiOut(1, $90, 101, 01);
MidiOut(1, $90, 106, 01);
MidiOut(1, $90, 107, 01);
end;
procedure OnUnload;
begin
for i := 0 to 127 do
Taste(i, 0);
MidiOutClose(1);
end;
procedure OnCartwallPlayerStateChange(PlayerIndex: integer;
OldState: TPlayerState; NewState: TPlayerState;
Item: IAudioCartwallItem; PlaylistItem: IPlaylistItem;
OnAirMode: TCartwallOnAirMode);
begin
if NewState = psPlaying then
Taste(PlayerIndex, 2)
else if NewState = psStopped then
Taste(PlayerIndex, 1);
end;
begin
end.
Mangels Gerät ungetestet.
Cool es blink, leider nicht die richtigen Tasten aber so komme ich bestimmt weiter.
Danke
Du hattest Dich leider nicht über die Belegung geäußert …
Machst Du folgendes:
function Zuordnung(Index: integer): integer;
begin
case Index of
1: Result := 99;
2: Result := 54;
// ... usw.
end;
procedure OnCartwallPlayerStateChange(PlayerIndex: integer;
OldState: TPlayerState; NewState: TPlayerState;
Item: IAudioCartwallItem; PlaylistItem: IPlaylistItem;
OnAirMode: TCartwallOnAirMode);
var
Index: integer;
begin
if NewState = psPlaying then
Taste(Zuordnung(PlayerIndex), 2)
else if NewState = psStopped then
Taste(Zuordnung(PlayerIndex), 1);
end;
So kannst Du Deine Tasten den Playern beliebig zuordnen. Oder findest halt einen passenden Algorithmus.
0 - 63 sind sind belegt und sollten wenn ich selbige drücke blinken.
bzw. 00 - 3F sind belegt.
Diese Zeile musste raus.
Ah, jetzt ja. Sorry.
Tatsächlich ist es so:
Drücke ich 57 blinkt 2
Drücke ich 58 blinkt 3
Drücke ich 32 blinkt 25
Ich steige nicht durch.
Es kommt darauf an, welche Cartplayer Du den einzelnen Tasten zugeordnet hast. Das weißt nur Du. Noch nicht einmal mAirList weiß es. Deshalb mußt Du, wenn Du einen bestimmten Cartplayer gestartet hast, mAirList sagen, welche Lampe/Taste es blinken lassen soll.
Das ist meine Cartwall
und das Die Belegung vom AKAI
Kann ich die Reihenfolge bei mAirList änder, weil am Controller geht es nicht.
[Etwas Off-Topic, sorry:]
Wenn man doch nur mal das Erscheinungsbild der Carts sinnvoll gestalten könnte. Es ist eine immense Platzverschwendung, wie man sieht.
[OT OFF]