Recebimento e aceitação / R2 · Entrega

Ao receber uma ALE, confira estes campos

Resposta curta: o ALE entregue hoje tem 28 colunas numa ordem fixa; a linha com os nomes das colunas é conferida contra essa ordem. As duas horas depois do fim de dia são o verdadeiro custo do dia: os números de take anotados no papel precisam ser redigitados numa planilha, e a última hora é para ajeitar um registro que alguém vai ler amanhã; um número de take pulado ou um quadro de desvio no timecode fazem o novo conform cair na tarde do dia seguinte. O SlateX entrega isso como linhas de dados — geradas linha por linha, por câmera: quatro câmeras são quatro linhas, e uma linha sem nenhuma informação de câmera sai do mesmo jeito; um valor não anotado fica vazio, e não se tapa com um número que só parece legítimo. Esta página é escrita a um só padrão: o que você entrega deve permitir que quem recebe encontre sozinho onde está o desencontro. A linha de declaração do cabeçalho escreve ao pé da letra de quem são estas convenções; leia-a como fronteira, não como certificado.

O arquivo abrir só prova que a sintaxe é legível. Formato legítimo não equivale a fato correto.

Nomes de coluna e ordem: 28 colunas, conferidas contra as strings que aparecem no arquivo

A posição das colunas é um contrato entre nós e quem recebe: mexer em qualquer coluna obriga a mexer na linha de dados junto, e se os dois lados não andam sincronizados o arquivo inteiro desanda. As 28 colunas entregues hoje, nesta ordem: 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. A última é uma coluna nossa, e o que ela leva é a Duração da cena que o apontador preenche no registro da take: não é a mesma régua do Duration, cuja faixa, na tela, é a célula somente leitura Duração TC, e como os dois saem lado a lado a gente mostra na seção de posição no tempo. A parte receptora confere contra essas literais, sem dar por certo que um fluxo a jusante vá mapear sozinho nomes de coluna parecidos para o mesmo campo. SlateX Description e SlateX Comments trazem o nome do produto porque naquelas duas células vai o que nós escrevemos, e elas não devem se passar pela semântica de coluna padrão de ninguém.

Quem é uma linha: número do cartão, forma literal e número contado pelo software são três coisas

Tape entrega o número do cartão transcrito no set, do jeito que está, com uma condição: que o número inteiro seja só letras e dígitos ASCII. O que passa vai para maiúsculas e é cortado em 31 caracteres; se qualquer outro caráter se misturar (chinês, espaço, hífen), a célula fica vazia inteira, porque a gente não cata letras no nome do cartão para entregar um número que você nunca escreveu. As maiúsculas têm motivo: se o uso de maiúsculas de um mesmo cartão se divide, ele vira três cartões a jusante, e as puxadas em lote, as novas puxadas e as planilhas de montagem param de fechar. Camroll entrega esse mesmo número do cartão, e essa célula também exige o número inteiro em ASCII: se o nome do cartão tem caracteres não latinos, a célula fica vazia, e o texto literal só vive no CSV e no PDF. A redação do contrato de Reel # é que essa coluna traga número, então qualquer letra no número do cartão esvazia a célula inteira; não descascamos prefixo para montar um número que pareça.

Existe ainda uma terceira coisa com cara de identificador: o número de exibição que o próprio software conta, uma letra de câmera mais um contador de três dígitos. Ao lado do número do cartão transcrito, no CSV eles ficam em duas colunas, Reel e Camera Card; escrevê-los separados serve exatamente para o leitor ver qual foi copiado e qual o software atribuiu. Esse número derivado não corresponde a nenhum cartão físico, então não serve para recuperar a mídia original.

Name passa pelas mesmas duas réguas: 31 caracteres e ASCII. Ele monta um nome determinístico com o número do rolo e o do clipe da câmera que está naquela linha —número de cena, de plano e de take—: só quando a tomada não tem nenhuma linha de câmera: o mesmo nome sai igual a cada entrega, mas sem promessa de que duas linhas sejam diferentes: o número da tomada é preenchido à mão, então a identidade se confere campo por campo —número de cena, de plano e de take e, numa linha com várias câmeras, também o da câmera. É um identificador gerado, não o nome que você escreveu no papel do set.

Posição no tempo: entrada e saída só aceitam o que o set efetivamente leu

Start pega o timecode do ponto de entrada que esta linha tem anotado: o valor real do ponto de entrada está naquela célula, e não há uma segunda coluna de recuo. End pega o ponto final que está guardado no banco. O ponto final chega ao banco por dois caminhos: a cadeia de gravação colhe, no instante em que ele manda parar, a leitura que está na tela, e o software escreve isso no banco nesse mesmo momento; e as páginas de cadastro e de edição do registro da take têm cada uma a célula “final”, onde o apontador copia à mão o que vê na tela da máquina. Se nenhum dos dois caminhos é percorrido, a célula fica vazia; a gente também não o calcula somando a duração à entrada, porque isso seria passar um número saído de um cálculo pela leitura original da tela da câmera. A célula do ponto final no CSV vem da mesma fonte e na mesma régua. A célula vazia aparece na folha de conciliação do fim de dia como TC_OUT_MISSING, e o critério é: tem ponto de entrada e não tem ponto final. Alguém precisa voltar ao relatório de câmera, ou de novo na frente da tela do equipamento, para copiar.

Duration não é mais o número de segundos que o apontador reportou. Esta coluna é a distância exata em quadros entre as duas leituras de entrada e de saída, sem contar o quadro final, e por isso é igual a End − Start; faltando qualquer uma das duas leituras, a célula sai vazia. A Duração da cena que o apontador preenche — quanto a ação daquela take durou de fato, com pré-roll, claquete e diretor que começa antes já contando aí — corre por fora, na última coluna SlateX Set Time, e sai lado a lado com o Duration. Os dois números não fecharem não é erro, é o normal do set: eles nunca estão medindo o mesmo trecho. A folha de conciliação marca esse caso com DURATION_MISMATCH só para chamar uma pessoa para olhar, e não mexe no valor de célula nenhuma. FPS só tem valor quando a própria linha traz declaração de taxa de quadros; sem declaração, sem número. Esta coluna nunca mostra uma taxa que esta câmera não tenha reportado.

Ponto e vírgula segue só a declaração. A coluna TC Mode só pode conter um testigo, DF; em branco significa que não há declaração de drop frame, o que não é o mesmo que não-drop-frame. Somente nas linhas que declaram DF é que Start, End e Duration saem na forma com ponto e vírgula. É convenção de exibição do próprio SlateX, o cabeçalho escreve isso ao pé da letra, e não é exigência de padrão algum, então não leia o ponto e vírgula como senha universal de “esta linha é drop frame”. O timecode de som é entregue literal: julga-se o formato, nunca se aparam posições de quadro.

Nesta ALE, valor ausente tem uma só cara: vazio

Célula sem timecode anotado, ou cuja string não passa no controle de forma ou de intervalo, entrega string vazia. Neste arquivo você não vai mais ver 00:00:00:00. O defeito daquela sequência de zeros não era estar errado, era ter cara de válido: impedia quem recebe de separar o zero real do set de um zero preenchido, e por isso esse caminho foi retirado inteiro. Valor ausente é vazio; e um vazio levanta duas questões: se nada foi anotado ou se o que foi anotado não é ASCII. As colunas de texto livre são justamente onde a segunda recai.

As colunas Source File Name e Source File estão na lista; o valor chega por dois caminhos: copiadas no set, ou o próprio app preenche essas mesmas células ao importar a mídia de um arquivo, sem sobrescrever o que já tinha sido copiado à mão; não tendo ocorrido nenhum dos dois, fica vazio, porque a gente não chuta caminho. VFX_Count também está na lista, mas não tem campo manual: só os projetos de demonstração incluídos trazem um valor; uma tomada criada no set sai vazia. Soundroll entrega o número do rolo do livro do relatório de som por essa mesma peneira do Tape: o valor só sai se for inteiro letras e números ASCII; se faltar, fica vazio e não se tapa com o número que o software contou. O ALE inteiro só aceita ASCII, mas são dois critérios diferentes, não uma régua única. O texto livre feito para ser lido —descrição, notas do take, notas de câmera, diretor, unidade— primeiro é reduzido sem perda para formas ASCII quando só o glifo mudou: acentos, aspas tipográficas e travessões, pontuação de largura inteira são reduzidos, e as quebras de linha e as tabulações antes de escrever são achatadas para espaço. Só o que continua não latino depois dessa redução entrega a célula inteira vazia. As células de índice que reconhecem a origem —número do cartão, número da cena, nome do arquivo, caminho— nunca são reduzidas: essa célula precisa carregar a coisa tal como você transcreveu, então um valor não latino sai vazio. Por isso uma nota em chinês aqui é uma célula em branco, enquanto uma nota em alemão com acentos sai reduzida; o texto literal fica no CSV e no PDF nos dois casos.

Em que estado a linha ficou também está escrito no arquivo

Rating entrega o texto da marca do set, a família Circle, Keep, Hold, N/G, e a célula fica vazia quando o take nunca recebeu marca; Circled take entrega TRUE ou FALSE. Assim a parte receptora lê da própria ALE em que estado um take foi marcado e se ele foi circulado, sem precisar perguntar de novo ao apontador.

Tracks tem quatro formas, e não um “se não é MOS então é som sincronizado”: V é take MOS, A1A2 é faixa solta e VA1A2 é som sincronizado; uma linha sem nenhum dado de som deixa a célula em branco, porque não preenchemos por padrão com som sincronizado. Os literais são escritos juntos, sem separadores; a forma V A1 A2 com espaços não existe.

O que a folha de conciliação do fim de dia é e o que ela não é

Uma exportação de um único dia pode levar junto um Reconcile_*.csv. Essa folha julga só a nossa página: o que falta e o que se contradiz dentro dela mesma. São catorze testigos, cada um diz uma coisa: 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. Desses, SOURCE_DUP, MOS_VS_SOUND, MOS_VS_WILD, DURATION_MISMATCH e TC_EPOCH_MIXED sobem a linha inteira para “conflito”, os outros caem em “ausência”, e só se escreve “coerente” quando nenhum dos dois se aplica. DURATION_MISMATCH compara as duas réguas, Duração da cena contra Duração TC, e não decide quem anotou errado. A folha marca e nada mais: não mexe no valor de linha alguma nem usa o número de um para cobrir o de outro.

Aquele “coerente” na folha tem uma só leitura: os nossos critérios não acharam problema. Isso não significa que dois departamentos tenham confirmado coerência entre si.

O limite precisa ficar dito com clareza: esta folha não lê o relatório de câmera nem o relatório de som. O cabeçalho tem duas colunas chamadas “cartão do relatório de câmera” e “número do rolo de som”, mas o valor daquelas duas células vem do registro que você copiou no nosso software, não dos relatórios originais dos dois departamentos. DAY_MISSING diz que este registro, agora, não pertence a nenhum dia de filmagem: o take não se perdeu e sai normalmente no pacote completo; quem não tem valor são as quatro células de número do dia, data, unidade e diretor, e este testigo é o que expõe isso. O que se paga é o papel do fim de dia daquele dia não sair, não que os dados tenham sumido. Existe uma ausência que esta folha não nomeia: a célula esvaziada porque o texto não é ASCII — o banco guarda o valor, então nenhum testigo acende, e essas colunas você só confere contra o que você mesmo copiou.

Conferir com o próprio modelo de importação

O que está acima é uma lista de conferência, não um padrão de mercado, e não prevê como qualquer sistema receptor vai interpretar cada coluna. O objetivo é um só: pôr na mesa os pontos conferíveis, para que quem recebe saiba onde voltar à fonte. Antes de entregar, quem recebe deve conferir o registro item por item com o próprio modelo de importação: o poder de conferir fica na mão do leitor.

Quando a conferência não passa, não misture as três decisões

Devolver. Quando campos de identidade ou de tempo contrariam a mídia ou o registro do set, e o registro original ainda é rastreável, devolva a quem gerou, para que corrija a fonte e gere de novo; assim o lado receptor não fica com uma versão já alterada à mão e sem nota de procedência.

Completar à mão. Só quando o buraco é pequeno, a origem está clara e cada alteração dá para apontar para uma mídia ou um registro específicos, guardando junto a justificativa. Não preencha um vazio com suposição, nem fabrique um número para o End, que está vazio.

Usar só como referência. Se a procedência não pode ser confirmada, ou se você ainda não validou como o fluxo a jusante trata este arquivo, limite-o ao uso de referência e não o deixe sustentar decisões que exigem correspondência exata.

FAQ

Dá para tratar 00:00:00:00 como o zero real do set?

Aquele zero você não vai ver de novo. Todo valor ausente entrega string vazia: célula em branco se lê primeiro como não anotado, com uma exceção, as colunas de texto livre, em que o valor está anotado e só não sai porque não é ASCII; o texto original está no CSV.

Por que o mesmo take aparece em várias linhas?

O ALE é gerado linha por linha, por câmera. O mesmo Scene e o mesmo Take com quatro câmeras são quatro linhas: confira câmera por câmera pelo Camera, sem tomar o total de linhas pelo número de takes. Sem nenhuma informação de câmera anotada, a linha sai do mesmo jeito.

Dá para usar End para o conform?

Confira primeiro se ele tem valor. O ponto final é o valor lido naquele instante no set: a cadeia de gravação colhe a leitura na hora da parada, e o apontador também pode copiá-la à mão da tela; se foi lida, há valor, e se nenhum dos dois caminhos é percorrido a célula fica vazia, e nada é inferido da entrada somada à duração. Mesmo com valor, ele continua sendo uma leitura que precisa ser conferida contra a mídia: confira o arquivo real com o seu próprio modelo de importação, e esta página não promete que ao importar tudo encaixe.

Timecode com ponto e vírgula é a senha universal de drop frame?

Não. Só as linhas cujo TC Mode diz DF usam a forma com ponto e vírgula, e isso é convenção de exibição do SlateX. Em branco significa que não há declaração, não que seja não-drop-frame.

Se a folha diz “coerente”, os dois departamentos se acertaram?

Não. Esta folha só lê a nossa própria página, e “coerente” significa que os nossos critérios não acharam problema. O relatório de câmera e o relatório de som estão fora do alcance de leitura dela.


Axiom One LLC — SlateX