Ricevuto un ALE, controlla prima questi campi
Risposta breve: un ALE viene consegnato oggi con 28 colonne in un ordine fisso; la riga con i nomi delle colonne si controlla rispetto a quell’ordine. Le due ore dopo la fine della giornata sono il costo reale della giornata: i numeri di ciak scritti su carta vanno ritrascritti in un foglio di calcolo, e per ultimo tocca riordinare il registro per chi lo leggerà domani; un numero di ciak saltato o un fotogramma di scarto nel timecode spostano il confronto da rifare sul pomeriggio del giorno dopo. SlateX consegna tutto questo come righe di dati, generate riga per riga per singola videocamera: quattro videocamere fanno quattro righe, e anche senza una sola informazione di videocamera registrata una riga esce lo stesso; la cella non registrata resta vuota, non la riempiamo con un numero che sembra legittimo. Questa pagina è scritta secondo un solo criterio: ciò che consegni deve permettere a chi riceve di trovare da sé dove non torna. La riga di dichiarazione in testa al file scrive alla lettera chi ha fissato queste convenzioni: leggila come un confine, non come un certificato.
Che il file si apra dimostra soltanto che la sintassi è leggibile. Una forma valida non equivale a fatti corretti.
Nomi delle colonne e ordine: controllare le 28 colonne sulle stringhe effettivamente presenti nel file
Le posizioni di colonna sono il contratto fra noi e chi riceve: chi cambia una colonna deve cambiare la riga dati nello stesso passaggio, altrimenti, da entrambe le parti, è l’intero file a sfasare. Le 28 colonne attualmente consegnate, in questo ordine: Name, Tracks, Start, End, Duration, Scene, Take, Reel #, Soundroll, FPS, SlateX Description, SlateX Comments, Tape, Camera, Camera Notes, VFX_Count, VFX_Type, Director, Sound TC, Source File Name, Source File, Camroll, Shoot date, Unit, Rating, Circled take, TC Mode, SlateX Set Time. L’ultima è una colonna nostra, e dentro c’è la Durata scena che il continista riempie di suo pugno sulla scheda del ciak: non è la stessa misura di Duration, la cui ampiezza, a schermo, è la casella in sola lettura Durata TC, e come le due escono affiancate lo dice la sezione sulla posizione temporale. Chi riceve verifica sulle stringhe letterali, senza dare per scontato che a valle un nome di colonna simile venga mappato automaticamente sullo stesso campo. SlateX Description e SlateX Comments portano il prefisso del nome del prodotto perché in quelle due celle c’è un contenuto scritto da noi, e non deve spacciarsi per la semantica standard di altri.
Chi è una riga: numero di scheda, forma alla lettera e numero contato dal software sono tre cose diverse
Tape consegna il numero di scheda copiato sul set così com’è, a una condizione: che tutta la stringa sia lettere e cifre ASCII. Solo chi passa va in maiuscolo e viene troncato a 31 caratteri; se si mescola qualsiasi altro carattere, cinese, spazio o trattino che sia, la cella resta vuota per intero, perché non raccattiamo lettere dal nome di una scheda per consegnare un numero che non hai mai scritto. Il maiuscolo ha una ragione: se una stessa scheda si divide fra maiuscole e minuscole, a valle diventa tre schede, e recuperi in batch, nuovi recuperi e fogli di montaggio non tornano più da nessuna parte. Camroll consegna lo stesso numero di scheda, e anche questa cella vuole la stringa tutta in ASCII: se il nome della scheda contiene caratteri non latini la cella resta vuota, e il testo alla lettera vive solo nel CSV e nel PDF. Il contratto di Reel # dice che la colonna si riempie di numeri: appena una lettera entra nel numero di scheda, la cella resta vuota; non eliminiamo il prefisso per costruire un numero che sembra tale.
Una terza cosa assomiglia a un’identificazione: il numero di visualizzazione contato dal software stesso, una lettera di videocamera più un incremento a tre cifre. Nel CSV sta accanto al numero di scheda copiato, separato in Reel e Camera Card; la separazione serve a far vedere al lettore quale fu copiato e quale fu messo dal software. Un numero derivato non corrisponde a nessuna scheda fisica: non permette di ritrovare il materiale originale.
Name è tenuto alle stesse due misure: 31 caratteri e ASCII. Costruisce il nome in modo deterministico con il numero di rullo e il numero del clip della videocamera che sta su quella riga; ripiega su un nome che il ciak ha già — numero di scena, di inquadratura, di ciak — solo quando quel ciak non ha nessuna riga di videocamera: la stringa è sempre la stessa a ogni esportazione, ma non c’è alcuna promessa che due righe diverse portino nomi diversi: i numeri di ciak sono digitati a mano, quindi l’identità va verificata riga per riga su scena, inquadratura e ciak, e sulle registrazioni con più videocamere anche sulla videocamera. È un identificativo generato, non il nome che hai scritto su carta sul set.
Posizione temporale: per punto di inizio e punto di fine conta solo ciò che è stato letto sul set
Start prende il timecode del punto di inizio rilevato per questo ciak: il valore vero del punto di inizio sta in quella casella, e una seconda colonna di ripiego non esiste. End prende il punto di fine tenuto nell’archivio. Il punto di fine arriva all’archivio da due vie: la catena di registrazione rileva la lettura sullo schermo nell’istante in cui si dà lo stop, e il software la scrive nell’archivio in quell’istante; inoltre le pagine di creazione e di modifica della scheda del ciak hanno ciascuna una casella «fine», dove il continista copia a mano ciò che vede sullo schermo della macchina. Se nessuna delle due vie è percorsa, la cella resta vuota: non lo ricaviamo da inizio più durata, perché sarebbe spacciare per la lettura originale sullo schermo della videocamera un numero tirato fuori da un calcolo. Anche la cella di fine del CSV segue la stessa provenienza e lo stesso metro. Una cella vuota si mostra sulla tabella di confronto di fine giornata come TC_OUT_MISSING, e il criterio è: punto di inizio presente, punto di fine assente. Qualcuno deve tornare al rapporto di ripresa, o rimettersi davanti allo schermo della macchina, per copiarlo.
Duration non è più il numero di secondi riferito dal continista. Questa colonna è l’intervallo esatto in fotogrammi fra le due letture di inizio e di fine, escluso il frame finale, ed è per questo che è pari a End − Start; se manca una delle due letture, la cella si consegna vuota. La Durata scena che il continista riempie di suo pugno — quanto è durata davvero la recitazione di quel ciak, con pre-roll, lo schiocco del ciak e un regista che parte prima, già dentro — viaggia nell’ultima colonna, SlateX Set Time, ed esce affiancato a Duration. Che i due numeri non tornino non è un errore, è la normalità del set: non stanno misurando lo stesso tratto. La tabella di confronto segnala quel caso con DURATION_MISMATCH per portare una persona a guardare, e non cambia il valore di nessuna cella. FPS ha un valore solo se la riga stessa porta una dichiarazione di frequenza fotogrammi: senza dichiarazione, niente numero. La colonna non mostra mai una frequenza che questa macchina non abbia segnalato.
Il punto e virgola segue solo le dichiarazioni. Nella colonna TC Mode può comparire solo un gettone, DF; lo spazio vuoto significa che non esiste dichiarazione drop frame, e non significa «non drop frame». Solo le righe che dichiarano DF scrivono Start, End e Duration in forma con il punto e virgola. È una convenzione di visualizzazione propria di SlateX, scritta alla lettera in testa al file; non è la richiesta di alcuno standard, quindi non prendere il punto e virgola per il segnale universale di «questa riga è drop frame». Il timecode audio si consegna alla lettera: si giudica la forma, non si taglia nessuna posizione di fotogramma.
In questo ALE, un valore mancante ha una sola forma: vuoto
Le celle il cui timecode non è stato rilevato, o la cui stringa non supera il controllo di forma o di intervallo, si consegnano come stringhe vuote. 00:00:00:00 non comparirà più in questo file. Il difetto di quella fila di zeri non era l’essere sbagliato, era il sembrare legittimo: chi riceveva non poteva distinguere il vero punto di zero del set da uno riempito, e quella strada è stata ritirata del tutto. Valore mancante vuol dire vuoto; e davanti a un vuoto vanno distinte due cose: se nulla è stato rilevato, o se ciò che è stato rilevato non è ASCII. Le colonne di testo libero sono esattamente il luogo dove capita la seconda.
Source File Name e Source File sono colonne presenti; il loro valore arriva da due vie: copiate sul set, oppure l’app compila quelle stesse celle quando i media vengono importati da un file, senza sovrascrivere ciò che era già stato copiato a mano; se nessuna delle due è percorsa, cella vuota, e non indoviniamo i percorsi. Anche VFX_Count è una colonna senza campo manuale: solo i progetti dimostrativi inclusi portano un valore, quindi una ripresa creata sul set resta vuota. Soundroll consegna il numero di bobina tenuto nel registro del rapporto audio attraverso lo stesso filtro Tape: il valore parte solo se composto per intero da lettere e cifre ASCII; se manca, vuoto, senza sostituirci il numero contato dal software. L’ALE intero accetta solo ASCII, ma sono due criteri diversi, non un metro unico. Il testo libero pensato per essere letto — descrizione, note del ciak, note videocamera, regista, unità — viene prima riportato senza perdite a forme ASCII quando è cambiato solo il grafema: accenti, virgolette tipografiche e trattini, punteggiatura a piena larghezza sono riportati, e a capo e tabulazioni prima della scrittura sono compressi in spazi. Solo ciò che resta non latino dopo questo riporto consegna la cella vuota per intero. Le celle d’indice che riconoscono la fonte — numero di scheda, numero di scena, nome del file, percorso — non sono mai riportate: quella cella deve portare la cosa come l’hai trascritta, quindi un valore non ASCII esce vuoto. Una nota in cinese è quindi, in questa consegna, una cella bianca, mentre una nota tedesca con accenti esce riportata; il testo alla lettera resta nel CSV e nel PDF in entrambi i casi.
Lo stato di ogni riga è scritto nel file
Rating consegna il testo di marcatura del set: la famiglia Circle, Keep, Hold, N/G — e se un ciak non ha mai ricevuto una classe la cella resta vuota; Circled take consegna TRUE o FALSE. Chi riceve può quindi leggere dall’ALE stesso con quale classe un ciak è stato marcato e se è stato cerchiato, senza tornare a chiedere al continista.
Tracks ha quattro forme, e non «se non è MOS allora è suono sync»: V è un ciak MOS, A1A2 una wild track, VA1A2 suono sync; una riga senza nessun fatto audio lascia la cella vuota, non mettiamo suono sync per difetto. I letterali sono scritti di seguito, senza separatori; la forma V A1 A2 con spazi non esiste.
Che cosa è — e che cosa non è — la tabella di confronto di fine giornata
Un’esportazione di un singolo giorno può allegare un Reconcile_*.csv. Questa tabella giudica solo una pagina, la nostra: che cosa manca, che cosa contraddice sé stessa. Quattordici codici, ognuno per una cosa sola — CARD_MISSING, SOURCE_MISSING, SOURCE_DUP, SOUND_ROLL_MISSING, SOUND_TC_MISSING, MOS_VS_SOUND, MOS_VS_WILD, TC_MODE_UNDECLARED, TC_SOURCE_UNDECLARED, TC_EPOCH_MIXED, DURATION_MISMATCH, TC_IN_MISSING, TC_OUT_MISSING, DAY_MISSING. Di questi, SOURCE_DUP, MOS_VS_SOUND, MOS_VS_WILD, DURATION_MISMATCH e TC_EPOCH_MIXED portano l’intera riga a «conflitto», gli altri finiscono a «mancante», e «coerente» si scrive solo se non ne vale nessuno dei due. DURATION_MISMATCH confronta le due misure, Durata scena contro Durata TC, e non decide chi ha sbagliato a registrare. La tabella si limita a contrassegnare: non tocca il valore di nessuna riga, e non copre il numero dell’uno con quello dell’altro.
«coerente» sulla tabella ha una sola lettura: i nostri criteri non hanno trovato nulla. Non significa che due reparti abbiano confermato l’accordo.
Il confine va detto per iscritto: questa tabella non legge il rapporto di ripresa e non legge il rapporto audio. La testa porta due colonne «numero di scheda (rapporto di ripresa)» e «numero di bobina audio», ma i loro valori vengono dalla scheda che hai copiato nel nostro software, non dai rapporti originali dei due reparti. DAY_MISSING dice che questa scheda, al momento, non appartiene a nessun giorno di riprese: il ciak non è perduto e parte come sempre nel pacchetto completo, solo che numero di giorno, data, unità e regista portano il vuoto, e lo mostra solo questo codice. Si paga il fascicolo di fine giornata del giorno stesso, non la perdita dei dati. C’è una mancanza che non verrà nominata: le celle svuotate perché il testo non è ASCII — nell’archivio il valore è registrato, quindi nessun codice si accende, e per quelle colonne il controllo si fa solo contro ciò che hai copiato tu.
Confrontare con il proprio modello di importazione
Quanto sopra è una lista di controllo, non uno standard di settore, e non prevede come un sistema di ricezione interpreterà ogni colonna. Serve a una cosa sola: mettere in evidenza i punti controllabili, perché chi riceve sappia dove tornare alla fonte. Prima di consegnare, chi riceve deve ripassare la scheda voce per voce con il proprio modello di importazione: il controllo resta in mano al lettore.
Quando il controllo non passa, i tre comportamenti non vanno mescolati
Restituire. Se un campo di identità o di tempo contraddice i materiali o le registrazioni del set, e le registrazioni originali restano tracciabili, rinvia il file alla parte generatrice perché corregga la sorgente e lo rigeneri: così, lato ricezione, non resta nessuna versione già modificata a mano e priva di note sulla provenienza.
Integrare a mano. Integra solo quando il vuoto è piccolo, la provenienza è chiara e ogni modifica può puntare a un materiale o a una registrazione precisi, tenendo accanto la motivazione. Non riempire un vuoto a intuito, e non fabbricare un numero per l’End rimasto vuoto.
Usarlo solo come riferimento. Se la provenienza non è confermabile, o se non hai ancora verificato come la parte a valle tratta questo file, tienilo nell’uso di riferimento, senza fargli sostenere decisioni che richiedono un confronto preciso.
FAQ
Il 00:00:00:00 si può prendere come vero punto di zero?
Quella fila di zeri non la rivedrai più. I valori mancanti si consegnano tutti come stringhe vuote: una cella vuota si legge prima come «non rilevata» — fanno eccezione solo le colonne di testo libero, dove il valore è registrato ma, non essendo ASCII, non può uscire; il testo sta nel CSV.
Perché uno stesso ciak compare su più righe?
L’ALE è generato riga per riga per singola videocamera. Lo stesso Scene e lo stesso Take con quattro videocamere fanno quattro righe: verifica per Camera e non contare le righe come ciak. Anche senza una sola informazione di videocamera registrata, una riga esce lo stesso.
Si può usare End per il confronto?
Guarda prima se ha un valore. Il punto di fine registra il valore letto in quell’istante sul set: la catena di registrazione lo rileva allo stop, e il continista può anche copiarlo a mano dallo schermo; letto, il valore c’è, e se nessuna delle due vie è percorsa la cella resta vuota, e non lo ricaviamo da inizio più durata. Anche quando ha un valore resta una lettura da verificare contro i materiali: controlla il file reale con il tuo modello di importazione, e questa pagina non promette che all’importazione si allinei tutto.
Un timecode con il punto e virgola è il segnale generale del drop frame?
No. La forma con il punto e virgola spetta solo alle righe il cui TC Mode porta DF; è una convenzione di visualizzazione propria di SlateX. Lo spazio vuoto significa assenza di dichiarazione drop frame, non «non drop frame».
Se la tabella scrive «coerente», i due reparti si sono riscontrati?
No. Questa tabella legge solo la nostra pagina, e «coerente» vuol dire che i nostri criteri non hanno trovato nulla. Il rapporto di ripresa e il rapporto audio non ricadono nel suo raggio di lettura.
Axiom One LLC — SlateX