Cartwall stop oder fade bei Playerstart

Ist es möglich einzustellen, dass bei Playerstart das aktuelle Bett gestop wird oder gefadet??

Hi,
auf Anhieb würde ich sagen geht dies mit einem Script, welches bei einem Playerstart automatisch das Fade Kommando für die Cartwall ausführt.
Frage mich bitte aber nicht genau wie das Script aussehen muss :slight_smile:

Aber ich denke mal das es ähnliche Sachen schon in der Script Sammlung gibt (zumindest in mehreren Scripten verteilt, aber alle Befehle zu finden). Achte dann nur drauf das sich die Syntax bei der V3 ein wenig geändert hat.

Grüße

Danke für die Antwort.

Ich habe schon gesucht, aber nichts passendes gefunden. Villeicht habe ich auch nur falsch gesucht?

Hiho…
das ist nicht gut. Habe grade auch nochmal so alles mögliche abgestöbert aber bisher auch nix gefunden.
Ich werde aber mal weiter suchen.

Auf jeden Fall weiß ich das du ein Event Script (oder wie das heißt brauchst)

procedure OnPlayerStart(PlaylistIndex: integer; PlayerIndex: integer);
begin
if PlayerIndex = 0 then
??? ;
if PlayerIndex = 1 then
??? ;
end;

Wo die Fragezeichen sind müsste dann der Befehl rein um die Cartwalls auszublenden. Die ganze SAche funktioniert für 2 Hauptplayer.

Da ich bei Torben irgendwas mit Urlaub gelesen habe (sei ihm ja auch mal gegönnt gg) werden wir mal versuchen es so hin zu kriegen. Ansonsten haben wir ja noch ein paar Freaks im englischen Forum (siehe Cad gg)
Auf jeden Fall wird dran gearbeitet auch wenn es bei mir schon wieder 23 Uhr ist :wink:

Grüße

Ich bedanke mich jetzt schonmal für die Hilfe!

Hi Dennis,
habe die Frage auch mal ins englische Forum gepostet und staunender Weise eine Antwort vom Torben bekommen. (Ich dachte er hätte Urlaub).

Mit dem Script, schau mal bitte diesen Thread:

http://forum.mairlist.com/index.php/topic,3934.0.html

Da steht der Code. Ich werde ihn heute auch noch testen.

Grüße

Ich hab´s getestet.

Script ausgeführt --> es erscheint ein Fehler unten in der Leiste: [Error] (5:17): Unknow identifer ‘GetEngine’

Kleiner Fehler große Wirkung.
Habe es mir angeschaut und den Fehler sogar gefunden.

Anstatt GetEngine darfst du in beiden Zeilen nur “Engine” nutzen.

Hab es grade getestet. Hier der Code.

[code]procedure OnPlayerStart(PlaylistIndex: integer; PlayerIndex: integer);
var
i: integer;
begin
for i := 0 to Engine.GetCartwallControl.GetPlayerCount - 1 do
Engine.GetCartwallControl.GetPlayerControl(i).FadeOut;
end;

begin
end.[/code]

Bin ja schon froh das Torben uns im Urlaub hilft. Ein wenig Restarbeit lässt er dann doch für uns lach.

Du solltest aber die Fade Out Zeiten relativ kurz halten. Habe es grade mal bei mir mit t=5 Sekunden getestet und bei dem “Klangmatsch” fast nen Pickel bekommen :smiley:
Aber hauptsache es geht erstmal. Feintuning geht immer noch :slight_smile:
Werde mir das Script auf jeden Fall auch direkt einbauen. Ich bin ja auch zu Faul um Tasten zu drücken und Fader zu ziehen lach

Grüße

Bei mir funktioniert´s immer noch nicht :frowning:

[Error] (6:58): Invalid number of parameters

Ich benutze Version 2.2. Villeicht liegt es daran?

Japp, daran liegst. Das Script ist für die 3er Version.
Dann müssen wir wirklich warten bis Torben zurück ist.

Wie müsste der Script denn aussehen bei 2 Playern. Ich meine bei Player 1 Start soll Player 2 und alle Carts ausfaden, respektiv bei Player 2 Start alles andere was läuft.
Ebenso für die Carts. Bei Cart start soll automatisch das was gerade läuft stoppen.

Über die externe Steuerung und Tastenbelegung ist das ja sehr leicht zu machen. Ich hätte das auch gerne über die GUI am laufen.

Gruss:
-Serge-

Eigentlich sollte nur die Cartwal gefadet oder gestop werden, wenn egal was für ein Player startet.

Bei mir sieht das so aus: Ich lese grüße und im Hintergrund läuft dann von der Cartwall ein instr. Song. Starte ich nun Player 1 oder 2 soll die Cartwall gestopt oder gefadet werden.

[code]procedure OnPlayerStart(PlaylistIndex: integer; PlayerIndex: integer);
var
i: integer;
begin
for i := 0 to Engine.GetCartwallControl.GetPlayerCount - 1 do
Engine.GetCartwallControl.GetPlayerControl(i).FadeOut(true);
end;

begin
end.[/code]

ungetestet… falls das true nicht funktioniert probierste halt false :wink:

grüße, michi

Hiho Flashlighter.
Dein Script entspricht dem Script weiter oben (das ist getestet).
Das Problem, dies ist für MaL 3.0.x und läuft anscheinend nicht unter 2.2.x, oder der feine Unterschied ist wirklich das “true” am Ende.
aber probieren geht über studieren. Ich mag Jugend forscht lach

@Radiorom:
Die Änderung, welche du einbauen müsstest besteht in einer if then else Abfrage wo du prüfst welcher Player grade läuft. In die entsprechende Schleife programmierst du dann den Gegenplayer. (Findest du auch in dem Midi Script)

Die CartwallfadeOut kommt hinter dem End der Else Bedingung, dies soll ja immer passieren.

Anschließend machst du eine neue Procedure wo du die OnCartWallPlayer (oder wie die Prozedure heißt) abgefragt werden (Procedure ist zu finden in dem letzten Midiscript im englischen Forum) und dann dementsprechend Player A und B stoppst.

Aber ganz ehrlich, diese Funktion finde ich eine Überautomation weil sie dir jedliche Möglichkeit nimmt ein Jingle oder was auch immer über einen anderen Track zu legen da du ganz expliziert immer nur eine Playerklasse erlaubst.

Hi Piet,

Überautomation? Na das ist wohl eine Ansichtssache. :wink:
Bei uns ist es so dass die Songs wenn überhaupt nur minimal übergeblendet werden. Ein Jingle hat in einem Track nichts verloren und den Quatsch mit den Ramps wo die Titel bis zum geht nicht mehr bequatscht werden gibt’s bei uns auch nicht.
Bei uns werden die Titel alle ausgespielt. Leider ist das bei (fast) keiner Radiostation mehr der Fall.

Das mit der if then else Abfrage ist mir schon klar. Dachte nur es gäbe schon ein entsprechendes Script. Mir fehlt momentan total die Zeit mich in diese Scriptsprache einzuarbeiten, leider… Zumal die Syntax dauernd ändert.

Gruss:
-Serge-

Hiho,
sorry, ein fertiges Script habe ich auch noch nicht gefunden.
Mit der Änderung, naja, der Umstieg auf die 3er war schon krass. Ich kam vorher schon nicht klar und jetzt garnicht mehr :D.

Naja, die Sache mit dem ausspielen der Tracks, ganz ehrlich, würden viele gerne wenn es da speziell für den Webbereich in der GVL nicht diesen hässlichen Passus mit dem “nach technisch möglichen Ermessen zu verhindern das gespielte Titel in irgendeiner Weise kopiert werden”. Beliebt ist halt das verstümmeln der Tracks um sie so für die Kopierer unbrauchbar zu machen. Nur habe ich selber erlbet das die Leute tolleranter werden. Dann fehlt denen halt das erste Stückchen :D:D

Trotzdem bin ich der Meinung das man dem Moderator schon die Freiheit geben sollte grade die CW Player mal überlagern zu können, aber ich verstehe auch deine Seite. Wo kein Speilraum da keine fehler :smiley:

Grüße

Tja, genau so einen “hässlichen Passus” haben wir eben nicht hier in Luxemburg drinstehen ;D
Deshalb wird soweit möglich halt ausgespielt.

Ich denke dass ich den Script schon zusammen gefriemelt bekomme. Brauche nur etwas Zeit dafür und die habe ich momentan nicht. Unser neues Programm muss für September fertig sein und die automatischen Rotationlists aufzustellen ist verdammt viel Arbeit.

Was den Spielraum angeht, da gebe ich dir Recht. Man bräuchte einen Switch so wie den On-OffAir Schalter der als AND mit in die Abfrage eingebunden würde.

Gruss:
-Serge-

Ich denke mal wenn Torben wieder da ist kann uns schnell geholfen werden.
Aber mit dem Schalter birngt mich auf eine schöne Idee (aber ich denke der Torben bringt mich um).
Wäre es nicht möglich über die GUI frei definierbare Buttons zu erstellen mit denen man z.B. Scripte aktivieren / deaktivieren könnte? :smiley:
Ich möchte lieber nicht wissen was das für ein Aufwand ist. Vielleicht ne Herausforderung für MaL V24 oder so lach.

Ich denke nicht dass das ein grosser Aufwand ist.
Eigentlich nur eine Kopie des OnAir Switch. Die zusätzlichen Schalter müssten nur in die GUI eingebunden werden können, falls gebraucht.
Per Script wird der Status dann abgefragt.

Aber dazu soll Torben sich dann mal äussern.

Gruss:
-Serge-

Ich glaube schon das es ein immenser Aufwand ist. Da gab es schonmal irgendwo einen Thread zu :smiley:

Hier aber ein bisschen für den Code wegen deinen Fades:


procedure OnCartPlayerStart(PlayerIndex: integer);
var
  i: integer;
begin
  for i := 0 to Engine.GetPlayBackControl.GetPlayerCount - 1 do
       Engine.GetPlayBackControl.GetPlayer(i).Fadeout;
end;

procedure OnPlayerStart(PlaylistIndex: integer; PlayerIndex: integer);
var
  i: integer;
begin
  for i := 0 to Engine.GetCartwallControl.GetPlayerCount - 1 do
    Engine.GetCartwallControl.GetPlayerControl(i).FadeOut;
  if PlayerIndex = 0 then
    Engine.GetPlayBackControl.GetPlayer(1).Fadeout;
  if PlayerIndex = 1 then
    Engine.GetPlayBackControl.GetPlayer(0).Fadeout;

end;

Wenn ein Cartplayer startet sollten alle Haupt Player fade out machen. Sobald ein Main Player gestartet wird sollte die ganze CW fade out machen sowie der andere Main Player (im If Case). Dies funktioniert so nur mit 2 Hauptplayern. Solltet ihr mehr haben dementsprechend den dritten hinzu (dann aber bei der IF Anweiseung das begin / end nicht vergessen da mindestens 2 Anweisungen) oder die If Abfragen auf Case Abfragen ändern.

Code ist nicht getestet sondern von dem, was die Jungs mir gestern im englischen Forum eingehämmert haben lach (nein, nicht böse gemeint, sondern sehr positiv das ihr euch die Zeit genommen habt) zusammengestückelt und selbst angepasst in der Hoffnung das keine weiteren Fehler drin stecken.
Wenn’s nicht klappt hast du 5 Minuten Zeit für Copy Paste Test in den Sand gesetzt lach

Grüße