IncludePluginFilesInExport and ExportManager Debugging

Hi,

we are trying to export our Plug-in along with the SmartClient-Player.exe.

Therefore we looked at the RGBVideoEnhancement Sample Plug-In and implemented everything according to the documentation.

The PluginDefinition has:

public override VideoOS.Platform.Client.ExportManager GenerateExportManager (ExportParameters exportParameters)

{

return new ImageProcessingExportManager( exportParameters );

}

public override bool IncludeInExport

{

get { return true; }

}

The ImageProcessingExportManager is implemented according to the Example like:

public class ImageProcessingExportManager : VideoOS.Platform.Client.ExportManager

{

public ImageProcessingExportManager( ExportParameters exportParameters ) : base( exportParameters )

{}

public override bool IncludePluginFilesInExport

{

  get

  {

     return true;

  }

}

public override int Progress

{

  get

  {

     return 100;

  }

}

public override string LastErrorMessage

{

  get

  {

     return "";

  }

}

public override ulong? EstimateSizeOfExport()

{

  return null;

}

public override void ExportComplete( int result ) { }

public override void ExportStarting()

{

}

public override void ExportFailed()

{

}

public override void ExportCancelled()

{

}

public override void ExportComplete()

{

}

}

The virtual functions are called correctly as far as we can see. Nevertheless, the Client Files\Client\MIPPlugins\ folder does not contain our Plug-In files. The files from the RGBVideoEnhancement Sample are copied correctly, though.

The logfiles are set to “debug”-log but there is no usefull information why the copying of our files does not work.

Is there a way to debug this problem in a better way? What else could possibly go wrong here?

From what I can tell you do it correctly. I wonder if you can see differences between your plugin and the RGBVideoEnhancement sample if you set breakpoints and look even closer.

https://developer.milestonesys.com/s/article/debugging-techniques-for-Smart-Client-plugins

I don’t see the

public override ulong? EstimateSizeOfExport()

in the RGBVideoEnhancement sample, but that is grasping at straws as I don’t think that could cause this, but please try to remove this difference.

I chased this down by creating a fresh Plug-In project which worked and then tearing it down step by step in the direction of the non-working project.

It seems the problem was that we created a Plug-In that only consisted of a ViewItemToolbarPlugin. This was not exported along with the camera footage. But, after we implemented a ViewItemPlugin as well, the export worked.

Is this a bug or is this supposed to work that way?

The design was intended to enable the utilization of custom view items and that means that by design it is supposed to work like that. However upon discussing it with Milestone Development there was a desire to change this in future versions.

Thank you for your detailed observation and raising this question.

Thanks Bo for the feedback!

For the sake of completeness: we worked around this issue by implementing the ViewItemPlugin and overriding the HideSetupItem property to return true.

public override bool HideSetupItem

{

get => true;

}