Вроде бы никто больше не предлагает включить еще какие-то фреймы, так что завтра выложу окончательный вариант. Это не значит, что если кто-то попросит что-то добавить, я его отошью. Просто это будет как бы рабочий образец, чтобы я знал, на что ориентироваться. И еще выложу небольшой список из тегов ID3v2.4. Положение дел такое: ID3v2.3 теги замечательно читаются, но с ID3v2.4 еще придется работать. Добавлена поддержка рассинхронизации, еще добавляю поддержку новых кодировок.
VoVaNy, в Юникоде - обязательно будет (на то это и Юникод ;)), в кодировке Win1251 я записывать ничего не собираюсь, так как это идет вразрез со стандартом и является причной всех кракозябр. В тегах ID3v1 Юникода, правда, нет, но этот тип тегов я к файлам добавлять не буду, не хочу поощрять использование напрочь устаревшего формата. А все не-Юникод строки в старых тегах будут переводиться в Юникод при редактировании или обновлении тега, это я хочу обязательно сделать.
Вот, наконец-то дописал я огромный список фреймов: www.malcolm-soft.com/ru/docs/ID3v2Frames.txt Все, что будет поддерживаться, я отметил. Если есть еще какие-то предложения по включению фреймов в список поддерживаемых, сообщайте. Flap91, ты издеваешься, что ли? Откуда там взяться мегабайту? А объем я и сам не знаю, узнаю не намного раньше остальных. Там место займут иконки для браузера, а сколько будет код весить, предугадать сложно. И неизвестно, насколько сожмется Jar.
Теги ID3v2.4 почти доделаны, надо только доделать распознавание тега, если он в конце файла. Уже сегодня с большим скрипом сделал поддержку разбитых на части фреймов. Ну вот чем создателям не понравилось положение тега в начале? Был он там и было удобно. Нет, вот, выпендрились, чтобы он мог быть по частям, да еще и мог располагаться в самом конце. С ID3v1-то было все просто: он всегда был 128 байт.
А этот бывает разной длины. Они сделали footer (заголовок, только прибаляемый к концу, а не к началу), чтобы было легче искать, типа: ищите с конца. И как, интересно, я буду искать с конца, если поток ввода всегда читается с начала? Ладно, выкручусь как-нибудь. Не мог никак удержаться, чтобы не покритиковать стандарт. Он гибкий-то гибкий, но очень неудобный в релизации. Неудивительно, что некоторые программы стали стали помечать MP3 тегами APEv2.
Malcolm, не, ну, а нафига ваще нужны все те фреймы? Оставь те, которые есть на компе и всё! Всё остальное - это, по-моему, извращенство! ТЕМ БОЛЕЕ на телефоне!
ПиЛюлЬkинъ, я перечислил вообще все, которые есть, чтобы те, кому сейчашнего набора не хватает, знали, на что ориентироваться, а поддерживать буду только те, которые отмечены "+". Кстати, какие ты имеешь в виду под фреймами, которые на компе? Windows Media Player, например, может показывать очень многие неподдерживаемые мной, редактировать там тоже многие можно. Я и авторов музыки часто себе ставлю, и популяриметр. Пользуюсь, кстати 11-й версией, если интересно.
Спешу сообщить, что распознавание ID3v2.4 тегов доделано, и вся библиотека после полуторы недель труда наконец готова. Увы, чтение тегов в конце файла или разбитых на части проверено не было, т. к. нет под рукой такого файла. Но я таких тегов вообще не видел, реализовал только потому, что это есть в стандарте ( ), так что, думаю, проверять и не придется. Осталось проверить обработку некоторых фреймов, но это мелочь. Теперь буду модифицировать браузер и создавать интерфейс редактирования.
ts 2 авг 2007 в 00:12
Положение дел такое: ID3v2.3 теги замечательно читаются, но с ID3v2.4 еще придется работать. Добавлена поддержка рассинхронизации, еще добавляю поддержку новых кодировок.