1

Тема: ices0 Плей лист на PERL

Всем привет у меня такая трабла.

Стоит icecast2 + ices0 всё работает нормально, но когда я прописываю в ices0 <Type>perl</Type> вместо <Type>builtin</Type> в конфиге
и запускаю то появляется ошибка:

/usr/local/etc/rc.d/ices0: WARNING: failed to start ices0

вот статья по которой я всё делал _http://www.hilik.org.ua/perl-%D1%81%D0%BA%D1%80%D0%B8%D0%BF%D1%82-%D0%B4%D0%BB%D1%8F-ices/

2

Re: ices0 Плей лист на PERL

смотрите в лог

3

Re: ices0 Плей лист на PERL

а где хранится логи ices ??

4

Re: ices0 Плей лист на PERL

там где указали в настройках базовую директорию ices

5

Re: ices0 Плей лист на PERL

Logfile opened
Initialization of playlist handler failed. []
Ices Exiting...

Отредактировано zyat (25-08-2010 11:06:08)

6

Re: ices0 Плей лист на PERL

неверно значит составлен плейлист

7

Re: ices0 Плей лист на PERL

А как он должен быть составлен?

8

Re: ices0 Плей лист на PERL

покажите свой скрипт хотяб, попробуем поправить

9

Re: ices0 Плей лист на PERL

#!/usr/bin/perl -w
#Процедура инициализации, обычно тут вызываются все листинги директории с файлами, 
#подключения к базам и тд и тп
sub ices_init {
        print "Perl subsystem Initializing:\n";
        return 1;
}
#Процедура завершения работы ices, тут желательно закрыть все соединения из скрипта
#и тому подобное
sub ices_shutdown {
        print "Perl subsystem shutting down:\n";
}
#А вот это и есть процедура получения нового трека для проигрывания
#Мы каждый раз перечитываем всю директорию, на тот случай
#на тот случай если появились новые треки для проигрывания на радио
sub ices_get_next {
        print "Perl subsystem quering for new track:\n";
        #chomp $music[2];
        $num=`/bin/ls /home/zyat/music/*.mp3 | /usr/bin/wc -l`;
        @music=`/bin/ls -1 /home/zyat/music/*.mp3`;
        $play=int(rand($num));
        chomp $music[$play];
        return $music[$play];
}
 
# Процедура получения информации о треке, для вывода в плеере
sub ices_get_metadata {
        use MP3::Info;
        $tag = get_mp3tag($file) or die "No TAG info";
        return "$tag->{TITLE} ";
}
 
#
sub ices_get_lineno {
        return 1;
}

Вот и всё

10

Re: ices0 Плей лист на PERL

где его расположили и как назвали?
совпадает ли его имя с тем что написано в конфиге?

"Процедуру получения информации о треке, для вывода в плеере"
можно всю "закоментировать"

11

Re: ices0 Плей лист на PERL

Хранится в "/usr/local/etc/modules/" название ices.pm
В конфиге всё верно. "<Module>ices</Module>"

Отредактировано zyat (26-08-2010 14:34:15)

12

Re: ices0 Плей лист на PERL

ices собран с поддержкой perl?

13

Re: ices0 Плей лист на PERL

я собирал через "pkg_add -r ices0" а можно так настроить? устанавливая не из портов.

14

Re: ices0 Плей лист на PERL

незнаю, надо искать недостающий пакет если дело в нем
пс "pkg_add -r ices0" не сборка, а установка пакета

Добавлено спустя     3 минуты   22 секунды:
еще может надо не в local пихать а просто в /etc/modules или /usr/etc/modules