3 Replies Latest reply on Apr 6, 2017 10:08 AM by Zac Lam

    Importer With Source Settings Effect

    ImmersiveMediaPatrick Level 1

      As the title suggests, I'm currently trying to set up a custom importer with a source settings effect.

       

      In the importer, the imImportInfoRec sent for imInit has hasSourceSettingsEffect set to true.

      The imFileInfoRec8 sent for imGetInfo8 has its sourceSettingsMatchName set to match the effect's AE_Effect_Match_Name in its PipL.

       

      When the importer begins importing a file, the effect receives PF_Cmd_GLOBAL_SETUP and PF_Cmd_PARAMS_SETUP.

      When the widgets for the effect's UI are altered, the effect is sent PF_Cmd_SEQUENCE_SETUP and the importer is sent imPerformSourceSettingsCommand.

      From PF_Cmd_SEQUENCE_SETUP, PerformSourceSettingsCommand is called using the kPFSourceSettingsSuite.

      After the PerformSourceSettingsCommand call in the effect, the importer receives imPerformSourceSettingsCommand.

       

      From there I am having a few issues...

       

      • When responding to imPerformSourceSettingsCommand, it's clear that param2 is a pointer to an imSourceSettingsCommandRec with the ioCommandStruct from the effect, however I am unsure what param1 is pointing to, each time the selector is sent, param1 will be one of a handful of different addresses.
      • The effect is never receiving PF_Cmd_TRANSLATE_PARAMS_TO_PREFS and continues to receive PF_Cmd_RENDER.
      • After receiving imPerformSourceSettingsCommand, the importer doesn't receive imGetSourceVideo until the timeline is scrubbed.

       

      Is there something that I'm missing here?

      Is there any thing that I can do from the importer to force it to resend the imGetSourceVideoI'm getting the correct values from the effect in imPerformSourceSettingsCommand, so being able to force a redraw from there with the new settings would go a long way?

      That would be a generally useful thing aside from just a work around for this issue.

       

      I'm currently using the 2015 SDK, I'll upgrade to the 2017 SDK soon, but I'd like to get this working with the 2015 SDK first.

       

      I've come across this thread, Source Settings = Effect + Importer and the similar section in the 2017 SDK guide.

        • 1. Re: Importer With Source Settings Effect
          Zac Lam Adobe Employee

          Hi Patrick,

          I am unsure what param1 is pointing to, each time the selector is sent, param1 will be one of a handful of different addresses

          On imPerformSourceSettingsCommand, param1 is imFileAccessRec8 *

          The effect is never receiving PF_Cmd_TRANSLATE_PARAMS_TO_PREFS

          Hmm, you should see PF_Cmd_TRANSLATE_PARAMS_TO_PREFS when you adjust the source settings.  You mention are you using the 2015 SDK.  What about your version of Premiere Pro -- are you using Premiere Pro CC 2015 also?  If you are using Premiere Pro CC 2015.3 or later, then you may need to be using PF_SourceSettingsSuite2, and calling SetIsSourceSettingsEffect().  You can ensure backwards-compatibility to CC 2015 by doing a runtime check for the presence of PF_SourceSettingsSuite2, and if that isn't present, using the original PF_SourceSettingsSuite instead, and skipping the call to SetIsSourceSettingsEffect().

           

          Regards,

           

          Zac

          1 person found this helpful
          • 2. Re: Importer With Source Settings Effect
            ImmersiveMediaPatrick Level 1

            Thanks for the reply.

            It looks like I'll be upgrading to the 2017 for PF_SourceSettingsSuite2.

            • 3. Re: Importer With Source Settings Effect
              Zac Lam Adobe Employee

              Sounds good.  By the way, you'd want to call SetIsSourceSettingsEffect() during PF_Cmd_GLOBAL_SETUP.

              1 person found this helpful