понятие "хорошо" для меня включает - проиграть музыку, показать кто поет, показать обложку (при необходимости поискать её в сети), рассказать об этом last.fm.
комбайны разнообразных коллекций в формате а-ля айТюнс - rhythmbox, amarok, songbird меня не устраивают просто потому, что я не считаю, что это самый дружественный способ показать мою коллекцию музыки. в этом плане меня больше устраивает подход, реализованный в windows media player.
их основной недостаток - напрягает, когда плеер считает, что он лучше меня знает как организована моя коллекция, не даёт объяснить ему, что он всё таки не прав и главное считает своей главной задачей изменять мои файлы и создавать кучу служебных файлов там где это не нужно.
отдельно не нравится, что плеер, претендующий на роль помощника в навигации по музыкальному массиву, реально усложняет это делать. особенно когда музыки много, а плеер сваливает в кучу файлы с неразпознанными тегами. про магию с кодировками (linux vs unicode vs windows) не говорю.
как-то пользовался quodlibet у него был один косяк со съёмным диском, обходимый, но сильно раздражающий...
так или иначе я перешел на decibel. к чему я всё это настучал?
столкнулся я тут недавно с неудобством - decibel делает вид, что не умеет проигрывать файлы формата MonkeysAudio (те, что с расширением APE).
именно делает, так как за проигрывание отвечает gstreamer, а он это делать умеет. метаданные файлов разбирает библиотека mutagen, которая данный тип также понимает.
а посему открываем исходники, далее:
1. по аналогии, например, с файлом ../src/media/flac.py создаем файл ../src/media/monkeysaudio.py следующего содержания:
from mutagen.monkeysaudio import MonkeysAudio
from media.track.fileTrack import FileTrack
def getTrack(file):
""" Return a Track created from a MonkeysAudio APE file """
track = FileTrack(file)
monkeysAudioFile = MonkeysAudio(file)
track.setLength(int(round(monkeysAudioFile.info.length)))
try: track.setTitle(str(monkeysAudioFile['title'][0]))
except: pass
#и далее по тексту .../flac.py
return track
2. открываем файл ../src/media/__init__.py и в нем:
- в конце 21 строки
from format import asf...
дописывем ..., monkeysaudio
- в конце 28 строки в словарь добавляем пару
'.ape': monkeysaudio
, строка должна выглядеть как-то так (одной строкой): mFormats = {'.flac': flac, '.m4a': mp4, '.mp3': mp3, '.mp4': mp4, '.mpc': mpc,'.ogg': ogg, '.wma': asf, '.ape': monkeysaudio}
3. сохраняем, запускаем, слушаем.
дополнительное неудобство - decibel не разбирает файлы формата CUE Sheet, что бывает неудобно в случаях когда в наличии flac- или ape-файл без тегов и cue-файлом вместо них. подумаю об этом завтра.
3 комментария:
Слушаю трансовые радиошоу, и проблема CUE-sheets имеет место быть, да!
Пока что использую qmmp, правда он притянул QTlibs.
Найдете способ заставить плеер читать их - отпишитесь
Во втором шаге кажется есть ошибка,
открываем не
/src/media/__init__.py
a
/src/__init__.py
у меня в папке src нет файла __init__.py, потому с моей стороны ошибки нет (-:
Отправить комментарий