Schlechte Augen und viel Platz und am Anfang meines Projektes.
[off-off topic]
Du weißt aber schon dass man die Cartwall ein weing umgestalten kann?
(Quelle: mAirList Radio Automation | mAirList Radio Automation; “Serviervorschlag” )
Oder meintest du etwas anderes?
Noch mehr Platzverschwendung. Oder siehst Du das anders?
Ich möchte die Nummerierung der Cartwall Felder ändern. das zb. oben Links nicht 1 sondern 56 ist.
Aus meiner Sicht geht das nur, indem Du z.B. (quick and dirty) die Nummer im Titel- oder Interpretenfeld voranstellst und dann die Schriftgröße der vorgegebenen Nummer minimierst (also die obere Zeile).
Es geht nicht um die Optik, sonder die Feld ID muss verändert werden.
Und genau das geht nicht - aus meiner Sicht.
Nein, das mußt Du gar nicht:
-
Du ordnest den APC-Tasten die entsprechenden Cartplayer zu:
- Taste 56:
CARTWALL 1 START
- Taste 57:
CARTWALL 2 START
- …
- Taste 63:
CARTWALL 8 START
- …
- Taste 00:
CARTWALL 57 START
- …
- Taste 07:
CARTWALL 64 START
- Taste 56:
-
Du ersetzt
procedure OnCartwallPlayerStateChange
durch folgende:
procedure OnCartwallPlayerStateChange(PlayerIndex: integer;
OldState: TPlayerState; NewState: TPlayerState;
Item: IAudioCartwallItem; PlaylistItem: IPlaylistItem;
OnAirMode: TCartwallOnAirMode);
var
Index: integer;
begin
Index := 63 - (7 - ((PlayerIndex - 1) mod 8))
- (8 * trunc((PlayerIndex - 1) / 8));
if NewState = psPlaying then
Taste(Index, 2)
else if NewState = psStopped then
Taste(Index, 1);
end;
Dann sollte es stimmen.
Super Geil das ist echt toll es klappt prima, vielen vielen Dank.
Eine kleine Bitte hätte ich noch und dann bin ich der glücklichste Mensch in der Vorweihnachtszeit.
64, 65 sind zum connecten und disconnecten beide leuchten beim Start, wenn disconnectet ist möchte ich 65 leuchtend und 64 blinkend und umgekert.
Desweiten sind 69 - 71 Player 1 - 4, und ich hätte den aktieven auch gerne Blinkend und die anderen leuchtend
Das wäre ein traum und dann habe ich bestimmt auch genug script um mich da selber mal mit zu beschäftigen.
Lg und Danke Bernd
Wieviele Verbindungen betreibst Du? Nur eine?
Sicher nicht. 69 bis 71 sind nur dreie. Meinst Du 68 bis 71? Und mit „Player“ meinst Du die Playlist-Player?
Moin 68 - 71 ist richtig.
Was das Conneted angeht, würde ich dann 67 als Disconected für alles nehmen und 64 - 66 für jeweils 2 connected nehmen.
Hoffe das geht so.
Also offensichtlich mehr als eine.
Das macht die Sache jetzt komplizierter. Und wieder was ganz anderes als eben noch. Und was soll „jeweils zwei connected“ sein??
Ich habe einen Testserver und 2 Sendungen mit jeweils anderen Namen auf dem selben Server. Die zu trennen wäre toll. Und bei jeder verbindung hätte ich gerne eine Lokale Audioaufnahme.
Und noch eine Anforderung mehr. Das ist Salamitaktik, die wahrlich nicht schätze – meine (Frei-) Zeit ist endlich. Wir machen das jetzt so: Hier ist ein Skript für die Player, sollte funktionieren. Vielleicht hab ich irgendwann mal Lust auf diesen Encoderfirlefanz.
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
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;
if (Mode < 0) OR (Mode > 2) then
exit;
if (Index >= 0) AND (Index < 64) then
begin
case Mode of
1: Mode := $96;
2: Mode := $9D;
else
begin
Mode := $96;
Colour := 0;
end;
end;
MidiOut(1, Mode, Index, Colour);
end
else if (Index >= 64) AND (Index < 78) then
MidiOut(1, 90, Index, Mode);
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);
var
Index: integer;
begin
Index := 63 - (7 - ((PlayerIndex - 1) mod 8))
- (8 * trunc((PlayerIndex - 1) / 8));
if NewState = psPlaying then
Taste(Index, 2)
else if NewState = psStopped then
Taste(Index, 1);
end;
procedure OnPlayerStateChange(PlaylistIndex: integer; PlayerIndex: integer;
OldState: TPlayerState; NewState: TPlayerState; Item: IPlaylistItem);
begin
if NewState = psPlaying then
Taste(PlayerIndex + 67, 2)
else if NewState = psStopped then
Taste(PlayerIndex + 67, 1);
end;
begin
end.
Volles Verständniss und 100 Dank. Wenn es mal klappt wäre es toll aber du hast mich jetzt schon um Jahrzehte nach vorne gebracht.
VIELEN DANK
Falls die Sendungen nicht gleichzeitig, sondern zu anderen Zeiten laufen: Lege für jede Sendung im Multi-Instanz-Manager eine Instanz mit passender Konfiguration an.
Auch mit einer “Einzellizenz” kannst Du den Manager nutzen, sofern Du nur EIN Playout zur Zeit startest. Im Support kann man so z.B. unterschiedliche Sprachen einstellen oder das Layout für Sendungen und VT komplett anders gestalten.
Dann ist auch dieser Umweg bzw die Verkomplizierung von Scripten nicht mehr nötig, lege einfach für jede Instanz eine eigene Fernsteuerung und Audioausgabe etc an.