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

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

 

21
djluk @djluk
Привет всем!
А может кто знает как определить с помощью скрипта продолжительность какого-то трека?

0
1
kepu @kepu
Zdravstvuite !

a kakoi skript podaidiot, chtob v kajdi krugli chas probivali chasi ?

Отредактировано kepu - 07.10.2009
0
36
lespaul43 @lespaul43
Решил собрать все популярные скрипты в одном месте (часто ищут одно и то же):

Проигрывание трэка поверх звучащего:

var Song : TSongInfo;
var P : TPlayer;

PAL.Loop := True; // скрипт будет выполнятся постоянно
PAL.WaitForTime('+00:10:00'); // задержка в 10 секунд

P := SoundFX; // через что играть
if P <> nil then
begin
Song := CAT['Каталог'].ChooseSong(1,NoRules);
if Song <> nil then
begin
P.QueueSong(Song); //
P.Play;
end;
end;

Проигрывание трэка через 5 песен:


PAL.Loop := True; // скрипт будет выполнятся постоянно
PAL.WaitForPlayCount(5); // ставим задержку на 5 треков //выбераем случайный трек из "Каталог" и ставим его вверх очереди
CAT['Каталог'].QueueTop(smRandom, NoRules);

Проигрывание трэка через определённое время:


var Song : TSongInfo;

PAL.Loop := True; //скрипт будет выполнятся постоянно(многократно)
PAL.WaitForTime('+00:30:00'); //ставим задержку на 30 минут
Song := CAT['Каталог'].ChooseSong(smRandom,NoRules); //выбираем трек наугад
//добавляем его в начало очереди
Queue.Add(song,ipTop);

Запуск файла каждый час (отбивка времени):

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

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

PAL.Loop := True;

PAL.WaitForTime('XX:59:15'); //запускаемся в конце каждого часа. 45 сек - время буферезации, подбираем по свом параметрам, вкусам

strFile := strPath + FormatDateTime('hh', now+1/24) + '-00.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;

Отредактировано lespaul43 - 08.10.2009
0
6
mobilizer @mobilizer
люди я новенький где можно научиться делать такие скрипты бесплатно

0
5
IgorKrivich @IgorKrivich
Здравствуйте. Подскажите пож-ста,- как заставить работать Event Scheduler. Задача в следующем. В начале каждого часа ежедневно новости, в середине часа реклама. В упор не хочет запускать указанный файл. PAL скриптом не очень мне удобно. Хотелось что-бы Event Scheduler заработал. Спасибо

Отредактировано IgorKrivich - 27.10.2009
0
5
IgorKrivich @IgorKrivich
IgorKrivich пишет:

Здравствуйте. Подскажите пож-ста,- как заставить работать Event Scheduler. Задача в следующем. В начале каждого часа ежедневно новости, в середине часа реклама. В упор не хочет запускать указанный файл. PAL скриптом не очень мне удобно. Хотелось что-бы Event Scheduler заработал. Спасибо

Разобрался сам

0
888
Falcon @Falcon
Привет. У меня такой вопрос. Можно ли с помощью такого скрипта (или как либо иначе) создать статистику песен. Тобишь что-то в стиле топ 10

0
2
Жорик @Жорик
Всем привет ! подскажите как сохранить название трека в текстовый файл и при каждой смене трека происходила перезапись этого файла .

0
12
Александр @NeSH
Приветствую! У меня такой вопрос. Есть сценарий:
  1. {# Add files to queue script #}
  2. Queue.Clear;
  3. Queue.AddList('E:\Musik\Playlist\Основной.M3U',ipTop);
  4. Queue.Shuffle;
  5. deckA.Play;

По идее он должен очищать последовательность, добавлять новый плейлист, и перемешивать его. После это должно начинаться воспроизведение на дэке А, но этого не происходит (не воспроизводит). В чём ошибка?

0
468
Klef @Klef
Дека А скорей всего пустая.
рекомендую
ActivePlayer.FadeToNext;

0
44
Алексей @weradex
СПАСИТЕ... Кто нибуть может подсказать скрипт, который при откритии СЭМа будет запускать все енкодеры сразу?????

0
468
Klef @Klef
галочка в свойствах энкодера.
там же ставишколичество секунд, через который стартует энкодер

0
44
Алексей @weradex
Klef СПАСИБО ОГРОМНОЕ

0
9
Radio_Afrika @Radio_Afrika
var P : TPlayer;
var OldTime : DateTime;

OldTime := Now;

PAL.Loop:=True;

If (OldTime>=T['19:00:00']) AND (OldTime<=T['22:30:00']) Then
begin
CAT['Tusovka3'].QueueTop(smRandom, NoRules);
PAL.WaitForPlayCount(5);
End;

что надо изменить чтобы файл шел прямиком на свободную деку, минуя корзину?

0
1
teremnet @teremnet
Приветствую всех!!!! Нужна помощь, т.к. я в .pal скриптах совсем не понимаю!!! Суть такова: есть встроенный СЭМовский скрипт, который выводит нужную инфу из txt файла, чередуя ее с исполнителем и названием текущего трека, нужно сделать так чтоб инфа чередовалась не с title, а с названием станции. Помогите организовать, вот сам скрипт:
  1. { CONFIGURATION }
  2. {==================================================}
  3. const bannertext_file = 'C:\Program Files\SpacialAudio\SAMBC\PAL\BannerText.txt';
  4. const change_interval = '+00:00:15';
  5. {==================================================}
  6. { IMPLEMENTATION }
  7. {--------------------------------------------------}
  8. var CurSong : TSongInfo;
  9. var UpdSong : TSongInfo;
  10. var Banners : TStringList;
  11. var Toggle : Boolean = True;
  12. var LinePos : Integer = 0;
  13. {Set this script to restart itself}
  14. PAL.Loop := True;
  15. { Create some objects that we will need}
  16. UpdSong := TSongInfo.Create;
  17. Banners := TStringList.Create;
  18. { Load banner lines into stringlist object }
  19. if FileExists(bannertext_file) then
  20. Banners.LoadFromFile(bannertext_file)
  21. else
  22. WriteLn('Banner source file does not exist!');
  23. LinePos := 0;
  24. while (LinePos<Banners.Count) do
  25. begin
  26. {Wait for specified time}
  27. PAL.WaitForTime(change_interval);
  28. {Retrieve the current banner line and assign it to song object}
  29. UpdSong['title'] := Banners[LinePos];
  30. {Tell encoders to update song information:
  31. When Toggle is True, we use the normal song information from
  32. the active player - otherwise we use our banner song object
  33. }
  34. Toggle := not Toggle;
  35. if Toggle then
  36. begin
  37. CurSong := ActivePlayer.GetSongInfo;
  38. Encoders.SongChange(CurSong);
  39. CurSong.Free;
  40. end
  41. else
  42. Encoders.SongChange(UpdSong);
  43. {Move to the next line in the banner file before we continue}
  44. LinePos := LinePos + 1;
  45. end;
  46. {Destroy objects once we no longer need them}
  47. Banners.Free;
  48. UpdSong.Free;

Буду благодарен за помощь :)

0
57
Алексей @radioset
А скажите можно ли с помощью скрипта принудительно остановить деку А и В??
И если можно хотелось бы глянуть на этот скрипт))

0
349
Юрий @Всё-просто
Ребят помогите! Вот есть pal скрипт который выводит в плеерах инфу вида:

Релиз: [название текущего трека] Заказал(а): [текст] ну потом через некоторое время строчка меняется и показывается просто название станции и название трека и сообветственно все сначало.

Вот код :

  1. var D : TDataSet;
  2. var P : TPlayer;
  3. var Song : TSongInfo;
  4. var S : TSongInfo;
  5. PAL.Loop := true;
  6. procedure pause();
  7. begin
  8. PAL.WaitForTime ('+00:00:07');
  9. end;
  10. S:=TSongInfo.Create;
  11. P:= ActivePlayer;
  12. Song := P.GetSongInfo;
  13. S['artist'] := '';
  14. S['duration'] := 0;
  15. S['title'] := 'Трек: ' + Song['artist'] + ' - ' + Song['title'];
  16. Encoders.SongChange(S);
  17. PAL.WaitForTime ('+00:00:15');
  18. P := ActivePlayer;
  19. Song := P.GetSongInfo;
  20. S['artist'] := '';
  21. S['duration'] := 0;
  22. if StrToInt(Song['albumyear'])>1980 then S['title'] := 'Релиз: ' + Song['album']+' ('+Song['albumyear']+')' else S['title'] := 'Релиз: ' + Song['album'];
  23. Encoders.SongChange(S);
  24. PAL.WaitForTime ('+00:00:07');
  25. if song['requestid'] > 0 then
  26. D := Query('SELECT * FROM requestlist WHERE ID = :J AND SongID = :I',[Song['requestID'],Song['ID']],true);
  27. if D['name'] <> '' then
  28. begin
  29. S['artist'] := '';
  30. S['title'] := 'Заказал(а): '+D['name'];
  31. S['duration'] := 0;
  32. Encoders.SongChange(S);
  33. pause();
  34. end;
  35. if D['msg'] <> '' then
  36. begin
  37. S['artist'] := '';
  38. S['title'] := 'Текст: '+D['msg'];
  39. S['duration'] := 0;
  40. Encoders.SongChange(S);
  41. pause();
  42. pause();
  43. end;
  44. D.Free;
  45. P.Free;
  46. Song.Free;

Но проблема в том что я что то не пойму как именно пользоваться этим скриптом и куда вводить Имя того кто заказал трек.
Рассшифруйте плз.

0
28
Slash @Slash
данй скрипт вы пихаете в СЕМ.
Если по стандарту, то в Desktop B находиться меню PAL Script ..туда и добавляете файл. Расширение файла (в названии после точки) должно быть ".pal" .Добавив просто запускаете скрпит.
Скрипт сам выводит имя заказавшего если он указал последнее при заказе песни.

0
332
Игорь @JamStyle
Всё-просто пишет:

Ребят помогите! Вот есть pal скрипт который выводит в плеерах инфу вида:

Релиз: [название текущего трека] Заказал(а): [текст] ну потом через некоторое время строчка меняется и показывается просто название станции и название трека и сообветственно все сначало.

Вот код :

  1. var D : TDataSet;
  2. var P : TPlayer;
  3. var Song : TSongInfo;
  4. var S : TSongInfo;
  5. PAL.Loop := true;
  6. procedure pause();
  7. begin
  8. PAL.WaitForTime ('+00:00:07');
  9. end;
  10. S:=TSongInfo.Create;
  11. P:= ActivePlayer;
  12. Song := P.GetSongInfo;
  13. S['artist'] := '';
  14. S['duration'] := 0;
  15. S['title'] := 'Трек: ' + Song['artist'] + ' - ' + Song['title'];
  16. Encoders.SongChange(S);
  17. PAL.WaitForTime ('+00:00:15');
  18. P := ActivePlayer;
  19. Song := P.GetSongInfo;
  20. S['artist'] := '';
  21. S['duration'] := 0;
  22. if StrToInt(Song['albumyear'])>1980 then S['title'] := 'Релиз: ' + Song['album']+' ('+Song['albumyear']+')' else S['title'] := 'Релиз: ' + Song['album'];
  23. Encoders.SongChange(S);
  24. PAL.WaitForTime ('+00:00:07');
  25. if song['requestid'] > 0 then
  26. D := Query('SELECT * FROM requestlist WHERE ID = :J AND SongID = :I',[Song['requestID'],Song['ID']],true);
  27. if D['name'] <> '' then
  28. begin
  29. S['artist'] := '';
  30. S['title'] := 'Заказал(а): '+D['name'];
  31. S['duration'] := 0;
  32. Encoders.SongChange(S);
  33. pause();
  34. end;
  35. if D['msg'] <> '' then
  36. begin
  37. S['artist'] := '';
  38. S['title'] := 'Текст: '+D['msg'];
  39. S['duration'] := 0;
  40. Encoders.SongChange(S);
  41. pause();
  42. pause();
  43. end;
  44. D.Free;
  45. P.Free;
  46. Song.Free;

Но проблема в том что я что то не пойму как именно пользоваться этим скриптом и куда вводить Имя того кто заказал трек.
Рассшифруйте плз.

Этот скрипт привязан к samPHPweb Если там, человек заказал трек, он указывает имя, которое в свою очередь и показывается в метадате!

0
833
metra52 @metra52
Помогите нужно написать скрипт который будет перед тем как пускать название песни на сервер если есть русские символы менять их на английские т.к шоткаст не понимает русского языка

0





Согласие на обработку данных на нашем сайте

Продолжая просматривать страницу, вы соглашаетесь с использованием файлов «Cookie» и с Политикой конфиденциальности «Privacy».
Наверху или внизу страницы вы можете изменить валюту и язык по умолчанию. Английская версия сайта ещё находится в доработке и доступна не полностью.