426

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

это будет очень здорово! помощь другим не помешает!

427

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

для автоматизации и различный манипуляций в Сэме я использую скрипт на основе этого и без планировщика

PAL.Loop := True; // Скрипт будет выполнятся постоянно
// -----------------------------------------------------------------------------
// Не изменяйте код ниже этой линии, если вы не уверены  в том, что вы делаете!
// -----------------------------------------------------------------------------
var WeekDayW1 : Boolean;   // W1 = Working1 (1 сценарий)
var WeekDayW2 : Boolean;   // W2 = Working2 (2 сценарий)
///////////////////////////// 1 сценарий ///////////////////////////////////////
var Working1Start    : string = '23:58:00'; // Старт  (Время не изменять)
var Working1End      : string = '23:59:59'; // Стоп   (Время не изменять)
// -----------------------------------------------------------------------------
///////////////////////////// 2 сценарий ///////////////////////////////////////
var Working2Start    : string = '00:00:01'; // Старт   (Время не изменять)
var Working2End      : string = '23:58:00'; // Стоп    (Время не изменять)
////////////////////////////////////////////////////////////////////////////////
// -------------------------- начало 1 сценария --------------------------------
// Старт (Working1) Работа во все дни недели по Будням и Выходным

это часть кода с предыдущей страницы
у меня он более длинней... наверное если распечатать метров 5 будет
я там увеличил сценарий до 18 и внутри каждого сценария вложил еще и так до бесконечности ...

var WeekDayW1 : Boolean;   // W1 = Working1 (1 сценарий)
var WeekDayW2 : Boolean;   // W2 = Working2 (2 сценарий)
..............................................................................................
..............................................................................................
..............................................................................................
..............................................................................................
var WeekDayW18 : Boolean;   // W18 = Working2 (18 сценарий)

в итоге, всё что мне надо, он выполняет почасово и на всю неделю и всё чётко и без сбоев!
самое главное такой скрипт заменил мне все существующие которых у меня было около 40 ...
сейчас только 5 осталось и все без планировщика работают!

Отредактировано wisher (12-06-2015 12:49:57)

428

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

В общем так. Если нужно сохранять ваши эвенты то есть два варианта:
1) при создании бэкапа средствами SAB, создаются в директории C:\Users\Artist\AppData\Local\SpacialAudio\SAMBC\backup папки с содержанием которое копирует таблицы из базы САМ-а с расширением *.csv. В случае выхода из строя можно тупо сделать restore за нужную дату;
2) Если нужно восстановить определенную таблицу, то можно средствами БД импортировать нужную *.csv-ку, но нужно следить за связями в БД, чтобы ее не уронить.
Как-то так

429

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

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

ладненько убегаю... Хороших выходных!

Отредактировано wisher (12-06-2015 13:07:27)

430

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

У меня есть допустим часовой микс,  и  я хочу что-бы он начал играть допустим  с середины/с конца (рандомно) , можно ли это осуществить скриптами ?

431

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

pluta пишет:

У меня есть допустим часовой микс,  и  я хочу что-бы он начал играть допустим  с середины/с конца (рандомно) , можно ли это осуществить скриптами ?

Приветик pluta! я ничего подобного не нашёл в инете, чтоб такое реализовать, кроме этого тега вернее действия для скрипта по твоему запросу. решение думаю будет очень сложным
Пример:

DeckA.Seek(60000); // 60 секунд

даже проверил его у себя в Сэме с дополнением других обязательных параметров, в итоге он выполняет свою функцию, запускает файл как нужно, но получается проблема, что его действие происходит очень быстро, резкий запуск, что приводит к разработке дополнительный действий. нужно приблизительно так, за ранее убирать громкость до нуля, затем плей и одновременно DeckA.Seek(60000); плюс громкость выводить в первоначальное состояние, конечно таким образом можно будет запускать твой микс с нужной тебе позиции по времени. возникает ещё вопрос, как осуществить рандом? для одноразового запуска подходит, а вот запуск с другой позиции времени уже нет, снова придётся разрабатывать новый сценарий и так дал....
мне кажется легче будет порезать твой часовой микс на кусочки и запускать стандартными средствами.
очень жаль, что не могу тебе помочь.

Отредактировано wisher (15-06-2015 11:17:07)

432

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

День добрый! Кто нибудь сталкивался с "фантомными" треками? И как с ними бороться? Допустим работает такой скрипт:

PAL.WaitForTime('07:19:50');
Dir['D:\Morning\07'].Rescan;
Dir['D:\Morning\07'].QueueDir(ipTop);       
PAL.Loop := False;                                            

каждый день после сработки скрипта в очередь добавляются "фантомные" (за прошлые дни треки) причем они не проигрываются, т.к. в каталоге их нет, там только один файл.

Все не надо спасибо) Разобрался сам

Отредактировано Ares (15-06-2015 19:44:11)

433

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

wisher пишет:
pluta пишет:

У меня есть допустим часовой микс,  и  я хочу что-бы он начал играть допустим  с середины/с конца (рандомно) , можно ли это осуществить скриптами ?

Приветик pluta! я ничего подобного не нашёл в инете, чтоб такое реализовать, кроме этого тега вернее действия для скрипта по твоему запросу. решение думаю будет очень сложным
Пример:

DeckA.Seek(60000); // 60 секунд

даже проверил его у себя в Сэме с дополнением других обязательных параметров, в итоге он выполняет свою функцию, запускает файл как нужно, но получается проблема, что его действие происходит очень быстро, резкий запуск, что приводит к разработке дополнительный действий. нужно приблизительно так, за ранее убирать громкость до нуля, затем плей и одновременно DeckA.Seek(60000); плюс громкость выводить в первоначальное состояние, конечно таким образом можно будет запускать твой микс с нужной тебе позиции по времени. возникает ещё вопрос, как осуществить рандом? для одноразового запуска подходит, а вот запуск с другой позиции времени уже нет, снова придётся разрабатывать новый сценарий и так дал....
мне кажется легче будет порезать твой часовой микс на кусочки и запускать стандартными средствами.
очень жаль, что не могу тебе помочь.

Да , жалко, ну ладно. Спасибо за попытку

434

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

wisher пишет:
Till пишет:

Всем привет. Для вставки джингла использую простой скриптик.

PAL.Loop := True;
PAL.WaitForPlayCount(3);
CAT['Station IDs (All)'].QueueTop(smRandom, NoRules);

Но на пои IDшки не работает fade in и fade out. Т.е. начинаются и обрываются резко. В настройках каждого трека настройки затухания выставлены общие, но, почему-то не работают. Подскажите, в чём может быть проблема? Заранее спасибо

Возможно у тебя джинглы очень короткие по длине, у меня тоже была такая подобная проблема к примеру джингл около 8-10 сек. конечно же этого мало для фейдинга, так что я увеличил их в аудио-редакторе добавил около 3-4 сек в начале и в конце лёгкий тональный фон уменьшив громкость (опытным путём), так чтобы при вещании этот фон не было сильно заметно, и всё стало хорошо работать, таким образом я все свои джинглы- заставки обработал в аудио-редакторе! Теперь всё чётко работает! Удачи!

Спасибо большое! Действительно помогло)

Скажите, а короткие совсем джинглы никак между треками не вставить? Т.е. те, которые 2-3 секунды. Может как то запускать их за секунду до начала запуска следующего трека (до его fade in)

Отредактировано Till (26-06-2015 19:04:32)

435

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

Приветик Till! очень рад что тебе помогло!
Ответ на твой вопрос: Даже если разработать специальный скрипт под джинглы, всё равно ничего не получится...
Почему? Просто изначально саму программу SAM Broadcaster разработали так. чтобы любую тишину в существующих треках вырезать, всё это сделано для плавного перехода от трека к треку чтоб был красивый фейдинг. Я пробовал для тестирования создать джингл с тишиной в файле по 20 сек. в начале и конце и всё равно SAM Broadcaster всю тишину вырезает... Поэтому тебе нужно прибегнуть к выше описанному правилу и добавлять на все короткие джинглы лёгкий тональный фон, только так, иначе не получится! Удачки тебе!

Отредактировано wisher (29-06-2015 14:15:56)

436

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

wisher пишет:

Приветик Till! очень рад что тебе помогло!
Ответ на твой вопрос: Даже если разработать специальный скрипт под джинглы, всё равно ничего не получится...
Почему? Просто изначально саму программу SAM Broadcaster разработали так. чтобы любую тишину в существующих треках вырезать, всё это сделано для плавного перехода от трека к треку чтоб был красивый фейдинг. Я пробовал для тестирования создать джингл с тишиной в файле по 20 сек. в начале и конце и всё равно SAM Broadcaster всю тишину вырезает... Поэтому тебе нужно прибегнуть к выше описанному правилу и добавлять на все короткие джинглы лёгкий тональный фон, только так, иначе не получится! Удачки тебе!

Привет тебе самый отзывчивый форумчанин smile

Подскажи пожалуйста ещё один момент.

Вот скрипт:

PAL.Loop := True;
PAL.WaitForPlayCount(10);
CAT['Station IDs (All)'].QueueTop(smRandom, NoRules);

Как я понимаю, каждый раз после десятого трека из папки Station IDs (All) будет браться рандомный трек?

Но ведь возможен и такой вариант, что из этой папки 2 раза подряд возьмётся один и тот же трек. Т.е. на радио один и тот же трек повторится через 10 треков... Совсем нехорошо.. Можно это как-то обойти? Заранее большое спасибО!

437

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

Отвечаю на свой вопрос) NoRules нужно поменять на EnforceRules wink

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

Друзья здравствуйте!! Нид хелп!!! Нужен скрипт который с 08.00 до 22.00 будет дергать джинглы с одной папки, а с 22.00 до 08.00 с другой!!! всю тему просмотрел, не нашел!!!

439

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

Привет Psilocybe.Semilanceata!
В этой теме много чего есть, только нужно кое-что добавить или изменить под себя
вот к примеру самый простой:

var P : TPlayer;
var OldTime : DateTime;

OldTime := Now;

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

/////////////////////////////////// 1 сценарий ///////////////////////////////////////
if (OldTime>=T['08:14:00']) and (OldTime<=T['19:45:00']) then // ежедневно с 8 утра до 20 вечера
 begin
        cat['1-folder'].QueueTop(smRandom,NoRules); // ставим 1 джингл в начало очереди из ['1-folder']
        PAL.WaitForTime(T['+00:30:00']); // задержка 30 минут
        end;

/////////////////////////////////// 2 сценарий ///////////////////////////////////////
if (OldTime>=T['20:14:00']) and (OldTime<=T['23:45:00']) then // ежедневно с 20 вечера до 0 ночи
 begin
        cat['2-folder'].QueueTop(smRandom,NoRules); // ставим 1 джингл в начало очереди из ['2-folder']
        PAL.WaitForTime(T['+00:30:00']); // задержка 30 минут
        end;
////////////////////////////////// продолжение 2 сценария ////////////////////////////        
if (OldTime>=T['00:14:00']) and (OldTime<=T['07:45:00']) then // ежедневно с 0 ночи до 8 утра
 begin
        cat['2-folder'].QueueTop(smRandom,NoRules); // ставим 1 джингл в начало очереди из ['2-folder']
        PAL.WaitForTime(T['+00:30:00']); // задержка 30 минут
        end; 
////////////////// в итоге получаем трансляцию 2 джинглов каждый час в течении 24 часов ////////////////

названия категорий 1-folder и 2-folder меняем на своё
возможно и ещё что-то придётся скоректировать... Удачки тебе!

Отредактировано wisher (20-09-2015 12:18:07)

440

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

Доброго времени суток...

Интересует скрипт выводящий в WInAmp на подобии скрипта "баннера" информацию о проигрываемой композиции с картинкой.

p.s. Быть может есть у кого-то аналогичный по функционалу код на java воткнуть на сайт ?

Спасибо.

Отредактировано wwc (24-09-2015 13:33:33)

441

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

приветик wwc!
этот вопрос не по теме, тут только PAL скрипты обсуждают. к сожалению в этих делах я не силён по этому помочь ничем не могу.
то что знаю, так это есть стандартная опция вывода картинок и названия треков в Sam Broadcaster  средствами PHP вот и всё, чтоб всё в  WInAmp это прикрутить думаю будет сложновато... В любом случае удачных тебе поисков!

442

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

wisher

Спасибо...

443

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

Доброго времени
есть скрипт - краткое описание в 20 минут каждого часа включает отбивка радио релакс  и само радио следом на 10 минут,

PAL.Loop := True;

PAL.WaitForTime('XX:19:58');  //запускаемся в 20 каждого часа

If ActivePlayer.Status = psPlaying then    // проверяем играет ли плеер
  If ActivePlayer.Duration - ActivePlayer.CurTime < 600000 then    // проверяем сколько осталось до конца трека.... если меньше 10 минут то срабатывает, если нет, то пропускаем релакс в этом часе
   begin
    Queue.AddURL('http://ic7.101.ru:8000/v13_1?setst=',ipTop); //RelaxFM
    Queue.AddFile('D:\Music\!-Ìåðîïðèÿòèÿ\! îôîðìëåíèå\Radio_Relaks_FM.mp3', ipTop);
    PAL.WaitForTime('+00:29:58');
    ActivePlayer.FadeToNext;
   end;

проблема в том что когда оператор ожидание PAL.WaitForTime('+00:29:58') ставлю в begin ... end, он перепрыгивает через него и сразу переходит на ActivePlayer.FadeToNext.

Подскажите как надо использовать эти операторные скобки begin ... end или оператор WaitForХХХ

Отредактировано Jecka2003 (17-05-2017 15:55:33)

444

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

Нашёл ответ на свой вопрос

Now, a few important concepts about waiting:
You can not wait inside
a) IF..THEN statements
b) CASE..OF statements
c) Custom functions & procedures
PAL will simply skip over the wait command. This is an unfortunate result of the implementation of the core language PAL was based on. This language was never meant to be execute line-by-line, but rather as a complete program. Thus we had to significantly modify this language to meet our needs. Unfortunately we were not able to work around this problem for the above mentioned statement blocks.

The good news is that there is ways to avoid this problem.
1. Do not wait inside functions & procedures. Rather repeat the source lines where needed.
2. In the case of IF..THEN and CASE..OF statements, use a WHILE..DO loop instead.