Commit Graph
5 Commits
Author SHA1 Message Date
K1ndWha1eandClaude Opus 5.5 a76bbe18f1 *чтение: пустые или испорченные («�») название, альбом и автор в ID3v2 берутся из ID3v1 (старые файлы хранят там cp1251)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-09 21:58:08 +03:00
K1ndWha1eandClaude Opus 5.5 a3e244205a *повторная запись: если новый тэг помещается на место старого — переписывается только он, аудио не трогается; запас в тэге 4 КБ
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-09 21:07:45 +03:00
K1ndWha1eandClaude Opus 5.5 a6b4f0fbcf *перезапись тэгов на месте: файл сохраняет inode (Audiobookshelf опознаёт файлы по inode, замена через mv путала его библиотеку)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-09 00:10:40 +03:00
K1ndWha1eandClaude Opus 5.5 1e686ba304 *перезапись тэгов сохраняет владельца и права исходного файла (файлы библиотеки на NAS)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-08 20:50:49 +03:00
K1ndWha1eandClaude Opus 5.5 8a03ad3cd4 *добавлен API для аудиокниг (metadata/audiobook.v): TCOM, TIT1, COMM, TXXX, APIC, запись в файл без ID3v2, cp1251, потоковая перезапись
*публичные функции перехватывают панику (recover) и возвращают ошибку, проверка размера тэга
*совместимость с V master: iconv больше не обрезает NUL, у Frame убран @[heap] (баг кодогенерации)
*тесты test/audiobook_test.v

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-08 15:17:53 +03:00