GUÍA DEL USUARIO

Trackers

Conecte el reproductor a un tracker de producción, lea una playlist desde él y publique en él las notas de la revisión: Bernard Engine, y después Kitsu, ftrack y Flow Production Tracking.

Un tracker de producción contiene la lista de planos, versiones y tareas de una película. Bernard Review puede leer de él una playlist para revisar y después devolverle las notas y los fotogramas anotados, plano a plano. Nada se ejecuta por sí solo: cada intercambio es un clic, o el comando de un script.

Bernard Engine

Bernard Engine es el tracker de producción de AArts Lab, el editor de Bernard Review; es un producto aparte, que se vende por separado, y llegará próximamente en código abierto.

En esta versión, Bernard Engine (coming soon) figura en primer lugar en la lista Tracker de la pestaña Review Notes, pero todavía no se puede elegir: la publicación directa en Bernard Engine llegará próximamente. Mientras tanto, un pipeline conectado a Bernard Engine intercambia con el reproductor mediante scripts:

  • la playlist entra como un archivo .bpl, con cada clip portando los identificadores del tracker (el bloque x_tracking);
  • las notas salen mediante la exportación de notas, cuyo archivo JSON devuelve esos identificadores clip a clip: cada nota encuentra su versión sin comparar nombres de archivo.

Los detalles están en Integraciones.

Kitsu, ftrack y Flow Production Tracking

File > Tracker... abre la ventana Tracker. Al principio flota y se acopla como cualquier otro panel. Las llamadas al tracker se ejecutan por su cuenta: el reproductor nunca espera a la red, y Cancel detiene la llamada en curso.

La ventana Tracker con un sitio Kitsu en edición: dirección, correo electrónico, Remember y una regla de ruta.

Añadir un sitio

Un sitio es un tracker y su cuenta en él. Add pregunta el tipo y después:

TipoCampos
Kitsula dirección del sitio, su correo electrónico, su contraseña
ftrackla dirección del sitio, el usuario de la API, la clave de la API
Flowla dirección del sitio, el nombre del script, la clave del script

Una información emergente en cada campo indica dónde encontrarlo: para Flow, Admin > Scripts > + Script (la clave solo se muestra una vez, cuando se crea el script: cópiela entonces); para ftrack, My Account > API key; para Kitsu, el correo electrónico y la contraseña con los que inicia sesión en el sitio.

Detalles técnicos Proxy, correspondencias de rutas y de estados, direcciones y secretos

Para todos los tipos: un proxy, un archivo de autoridad de certificación para un estudio que tenga la suya, el Path map (una ruta del estudio y en qué se convierte en Windows, Linux y macOS) y el Status map (los estados del reproductor, pending, approved y not approved, y los del tracker para cada uno).

La dirección debe empezar por https://; http:// solo se acepta hacia esta misma máquina (localhost), por ejemplo un túnel SSH hacia un tracker de pruebas.

Secretos. El campo de la contraseña o de la clave está enmascarado. Con Remember marcada, el secreto va al almacén de credenciales del sistema (Windows Credential Manager, el Secret Service en Linux, el llavero de macOS), y solo una vez que el tracker lo ha aceptado. Sin almacén, el panel indica stored without encryption: el secreto va a un archivo de su perfil que solo usted puede leer. Un pipeline también puede darlo mediante la variable BERNARD_TRACKER_<ID>_SECRET (el nombre del sitio en mayúsculas), que prevalece: el panel indica entonces secret from the environment. El archivo de sitios, trackers.json, nunca contiene un secreto.

Save & Test conserva el sitio y se conecta; Test se conecta de nuevo y muestra el usuario que el tracker conoce, o el error; Forget elimina el sitio y su secreto.

Cargar una playlist

Elija el proyecto y después la playlist; un filtro acota la lista. La vista previa indica para cada clip dónde está su medio: local (la ruta que dio el tracker), mapped (esa ruta, a través del Path map) o not local. Replace sustituye la playlist, Append añade a continuación.

Un clip cuyo medio no está en esta máquina se conserva con sus identificadores y sigue siendo publicable; nunca se abre, ni se exporta, ni se envía a los invitados de una sesión, y la reproducción lo salta.

Previsualizaciones. No se descarga nada durante la carga. Cuando algunos planos no están en esta máquina, sigue una pregunta tras la carga: 3 shots are not on this machine (4.5 MB). Download All los descarga en el orden de la playlist, uno a uno, solo mientras no se reproduce nada, y cada plano se reproduce en cuanto está aquí; Later no descarga nada. Cuando Kitsu, ftrack o Flow aloja el medio, un botón Download preview también descarga un plano en su perfil, donde se conserva 7 días por defecto (Edit > Preferences... > Cache & Performance > Keep downloaded previews (days)). Se rechaza una previsualización de más de 2 GB. Para Flow, es la película subida a la Version (su campo Uploaded Movie, sg_uploaded_movie; otro nombre se fija con la clave de campo uploaded_movie del sitio): solo se usa cuando la ruta de la Version (Path to Movie, Path to Frames, a través del Path map) no está en esta máquina.

Abrir en Bernard Review desde Flow

Los instaladores registran el enlace bernardreview:// (Windows: bajo el propio Software\Classes de la instalación, eliminado por el desinstalador; Linux: el tipo x-scheme-handler/bernardreview de la entrada de escritorio del reproductor). Un administrador de Flow añade la entrada una sola vez, en Flow: Admin > Action Menu Items, un elemento nuevo con URL bernardreview://flow, Entity Types Version y Playlist, y el título Open in Bernard Review (Flow añade sus propios datos a la dirección; no hay nada más que configurar). Un clic derecho en versiones o en una playlist muestra entonces la entrada; el navegador pregunta una vez si puede abrir Bernard Review.

  • Una versión pulsada: las versiones mostradas en la página se abren, en su orden, en la que se ha pulsado. Varias seleccionadas: solo esas. Una playlist: toda la playlist.
  • El enlace abre el reproductor, o va al reproductor que ya está abierto. El sitio debe ser uno configurado aquí (File > Tracker..., la misma dirección): un enlace de otro sitio se rechaza con su nombre, y no se envía nada a ninguna parte. Las versiones se vuelven a leer con su propia conexión, con el secreto ya guardado; si no lo hay, el reproductor indica que se conecte una vez en File > Tracker....
  • Con una playlist vacía, los clips se cargan de inmediato. En caso contrario, la ventana Tracker los muestra con Replace y Append, como una playlist elegida allí (Replace avisa de los clips que haya abierto a mano). Un clip cuyo medio no está en esta máquina recibe Download preview, como se ha dicho.
  • De la dirección solo se conservan el sitio, el tipo de entidad y los ids; su inicio de sesión de Flow y la página de la que procede no se escriben en ninguna parte.

Desde Kitsu. La entrada de Kitsu es una custom action (la página Custom Actions del menú del administrador), que solo se muestra cuando hay tareas seleccionadas (páginas Shots, Assets...), no en la página Playlists. Kitsu envía la selección como un formulario oculto, que una dirección bernardreview:// no puede transportar: la URL de la custom action es una pequeña página de relevo, que convierte el formulario en bernardreview://kitsu?entity_type=Task&selected_ids=<the tasks>&project_id=<the project>&server_hostname=<your Kitsu's host> y no conserva nada (debería descartar el correo electrónico que añade Kitsu). Cada tarea seleccionada se abre como su última previsualización, en el orden de la selección, en la primera; el resto es como para Flow (un sitio Kitsu configurado aquí, Replace / Append, Download preview). La página de relevo: el servidor relay de Bernard Review ofrecerá una; un estudio que quiera alojarla él mismo toma tools/kitsu_relay.py (un solo archivo, biblioteca estándar de Python): ejecútelo con cualquier servidor WSGI tras su dirección HTTPS (su application), o solo para probarlo (python kitsu_relay.py --host 127.0.0.1 --port 8765). Ve el correo electrónico y los ids de tarea que publica Kitsu, no conserva ni registra ninguno, comprueba cada id como un id de Kitsu y el servidor como un nombre de sitio, y responde de inmediato con el enlace. Después, en Kitsu, una custom action nueva: Name Open in Bernard Review, URL la dirección https de la página, Entity type All, AJAX sin marcar.

Desde ftrack. Una acción de ftrack no es una dirección: cuando abre el menú Actions sobre una selección, ftrack pregunta a un programa que se ejecuta en su ordenador qué ofrece. Ese programa es tools/ftrack_action.py (un solo archivo): no hace falta ningún derecho de administrador y no se añade nada al sitio ftrack, pero la entrada solo aparece en su menú Actions y solo mientras se ejecuta. Ejecútelo con ftrack Connect (como un plugin propio, bernard-review/hook/ftrack_action.py, en la carpeta de plugins de Connect o en una carpeta indicada en FTRACK_CONNECT_PLUGIN_PATH, y después reinicie Connect), o solo: python ftrack_action.py con FTRACK_SERVER, FTRACK_API_USER (su nombre de usuario de ftrack, el mismo que en File > Tracker...) y FTRACK_API_KEY (su clave de API personal) definidas, y la API de Python de ftrack instalada (ftrack-python-api). Open in Bernard Review se ofrece entonces en las versiones (una o varias: solo esas se abren, en el orden de la selección, en la primera) y en una lista de versiones o una sesión de revisión (completa, como una playlist elegida en la ventana Tracker). El clic abre bernardreview://ftrack?entity_type=Version&selected_ids=<the versions>&server_hostname=<your ftrack's host> en este ordenador; el resto es como para Flow (un sitio ftrack configurado aquí, Replace / Append, Download preview). El programa no conserva ni registra nada, comprueba cada id como un id de ftrack y el servidor como un nombre de sitio, y no pone ni su nombre de usuario ni su clave en el enlace. ftrack envía solo la selección, nunca las versiones mostradas a su alrededor: una versión pulsada abre esa y nada más.

Linux, el instalador .sh. El escritorio tiene en cuenta de inmediato los paquetes DEB y RPM. Tras el .sh, ejecute una vez: update-desktop-database ~/.local/share/applications (con la entrada de escritorio copiada allí), y después xdg-mime default bernardplayer.desktop x-scheme-handler/bernardreview.

Publicar las notas

La sección Publish, que también abre File > Publish Notes to Tracker..., enumera los clips que tienen una nota o al menos un dibujo. Solo se pueden marcar los cargados desde el sitio conectado.

  • Cada nota empieza con Reviewer: y su nombre, después la nota del clip, y después una marca [f1042] 00:00:43:10 por cada fotograma anotado, numerada y con su tiempo como la muestra la pestaña Review Notes ([f1042] solo, sin timecode). Note text muestra ese texto exacto antes de enviar nada.
  • Cada fotograma anotado se adjunta como un PNG, con la corrección de color del clip y los dibujos.
  • Publish status también actualiza el estado de cada clip, mediante el Status map; desactivado por defecto. Cuando se prueba un sitio (Save & Test, Test Again), el reproductor lee los estados que aceptan sus versiones; un Status map vacío se rellena entonces con ellos (pending -> Pending Review, approved -> Approved, not approved -> un estado de rechazo cuando el sitio lo tiene), y puede cambiarlo en Edit. Un estado que el sitio no tiene nunca se envía: la nota se envía igualmente, y el informe indica qué estado falta y dónde elegirlo o crearlo.
  • Dry Run muestra las peticiones sin escribir nada.
  • Publish... pide confirmación y después informa clip a clip: publicado, omitido o fallido, con el motivo. Una nota ya publicada y sin cambios se omite con la insignia Already published: publicar dos veces nunca crea una segunda nota.

Publish (N) y Finish review

En la parte superior de la pestaña Review Notes (y, en Essential, junto a la píldora del tracker), Publish (N) aparece mientras hay un tracker conectado: N es lo que aún no se ha enviado, una nota con sus dibujos o un estado cambiado por sí solo. Abre la ventana Publish con Publish status marcada; está en gris cuando N vale 0.

  • Estados enviados solos. Un plano con una decisión pero sin nota ni dibujo envía su estado solo, nunca una nota vacía, y una sola vez: vuelve a enviarse únicamente cuando cambia su estado. Un estado cambiado en una nota ya publicada también se envía solo.
  • Finish Review aparece cuando todos los planos están Approved o Not Approved. En Essential, Next Shot pasa a ser Finish Review en el último plano, y un banner lo propone en cuanto se fija la última decisión. En Complete está junto a Publish (N), en gris con el número de planos que aún no tienen decisión.
  • Guarda la playlist, publica los planos decididos con sus estados y después indica lo que se ha enviado (Review published: N notes, M statuses) con Close Player (el valor por defecto) y Keep Working.
  • Si el tracker rechaza o no es accesible, no se cierra nada y todo queda guardado: la ventana indica qué ha fallado, con Retry. Lo que ya se envió no se envía dos veces.
  • Sin tracker, Finish review guarda y después ofrece la exportación de las notas: HTML o Not Now.

Las mismas operaciones existen como comandos para scripts (tracker-sites, tracker-connect, tracker-publish...): véase API de Python e IPC. Ningún secreto pasa por esos comandos.

Para ir más lejos: el manual completo, parte 6.6 (Help > User Guide).