LINUX.ORG.RU
ФорумTalks

Какой должна быть правильная поддержка CUE в плеере?


0

2

Привет.
В качестве безделья я тут катаюсь на велосипеде, под названием аудио плеер. Меня вот мучит вопрос как должен плеер обрабатывать гору аудио и cue файлов в одной директории.
Пока я пришел к тому что алгоритм листинга каталога следующий:
1. ищем все cue-файлы
2. сортируем их
3. парсим, по очереди, каждый файл и отображаем его списком треков (песен)
4. каждый фудио-файл (mp3, ogg, wav, ...), который не описан ни одним cue-файлом (которые мы обработали на ранних шагах), отображается как отдельный трек.

Правильно ли будет такое поведение? Будут ли какие-то идеи по этому поводу?

P. S.
Про встроенные cue-sheet я пока «забыл», думаю потом будет легко это добавитб на шаге 4. Хотя любые коменты по этому поводу приветствуются.

★★★★★

Последнее исправление: urxvt (всего исправлений: 1)

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

Uter
()
Ответ на: комментарий от Uter

Ну это уже тема другого разговора. Я у себя так держу потому что так она качается, а играться с нарезкой облом.

urxvt ★★★★★
() автор топика

Правильно - это отрывать руки идиотам, выкладывающим музыку образом + cue. А то, что ты предложил - это так, костыли.

Ramen ★★★★
()
Ответ на: комментарий от urxvt

> так она качается, а играться с нарезкой облом

Сделай лучше плагин к торрентокачалке: после окончания закачки разбить на треки, удалить исходник, а автору торрента послать теплый привет.

alpha ★★★★★
()

Пятый пункт забыли (о xine речь сейчас правда уже не идёт). Ещё хочу добавить, что один cue может ссылаться на два файла (в каждом из которых несколько треков) - такой случай у вас обрабатывается?

RussianNeuroMancer ★★★★★
()
Ответ на: комментарий от alpha

>Сделай лучше плагин ...

Ага, а еще поправить кривые теги через freedb, добавить обложку и перегенерировать имена файлов. Ну и в медиа библиотеку сразу добавить, чего уж там.

Uter
()
Ответ на: комментарий от alpha

>Сделай лучше плагин к торрентокачалке: после окончания закачки разбить на треки, удалить исходник, а автору торрента послать теплый привет.

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

lazyklimm ★★★★★
()

вообще, самый простой вариант - рассматривать cue как ещё один вариант плей-листа. А в диалоге «добавить каталог» просто нужен комбобокс с выбором типа добавляемых файлов «добавлять всё/только аудио/только плейлисты»

как-то так

lazyklimm ★★★★★
()

не знаю,пучел ли ты такие варианты, я часто об них спотыкаюсь:

1. куй может быть потрековым. каждый трек отдельным файлом.

2. куй может быть в любой из виндовых кодировок (cp125*). Ты заранее не угадаешь, из какой кодировки тебе его в utf перегонять.

3. в куях _очень_часто_ пишут правильное имя файла, но расширение имени - неправильное. Чаще всего образ в *.ape или *.flac, а в куе написано *.wav. Иногда в имени куя бывают подсказки в виде тегов [flac][utf8], но рассчитывать на это не приходится.

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

name_no ★★
()
Ответ на: комментарий от XVilka

Проще тогда заставить их разрезать сразу :}

Deleted
()
Ответ на: комментарий от XVilka

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

YAR ★★★★★
()
Ответ на: комментарий от YAR

значит надо написать простенький скрипт для конвертации логов cdparanoia/чего-то еще в логи EAC :) И виндоюзеры не заметят подвоха :D

XVilka ★★★★★
()
Ответ на: комментарий от XVilka

Тогда можно не конвертации, а просто генерации - не все ли равно, что в нем будет? :). Некоторые так и делают. А я просто оформляю и выкладываю музыку на TPB.

YAR ★★★★★
()
Ответ на: комментарий от different_thing

> Ты базу данных для коллекции не забыл?
Нет, не планирую. Мне никогда не нравилась БД, и не понимал зачем она нужна. Если все разложено по каталогам, то каталог music и есть БД.

urxvt ★★★★★
() автор топика
Ответ на: комментарий от RussianNeuroMancer

> Пятый пункт забыли (о xine речь сейчас правда уже не идёт).
Два cue-файла ссылающихся на один аудио-файл будут выглядеть также как бы они ссылались на два разных дата-файла. Честно говоря, идею с выбором конкретного вряд ли удастся реализовать в данной концепции.

Ещё хочу добавить, что один cue может ссылаться на два файла (в каждом из которых несколько треков) - такой случай у вас обрабатывается?

Да это мой cue-парсер поддерживает. Должно заработать из коробки.

urxvt ★★★★★
() автор топика
Ответ на: комментарий от name_no

> 1. куй может быть потрековым. каждый трек отдельным файлом.
Предложенный мной алгоритм должен корректно обработать данный вариант.

2. куй может быть в любой из виндовых кодировок (cp125*). Ты заранее не угадаешь, из какой кодировки тебе его в utf перегонять.

Теоретически, это можно устроить...

3. в куях _очень_часто_ пишут правильное имя файла, но расширение имени - неправильное. Чаще всего образ в *.ape или *.flac, а в куе написано *.wav. Иногда в имени куя бывают подсказки в виде тегов [flac][utf8], но рассчитывать на это не приходится.

IMHO, это можно защитать как FileNotFound.

urxvt ★★★★★
() автор топика
Ответ на: комментарий от urxvt

Спасибо, гляну.

Собственно, это единственный плеер на моей памяти, который из коробки жрет весь мой зоопарк лосслесса без лишних телодвижений. Вот работает и все, waker видимо обладает таким же зоопарком лосслесса.

pekmop1024 ★★★★★
()
Ответ на: комментарий от pekmop1024

> Собственно, это единственный плеер на моей памяти, который из коробки жрет весь мой зоопарк лосслесса без лишних телодвижений. Вот работает и все, waker видимо обладает таким же зоопарком лосслесса.

А как же няшный фубар? :3

Deleted
()
Ответ на: комментарий от pekmop1024

> Посмотри на deadbeef и сделай так же.

Предлагаю сделать иначе: посмотреть на deadbeef и бросить эту затею. DeadBeef уже делает всё, что нужно, велосипедные плееры больше не нужны.

name_no ★★
()
Ответ на: комментарий от name_no

Может, он его на Qt пишет? Есть, конечно, qmmp, но морду нормальную ему так и не сделали, да и по всеядности он таки не дотягивает до говядины

pekmop1024 ★★★★★
()
Ответ на: комментарий от name_no

> Предлагаю сделать иначе: посмотреть на deadbeef и бросить эту затею.
1. Just For Fun
2. Оно умеет быть как MPD с консольным клиентом на другой машине?

urxvt ★★★★★
() автор топика
Ответ на: комментарий от alix

> Проще риповать

Риповать надо образом, но потом нарезать на треки - именно в такой последовательности. Если программа сделает это сама - прекрасно. Рип цельным образом помогает избавиться от разных оффсетов разных приводов (максимум будет один в начале образа и один в конце, что некритично), ошибок позиционирования и т.п.

Иногда порядок композиций важен

Для кого? Я хочу слушать так, как я хочу.

YAR ★★★★★
()
Ответ на: комментарий от urxvt

> IMHO, это можно защитать как FileNotFound.

Тогда половина скачанного будет Not Found :)

YAR ★★★★★
()
Ответ на: комментарий от pekmop1024

> он же под оффтопик. Да и там его надо обвешивать плагинами...

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

Deleted
()
Ответ на: комментарий от Deleted

> Плагины не проблема, а даже плюс

Не, это минус. Потому что обсуждаемый функционал является базовым для данной категории софта.

А в вашем дедбифе есть коллекции?


Нету и не нужно. Есть мозг и файловая система, а кто не осилил - на тех пофиг.

pekmop1024 ★★★★★
()
Ответ на: комментарий от pekmop1024

> Нету и не нужно. Есть мозг и файловая система, а кто не осилил - на тех пофиг.

Коллекции + файловая система позволяют мгновенно грузить огромные дискография, не перечитывая каждый раз тэгов.
Примерно так это выглядит - http://i.imgur.com/2ifaV.png
Пишу с работы, поэтому беспорядок, дома всё аккуратно рассортировано по жанрам и исполнителям

Deleted
()
Ответ на: комментарий от Deleted

Ах да, под онтопиком такое достигалось только mpd+ncmpcpp или ario с плагином файловой системы

Deleted
()
Ответ на: комментарий от pekmop1024

> для медиацентра было бы удобно, честно говоря.

Для медиацентра гораздо более удобно было бы использовать LIRC.

name_no ★★
()
Ответ на: комментарий от pekmop1024

> вместо того, чтобы просато делать это из клиента?

Найти пульт проще и быстрее, чем включить компьютер, запустить клиента и нажать там next.

name_no ★★
()
Ответ на: комментарий от name_no

> включить компьютер, запустить клиента и нажать там next.

я обычно или за компьютером, или сплю, или не дома. И уж тем более его никто не выключает. Так что неактуально. :)

pekmop1024 ★★★★★
()
Ответ на: комментарий от name_no

не знаю,пучел ли ты такие варианты, я часто об них спотыкаюсь:

1. куй может быть потрековым. каждый трек отдельным файлом.

2. куй может быть в любой из виндовых кодировок (cp125*). Ты заранее не угадаешь, из какой кодировки тебе его в utf перегонять.

3. в куях _очень_часто_ пишут правильное имя файла, но расширение имени - неправильное. Чаще всего образ в *.ape или *.flac, а в куе написано *.wav. Иногда в имени куя бывают подсказки в виде тегов [flac][utf8], но рассчитывать на это не приходится.

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

хотелось бы добавить :)

5. бывают случаи, когда альбом порезан на треки, и в каждый файл вшит cue всего альбома (в виде когда он еще был image+cue).

чтобы все варианты image/tracks+cue работали — плеер должен поддерживать 2 отдельных механизма поддержки cue.

1. когда юзер сам выбирает .cue файд для добавления в плейлист. в этом случае в .cue файле должно быть прописано корректное имя файла (или имена файлов, если порезан на треки). если расширение неправильное — можно с переменным успехом найти файл автоматически, игнорируя расширения. при этом нужно чтобы отключался механизм #2.

2. когда юзер выбирает .mp3/flac/ape, а плеер сам ищет к нему cue (в рамках этого же механизма должны открываться вшитые cue, и автоматически детектиться случай из п. [5]).

механизмы, на мой взгляд, взаимоисключающие, и я не вижу удачных способов сделать их автоматически. т.е. юзеру все равно придется вручную выбирать какой-то 1 из них.

deadbeef поддерживает пока только 2й механизм, и то не полностью :)

waker ★★★★★
()
Ответ на: комментарий от waker

ах да, еще бывает вариант

6. 1 cue файл, рядом с которым лежат образы в разных форматах. album.cue + album.wav + album.mp3 + album.flac, например

deadbeef это жрет, т.к. cue ищется из названия файла с музыкой, а не наоборот. если делать через механизм [1] — получится слушать только в одном из форматов - том, который прописан в .cue файле.

waker ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.