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

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

 

5
evgenyi-lev96 @evgenyi-lev96
ubuntu-studio пишет:

evgenyi-lev96 пишет:

radiopassazh пишет:

Джингл поверх муз трека - это лайнер. Запомните


Не знал, извините) Так вы мне поможете со скриптом?


Учитесь пользоваться поиском. в гугле набираем "sam broadcaster liner"

Первая же ссылка ведет на официальный форум с таким же вопросом как у вас.

**********

Удачи


Благодарю! Очень признателен!

33
Lif @Lif
Как создать условие, которое запрещало бы выполнение той или иной команды?
т.е. запретить вставку джинглов в определенное время

33
Lif @Lif
удалите пост

Отредактировано Lif - 26.11.2012
33
Lif @Lif
В общем я сделал так.
Как упростить скрипт? Если у меня с 10:00 - 11:00 и с 19:00-20:00 играет рубрика в которую нельзя вставлять джинглы?
Играет час Хип-хопа (со своими джинглами и лайнерами, треки добавлются рандомно из папки)

На ероглифы не обращайте внимание
PAL.Loop := True; // ñêðèïò áóäåò âûïîëíÿòñÿ ïîñòîÿííî
var mytime : DateTime = now;
var I : Integer;
var start_time, end_time : DateTime;
start_time := T['06:00:00'];
end_time :=T['23:50:00'];


if (Queue.Count < 4) and ( mytime >= start_time) and (mytime <= end_time) Then

begin
Queue.AddFile('C:\Ðàäèî Äîñêàòåð\Äæèíãëû\You listening Radio Doskater.mp3',ipBottom);
end;
PAL.WaitForPlayCount(5);
if (Queue.Count < 4) and ( mytime >= start_time) and (mytime <= end_time) Then
begin
Queue.AddFile('C:\Ðàäèî Äîñêàòåð\Äæèíãëû\Âàì ÷òî, êàòàòüñÿ íåãäå.mp3',ipBottom);
end;
PAL.WaitForPlayCount(5);
if (Queue.Count < 4) and ( mytime >= start_time) and (mytime <= end_time) Then
begin
Queue.AddFile('C:\Ðàäèî Äîñêàòåð\Äæèíãëû\Çàáåé, áóõàé.mp3',ipBottom);
end;
PAL.WaitForPlayCount(5);
if (Queue.Count < 4) and ( mytime >= start_time) and (mytime <= end_time) Then
begin
Queue.AddFile('C:\Ðàäèî Äîñêàòåð\Äæèíãëû\Ìàëåíüêèé ÷ëåí.mp3',ipBottom);
end;
PAL.WaitForPlayCount(5);
if (Queue.Count < 4) and ( mytime >= start_time) and (mytime <= end_time) Then
begin
Queue.AddFile('C:\Ðàäèî Äîñêàòåð\Äæèíãëû\Íå ïîçîðü ñêåéòáîðäèíã.mp3',ipBottom);
end;
PAL.WaitForPlayCount(5);
if (Queue.Count < 4) and ( mytime >= start_time) and (mytime <= end_time) Then
begin
Queue.AddFile('C:\Ðàäèî Äîñêàòåð\Äæèíãëû\Ðåêëàìà Ðàäèî Äîñêàòåð.mp3',ipBottom);
end;
PAL.WaitForPlayCount(5);
if (Queue.Count < 4) and ( mytime >= start_time) and (mytime <= end_time) Then
begin
Queue.AddFile('C:\Ðàäèî Äîñêàòåð\Äæèíãëû\×óâàê, ÷òî ñòîáîþ ñòàëî.mp3',ipBottom);
end;
PAL.WaitForPlayCount(5);
if (Queue.Count < 4) and ( mytime >= start_time) and (mytime <= end_time) Then
begin
Queue.AddFile('C:\Ðàäèî Äîñêàòåð\Äæèíãëû\Íîâîå èíòåðàêòèâíîå øîó - Â Êðåäèòêó!.mp3',ipBottom);
end;
PAL.WaitForPlayCount(5);
if (Queue.Count < 4) and ( mytime >= start_time) and (mytime <= end_time) Then
begin
Queue.AddFile('C:\Ðàäèî Äîñêàòåð\Äæèíãëû\Âñå Ñâîè - Ñðåäà.mp3',ipBottom);
end;
PAL.WaitForPlayCount(5);
if (Queue.Count < 4) and ( mytime >= start_time) and (mytime <= end_time) Then
begin
Queue.AddFile('C:\Ðàäèî Äîñêàòåð\Äæèíãëû\Ðàäèî Äîñêàòåð - Äæèíãë 2.mp3',ipBottom);
end;

5
evgenyi-lev96 @evgenyi-lev96
Такой вопрос можно сделать так что бы в начале джингл тоже включался а только потом ретрансляция ?)

var Song : TSongInfo;
var P : TPlayer;

PAL.Loop := False; // скрипт не будет выполнятся постоянно

PAL.WaitForTime('+00:00:50');
P := SoundFX; // говорим через чего играть
if P <> nil then // если нет проблем то..
begin
Queue.AddFile('D:\Program Files\SpacialAudio\SAMBC\Sound\promos\Трек 1_001.mp3',ipTop); // ..выбераем папку где лежит пищалка (их может быть несколько с разными приклеенными отбивками радио и тогда будет выбираться случайным образом)
if Song <> nil then // если есть такая песня и всё в порядке то..
begin
P.QueueSong(Song); // ..Ставим ее в очередь на проигрывание
P.Play; // проигрываем поверх песни
end;
end;

//подключаем ретрансляцию.
P := Aux1; //чтобы сработало и в том случае, если в обоих плеерах что-то есть
if P <> nil then
begin
Queue.AddFile('mic://?&driver=DS&packets=10&packettime=10&deviceID=-1&volctrl=6&duration=00:01:00',ipTop); //это и есть название виртуального файла ретрансляции. packets (от 3 до 20) и packettime (от 5 до 50) - параметры буфера. deviceID - по умолчанию =1 -первичный драйвер записи звука, если же нужна другая саундкарта, то deviceID=-2 или -3. volctrl=6 - это уровень громкости, duration=00:06:00 - ретрансляция будет длиться 6 минут. ipTop - поставить вверх в списке ожидания.

P := ActivePlayer; // Ретрансляция запускается активным плеером
if P <> nil then P.FadeToNext; //песня, которая звучала, затухает
end;

PAL.WaitForTime('+00:06:35');//чтобы запустить джингл после новостей и до того, как начнёт звучать песня, немного заранее до окончания ретрансляции загружаем наш джингл в очередь

P := Aux1;
if P <> nil then
begin
Queue.AddFile('D:\Program Files\SpacialAudio\SAMBC\Sound\promos\Трек 1_001.mp3',ipTop);//конкретный джингл из конкретной папки
P := ActivePlayer; //и вот он запускается
if P <> nil then P.FadeToNext;//а ретрансляция затухает

end;

1
live_rock @live_rock
Ребятки, простите мне мой, если вдруг баян. Как определить дату PAL скриптом?
Задумка в подгрузках плейлистов с стандартным названием My-playlist_дд-мм-гггг.pls скриптом

6245
Тарас @tarasian666
это не баян а бан в гугле скорей

19
vitmain @vitmain
Всех с наступающим!

Никак не могу разобраться.
Подскажите, пожалуйста. Мне нужна отбивка каждый час. Вот вроде бы скрипт (**********)
Но у меня на каждый час свой mp3.

В общем, помогите разобраться, как это лучше сделать. Могу ли я это реализовать в Even Sheduler?

Отредактировано vitmain - 20.12.2012
19
vitmain @vitmain
Ну а за вознаграждение кто-нибудь поможет разобраться?
Очень надо господа.

7094
--- @Render
vitmain пишет:

Ну а за вознаграждение кто-нибудь поможет разобраться?
Очень надо господа.

Дак и в чём сложность то?
Там же русскими буквами написан формат имён часовых отбивок:
strFile := strPath + FormatDateTime('hh', now+1/24) + '-00.mp3'; //определяем название файла с нужными часиками. Формат имени файла XX-XX.mp3

То есть
00-00.mp3
01-00.mp3
02-00.mp3
03-00.mp3
... и т.д

19
vitmain @vitmain
У меня немного по другому. Каждый час — это отдельный джингл, в котором сообщается время.
Приветствие, точное время, небольшая фраза — вот пример из чего состоит джингл.

Отредактировано vitmain - 21.12.2012
19
vitmain @vitmain
Господа, вот такое будет работать?
var P : TPlayer;
var Song : TSongInfo;
var strFile, strPath: String;
strPath := 'C:\CLOCK\';
PAL.Loop := True;
PAL.WaitForTime('XX:59:15');
strFile := strPath + FormatDateTime('hh', now+1/24) + '-00.mp3';
P := Aux1;
if P <> nil then
begin
Queue.AddFile(strFile, ipTop);

P := ActivePlayer;
if P <> nil then P.FadeToNext;

end;


Я убрал оттуда часть про джинглы, а отбивки записал, как джинглы.

Отредактировано vitmain - 21.12.2012
19
vitmain @vitmain
Вроде работает. А как сдвинуть все на 4 часа назад. Т.е. чтобы по UTC +0 (не спрашивайте зачем мне это).

19
vitmain @vitmain
Разобрался :)

2
rocTuH4uK @rocTuH4uK
А как сделать чтобы не каждый час , а каждые пол часа ? и можно ли выбрать деку , например чтобы играло только в деке А ?

1
Hischool @Hischool
Читаю форум и не только этот, уже 4й день, все похоже но не могу организовать конкретный скрипт! Помогите люди, буду признателен если нужно могу за вознаграждение! Нужна функция для вещания в ТЦ музыкальной подборки + рекламные ролики

Задача следующая:
Играет музыкальная подборка (24 часа) рандомом в режиме Auto Dj в одной деке например Deck A с громкостью Volume - 5
Рекламные ролики по расписанию в назначенное время играют в Deck B с громкостью Volume 0 например:
Rek 01.mp3 (16:30:00)
Rek 02.mp3 (19:40:00)
Rek 03.mp3 (23:30:00)
и т.д

(В шедулере не получается так как нужно репитить их и в историю они не должны попадать, так как могут на авто режиме проиграться в не запланированное время )

Есть скрипт, очень похожий

var P : TPlayer;
var Song : TSongInfo;
var strFile, strPath, strJingle : String;

strPath := 'C:\CLOCK\'; // Путь к папке, где лежат отбивки часов
strJingle := 'C:\CLOCK\18-30.mp3'; //Путь и название джингла после отбивки часов

PAL.Loop := True;

PAL.WaitForTime('xx:30:15'); //запускаемся в конце каждого часа

strFile := strPath + FormatDateTime('hh', now+1/24) + '18-30.mp3'; //определяем название файла с нужными часиками. Формат имени файла XX-XX.mp3

P := Aux1;
if P <> nil then
begin

Queue.AddFile(strJingle, ipTop);
Queue.AddFile(strFile, ipTop);



P := ActivePlayer;
if P <> nil then P.FadeToNext;


end;


Проблема в том что он проигрывается в 30мин (ну или в другое время, в общем интервал 1 час) каждого часа, а когда выставляешь время, появляется ошибка и ролик начинает играть беспрерывно!

Если не вариант в разные деки раздать, то можно как нибудь сделать чтобы именно эти ролики играли громче чем подборка, чисто теоретически это же возможно!?

2
rocTuH4uK @rocTuH4uK
Да,меня тоже интересует скрипт , чтобы я мог выбирать сам деки ...

2
DQL @DQL
ochenj nuzhen skript...
chto-bi SAM sverjal kazhduju pesnju iz QUEUE s papkpj NEW.
esli v NEW estj etot track, stavil pered nim Jingle?

24
BrooklynFM @bfmradio
Граждане, вы столько времени тратите на PAL скрипты... все это можно делать в Event Scheduler. Правда!

Это приспособление настолько совершенно... там что угодно можно сделать.

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

Добавлять джинглы, рекламные блоки, плай листы и тд... все можно делать в EVENT SCHEDULER.

:)

243
Владислав @VladokZzz
Что-то поиск не дал результатов. Как выгрузить в Категорию композиции из папки? В Queue есть выгрузка, а в категорию не нашел.