Commit Graph

  • 095499b0fe Запись тэга с обложкой: старая обложка не читается, новая копируется один раз master K1ndWha1eandClaude Opus 5.5 2026-10-11 18:50:55 +03:00
  • 6161a7faaa vfmt: весь код в формате V master (без изменений логики) K1ndWha1eandClaude Opus 5.5 2026-10-11 17:31:02 +03:00
  • 4c9184aeb2 Чтение тэгов без обложки: с диска только нужные текстовые фреймы, у APIC — лишь признак K1ndWha1eandClaude Opus 5.5 2026-10-11 17:26:44 +03:00
  • dc13ae43b8 Меньше памяти на тэгах с обложкой: фрейм заполняется прямо в массиве, тэг собирается в буфер нужного размера, «только тэг» пишется без копии, буферы — free() K1ndWha1eandClaude Opus 5.5 2026-10-11 11:26:29 +03:00
  • 71b838e7d4 Frame снова @[heap]: баг кодогенерации V master (heap-структура из generic-функции в []T) исправлен в 03e12f3 K1ndWha1eandClaude Opus 5.5 2026-10-10 19:43:22 +03:00
  • a76bbe18f1 *чтение: пустые или испорченные («�») название, альбом и автор в ID3v2 берутся из ID3v1 (старые файлы хранят там cp1251) K1ndWha1eandClaude Opus 5.5 2026-10-09 21:58:08 +03:00
  • a3e244205a *повторная запись: если новый тэг помещается на место старого — переписывается только он, аудио не трогается; запас в тэге 4 КБ K1ndWha1eandClaude Opus 5.5 2026-10-09 21:07:45 +03:00
  • b037345b7b *write_book_tags_report: переписан ли файл на месте и почему нет (запасная замена новым файлом больше не молчит) K1ndWha1eandClaude Opus 5.5 2026-10-09 20:17:31 +03:00
  • a6b4f0fbcf *перезапись тэгов на месте: файл сохраняет inode (Audiobookshelf опознаёт файлы по inode, замена через mv путала его библиотеку) K1ndWha1eandClaude Opus 5.5 2026-10-09 00:10:40 +03:00
  • 1e686ba304 *перезапись тэгов сохраняет владельца и права исходного файла (файлы библиотеки на NAS) K1ndWha1eandClaude Opus 5.5 2026-10-08 20:50:49 +03:00
  • d85b105d1c *тестовые mp3 в репозитории, чтобы тесты запускались из клона K1ndWha1eandClaude Opus 5.5 2026-10-08 15:21:34 +03:00
  • 8a03ad3cd4 *добавлен API для аудиокниг (metadata/audiobook.v): TCOM, TIT1, COMM, TXXX, APIC, запись в файл без ID3v2, cp1251, потоковая перезапись *публичные функции перехватывают панику (recover) и возвращают ошибку, проверка размера тэга *совместимость с V master: iconv больше не обрезает NUL, у Frame убран @[heap] (баг кодогенерации) *тесты test/audiobook_test.v K1ndWha1eandClaude Opus 5.5 2026-10-08 15:17:53 +03:00
  • 078e68efa8 *исправление ошибок: двой перезаписи, исправление записи с BOM, добавлена проверка в insert_tags_into_audio K1ndWha1e 2026-10-07 23:24:01 +03:00
  • ffa8d80875 *всё работает K1ndWha1e 2026-10-07 23:03:27 +03:00
  • aa04fd4df0 *исправления по считыванию данных без BOM *добавлены работающие тесты K1ndWha1e 2026-09-29 23:26:34 +03:00
  • d03f6214aa *небольшие исправления K1ndWha1e 2026-09-26 00:23:48 +03:00
  • c06ef69c67 *исправлена запись новых тегов и apic K1ndWha1e 2026-09-26 00:13:48 +03:00
  • abab08f133 *многое сделано, не помню что K1ndWha1e 2026-09-25 21:57:30 +03:00
  • fdc72ae653 *добавлено получение закодированного тэга K1ndWha1e 2026-07-18 22:14:05 +03:00
  • 4196efa9a6 *небольшие оптимизации *добавлен метод encode_frame *подправлена структура Frame K1ndWha1e 2026-07-17 23:55:22 +03:00
  • 18ac12f3b5 *небольшой рефакторинг *добавлен метод encode_size для Frame K1ndWha1e 2026-07-12 00:26:27 +03:00
  • 81034325a1 первый коммит K1ndWha1e 2026-07-11 20:46:19 +03:00