Agrarvolution / com.agrarvolution.autotimecodecorrection

This is a plugin for Premiere Pro, which provídes an automated way to update timecodes / start times of media (clips) in your projects.
MIT License
9 stars 1 forks source link
adobe-bridge cep premiere-pro tentacle-timecode-tool

Automated Timecode Update for Adobe Premiere Pro 14.5+ (CC 2020) and Bridge 10.0+ (CC 2020)

Made for .csv files exported by Tentacle Timecode Tool 1.16.

Automated processing

This CEP HTML plugin changes start times of media files (can be any, except sequences) in a Premiere Pro project.

Important: Media files are not changed. Only XMP Metadata is updated. Use at your own risk.

There is no guarantee every editing software is capable of interpreting Adobe XMP metadata.

Panel in Premiere Pro

Premiere Pro - Correction panel

Correction panel with csv input in Bridge Correction panel with date mode in Bridge

Bridge - correction panel in csv mode (left) and date mode (right).

Repair panel in Bridge

Bridge - repair panel used to rebase framerates or fix faulty values.

Why would you need that?

This plugin offers following benefits:

Requirements

Your Premiere Pro has to at least support Adobe CEP plugins.

Tested with:

Differences between Premiere and Bridge

Premiere Pro

This version works as the previous update. In further testing it turned out, that Premiere doesn't change metadata permanently. You loose the changes if the files are relinked.

Thus the scope was widened to solve the problem in Bridge.

Bridge

Works similarly to the Premiere version.

They share the same panel, but certain features are deactivated for Premiere

This plugin changes permanently changes the file meta data.

Additional Features

Installation

Future

This app will be available in Adobe Exchange (also accessible through Creative Cloud Experience PlugIns).

Manual installation

See also PProPanel Docs.

Put the plugin folder into these directiories, to have Premiere Pro load it:

Windows:    C:\Program Files (x86)\Common Files\Adobe\CEP\extensions
Mac:        /Library/Application Support/Adobe/CEP/extensions

Debug Mode

If you try to run a non signed instance you have to enable PlayerDebugMode.

On Mac, type the following into Terminal, then relaunch Finder (either via rebooting, or from the Force Quit dialog):

defaults write /Users/<username>/Library/Preferences/com.adobe.CSXS.10.plist PlayerDebugMode 1

On Windows, make the following registry entry (a new Key, of type String):

Registry image

Options

After selecting your file, you can select following options to discover the media files you need:

Panel with logging enabled

These settings will not be stored between program updates!

.CSV content / Manual input

If a .csv spreadsheet is created without the tentacle timecode tool, it has to contain "File Name", "Duration", "File TC", "Audio TC" and "Framerate" in this order.

File Name Duration File TC Audio TC Framerate
Test 00:00:05 15:23:10:20 15:23:08:20 25.00

The .csv string is as following:

File Name,Duration,File TC,Audio TC,Framerate
"TestName.MOV","00:00:05","15:21:06:07","08:22:12:18","25.00"

Tentacle Timecode Tool only stores hh:mm:ss for durations, but frames can be inserted in this section. The match will work anyways.

Safety

It was important for me to get a quick overview on mistakes that might have come up during import, so one can fix it easily. Especially for the more critical process of settings timecodes, where finding mistakes can take a long time. For this reason a log area is implement, which shows errors or a verbose process status.

If an error in the csv is discovered at the parsing stage, it will push a log message inside the gui with the cause of failure.

The process will stop if the file is not a .csv, header information of the .csv is incomplete, the rows are missing columns etc. .

Parsing single rows will give a warning for every file that couldn't be processed.

At the end every successful change will be logged only if verbose logging is enabled.

Known Issues

Current

in progess

Previous

Version Date Description
0.3.2 28.05.2024 Added ability to set missing sample frequency for audio files when using rebase, files with missing metadata are ignored
0.3.1 16.03.2024 Improves handling of files with faulty metadata readings - they now display on the panel if the update failed
0.3.0 01.02.2024 Rework of processing code, small fixes, extra panel for repair
0.2.2 13.11.2022 Adds csv export of metadata, small fixes, updated style
0.2.1 10.01.2022 Rewrite of the extension to be compatible with Bridge
0.2.0 15.01.2021 Adds bridge as a plugin host
0.1.1 05.01.2021 Mid-test, small fixes (time in ticks, matching of files)
0.1.0 11.12.2020 Pre-test, non-compiled, but optically finished build
0.0.0 25.11.2020 Development start

Changelist

Maintenance

This plugin will not be thoroughly maintained. If any bugs occur, it might take a while for them to be fixed. It is just a side project of myself.

Compiling / running the source code

Running the plugin via the source code requires the setting up Premiere Pro for Developement.

Further informations for creating a package out of changed source code can be found under this link as well.

The debugging ports of the panels are listed in ".debug".

Future

This is considered not feature complete yet.

After Bridge is feature complete, then there will only be bug fixes and maintence, since this is just a side project.

If the plugin breaks on newer Premiere versions it will eventually be updated.

Reason

I film with DSLRs cameras providing interal timecode, but not taking external sources. So it is hard to synchronize those files using the benefits of timecode. Thus I record audio timecode via a Tentactle Sync E s.

These audio timecode need to be read by a tool like the Tentacle Timecode Tool and can then be converted to a new media file with the correct time code. Since this takes up a considerable amount of CPU-Time, I have opted to painstackenly update the timecodes by hand. Since this takes up 30 min to several hours per project anyways, I wanted to automate the direct update of the media metadata. It now does work in a few milliseconds to seconds instead of hours.

This could have been implemented as a macro as well. Implementing error detection / correction would have needed extensive programming anywways.

So I opted for making a CEP plugin which integrates seemlessly into Premiere. I wanted an "easier" scope to test CEP plugin development for Premiere, to have a better idea creating future plugins.