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

Скрипты PAL для Sam Broadcaster

 

243
Владислав @VladokZzz
У кого получилось реализовать?
Нужно запускать в определенное время из определенной папки, НО что бы добавлялись трэйки пока не пройдет 1 час с начала запуска.
То бишь есть 3 трэйка по 20 минут, нужно что бы в 20:00 запустился рандомный трэк, а потом шла проверка прошел ли час, если нет (а по факту всего 20 минут прошло) и добавлялся следующий из папки. Получается 3 раза.
Трэки могут быть любой продолжительности.
По истечении 1 часа добавление из папки прекращается.
Спасибо за внимание!

6245
Тарас @tarasian666
и что тут такого сложного?
делаем по типу (синтаксис не помню точно)
Loop
PAL.WaitForTime( 20:00) - ждем 20.00
запускаем трек
PAL.WaitForTime (+1:00) - ждем час
запускаем трек

другий скрипт из другой папки

1572
243
Владислав @VladokZzz
tarasian666 пишет:

и что тут такого сложного?
делаем по типу (синтаксис не помню точно)
Loop
PAL.WaitForTime( 20:00) - ждем 20.00
запускаем трек
PAL.WaitForTime (+1:00) - ждем час
запускаем трек

другий скрипт из другой папки

Дак надо удалить лишние если они больше часа занимают... получается через час надо делать очистку всего queue и добавлять снова трэки основной ротации?

Пришлось сделать так:
1. Подходит время 20:00 идет очистка Queue
2. Добавление всех трэков из папки
3. Запуск шафла этих песен в Queue
4. Проходит 1 час Идет очистка
5. Добавление трэков основного потока
6. Шафл на них в Queue
Работает, но мне кажется есть способ корректнее )

Отредактировано VladokZzz - 05.10.2011
1572
KyPIIaToB @KyPIIaToB
VladokZzz Я тебе дал выше постом тему, там есть скрипт.

237
Rocketdock @Rocketdock
Народ подскажите скрипт который будет перемешивать треки в Queue

6245
Тарас @tarasian666
изначально неправильно мыслите, их надо "рандумно" добавлять в queue, а не добавлять и потом перемешивать

237
Rocketdock @Rocketdock
да да именно так, у меня есть скрипт который делает так, если 2 деки свободны он берет целый плейлист и воспроизводит, хотелось бы чтобы треки мешались

237
Rocketdock @Rocketdock
ап

243
Владислав @VladokZzz
Rocketdock пишет:

ап

Queue.Shuffle;

Добавлено спустя 1 минуту 27 секунд:
Может нашелся смельчак? Какой код для отслеживания кол-ва раз проигрывания? К примеру хочу включать трэйки, которые меньше всего раз проигрывались.

57
LAZAR @LAZ2735
Народ подскажите как можно реализовать например рандомный трек из категории CAT['New'], но перед этим проиграл джингл, итак каждый раз когда из этой категории загружается трек?

1572
KyPIIaToB @KyPIIaToB
LAZ2735 пишет:

Народ подскажите как можно реализовать например рандомный трек из категории CAT['New'], но перед этим проиграл джингл, итак каждый раз когда из этой категории загружается трек?

джингл определенный?

57
LAZAR @LAZ2735
да, определённый

1572
KyPIIaToB @KyPIIaToB
var Song : TSongInfo;
PAL.Loop := True;
Queue.AddFile('C:\jingl.mp3',ipTop); // путь до джингла
Song := CAT['CAT (New)'].ChooseSong(smRandom,NoRules);
Queue.Add(song,ipTop);
PAL.WaitForTime('+00:20:00'); //ожидаем до повтора

Не проверял, но должно быть все ок, если что пиши

57
LAZAR @LAZ2735
Спасибо большое, работает

243
Владислав @VladokZzz
Добавлено спустя 1 минуту 27 секунд:
Может нашелся смельчак? Какой код для отслеживания кол-ва раз проигрывания? К примеру хочу включать трэйки, которые меньше всего раз проигрывались.

ап

1572
KyPIIaToB @KyPIIaToB
На сколько я знаю в базе отмечается сколько какой трек был проигран. Бери и выводи себе табличку для удобства.

243
Владислав @VladokZzz
KyPIIaToB пишет:

На сколько я знаю в базе отмечается сколько какой трек был проигран. Бери и выводи себе табличку для удобства.

Вывести то не проблема на уровне PHP, а на уровне SAM как?
У меня идет ротация шафлом, какие-то трэки проигрались раз 15, а какие-то 1-2 раза. Это не есть хорошо.

43
_ @radioplus
Есть скрипт, который постоянно выпускает джинглы:

PAL.Loop := True;
PAL.WaitForPlayCount(1);
PAL.WaitForTime('+00:02:00');
CAT['Station IDs (All)'].QueueTop(smLRPA, NoRules);


Как его отключать в определённые часы? К примеру в воскресенье с 16:00:00 до 16:50:00 и в понедельник с 0:00:00 до 0:50:00, чтобы в это время он не втсавлял джинглы после каждого трека?
Спасибо!

1572
KyPIIaToB @KyPIIaToB
radioplus пишет:

Есть скрипт, который постоянно выпускает джинглы:

PAL.Loop := True;
PAL.WaitForPlayCount(1);
PAL.WaitForTime('+00:02:00');
CAT['Station IDs (All)'].QueueTop(smLRPA, NoRules);

Как его отключать в определённые часы? К примеру в воскресенье с 16:00:00 до 16:50:00 и в понедельник с 0:00:00 до 0:50:00, чтобы в это время он не втсавлял джинглы после каждого трека?
Спасибо!

Только с помощью добавления правила по типу

if ((now >= T['18:00:00']) and (now <= T['18:00:30']) and (DayOfWeek(Now) = Wednesday)) or
((now >= T['18:00:00']) and (now <= T['18:00:30']) and (DayOfWeek(Now) = Friday)) then
begin

Это просто пример.