Liners in Aux

This plays the station Liners in AUX1, first fading the playing song by 50%. When finished, if returns the volume to previous levels and waits another 11 minutes 30 seconds. I set it this way on mine, because I have a lot of other stuff starting on the our, and I don’t want the Liners over-riding the start of those by mistake.

//
PAL.loop := true; 
var P1, P2 : TPlayer; 
var i : integer; 
var Song : TSongInfo;
var D: Integer; 
var G: Integer;
var GS: String;
var F : Boolean;
var E : DateTime = Queue.ETA;

ActivePlayer.Volume := 255; // in case there is a track change, leaving the volume off


PAL.WaitForTime(T['+00:11:30']);

PAL.LockExecution;

P1 := ActivePlayer; 
// Get what the Volume is set to
i := ActivePlayer.GetVolume; 
 // Detect the empty player and queue a station ID in it
P1 := Aux1;
IdlePlayer.Volume := i; 
if P1 <> nil then
Song := Cat['SissyLiners'].ChooseSong(smRandom, prNoRules);
 G := Song['duration'];
 writeLn('Duration: ' +Song['duration']);
 G := G div 1000;
  writeLn(G);
  GS := IntToStr(G);
    writeLn(GS);
if Song <> nil then
P1.QueueSong(Song);

// Reduce the Active Player by 50%
// Divide by 3 to get 33%, etc. 
ActivePlayer.Volume := i/5; 
IdlePlayer.Volume := i/5;
P1.play;
PAL.WaitForTime('+00:00:'+GS);
// Reset Volume Back To Normal
ActivePlayer.Volume := 255; 
IdlePlayer.Volume := 255;
DeckA.Volume := 255;
DeckB.Volume := 255;
Song.Free;
PAL.UnlockExecution;
// ==========================
function ActivePlayer:TPlayer;
begin 
if DeckA.Status = psPlaying then 
Result := DeckA 
else 
Result := DeckB; 
end; 

Leave a Reply

Your email address will not be published. Required fields are marked *

CAPTCHA * Time limit is exhausted. Please reload CAPTCHA.