Глава 7. Разное

Темы, которые не вошли в другие разделы, такие как индикатор тона, Amarok на других платформах, устранение проблем, частые сложности и часто задаваемые вопросы:

Индикатор тона

Индикатор тона официально возвращён в Amarok 2.2.2. Он показывает «настроение» дорожки, который вы можете использовать, чтобы найти нужный вам фрагмент в песне.

Amarok не анализирует дорожки для создания индикатора, вам понадобится программа Moodbar (ссылка на скачивание).

ПакетMoodbar требует наличия GStreamer и некоторых подключаемых модулей (смотри Поддерживаемые типы файлов). Вам не нужен пакет phonon-backend-gstreamer для создания .mood файлов.

В новой реализации Индикатора тона две части: пакет Moodbar, который содержит программу, которая создаёт mood-файл из дорожки, и код в Amarok, который отображает индикатор настроения. Пакет Moodbar зависит от библиотек GStreamer. Без пакета Moodbar Amarok не сможет сгенерировать индикаторы настроения для дорожек.

В качестве альтернативы есть скрипт, который создаёт файлы индикаторов настроения в списке воспроизведения Amarok. Скрипт не зависит ни от чего, кроме Amarok.

Индикаторы настроения разработали Gavin Wood и Simon O'Keefe; оригинал их работы здесь.

Список зависимостей

  • Исполняемый файл Moodbar по пути в PATH переменной Не забудьте сконфигурировать пакет Moodbar при помощи ./configure --prefix=`pkg-config --variable=prefix gstreamer-0.10`

  • Библиотека GStreamer 0.10 и подключаемые модули для желаемых форматов.

  • Библиотека Fastest Fourier Transform In The West (http://www.fftw.org) FFTW library версии 3.0 или выше. Если её нет на вашей операционной системе, вам нужно скомпилировать её самостоятельно, не забудьте настроить пакет FFTW с помощью ./configure --enable-single

  • Версия Amarok с опцией Использовать индикаторы тона в главном разделе окна настроек. Это версии 1.4.4 и выше для серии 1.4 или 2.2.2 и выше для серии 2.x.

Примечание

Системы с менеджером пакетов должны автоматически установить подключаемые модули GStreamer и FFTW вместе с Индикатором тона; эта информация преимущественно касается людей, которые хотят самостоятельно собрать эти пакеты.

Использование

.mood генерируются вручную. Для их создания для целой коллекции воспользуйтесь Скриптом генерации файлов индикатора тона в конце раздела.

Для включения индикатора тона в Amarok включите его в настройках: НастройкиНастройки AmarokОсновныеПоказывать индикатор тона в индикаторе прогресса. Индикатор тона появится в индикаторе воспроизведения дорожки.

Установка

Исходники

Последний релиз: moodbar-0.1.2.tar.gz -- исходники пакета Moodbar, содержащие программу Moodbar (которая генерирует .mood файлы из дорожек), и пакет GStreamer. Пакет Moodbar требует наличия GStreamer 0.10.* и подключаемых модулей версии 0.10.*. Для установки следуйте указаниям в файле INSTALL.

Если вы найдёте какие-либо ошибки, напишите о них на bugs.kde.org.

Пакеты для Debian

Пакет Индикатора тона доступен для Debian unstable. Просто выполните apt-get install moodbar . Вам также понадобится gstreamer0.10-plugins-ugly, gstreamer0.10-plugins-good, и gstreamer0.10-plugins-bad для поддержки форматов.

Пакеты для Kubuntu and Ubuntu

Пакет Moodbar доступен в официальном репозитории. Просто установите пакет 'moodbar' с помощью любимого менеджера пакетов (Kpackagekit, Aptitude, Adept, Synaptic). Возможно, вам также понадобится gstreamer0.10-plugins-ugly, gstreamer0.10-plugins-good и gstreamer0.10-plugins-bad для поддержки форматов.

Или для установки вставьте в Firefox или Konqueror и нажмите Enter.

apt://moodbar,gstreamer0.10-plugins-ugly,gstreamer0.10-plugins-good,gstreamer0.10-plugins-bad?section=universe?refresh=yep

Gentoo

Индикатор тона доступен в Portage, просто выполните emerge moodbar.

RPM сборки

Если вы используете дистрибутив с rpm пакетами, вы можете собрать .rpm командой `rpmbuild` с последними

gstreamer-plugins-moodbar.spec. Бинарный пакет будет скоро доступен для дистрибутива PLD-linux.

Fedora

В Fedora 7 и выше Индикатор тона доступен в стандартном репозитории. Просто установите его с помощью вашего пакетного менеджера или командой:

yum install moodbar

Пакеты для openSUSE

Для openSUSE 11.0 установите эти пакеты:

  • gstreamer-0_10-fluendo-mp3

  • gstreamer-0_10-plugins-base

Если дорожки содержат ID3-теги, то вам нужно установить

  • gstreamer-0_10-plugins-good

Установка индикаторов тона

Установка в один клик openSUSE 11.* — просто выберите версию и установщик сделает всю работу:

Для установки укажите корректные репозитории для YaST и убедитесь, что следующие пакеты установлены:

  • gstreamer-0_10-plugins-good

  • gstreamer-0_10-plugins-ugly

  • gstreamer-0_10-plugins-moodbar

  • mad

Для детальной информации о добавлении репозиториев читайте openSUSE wiki.

Если вы используете Умный пакетный менеджер, добавьте канал следующей командой в консоли, не забудьте сменить URL для вашей версии openSUSE: smart channel --add http://software.opensuse.org/download/home:/d7/openSUSE_10.2/home:d7.repo Затем введите smart update home:d7 Теперь вы можете установить нужные пакеты командой smart install gstreamer10-plugins-moodbar Зависимости будут установлены автоматически.

Пакеты для Mandriva

Вам нужно добавить PLF репозитории, посетите easyurpmi.zarb.org и добавьте их в список репозиториев.

Просто установите эти пакеты:

  • gstreamer0.10-moodbar

  • gstreamer0.10-plugins-ugly

  • gstreamer0.10-plugins-good

  • gstreamer0.10-plugins-bad

Arch Linux®

Существует PKGBUILD для Индикатора тона в Репозитории Arch (AUR), доступен здесь.

Для более полной информации о AUR и работе с PKGBUILD читайте Документацию AUR.

FreeBSD

Есть порт: audio/gstreamer-plugins-moodbar здесь.

Для установки порта: cd /usr/ports/audio/gstreamer-plugins-moodbar/ && make install clean

Для добавления пакета: pkg_add -r gstreamer-plugins-moodbar

Скрипт для создания .mood файлов

Вот простой скрипт, который создаст .mood файлы для вашей библиотеки. Он добавляет файлы тона для всех файлов, подходящих по расширению, в текущей директории и вложенных папках. Лучше всего запустить скрипт в корне папки с музыкальной библиотекой.

#!/bin/bash
 DIR=${1:-.}
 LAST=~/.moodbar-lastreadsong
 C_RET=0
 control_c()        # run if user hits control-c
 {
   echo "" > "$LAST"
   echo "Exiting..."
   exit
 }
 if [ -e "$LAST" ]; then
   read filetodelete < "$LAST"
   rm "$filetodelete" "$LAST"
 fi
 exec 9< <(find "$DIR" -type f -regextype posix-awk -iregex '.*\.(mp3|ogg|flac|wma)') # you may need to add m4a and mp4
 while read i
 do
   TEMP="${i%.*}.mood"
   OUTF=`echo "$TEMP" | sed 's#\(.*\)/\([^,]*\)#\1/.\2#'`
   trap 'control_c "$OUTF"' INT
   if [ ! -e "$OUTF" ]
     moodbar -o "$OUTF" "$i"
   fi
 done <&9
 exec 9<&-
 exit $C_RET

Скопируйте текст, приведённый выше, в текстовый файл с именем moodbar.sh, сохраните в папке с музыкальной библиотекой и запустите:

cd /path/to/music bash moodbar.sh

Если команда не работает, попробуйте:

chmod +x moodbar.sh ./moodbar.sh

Этот процесс может занять много времени для большой медиатеки. Обратите внимание, что индикатор тона не появится в Amarok до обновления медиатеки. Созданные файлы настроения по умолчанию скрыты.

Скрипт для многоядерных систем:

#!/bin/bash
 NUMCPU="$(grep ^processor /proc/cpuinfo | wc -l)"
 find . -type f -regextype posix-awk -iregex '.*\.(mp3|ogg|flac|wma)' | while read i ; do
        while [ `jobs -p | wc -l` -ge $NUMCPU ] ; do
                sleep 0.1
        done
        TEMP="${i%.*}.mood"
        OUTF=`echo "$TEMP" | sed 's#\(.*\)/\([^,]*\)#\1/.\2#'`
        if [ ! -e "$OUTF" ] ; then
                moodbar -o "$OUTF" "$i" &
        fi
 done

Также есть ещё один скрипт на Githubкоторый показывает предпросмотр создаваемого файла настроения. Вы можете подробнее прочитать о нём в блоге автора.

Решение проблем

  • Если при исполнении Moodbar вы получаете ошибку шины, это значит, что он не может декодировать (или найти) ваш файл. Посмотрите здесь, какие модули GStreamer вам нужно установить. Проверить, поддерживается ли декодирование файла GStreamer можно, выполнив команду:gst-launch filesrc location=[файл] ! decodebin ! fakesink

  • Если вы используете модуль ffmpeg для декодирования файлов mp3, у вас также могут появляться странные ошибки. Используйте mad вместо ffmpeg, так как он стабильнее.

  • Если при выполнении Moodbar вы получаете сообщение о невозможности нахождения элемента, например:

    Невозможно создать элемент типа fftwspectrum, установите его.

— это обычно обозначает, что у вас или не установлены нужные модули (смотрите здесь), или что Moodbar установлен не в то же место, что и GStreamer. Если файлы libmoodbar.so иlibgstdecodebin.so не в одном каталоге, тогда Moodbar и GStreamer установлены в разные места. Читайте файл INSTALL для правильной конфигурации moodbar. Если вы знаете, что делаете, то проще будет настроить переменную GST_PLUGIN_PATH.

  • Если вы хотите узнать, почему Moodbar не работает так, как нужно или не работает вообще на конкретном файле, выполните команду: moodbar -o test.mood [музыкальный файл]

  • Если у вас установлено несколько версий GStreamer, убедитесь, что все необходимые модули для версии 0.10.* установлены — разные версии не могут использовать одни и те же модули.

Поддерживаемые типы файлов

Вам необходимы различные модули GStreamer, чтобы Moodbar мог анализировать ваши файлы. Вот список нужных; убедитесь, что вы установили версию 0.10.* каждого модуля:

Тип файлаНужный модульПримечания

Все

gstreamer-0.10.*, gst-plugins-base, gst-plugins-good

 

mp3

gst-plugins-mad (в составе gst-plugins-ugly)

у модуля ffmpeg есть проблемы, не используйте его для mp3

ogg

gst-plugins-vorbis, gst-plugins-ogg

 

flac

gst-plugins-flac

 

mp4

gst-plugins-faad, gst-plugins-bad

 

musepack

gst-plugins-musepack

 

wma

gst-plugins-ffmpeg

 

Снимки экрана

Moodbar в полосе прогресса в Amarok 2

Moodbar в полосе прогресса в Amarok 2