Конвеєр імпорту
Імпорт перетворює папку з файлами на запис каталогу, не змінюючи жодного байта файлів. Ця сторінка є конвеєром за потоком, описаним у посібнику з використання.
Сканування
Посилання на цей розділВідстежувані папки моніторяться платформними file-system events, із відкладеним запуском, і перескановуються під час зміни; сканування узгоджується з наявним списком кандидатів, а не починає все заново. Сканер класифікує папку як один реліз (аудіо прямо всередині або дископодібні підпапки на кшталт CD1/CD2) або рекурсивно заходить у неї як у збірку. Файли класифікуються за розширенням на аудіо, зображення й документи, потім аудіо перевіряється: важливий codec — той, який FFmpeg знаходить у байтах, а не розширення файла. Папки з маркерами часткового завантаження виключаються до завершення завантаження.
CUE sheet перетворює один аудіообраз на список треків. Parser обробляє pregaps і postgaps, performers та ISRCs для окремих треків, а також CUE-структури з одним файлом-образом і з одним файлом на трек. Межі треків перетворюються з CUE frames (1/75 секунди) на точні позиції samples, які пізніше стають байтові й семплові вікна для відтворення.
Чернетки метаданих
Посилання на цей розділУ кожному з кандидатів зберігається один чернетковий файл метаданих, який можна редагувати, і необов’ язкове походження. Чернетковий файл може бути порожнім, заповненим безпосередньо, заповненим з зовнішнього випуску або заповненим зі збереженого знімку мітки файла. Запис про походження містить дані про те, звідки почався поточний чернетковий файл; пізніші зміни не вилучають цей запис. Безпосередній вхід і очищений чернетковий файл не містять даних про походження.
У верхньому слоті метаданих буде показано чернетку, переглядач Знайти онлайн або переглядач Теги файлів. Відкриття або закриття переглядача не призведе до перезапису чернетки. Застосувати замінить чернетку, її походження і обкладинку вибраного джерела у одній операції з базою даних, зберігши ролі файлів, прив’ язки CUE, призначення дисків і інші рішення щодо відображення.
Знайти онлайн
Посилання на цей розділЗнайти онлайн — це єдиний шлях, який виконує ідентифікацію. Він обчислює ID диска з журналу копіювання або аркуша CUE, розпізнає штрих- коди і текст каталогу за допомогою OCR, запитує MusicBrainz і Discogs і порівнює результати. Вбудовані звукові мітки не є доказом ідентифікації у мережі.
Параметр Типове джерело метаданих має три значення. Немає створює порожню чернетку й не починає роботу з метаданими. Теги файлів читає та застосовує знімок тегів. Знайти онлайн відкриває мережевий процес. Типовий режим Знайти онлайн вибирає Автоматично, що ставить у чергу вилучення доказів, запити до постачальників і зіставлення, або Шукати вручну, що не запускає ідентифікацію. Знайти онлайн використовує вибраний режим для кожного кандидата; Автоматично не перезапускає активну або завершену операцію.
Теги файлів
Посилання на цей розділТеги файлів читає вбудовані звукові мітки і метадані CUE ліниво, якщо не було налаштовано типовий режим для нововідкритих кандидатів. Перегляд зберігає знімок з штампом створення сканування кандидата, редагування файла і спостереження за звуковим файлом. Застосувати замінює чернетку з цього зніму. Імпорт використовує той самий знімок і зазнає невдачі перед записом у бібліотеку, якщо змінено штамп або спостереження; програма не читає іншу відповідь.
Безпосереднє введення не виконує вводу/ виводу метаданих. Порожні поля випуску і доріжки чернетки можна редагувати негайно, а потім її можна імпортувати після перевірки обов’ язкових полів і відповідностей. Список кандидатів не сприймає відсутнє походження як помилку або запит на увагу.
Джерела
Посилання на цей розділMusicBrainz опитується анонімно з суворим темпом один запит на секунду. Discogs автентифікується особистим token користувача зі сховища ключів, працює в межах своїх обмежень частоти з повторами, а відхилений token повідомляється як такий, щоб інтерфейс міг позначити це, а не тихо провалювати пошуки. Відповіді кешуються на сесію, а сирий JSON джерела, що перемогло, архівується в базі даних для майбутньої переінтерпретації.
Підтвердження імпорту виконує, по черзі:
- Перевірка декодування: кожен трек декодується від початку до кінця; рип, який не може повністю декодуватися, провалює імпорт до будь-якого запису (config flag може вимкнути це).
- Аналіз гучності: інтегрована гучність і істинний пік вимірюються для кожного треку й альбому під час того самого проходу декодування, зберігаються для replay-gain.
- Вибір обкладинки: вибране зображення (remote, зображення з папки або вбудоване) перемальовується в мініатюру для показу; оригінал зберігається серед файлів релізу, якщо він прийшов із папки.
- Атомарний запис: release, tracks, credits, identities, formats, segments, files і cover записуються однією transaction. Напівімпортованого стану немає.
Реліз з’являється з посиланням на файли користувача на місці. Якщо користувач вибрав керування у хмарі, завантаження відбувається після запису як перехід сховища, а початкові байти файлів лишаються джерелом істини весь час; нічого з того, що користувач дав bae, ніколи не видаляється й не змінюється.
Розпізнавання рипів
Посилання на цей розділКожен реліз записує content hash структури імпортованої папки (відносні шляхи й розміри, незалежно від розташування). Повторні сканування використовують його, щоб позначати папки, які вже є в бібліотеці, а повторні імпорти того самого рипу знаходять і замінюють свій попередній реліз замість дублювання.