ОсновноеRadiotalkПользовательское
Технологии вещания, софт, скрипты
3   •   Посмотреть все темы

Помогите с ПАЛ скриптом плей листа.

 

14
Kuroi @Kuroi
В общем вот скрипт.
var P : TPlayer;
var OldTime : DateTime;

OldTime := Now;

PAL.Loop:=True;
PAL.WaitForQueue(1);

If (OldTime>T['13:59:10']) AND (OldTime<=T['23:59:10']) Then
begin
PAL.WaitForPlayCount(1);
CAT['Tracks'].QueueBottom(smLemmingLogic, EnforceRules);
End;

If (OldTime>T['23:59:10']) AND (OldTime<=T['02:59:10']) Then
begin
PAL.WaitForPlayCount(1);
CAT['dram'].QueueBottom(smLemmingLogic, EnforceRules);
End;

If (OldTime>T['02:59:10']) AND (OldTime<=T['13:59:10']) Then
begin
PAL.WaitForPlayCount(1);
CAT['Indie'].QueueBottom(smLemmingLogic, EnforceRules);
End;

из папки трекс добавляет нормально, а из папки драм и инди отказывается добавлять трек когда время походит, подскажите что именно надо делать, а то я думаю что пал просто не видет папок драм и инди. Это очень срочно надо. Заранее спасибо.

14
Kuroi @Kuroi
Ну что ни кто не ответит в чём причина?

14
Kuroi @Kuroi
var P : TPlayer;
var OldTime : DateTime;

OldTime := Now;

PAL.Loop:=True;

If (OldTime>T['23:00:00']) AND (OldTime<=T['02:00:00']) Then
begin
PAL.WaitForPlayCount(1);
CAT['dram'].QueueBottom(smRandom, NoRules);
End;

If (OldTime>T['02:00:00']) AND (OldTime<=T['14:00:00']) Then
begin
PAL.WaitForPlayCount(1);
CAT['Indie'].QueueBottom(smRandom, NoRules);
End;

If (OldTime>T['14:00:00']) AND (OldTime<=T['22:59:59']) Then
begin
PAL.WaitForPlayCount(1);
CAT['Tracks'].QueueBottom(smRandom, NoRules);
End;

сделал так и всё заработало.

14
Kuroi @Kuroi
хел, срочно, поменял время и опять не работает.
var P : TPlayer;
var OldTime : DateTime;

OldTime := Now;

PAL.Loop := True;
PAL.WaitForQueue(1);

If (OldTime>T['06:00:00']) AND (OldTime<=T['09:00:00']) Then
begin
PAL.WaitForPlayCount(1);
CAT['dram'].QueueBottom(smLemmingLogic, EnforceRules);
End;

If (OldTime>T['09:00:00']) AND (OldTime<=T['15:00:00']) Then
begin
PAL.WaitForPlayCount(1);
CAT['Tracks'].QueueBottom(smLemmingLogic, EnforceRules);
End;

If (OldTime>T['15:00:00']) AND (OldTime<=T['05:59:59']) Then
begin
PAL.WaitForPlayCount(1);
CAT['Indie'].QueueBottom(smLemmingLogic, EnforceRules);
End;

Добавлено спустя 1 минуту 37 секунд:
var P : TPlayer;
var OldTime : DateTime;

OldTime := Now;

PAL.Loop := True;
PAL.WaitForQueue(1);

If (OldTime>T['06:00:00']) AND (OldTime<=T['09:00:00']) Then
begin
PAL.WaitForPlayCount(1);
CAT['dram'].QueueBottom(smRandom, NoRules);
End;

If (OldTime>T['09:00:00']) AND (OldTime<=T['15:00:00']) Then
begin
PAL.WaitForPlayCount(1);
CAT['Tracks'].QueueBottom(smRandom, NoRules);
End;

If (OldTime>T['15:00:00']) AND (OldTime<=T['05:59:59']) Then
begin
PAL.WaitForPlayCount(1);
CAT['Indie'].QueueBottom(smRandom, NoRules);
End;
так тоже не работает

14
Kuroi @Kuroi
может надо правила ротации настроить, ну помогите ктонибуть

14
Kuroi @Kuroi
С проблемой разобрался, просто скрипт не понимает время какое прошло и какое сейчас, поэтому надо было сделать так.
var P : TPlayer;
var OldTime: DateTime;

OldTime := Now;

PAL.Loop := True;
PAL.WaitForQueue(1);

if (OldTime>T ['06:00:00']) AND (OldTime<=T ['09:00:00']) Then
begin
CAT['dram'].QueueBottom(smRandom, NoRules);
PAL.WaitForPlayCount(1);
End;

if (OldTime>T ['09:00:00']) AND (OldTime<=T ['15:00:00']) Then
begin
CAT['Tracks'].QueueBottom(smRandom, NoRules);
PAL.WaitForPlayCount(1);
End;

if (OldTime>T ['15:00:00']) AND (OldTime<=T ['23:59:59']) Then
begin
CAT['Indie'].QueueBottom(smRandom, NoRules);
PAL.WaitForPlayCount(1);
End;

if (OldTime>=T ['00:00:00']) AND (OldTime<=T ['06:00:00']) Then
begin
CAT['Indie'].QueueBottom(smRandom, NoRules);
PAL.WaitForPlayCount(1);
End;

Добавлено спустя 1 минуту 36 секунд:
в смысле скрипт считает время например 23:00:00 вчерашнего дня больше чем 05:00:00 сегодняшнего, вот тут и проблемы

117
lyfm @lyfm
Не юзер, а мечта админа. Сам спросил - сам ответил. Несколько раз.

14
Kuroi @Kuroi
ну ответил, по тому, что у других могут возникнуть те же проблемы.