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

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

 

26
Ramalinga @Ramalinga
а вот еще такая проблемка возникла:

SAM не хочет воспроизводить длинные файлы (минут 40-60), обрывает их, причем на разном времени, это может быть как после 5,10,20 минут прокручивания... вот голову ломаю не могу понять в чем дело...

26
Ramalinga @Ramalinga
Gotor пишет:

Если файлы названы кириллицей то при проблемах с бд может не увидеть их.


В общем все получилось как вы сказали, проблема видимо в кириллице была... ) но это не совсем то что нужно...
То что файлы из директории добавляются это очень хорошо. Только их все равно будет несколько сложно постоянно подбирать на определенное время по длительности, думал закинуть в папку гигов 50 к примеру, и что бы в рандоме играли, а там по по порядку он их выстраивает... если конечно и использовать данный вариант, то нужен скрипт для очистки Queue в определенное время и автоматическое включение режима Shuffle

Отредактировано Ramalinga - 16.05.2012
221
Дмитрий @ElectroNik
Ramalinga пишет:

а вот еще такая проблемка возникла:

SAM не хочет воспроизводить длинные файлы (минут 40-60), обрывает их, причем на разном времени, это может быть как после 5,10,20 минут прокручивания... вот голову ломаю не могу понять в чем дело...

**********

26
Ramalinga @Ramalinga
ElectroNik пишет:

Ramalinga пишет:

а вот еще такая проблемка возникла:

SAM не хочет воспроизводить длинные файлы (минут 40-60), обрывает их, причем на разном времени, это может быть как после 5,10,20 минут прокручивания... вот голову ломаю не могу понять в чем дело...

**********


Спасибо)

33
Lif @Lif
Здравствуйте. Подскажите скрипт рандомного добавления плейлиста из определенной папки. Или не рандомного, а по порядку, но что-бы каждый раз новый. Спасибо.

1572
KyPIIaToB @KyPIIaToB
Lif пишет:

Здравствуйте. Подскажите скрипт рандомного добавления плейлиста из определенной папки. Или не рандомного, а по порядку, но что-бы каждый раз новый. Спасибо.

Ты уверен в своем вопросе? у тебя в папках плейлисты лежат? и тебе именно их нужно добавлять?

33
Lif @Lif
KyPIIaToB пишет:

Lif пишет:

Здравствуйте. Подскажите скрипт рандомного добавления плейлиста из определенной папки. Или не рандомного, а по порядку, но что-бы каждый раз новый. Спасибо.

Ты уверен в своем вопросе? у тебя в папках плейлисты лежат? и тебе именно их нужно добавлять?


Да.

26
Ramalinga @Ramalinga
Помогите со сценарием... нужно что бы трек загружался из Queue в Deck...
Прописываю - DeckA.Play. дека запускается, а трек из Queue не загружается... как можно выйти из этого положения ?
И можно ли где то ознакомиться с командами, которые прописываются в планировщике ?

33
Lif @Lif
Какая команда выполняет остановку выполнения скрипта?

Допустим мне нужно, чтобы в 18:00 сотановилось зацикленное выполнение скрипта прописанный в ротации и треки больше не добавлялись.

Варианты с шеклудером не предлагать. У меня песни идут именно с ротации сэма. И мне их в определенное время нужно остановить.

33
Lif @Lif
Я придумал вот такой скрипт для временной остановки добавления песен.
if ((now >= T['00:00:00']) and (now <= T['06:00:00']) // Если сейчас больше 00:00:00 времени и меньше 06:00:00

and (DayOfWeek(Now) = monday)) then // и сегодня понедельник, то

begin //начать

PAL.WaitForTime(T['+06:00:00']); //Скрипт Pal ожидает 6 часов
end

else //иначе

Cat['tracks'].QueueBottom(smLemmingLogic, EnforceRules); // Добавить песни из папки Tracks по правилам ротации


Скрипт необходимо зациклить.

33
Lif @Lif
Скрипт работает так:
1. При наступлении определенного времени, песня фэйдится и играет Джингл рубрики
2.Начинают добавлятся треки из папки Fuck по правилам ротации.
3. Когда рубрика кончается, скрипт очищает Queue, дабы оставшиеся непроигранные треки не играли дальше.
4. Написал и использую совместно со скриптом, который выложил выше.

if ((now >= T['00:00:10']) and (now <= T['00:00:15']) and (DayOfWeek(Now) = monday)) then //время начала джингла, интервал в 5 секунд нужен для того, чтобы скрипт успел выполнится и запустить джингл.

P := Aux1; //Переменной присвоено значение Aux1
if P <> nil then //Фиг знает что это)
begin // Начать

Queue.AddFile('E:\Доскатер\Интернет - Радио\Джинглы\Забей, бухай.mp3',ipTop); //Путь к джинглу



P := ActivePlayer;
if P <> nil then P.FadeToNext; //фэйдим песню на активном плеере


end;

if ((now >= T['00:00:00']) and (now <= T['06:00:00']) and (DayOfWeek(Now) = monday)) then //время продолжительности рубрики

begin

Cat['fuck'].QueueTop(smLemmingLogic, EnforceRules); //папка с треками для этой рубрики

end;

if ((now >= T['06:00:10']) and (now <= T['06:00:15'])) then //Время для очищения queue

queue.clear;



Отредактировано Lif - 21.06.2012
1
shoie @shoie
Подскажите скрипт для вывода в эфир нового трека. Искал, но не нашел похожего (
Нужно чтобы через определенное время звучал джингл (типа "Сейчас новинка"),затем по правилам игрался трек из папки плейлиста

Плохо искал, нашел )

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'); //ожидаем до повтора

Отредактировано shoie - 05.07.2012
8
arja_sadhu @arja_sadhu
Подскажите, как написать скрипт. Мои попытки успехом пока не увенчались :)

Условия:
Есть папка с 95 файлами. Это нарезанная аудиокнига.

Задача:
1 - 12 трек играют в течении Одного Дня. Идут по порядку в следующие часы: 6, 8, 10, 11, 13, 14, 16, 17, 19, 20, 22, 23.
Этот расписание повторяется в течении одной недели. Затем на вторую неделю идут в те же часы 2-24 треки.
И так за 8 недель вся книжка проигрывается по 12 глав в день.

Если трудно написать весь скрипт целиком, то подскажите хотя бы как работать с DateTime.

Как я понимаю, мне нужно сделать цикл с меняющейся переменной.
Я это мыслю примерно так:
Идёт проверочный цикл на дату.
В конкретную дату он начинает пускать первую партию треков.
И нужно чтобы после проигрывания каждого трека, в переменную к примеру "N" плюсовался +1.
Чтобы следующий трек начинался не 1.mp3, а "[название трека]+1".mp3
Приэтом должен быть проверочный цикл:
Если достигнуто значение 12, то включать цикл передач 2-24 и так далее.
И конечный цикл который проверяет не наступил ли последний файл 95.mp3

Но как это оформить в код я пока не понял.

В голове только схемки логические нарисовались :)

У кого с тех. частью всё хорошо, подскажите. Буду очень благодарен.

А то вручную через Event всё вбивать, это занимает несколько часов.

7094
--- @Render
arja.sadhu пишет:

Подскажите, как написать скрипт. Мои попытки успехом пока не увенчались :)

Условия:
Есть папка с 95 файлами. Это нарезанная аудиокнига.

Задача:
1 - 12 трек играют в течении Одного Дня. Идут по порядку в следующие часы: 6, 8, 10, 11, 13, 14, 16, 17, 19, 20, 22, 23.
Этот расписание повторяется в течении одной недели. Затем на вторую неделю идут в те же часы 2-24 треки.
И так за 8 недель вся книжка проигрывается по 12 глав в день.

Если трудно написать весь скрипт целиком, то подскажите хотя бы как работать с DateTime.

Как я понимаю, мне нужно сделать цикл с меняющейся переменной.
Я это мыслю примерно так:
Идёт проверочный цикл на дату.
В конкретную дату он начинает пускать первую партию треков.
И нужно чтобы после проигрывания каждого трека, в переменную к примеру "N" плюсовался +1.
Чтобы следующий трек начинался не 1.mp3, а "[название трека]+1".mp3
Приэтом должен быть проверочный цикл:
Если достигнуто значение 12, то включать цикл передач 2-24 и так далее.
И конечный цикл который проверяет не наступил ли последний файл 95.mp3

Но как это оформить в код я пока не понял.

В голове только схемки логические нарисовались :)

У кого с тех. частью всё хорошо, подскажите. Буду очень благодарен.

А то вручную через Event всё вбивать, это занимает несколько часов.

Зачем мучиться с pal? Не проще составить расписание в Sheduler'е, чем шаманить с условиями и циклами в pal?

8
arja_sadhu @arja_sadhu
Если файлов 95, то это ещё можно пережить. Но есть книги, на очереди, где кусочков более 600.

46
Алексей @Алекс-Романтик
Может кто сталкивался с проблемой добавления треков в сэм... Каким образом добавить трек в активный дек, если этот трек еще не был в БД сэма? К примеру вот скрипт:

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

var Song : TSongInfo;
var P : TPlayer;
//Queue.AddFile('H:\востоновление\РАДИОВЕЩАНИЕ\Передачи\Flying Through The Universe',ipTop);
//Song := CAT['H:\востоновление\РАДИОВЕЩАНИЕ\Передачи\Flying Through The Universe'].ChooseSong(smRandom,NoRules);
//Queue.Add(song,ipTop);
DIR['H:\востоновление\РАДИОВЕЩАНИЕ\Передачи\Flying Through The Universe'].QueueTop(smRandom,EnforceRules);
P := ActivePlayer;
if P <> nil then P.FadeToNext;

Этот скрипт при выполнениии выбирает случайный трек из папки H:\востоновление\РАДИОВЕЩАНИЕ\Передачи\Flying Through The Universe. Но! Скрипт выполняется и добавляет файл в дек только в том случае, если он уже есть в БД.
Подскажи пожалуйста, как добавить трек в дек, которого еще нет в БД, например если мне трек залили по фтп или я его только что скачал? Заранее спасибо за ответ

33
Lif @Lif
var Song : TSongInfo;
var P : TPlayer;
Queue.AddFile('H:\востоновление\РАДИОВЕЩАНИЕ\Передачи\Flying Through The Universe',ipTop);
P := ActivePlayer;
if P <> nil then P.FadeToNext;

Просто добовляешь трек сначало в Queue а потом фейдишь в активный плеер.

3
Paketru @Paketru
Как с помощью скрипта заставить СЭМ запускать одновременно енкодеры, скрипты и добавлять треки в queue? Очень нужен для нон-стоп базы.

10
Тарасов @Тарасов_Александр
Ребята, подскажите, каким скриптом проверять Queue на наличие треков?

Сценарий такой:

Скрипт зацикливается и проверяет есть ли очередь в Queue, если треков 0 или 1 то добавляет рендомом трек из категории в очередь. Все! Получается в Queue всегда будет очередь из 2-х треков и деки не будут молчать. Заранее спасибо!

888
Falcon @Falcon
[quote=Тарасов Александр]Ребята, подскажите, каким скриптом проверять Queue на наличие треков?

Сценарий такой:

Скрипт зацикливается и проверяет есть ли очередь в Queue, если треков 0 или 1 то добавляет рендомом трек из категории в очередь. Все! Получается в Queue всегда будет очередь из 2-х треков и деки не будут молчать. Заранее спасибо![/quote]

А зачем писать для этого пал скрипт? Чем обычный ротатор не устраивает? Он отлично с этим справится