Skip to main content
Inspiring
October 13, 2015
Answered

QE: What is this rabbithole?

  • October 13, 2015
  • 2 replies
  • 4916 views

Soooo as the title asks: What is QE? There's absolutely no documentation on it, and it appears to house most of the information that we want to access, albeit not reliably.

Most importantly out of anything that I'm looking for - why is there no documentation on not just QE, but the rest of everything within Premiere's capabilities of extendscript?

A single piece of code on Github is not sufficient for a documentation substitute.

As far as the seeming instability of QE:

Consider the following code for Premiere Pro CC 2015:

app.project.activeSequence.exportAsFinalCutProXML("C:\\Users\\user\\Desktop\\XML_Testing.xml")

app.enableQE()

var mySeq = qe.project.getActiveSequence(0)

var myTrack = mySeq.getVideoTrackAt(0)

var myClip = myTrack.getItemAt(0)

myClip.name

If I have a project open in Premiere and execute this using ExtendScript Toolkit, I receive back a myTrack object with a name of 'Wildlife.wmv'.
If I then switch to a new project in Premiere(does not contain 'Wildlife.wmv') and re-execute that same code in ExtendScript Toolkit, the myTrack object stays the same, and I don't receive a new object.

This seems hazardous at best.

Thank you.

This topic has been closed for replies.
Correct answer Bruce Bullis

What is QE?

Short for Quality Engineering. The QE DOM was created for internal automation and testing use. Still, as you noted, it provides loads of interesting and useful functions. You also mentioned the QE DOM's Achilles heel: its project model refreshing is unreliable. Thus, the QE DOM remains officially unsupported, and not recommended.

Since CC (2013), we've been gradually moving compelling and safe functions from the QE DOM to the 'paved road' regular DOM. No dates, but we realize that sequence element manipulation [intelligent re-timing of clips, clip insertion, setting opacity...] is a pretty compelling area for panel developers, and it is appropriately prioritized in the PPro API backlog. I'll add your vote.

why is there no documentation on not just QE, but the rest of everything within Premiere's capabilities of extendscript?

In a former Adobe life, I wrote the After Effects C++ plug-in SDK's 350-page .pdf, in FrameMaker; indexed, cross-referenced and hyperlinked, which documented every param of every function, noting changes across versions...which almost no one ever read*, before simply asking me their question. Now, I spend less time in FrameMaker's print dialog inserting hand-coded DSC comments into the PostScript stream for Acrobat Distiller, so that my function suite headers remained clickable in the .pdf it eventually produced...

...and more time working with customers, writing sample code, and answering developer questions.

[On that note—we'd be happy to discuss whatever integration you'd like to create, and provide whatever help and guidance we can.]


The quick-start guide, the sample, and our help have been sufficient to get ~140 panels in the field; hopefully, we can get you going as well.

Hope [above] helps; feel free to ask me anything [here, or direct; b b b at adobe dot com]

-bbb

Bruce Bullis

Integration Engineering Manager

Adobe Pro Video

bbb@adobe.com

* I'm reasonably sure Brendan Bolles @ Fnordware, Pete & Pierre @ RE:VisionFX, and Paul @ Profound Effects, read it. Also, Zac's current AE API documentation is much better than mine was, and is now built in InDesign.


2 replies

BobPowell
Participant
October 20, 2016

Bruce, just for the record, I'd have read the manual. ;-)

Bruce Bullis
Bruce BullisCorrect answer
Legend
October 15, 2015

What is QE?

Short for Quality Engineering. The QE DOM was created for internal automation and testing use. Still, as you noted, it provides loads of interesting and useful functions. You also mentioned the QE DOM's Achilles heel: its project model refreshing is unreliable. Thus, the QE DOM remains officially unsupported, and not recommended.

Since CC (2013), we've been gradually moving compelling and safe functions from the QE DOM to the 'paved road' regular DOM. No dates, but we realize that sequence element manipulation [intelligent re-timing of clips, clip insertion, setting opacity...] is a pretty compelling area for panel developers, and it is appropriately prioritized in the PPro API backlog. I'll add your vote.

why is there no documentation on not just QE, but the rest of everything within Premiere's capabilities of extendscript?

In a former Adobe life, I wrote the After Effects C++ plug-in SDK's 350-page .pdf, in FrameMaker; indexed, cross-referenced and hyperlinked, which documented every param of every function, noting changes across versions...which almost no one ever read*, before simply asking me their question. Now, I spend less time in FrameMaker's print dialog inserting hand-coded DSC comments into the PostScript stream for Acrobat Distiller, so that my function suite headers remained clickable in the .pdf it eventually produced...

...and more time working with customers, writing sample code, and answering developer questions.

[On that note—we'd be happy to discuss whatever integration you'd like to create, and provide whatever help and guidance we can.]


The quick-start guide, the sample, and our help have been sufficient to get ~140 panels in the field; hopefully, we can get you going as well.

Hope [above] helps; feel free to ask me anything [here, or direct; b b b at adobe dot com]

-bbb

Bruce Bullis

Integration Engineering Manager

Adobe Pro Video

bbb@adobe.com

* I'm reasonably sure Brendan Bolles @ Fnordware, Pete & Pierre @ RE:VisionFX, and Paul @ Profound Effects, read it. Also, Zac's current AE API documentation is much better than mine was, and is now built in InDesign.


Participant
February 21, 2017

What are the methods (and method parameters) on the QE DOM objects?

Re "No dates, but we realize that sequence element manipulation [intelligent re-timing of clips, clip insertion, setting opacity...] is a pretty compelling area for panel developers" :

I've just spent the past day diving in to scripting as I want to be able to script cutting a clip into pieces. Are you telling me that can't be done? Epic disappointment.

Participant
February 25, 2017
What are the methods (and method parameters) on the QE DOM objects?

George, the QE DOM remains unsupported and undocumented.

I've just spent the past day diving in to scripting as I want to be able to script cutting a clip into pieces. Are you telling me that can't be done? Epic disappointment.

As your past day's dive must have shown you, plenty of clip manipulation is already possible.

If can provide more specifics about the workflow(s) you'd like to support [either here or directly; b b b at adobe dot com], I can give better guidance.


It seems that the only thing I can do to a TrackItem is make it selected or not selected. I can't figure out if there is a way to make a new one (and have it added to Track.clips[]), or how to modify things such as TrackItem.start, .inPoint, .duration and so on.

Example workflow: reducing a 12 minute video down to 3 minutes by cutting 3 out of 4 "bars" (music measures, let's say 2 seconds for sake of example) out of the clip. I have done this by hand using Shitf+Right to jump in the timeline and add cuts then go back and delete edits, but as you can imagine this is a painful process and not easy to replicate quickly (eg by slightly changing the calculation of the "bars").

I haven't tried it yet, but it seems one option may be to use ProjectItem.createSubClip() to auto generate a bunch of subclips which could then be selected and appended to a sequence using the UI. Not really the same as cutting an existing sequence/track/trackitem.