ਆਯਾਤ ਪ੍ਰਵਾਹ
ਆਯਾਤ ਫਾਈਲਾਂ ਦੇ ਫੋਲਡਰ ਨੂੰ ਫਾਈਲਾਂ ਦਾ ਇੱਕ ਬਾਈਟ ਵੀ ਬਦਲੇ ਬਿਨਾ ਰਿਲੀਜ਼-ਸਹੀ ਸੂਚੀ ਦਾਖਲਾ ਬਣਾਉਂਦਾ ਹੈ। ਇਹ ਪੰਨਾ ਵਰਤੋਂ ਮਾਰਗਦਰਸ਼ਨ ਵਿੱਚ ਦਿੱਤੇ ਪ੍ਰਵਾਹ ਦੇ ਪਿੱਛੇ ਪ੍ਰਵਾਹ ਹੈ।
ਜਾਂਚ
ਇਸ ਭਾਗ ਦਾ ਲਿੰਕਵੇਖੇ ਫੋਲਡਰ platform ਦੇ ਫਾਈਲ-ਪ੍ਰਣਾਲੀ events ਨਾਲ ਨਿਗਰਾਨੀ ਕੀਤੇ ਹਨ, ਠਹਿਰਾਏ ਹਨ, ਅਤੇ ਬਦਲਾਅ ਉੱਤੇ re-scanned ਹਨ; scans existing candidate list ਨਾਲ reconcile ਕਰਦੇ ਹਨ, ਮੁੜ ਸ਼ੁਰੂ ਨਹੀਂ ਕਰਦੇ। Scanner ਫੋਲਡਰ ਨੂੰ ਇੱਕ ਰਿਲੀਜ਼ ਵਜੋਂ ਵਰਗਬੱਧ ਕਰਦਾ ਹੈ (ਸ਼ਬਦ ਸਿੱਧਾ ਅੰਦਰ, ਜਾਂ CD1/CD2 ਵਰਗੇ ਡਿਸਕ-shaped subfolders), ਜਾਂ ਸੰਗ੍ਰਹਿ ਵਜੋਂ ਇਸ ਵਿੱਚ recurse ਕਰਦਾ ਹੈ। ਫਾਈਲਾਂ ਐਕਸਟੈਂਸ਼ਨ ਨਾਲ ਸ਼ਬਦ, ਕਲਾ, documents ਵਿੱਚ ਵਰਗਬੱਧ ਹੁੰਦੀਆਂ ਹਨ, ਫਿਰ ਸ਼ਬਦ ਜਾਂਚਿਆ ਹੁੰਦਾ ਹੈ: codec ਜੋ ਅਹਿਮ ਹੈ ਉਹ FFmpeg bytes ਵਿੱਚ ਲੱਭਦਾ ਹੈ, ਫਾਈਲ ਐਕਸਟੈਂਸ਼ਨ ਨਹੀਂ। Partial-ਉਤਾਰਨਾ ਨਿਸ਼ਾਨ ਵਾਲੇ ਫੋਲਡਰ ਉਤਾਰਨਾ ਪੂਰਾ ਹੋਣ ਤੱਕ ਬਾਹਰ ਹਨ।
CUE sheet ਇੱਕ ਸ਼ਬਦ image ਨੂੰ ਟ੍ਰੈਕ list ਬਣਾਉਂਦੀ ਹੈ। ਪਾਰਸਰ pregaps ਅਤੇ postgaps, per-ਟ੍ਰੈਕ ਪੇਸ਼ਕਾਰ ਅਤੇ ISRCs, ਅਤੇ single-ਫਾਈਲ images ਤੇ ਇੱਕ-ਫਾਈਲ-per-ਟ੍ਰੈਕ CUE layouts ਦੋਵੇਂ ਸੰਭਾਲਦਾ ਹੈ। ਟ੍ਰੈਕ ਹੱਦਾਂ CUE ਫਰੇਮ (ਸਕਿੰਟ ਦਾ 1/75ਵਾਂ) ਤੋਂ ਸਹੀ ਨਮੂਨਾ ਸਥਿਤੀਆਂ ਵਿੱਚ convert ਹੁੰਦੀਆਂ ਹਨ, ਜੋ ਬਾਅਦ ਵਿੱਚ playback ਵਰਤਣ ਵਾਲੇ ਬਾਈਟ ਅਤੇ ਨਮੂਨਾ windows ਬਣਦੀਆਂ ਹਨ।
ਸਬੂਤ, tags ਨਹੀਂ
ਇਸ ਭਾਗ ਦਾ ਲਿੰਕIdentification ਇੱਕ pass ਵਿੱਚ ਫੋਲਡਰ ਤੋਂ ਤਿੰਨ ਕਿਸਮ ਦੇ ਸਬੂਤ ਪੜ੍ਹਦਾ ਹੈ:
- disc ID, CD ਦੀ ਸਹੀ ਟ੍ਰੈਕ ਬਣਤਰ ਦਾ MusicBrainz fingerprint, rip log ਜਾਂ CUE sheet ਤੋਂ ਗਿਣਿਆ;
- barcodes, platform ਦੇ vision framework ਨਾਲ ਕਲਾ scans ਤੋਂ decoded ਅਤੇ CUE ਸੂਚੀ fields ਤੋਂ ਪੜ੍ਹਨਾ;
- text: ਕਲਾ OCR, ਫੋਲਡਰ ਅਤੇ ਫਾਈਲ ਨਾਂਵਾਂ, ਅਤੇ rip ਦੀਆਂ ਲਿਖਤ ਫਾਈਲਾਂ ਤੋਂ ਸੂਚੀ ਨੰਬਰ ਅਤੇ free ਲਿਖਤ।
Embedded ਸ਼ਬਦ tags ਜਾਣ-ਬੁੱਝ ਕੇ ਸਬੂਤ ਨਹੀਂ: ਉਹ ਦੱਸਦੇ ਹਨ ਕਿ tagger ਨੇ ਕੀ ਮੰਨਿਆ, pressing ਕੀ ਹੈ ਨਹੀਂ। (ਜਦੋਂ ਵਰਤੋਂਕਾਰ ਰਿਲੀਜ਼ ਨੂੰ ਅਣਜਾਣ ਵਜੋਂ ਆਯਾਤ ਕਰਦਾ ਹੈ, ਉਹ ਵਾਪਸੀ ਮੈਟਾਡੇਟਾ ਲਈ seed ਕਰਦੇ ਹਨ।)
ਡਿਸਕ ID ਅਤੇ barcode ਇਕੱਠੇ looked up ਹੁੰਦੇ ਹਨ, ਡਿਸਕ ID MusicBrainz ਨਾਲ, barcode MusicBrainz ਅਤੇ Discogs ਦੋਹਾਂ ਨਾਲ, ਅਤੇ results triangulated ਹੁੰਦੇ ਹਨ: ਰਿਲੀਜ਼ group ਉੱਤੇ agree ਕਰਨ ਵਾਲੇ results ਮਿਲਦੇ ਹੁੰਦੇ ਹਨ, ਸੂਚੀ-number matches pressing list narrow ਕਰਦੇ ਹਨ, ਅਤੇ signals ਵਿਚਕਾਰ disagreement ਵਰਤੋਂਕਾਰ ਲਈ ਸਪਸ਼ਟ conflict ਵਜੋਂ ਦਿਖਦਾ ਹੈ ਹੁੰਦਾ ਹੈ, silent best guess ਨਹੀਂ। ਹਰ result ਮੂਲ-ਸੂਚਨਾ ਰੱਖਦਾ ਹੈ (ਡਿਸਕ ID ਨਾਲ found, barcode ਨਾਲ, ਸੂਚੀ match) ਤਾਂ ਜੋ UI ਕਹਿ ਸਕੇ ਕਿ ਕਤਾਰ ਕਿਉਂ ਪੇਸ਼ ਹੈ।
ਸਰੋਤ
ਇਸ ਭਾਗ ਦਾ ਲਿੰਕMusicBrainz strict ਇੱਕ-request-per-second pace ਨਾਲ ਗੁਮਨਾਮ ਪੁੱਛਿਆ ਹੈ। Discogs ਵਰਤੋਂਕਾਰ ਦੇ keyring ਤੋਂ personal token ਨਾਲ authenticate ਕਰਦਾ ਹੈ, ਆਪਣੇ ਦਰ limits ਵਿੱਚ ਗਤੀਬੱਧ ਅਤੇ retried, ਅਤੇ rejected token ਇਸੇ ਤਰ੍ਹਾਂ ਰਿਪੋਰਟ ਹੁੰਦਾ ਹੈ ਤਾਂ ਜੋ UI ਇਸਨੂੰ ਝੰਡਾ ਕਰ ਸਕੇ, searches ਚੁੱਪਚਾਪ fail ਨਾ ਹੋਣ। Responses per ਸੈਸ਼ਨ ਅਸਥਾਈ ਰੱਖੇ ਹਨ, ਅਤੇ ਜੋ ਵੀ ਸਰੋਤ ਜਿੱਤਦਾ ਹੈ ਉਸਦਾ ਕੱਚਾ JSON ਭਵਿੱਖੀ re-interpretation ਲਈ database ਵਿੱਚ ਸੰਭਾਲਿਆ ਹੈ।
Commit
ਇਸ ਭਾਗ ਦਾ ਲਿੰਕਆਯਾਤ confirm ਕਰਨ ਨਾਲ, ਕ੍ਰਮ ਵਿੱਚ:
- Decode verification: ਹਰ ਟ੍ਰੈਕ end to end decoded ਹੁੰਦਾ ਹੈ; ਜੋ rip ਪੂਰੀ ਤਰ੍ਹਾਂ decode ਨਹੀਂ ਹੋ ਸਕਦਾ ਉਹ ਕੁਝ ਵੀ ਲਿਖਿਆ ਹੋਣ ਤੋਂ ਪਹਿਲਾਂ ਆਯਾਤ fail ਕਰਦਾ ਹੈ (ਸੰਰਚਨਾ ਝੰਡਾ ਇਸਨੂੰ ਬੰਦ ਕਰ ਸਕਦਾ ਹੈ)।
- Loudness analysis: ਇਕੱਠੀ loudness ਅਤੇ true peak ਉਸੇ decode pass ਦੌਰਾਨ per ਟ੍ਰੈਕ ਅਤੇ per album ਮਾਪੇ ਜਾਂਦੇ ਹਨ, ਮੁੜ-ਚਲਾਉਣਾ-gain ਵਰਤੋਂ ਲਈ ਰੱਖੀ।
- Cover selection: ਚੁਣੀ art (ਦੂਰਲਾ, ਫੋਲਡਰ image, ਜਾਂ embedded) ਦਿਖਾਵਾ ਛੋਟੀ ਤਸਵੀਰ ਵਜੋਂ re-ਬਣਨਾ ਹੁੰਦੀ ਹੈ; original ਰਿਲੀਜ਼ ਦੀਆਂ ਫਾਈਲਾਂ ਵਿੱਚ kept ਹੈ ਜੇ ਇਹ ਫੋਲਡਰ ਤੋਂ ਆਈ।
- Atomic write: ਰਿਲੀਜ਼, ਟ੍ਰੈਕ, credits, ਪਛਾਣਾਂ, ਫਾਰਮੈਟ, ਖੰਡ, ਫਾਈਲਾਂ, ਅਤੇ cover ਇੱਕ ਲੈਣ-ਦੇਣ ਵਿੱਚ commit ਹੁੰਦੇ ਹਨ। Half-imported ਹਾਲਤ ਨਹੀਂ।
ਰਿਲੀਜ਼ ਵਰਤੋਂਕਾਰ ਦੀਆਂ ਫਾਈਲਾਂ ਨੂੰ in place reference ਕਰਦੀ ਹੋਈ ਆਉਂਦੀ ਹੁੰਦੀ ਹੈ। ਜੇ ਵਰਤੋਂਕਾਰ ਨੇ ਕਲਾਉਡ-ਸੰਭਾਲੀ ਚੁਣਿਆ, ਚੜ੍ਹਾਉਣਾ commit ਤੋਂ ਬਾਅਦ ਭੰਡਾਰਣ ਬਦਲਾਅ ਵਜੋਂ ਹੁੰਦਾ ਹੈ, ਅਤੇ ਫਾਈਲਾਂ ਦੇ original bytes ਸਾਰੇ ਸਮੇਂ ਸਰੋਤ of ਸੱਚ ਰਹਿੰਦੇ ਹਨ; ਵਰਤੋਂਕਾਰ ਨੇ bae ਨੂੰ ਦਿੱਤਾ ਕੁਝ ਵੀ ਕਦੇ ਮਿਟਾਈ ਜਾਂ ਬਦਲਿਆ ਨਹੀਂ ਹੁੰਦਾ।
Rips ਪਛਾਣਨਾ
ਇਸ ਭਾਗ ਦਾ ਲਿੰਕਹਰ ਰਿਲੀਜ਼ ਆਪਣੇ imported ਫੋਲਡਰ ਦੀ ਬਣਤਰ ਉੱਤੇ ਸਮੱਗਰੀ ਹੈਸ਼ ਦਰਜ ਕਰਦੀ ਹੈ (ਸਬੰਧਤ ਮਾਰਗ ਅਤੇ ਆਕਾਰ, location-ਆਜ਼ਾਦ)। Re-scans ਇਸਨੂੰ ਫੋਲਡਰ ਨੂੰ already in the ਸੰਗ੍ਰਹਿ mark ਕਰਨ ਲਈ ਵਰਤਦੇ ਹਨ, ਅਤੇ same rip ਦੇ re-ਆਯਾਤ ਨਕਲ ਕਰਨ ਦੀ ਥਾਂ prior ਰਿਲੀਜ਼ ਲੱਭ ਕੇ ਬਦਲਣਾ ਕਰਦੇ ਹਨ।