11 Replies Latest reply on May 27, 2013 3:47 AM by alexbj001

    Two questions about exporter controller

    alexbj001 Level 1

      Hi Guys,

       

      I have two questions about exporter controller.

       

      1. Since exporter controller uses its own UI, is it possible to generate new preset file in exporter controller to represent its UI content?

       

      2. How Ftp settings are stored in preset file currently? I want to change them in my own exporter contronller instead of in Premiere UI.

       

      It will be very appreciated if someone could answer these questions.

      Thanks.

        • 1. Re: Two questions about exporter controller
          Zac Lam Adobe Employee

          Hi there,

           

          1) Yes, use whatever preset you like.

           

          2) FTP settings are currently not stored in the preset file.  However, with the exported file, you can add your own code to send it via FTP.  So basically after ExportFile() returns, you can do whatever you like to the file you've just created.

           

          Cheers,

           

          Zac

          • 2. Re: Two questions about exporter controller
            alexbj001 Level 1

            Hi Zac,

             

            Thanks a lot for your response. I still want to know a little more about the details.

             

            1) Is there any serialization functions which could generate preset file easily (like serialization of PrSDKExportParamSuite)? Or I must create my own preset file with raw XML interfaces in export controller?

             

            2) If select 'Save FTP Settings' when saving preset file in Premiere CS6, it stores FTP settings in preset file.

                 <ExporterParam ObjectID="31" ClassID="a43ab77d-3a01-4173-b6ea-aeb9b4ae884b" Version="1">

                    <ParamAuxType></ParamAuxType>

                    <ParamAuxValue></ParamAuxValue>

                    <ParamIdentifier>5522</ParamIdentifier>

                    <ParamConstrainedListIsOptional>false</ParamConstrainedListIsOptional>

                    <IsFilePathString>false</IsFilePathString>

                    <IsOptionalParamEnabled>false</IsOptionalParamEnabled>

                    <IsOptionalParam>false</IsOptionalParam>

                    <IsParamPairGroup>false</IsParamPairGroup>

                    <ParamIsPassword>false</ParamIsPassword>

                    <ParamIsMultiLine>false</ParamIsMultiLine>

                    <ParamIsHidden>true</ParamIsHidden>

                    <ParamIsDisabled>true</ParamIsDisabled>

                    <ParamIsIndependant>false</ParamIsIndependant>

                    <ParamIsSlider>false</ParamIsSlider>

                    <ParamDontSerializeValue>false</ParamDontSerializeValue>

                    <ParamOrdinalValue>1</ParamOrdinalValue>

                    <ParamType>6</ParamType>

                    <ParamValue>VwBJ&#13;&#10;AE4AMQAuADAAq9WdnIPIdNnvjCrEulWobzUcW/J7oC9hAA==</ParamValue>

                </ExporterParam>

             

            I just want to save FTP settings from my own exporter controller to preset file via code (NOT click save button in Premiere UI). Then I could use FTP transfer fuction (it works fine on both Windows and MAC) supplied by Premiere directly in my export controller after exporting the clip.

             

            But I don't know how to generate such strings? Is it encoded by base-64? Or some other encoding methods?

             

            Thank you again for your help.

            Alex

            • 3. Re: Two questions about exporter controller
              Zac Lam Adobe Employee

              Hi Alex,

               

              1) There's no APIs to create/modify exporter presets, but as you can see, the .epr file is XML and fairly easy to reverse engineer in most areas.

               

              2) Ah, I had forgot about that checkbox to Save FTP Settings.  Good catch!   Yes, binary data in the .epr is base-64 encoded.  Last time I checked (several versions ago), Premiere Pro's checksum function was a 32-bit CRC with a polynomial of 0xEDB88320L.  This is not guaranteed to stay the same from one version to the next.

              • 4. Re: Two questions about exporter controller
                Rallymax-forum Level 3

                by FAR the easiest way to make epr files it to setup your plugin and hit SAVE.

                As Zac points out, the CRC seed doesn't have to stay the same so I'd stay away from that.

                - as a note, I started down the script-make-a-EPR-file route and ended up abandoning it due to changes from CS6 to CC.

                 

                my 2c.

                • 5. Re: Two questions about exporter controller
                  alexbj001 Level 1

                  Hi Zac,

                   

                  Thanks for clarification. I will consider to use my own FTP transfer code. Just a little complicated since I have to port it to MAC.

                   

                  Is it possible that I create a exporter plug-in (not export controller) which could show it's own UI after user clicking 'Export' button?

                  • 6. Re: Two questions about exporter controller
                    alexbj001 Level 1

                    Rallymax-forum,

                    Thanks for reminder. Will not touch CRC related string manually.

                    • 7. Re: Two questions about exporter controller
                      Rallymax-forum Level 3

                      alexbj001 wrote:

                       

                      Hi Zac,

                       

                      Thanks for clarification. I will consider to use my own FTP transfer code. Just a little complicated since I have to port it to MAC.

                       

                      Is it possible that I create a exporter plug-in (not export controller) which could show it's own UI after user clicking 'Export' button?

                      Sure.

                      You just make your own window and launch it when the Export selector is called.

                      In the AME UI you'd still put in the parmeters to control it, or make your own UI and simply populate the UI with a single "string" parameters such as "Codec: My codec name".

                      • 8. Re: Two questions about exporter controller
                        Rallymax-forum Level 3

                        oh, the only hassle with using a Windows/Mac window is that you're going to have to code it twice for each OS or use a cross-OS GUI like Qt to populate it.

                         

                        A quick google found this... http://crossui.com/

                        I've never tried it but it does mean that there are cross OS UI's out there.

                        • 9. Re: Two questions about exporter controller
                          Zac Lam Adobe Employee

                          A word of caution about when to display UI in an exporter - You'll want to be careful about showing UI during exSelExport, which is called on a worker thread.  For example, imagine your exporter is used by several exports that are queued up in Adobe Media Encoder.  What happens when the first export starts and your UI shows?  Does it block progress on processing the export queue?  Ideally any UI will be shown in the Export Settings or displayed in response to a button pressed in those settings.

                          • 10. Re: Two questions about exporter controller
                            alexbj001 Level 1

                            Hi Zac,

                             

                            Thanks a lot for reminder. I decide to use export controller to show my customized and modal dialog.

                            • 11. Re: Two questions about exporter controller
                              alexbj001 Level 1

                              Rallymax-forum,

                               

                              Thanks a lot for your great suggestion. I will evaluate it.