- Notifications
You must be signed in to change notification settings - Fork0
Text parser and CSV converter for Avid Pro Tools text exports.
License
witty3235/ProToolsText
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Text parser and CSV converter for Avid Pro Tools text exports.
Of most interest at this time is the PText Converter.app utility program...
- Download PText Converter.app from theReleases page.
- Launch PText Converter.app.
- From the "File" menu, select "Convert Text Export..." or type Command-O.
- Select a text export from Pro Tools.
- The app will present a save dialogue. Select a destination for the CSV file.
- Click OK.
Avid Pro Tools exports a tab-delimited text file organized in multiple parts with an uneven syntax that usually can't "drop in" toother tools like Excel or Filemaker. This project implements a simple Mac OS X application that accepts a text export fromPro Tools and converts it into aCSV of the clips, unfolding track and session data in the process, and also parsingadditional columns from the clip, track, and session name.
Importing a normal text export outputs a CSV with one row for each clip, like this:
PT.Session.Name | PT.Track.Name | PT.Clip.Number | PT.Clip.Name | PT.Clip.Start | PT.Clip.Finish | PT.Clip.Muted | ... |
---|---|---|---|---|---|---|---|
Test Session | Track 1 | 1 | Audio 1-01 | 01:00:00:05 | 01:01:00:12 | Unmuted | ... |
Test Session | Track 1 | 2 | Audio 1-02 | 01:01:00:12 | 01:01:00:20 | Unmuted | ... |
etc... Each clip has a column for the track name of the clip in addition to the session name. A column for the track commentsis also included. The first row of the outputalways contains column headings.
Track names, track comments, and clip names can also contain meta-tags, or "fields," to add additional columns to the CSV output.Thus, if a clip has the name:
Fireworks explosion {note=Replace for final} $V=1 [FX] [DESIGN]
The row output for this clip will contain columns for the values:
... | PT.Clip.Name | note | V | FX | DESIGN | ... |
---|---|---|---|---|---|---|
... | Fireworks explosion | Replace for final | 1 | FX | DESIGN | ... |
These fields can be defined in the clip name in three ways:
$NAME=VALUE
creates a field namedNAME
with a one-word valueVALUE
.{NAME=VALUE}
creates a field namedNAME
with the valueVALUE
.VALUE
in this case may contain spaces or any chartacterup to the closing bracket.[NAME]
creates a field namedNAME
with a valueNAME
. This can be used to create a boolean-valued field; in the CSVoutput, clips with the field will have it, and clips without will have the column with an empty value.
For example, if two clips are named:
"Squad fifty-one, what is your status?" [FUTZ] {Ch=Dispatcher} [ADR]
"We are ten-eight at Rampart Hospital." {Ch=Gage} [ADR]
The output will contain the range:
... | PT.Clip.Name | Ch | FUTZ | ADR | ... |
---|---|---|---|---|---|
... | "Squad fifty-one, what is your status?" | Dispatcher | FUTZ | ADR | ... |
... | "We are ten-eight at Rampart Hospital." | Gage | ADR | ... |
Fields set in track names, and in track comments, will be applied toeach clip on that track. If a track commentcontains the text{Dept=Foley}
for example, every clip on that track will have a "Foley" value in a "Dept" column.
Likewise, fields set on the session name will apply to all clips in the session.
Fields set in markers, and in marker comments, will be applied to all clips whose finish isafter that marker. Fieldsin markers are applied cumulatively from breakfast to dinner in the session. The latest marker applying to a clip hasprecedence, so if one marker comes after the other, but both define a field, the value in the later marker
An important note here is that, always, fields set on the clip name have the highest precedence. If a field is set in a clipname, the same field set on the track, the value set on the clip will prevail.
A clip name beginning with "@" will not be included in the CSV output, but its fields will be applied to clips withinits time range on lower tracks.
If track 1 has a clip named@ {Sc=1- The House}
, any clips beginning within that range on lower tracks will have afieldSc
with that value.
A clip name setting the[AP]
field will have its parsed clip name appended to the following cue, and the fields of following cues will be applied (earlier clips having precedence). The clips need not be touching, and the clips will be combined into a single row of the output. The start time of the first clip will become the start time of the row, and the finish time of the last clip will become the finish time of the row.
This is experimental software, it is provided AS IS with no warranty for any purpose.
At this time the application only accepts text exports in the UTF-8 format, and exports CSV encoded likewise.
The parser is naive about timecodes and time formats. Times are compared by lexicographic sorting, which works greatfor SMPTE timecodes, but may have unexpected results with anything else.
About
Text parser and CSV converter for Avid Pro Tools text exports.
Resources
License
Code of conduct
Stars
Watchers
Forks
Packages0
Languages
- Swift96.9%
- XSLT2.7%
- Objective-C0.4%