icon

Модуль Lyrics Manager для Amarok

Описание

Данный скрипт расширяет возможности плеера Amarok по операциям с текстами песен. Lyrics Manager предоставляет следующие дополнительные действия:

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

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

Диалог настроек Всплывающее меню

Lyrics Manager автоматически обрабатывает тэги HTML и спецсимволы в текстах песен, предоставляя редактировать простой текст. Когда Вы включаете возможности правки во внешней программе, Вы должны настроить редактор. Это может быть любая команда с аргументами, имя файла подставляется скриптом в конец строки. Редактор должен работать в модальном режиме.

Когда Вы включаете возможности по взаимодействию с файлами, Вы должны указать директорию с текстами песен. Скрипт читает и пишет файлы в ней (не забудьте настроить права). Имена файлов определяются для каждой песни с помощью шаблона, который также содержится в настройках. Поддерживаемые подстановки:

  • %t для названия,
  • %a для исполнителя,
  • %l для альбома,
  • %r для номера трека,
  • %f для имени файла без разширения,
  • %F для имени файла,
  • %% для одиночного символа процента.

Любой другой % с последующим символом будет удален из строки. Шаблон по умолчанию равен "%a - %t.txt". Также Вы можете сохранять тексты в той же директории, где лежит аудиофайл. Используйте опцию "Place text with music" для этого. Пункт "Automatic export after edit" поможет держать директорию с текстами обновленной.

Файлы с пустыми текстами, т.е. текстами, которые содержат только пробельные символы, обрабатываются отдельно. Вы можете выбрать, сохранять и загружать такие файлы или нет. Если Вы хотите удалить текст из базы данных Amarok для определенного файла, используйте действие "erase". Плеер будет автоматически загружать тексты песен, когда Вы проигрываете файл, для которого нет записи в базе. Чтобы предотвратить загрузку используйте действие "fill up", при котором запись создается и в нее помещается пустая строка. Это действие применимо только для пустых текстов, остальные случаи игнорируются.

Массовые операции позволяют сэкономить время. Кроме того, они могут быть использованы для резерного сохранения и восстановления текстов. Все файлы из плейлиста обрабатываются по очереди и в конце формируется отчет.

Отчет после массовой операции

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

Зависимости

  • amaroK ≥ 1.4.3, < 2.0
  • PERL ≥ 5.8
  • KDialog ≥ 1.0 (не обязательно: для графической конфигурации)

Тестировано на: amarok 1.4.10; perl 5.8.8; kdebase 3.5.10.

Лиценция

The GNU General Public License (GPL), Version 2.

Загрузка и установка

Текущая версия: Модуль Lyrics Manager 0.2.14.

Загрузите архив и установите скрипт при помощи диалога Управление сценариями в Amarok. Если KDialog не установлен (он входит в пакет kdebase), то Вам следует настроить скрипт вручную, используя инструкции из следующего раздела.

Настройка вручную

Если KDialog не установлен, то Вам следует настроить скрипт вручную. Запустите Lyrics Manager, а затем остановите его. Скрипт создаст файл конфигурации в ~/.kde/share/apps/amarok/scripts-data/lyrics-manager.conf. Вы можете редактировать его вручную. Это простой ini-файл, комментарии начинаются с '#'. Взгляните на пример с полным набором опций:

# Настройки Lyrics Manager (это пример, а не настройки по умолчанию)
# предпочитаемый редактор [строка]
editor=kwrite
# директория с текстами [строка]
texts_dir=/mnt/data/music/lyrics
# шаблон имени файла [строка]
file_template=%a - %t.txt
# автоматическое сохранения текста после редактирования [флаг: 0 или 1]
export_after_edit=1
# сохранение в файл, когда текст пустой [флаг: 0 или 1]
export_empty=0
# загрузка из файла, когда текст в нем пустой [флаг: 0 или 1]
import_empty=0
# класть файл рядом с аудиофайлом (вместо директории с текстом) [флаг: 0 или 1]
place_texts_with_music=0
# настройки меню
# пункт меню: Edit lyrics (Править текст) [флаг: 0 или 1]
menu_item_edit=1
# пункт меню: Export lyrics (Сохранить текст в файл) [флаг: 0 или 1]
menu_item_export=1
# пункт меню: Import lyrics (Загрузить текст из файла) [флаг: 0 или 1]
menu_item_import=1
# пункт меню: Erase lyrics (Стереть текст) [флаг: 0 или 1]
menu_item_erase=1
# пункт меню: Export all playlist's lyrics (Сохранить тексты для файлов из плейлиста) [флаг: 0 или 1]
menu_item_export_all_playlist=1
# пункт меню: Import all playlist's lyrics (Загрузить тексты для файлов из плейлиста) [флаг: 0 или 1]
menu_item_import_all_playlist=1
# пункт меню: Fill up all empty playlist's lyrics (Заполнить тексты для файлов из плейлиста) [флаг: 0 или 1]
menu_item_fill_up_empty_all_playlist=1
# пункт меню: Erase all playlist's lyrics (Стереть тексты для файлов из плейлиста) [флаг: 0 или 1]
menu_item_erase_all_playlist=0

Известные проблемы

Скрипт может пропускать некоторые спецсимволы в текстах, если Ваша локаль не поддерживает Юникод. Похоже, что это ограничение DCOP, и мы ничего с этим не можем поделать.

Обсуждение

Вы можете задавать вопросы и вносить предложения в соответствующей теме блога или прислать по почте. Есть также страница проекта на KDE-Apps.org, но только зарегистрированные пользователи могут комментировать там.

Благодарности

Спасибо panzi (KDE-Apps.org), bleearg (KDE-Apps.org), BrutuZ (KDE-Apps.org), Max (xzoert.org), Vincent Ramos и другим людям, кто предлагал идеи и помогал тестировать скрипт.

Список изменений

версия 0.2.14 [02.12.2009]

  • исправлено: ошибка в алгоритме поиска в базе данных, проявляющаяся при наличии спецсимволов в пути устройства

версия 0.2.13 [17.09.2009]

  • обновлено: повышена гибкость алгоритма поиска в базе данных

версия 0.2.12 [20.07.2009]

  • новое: поддержка относительных путей в шаблоне имен файлов

версия 0.2.11 [24.05.2009]

  • обновлено: описание и контакты

версия 0.2.10 [01.05.2008]

  • новое: подстановка в шаблон имен файлов

версия 0.2.9 [27.08.2007]

  • исправлено: отказ из-за xml тэга
  • исправлено: обработка спецсимволов xml

версия 0.2.8 [19.07.2007]

  • новое: опция по сохранению файла в той же директории, где лежит аудиофайл
  • обновлено: добавление нуля перед номером трека, когда он меньше 9
  • исправлено: сообщения

версия 0.2.7 [27.11.2006]

  • обновлено: повышена гибкость алгоритма поиска в базе данных
  • исправлено: замена слеша в тэгах при составлении имени файла по шаблону

версия 0.2.6 [23.11.2006]

  • новое: подстановка в шаблон номера трека
  • обновлено: оптимизация запросов к базе данных
  • обновлено: обработка случаев, когда тэги не найдены
  • обновлено: внутренний флаг для отладки запросов

версия 0.2.5 [03.10.2006]

  • исправлено: переключение на новую модель базы данных amaroK 1.4.3
  • обновлено: версии amaroK < 1.4.3 более не поддерживаются

версия 0.2.4 [01.06.2006]

  • исправлено: (для amaroK 1.4) обновление вкладки с текстом песен, когда это необходимо
  • новое: (для amaroK 1.4) файл спецификации

версия 0.2.3 [02.05.2006]

  • новое: возможность задания шаблона имени файла при импорте/экспорте

версия 0.2.2 [29.03.2006]

  • новое: заполнение текстов песен
  • новое: стирание текстов
  • обновлено: автоочистка текстов
  • обновлено: документация

версия 0.2.1 [23.03.2006]

  • исправлено: обработка текстов для amaroK 1.4
  • обновлено: автоочистка текстов

версия 0.2 [13.03.2006]

  • новое: массовые операции сохранения и загрузки
  • новое: управление меню
  • новое: конфигурационный файл теперь не обязателен, скрипт может быть временно настроен
  • новое: поддержка тильды в пути файла
  • обновлено: способ и дизайн графической конфигурации
  • обновлено: парсер конфигурационного файла
  • обновлено: улучшены одиночные сохранение и загрузка
  • обновлено: документация

версия 0.1.3 [04.03.2006]

  • обновлено: обработка текстов
  • обновлено: ревизия кода
  • исправлено: схема конфигурации

версия 0.1.2 [25.02.2006]

  • обновлено: сообщения
  • обновлено: дизайн
  • исправлено: запись и чтение файлов с текстами в некоторых случаях (пустые файлы, права и т.д.)
  • обновлено: документация

версия 0.1.1 [24.02.2006]

  • новое: опция "export after edit"

версия 0.1 [20.02.2006]

первоначальные возможности:

  • Функции редактирования, сохранения и загрузки при помощи всплывающего меню
  • Графическая конфигурация (опции "editor", "texts directory") при помощи KDialog; ручная конфигурация при помощи правки файла с настройками
  • базовые функции автоочистки (удаление тэгов <br>, пробелов, табуляции, переносов строк)