11 Replies Latest reply on Dec 11, 2017 7:04 AM by trick_979

    QE: What is this rabbithole?

    alexw6348634 Level 1

      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.

        • 1. Re: QE: What is this rabbithole?
          Bruce Bullis Adobe Employee

          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.


          1 person found this helpful
          • 2. Re: QE: What is this rabbithole?
            alexw6348634 Level 1

            I'll mark it as complete because it technically is.

            I still feel that documentation is paramount to examples. The 140 panels have no weight if they're not accessible. As of now, the only one that's capable of being found easily is the one that you've put up on Github - which is a great resource in and of itself, but is not tantamount to verbose documentation that illustrates API and developer intent.

             

            I do appreciate the willingness to help, it's orders of magnitude better in this forum compared to the AI/PS forums. I have many more questions, and you'll be hearing more from me.

             

            And as far as QE - it shows a lot of promise. Hopefully it becomes usable before long.

            1 person found this helpful
            • 3. Re: QE: What is this rabbithole?
              Bruce Bullis Adobe Employee

              Thanks, Alex!

               

              Let us know what you're thinking of developing, and any specific workflows you'd like to create/support; we're happy to help.

              • 4. Re: QE: What is this rabbithole?
                BobPowell Level 1

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

                • 5. Re: QE: What is this rabbithole?
                  spxl Level 1

                  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.

                  • 6. Re: QE: What is this rabbithole?
                    Bruce Bullis Adobe Employee
                    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.

                    • 7. Re: QE: What is this rabbithole?
                      spxl Level 1

                      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.

                      • 9. Re: QE: What is this rabbithole?
                        trick_979 Level 1

                        Hi Bruce,

                        Could you explain how to use qe.executeConsoleCommand() function? I would like to run a command via CMD on Windows.

                        • 10. Re: QE: What is this rabbithole?
                          Bruce Bullis Adobe Employee

                          qe.executeConsoleCommand() has nothing to do with the OS, or command prompts. Console commands refer to PPro's Console window.

                           

                          To run a command at the command prompt, see createProcess() usage, here:  https://medium.com/html5-css3/23357c99c774

                          1 person found this helpful
                          • 11. Re: QE: What is this rabbithole?
                            trick_979 Level 1

                            Thanks, Bruce!