LEADTOOLS Multimedia (Leadtools.Multimedia assembly) Send comments on this topic. | Back to Introduction | Help Version 17.0.3.22
CanSaveObjectSettings Method
See Also 
Leadtools.Multimedia Namespace > CaptureCtrl Class : CanSaveObjectSettings Method



flags
A combination of CaptureSettings enumeration values.
flags
A combination of CaptureSettings enumeration values.
Determines whether the specified settings can be saved.

Syntax

Visual Basic (Declaration) 
Public Overridable Function CanSaveObjectSettings( _
   ByVal flags As CaptureSettings _
) As Boolean
Visual Basic (Usage)Copy Code
Dim instance As CaptureCtrl
Dim flags As CaptureSettings
Dim value As Boolean
 
value = instance.CanSaveObjectSettings(flags)
C# 
public virtual bool CanSaveObjectSettings( 
   CaptureSettings flags
)
C++/CLI 
public:
virtual bool CanSaveObjectSettings( 
   CaptureSettings flags
) 

Parameters

flags
A combination of CaptureSettings enumeration values.

Example

Visual BasicCopy Code
Public _result As Boolean = False
      Public _form As CaptureCtrlForm = New CaptureCtrlForm()
      Public _capturectrl As CaptureCtrl
      Public _streamSettings As String = Path.Combine(LEAD_VARS.MediaDir, "CaptureCtrl_ObjectSettingsExample_Stream.xml")
      Public _fileSettings As String = Path.Combine(LEAD_VARS.MediaDir, "CaptureCtrl_ObjectSettingsExample.xml")

      Public Sub ObjectSettingsExample()
         ' reference the play control
         _capturectrl = _form.CaptureCtrl

         ' output file
         Dim outFile As String = Path.Combine(LEAD_VARS.MediaDir, "CaptureCtrl_ObjectSettingsExample.avi")

         Try
            Dim pVideoDizzy As Processor = _capturectrl.VideoProcessors.EFXDizzy
            ' set a video processor
            _capturectrl.SelectedVideoProcessors.Add(pVideoDizzy)

            ' save the settings to a file
            If SaveFileSettings() Then
               ' now clear the selected processors again
               _capturectrl.SelectedVideoProcessors.Clear()

               ' check if stream file exists
               If File.Exists(_fileSettings) Then
                  ' load the saved settings from a file
                  ' and check if the processor is selected again
                  LoadFileSettings()

                  ' set the result 
                  _result = _capturectrl.SelectedVideoProcessors.Contains(pVideoDizzy)
               End If
            End If

            ' save the settings to a stream
            If SaveStreamSettings() Then
               ' now clear the selected processors again
               _capturectrl.SelectedVideoProcessors.Clear()

               ' check if stream file exists
               If File.Exists(_streamSettings) Then
                  ' load the saved settings from a stream 
                  ' and check if the processor is selected again
                  LoadStreamSettings()

                  ' set the result 
                  _result = _result And _capturectrl.SelectedVideoProcessors.Contains(pVideoDizzy)
               End If
            End If
         Catch e1 As Exception
            _result = False
         End Try
      End Sub

      Private Sub LoadFileSettings()
         _capturectrl.LoadSettingsFromFile(_fileSettings, CaptureSettings.Processors)
      End Sub

      Private Function SaveFileSettings() As Boolean
         '  check if we can save the processors settings
         If _capturectrl.CanSaveObjectSettings(CaptureSettings.Processors) Then
            _capturectrl.SaveSettingsToFile(_fileSettings, CaptureSettings.Processors)
            Return True
         End If
         Return False
      End Function

      Private Sub LoadStreamSettings()
         Dim settings As Stream = New StreamReader(_streamSettings).BaseStream
         _capturectrl.LoadSettingsFromStream(settings, CaptureSettings.Processors)
         settings.Close()
      End Sub

      Private Function SaveStreamSettings() As Boolean
         '  check if we can save the processors settings
         If _capturectrl.CanSaveObjectSettings(CaptureSettings.Processors) Then
            Dim settings As Stream = New StreamWriter(_streamSettings, False).BaseStream
            _capturectrl.SaveSettingsToStream(settings, CaptureSettings.Processors)
            settings.Close()
            Return True
         End If
         Return False
      End Function

Public NotInheritable Class LEAD_VARS
   Public Const MediaDir As String = "C:\Program Files (x86)\LEAD Technologies\LEADTOOLS 17\Media"
End Class
C#Copy Code
public bool _result = false;
      public CaptureCtrlForm _form = new CaptureCtrlForm();
      public CaptureCtrl _capturectrl;
      public string _streamSettings =Path.Combine(LEAD_VARS.MediaDir,"CaptureCtrl_ObjectSettingsExample_Stream.xml");
      public string _fileSettings = Path.Combine(LEAD_VARS.MediaDir,"CaptureCtrl_ObjectSettingsExample.xml");

      public void ObjectSettingsExample()
      {
         // reference the play control
         _capturectrl = _form.CaptureCtrl;

         // output file
         string outFile = Path.Combine(LEAD_VARS.MediaDir,"CaptureCtrl_ObjectSettingsExample.avi");

         try
         {
            Processor pVideoDizzy = _capturectrl.VideoProcessors.EFXDizzy;
            // set a video processor
            _capturectrl.SelectedVideoProcessors.Add(pVideoDizzy);

            // save the settings to a file
            if (SaveFileSettings())
            {
               // now clear the selected processors again
               _capturectrl.SelectedVideoProcessors.Clear();

               // check if stream file exists
               if (File.Exists(_fileSettings))
               {
                  // load the saved settings from a file
                  // and check if the processor is selected again
                  LoadFileSettings();

                  // set the result 
                  _result = _capturectrl.SelectedVideoProcessors.Contains(pVideoDizzy);
               }
            }

            // save the settings to a stream
            if (SaveStreamSettings())
            {
               // now clear the selected processors again
               _capturectrl.SelectedVideoProcessors.Clear();

               // check if stream file exists
               if (File.Exists(_streamSettings))
               {
                  // load the saved settings from a stream 
                  // and check if the processor is selected again
                  LoadStreamSettings();

                  // set the result 
                  _result &= _capturectrl.SelectedVideoProcessors.Contains(pVideoDizzy);
               }
            }
         }
         catch (Exception)
         {
            _result = false;
         }
      }

      private void LoadFileSettings()
      {
         _capturectrl.LoadSettingsFromFile(_fileSettings, CaptureSettings.Processors);
      }

      private bool SaveFileSettings()
      {
         //  check if we can save the processors settings
         if (_capturectrl.CanSaveObjectSettings(CaptureSettings.Processors))
         {
            _capturectrl.SaveSettingsToFile(_fileSettings, CaptureSettings.Processors);
            return true;
         }
         return false;
      }

      private void LoadStreamSettings()
      {
         Stream settings = new StreamReader(_streamSettings).BaseStream;
         _capturectrl.LoadSettingsFromStream(settings, CaptureSettings.Processors);
         settings.Close();
      }

      private bool SaveStreamSettings()
      {
         //  check if we can save the processors settings
         if (_capturectrl.CanSaveObjectSettings(CaptureSettings.Processors))
         {
            Stream settings = new StreamWriter(_streamSettings, false).BaseStream;
            _capturectrl.SaveSettingsToStream(settings, CaptureSettings.Processors);
            settings.Close();
            return true;
         }
         return false;
      }

static class LEAD_VARS
{
   public const string MediaDir = @"C:\Program Files (x86)\LEAD Technologies\LEADTOOLS 17\Media";
}

Remarks

The capture object settings can be saved to a stream by calling CaptureCtrl.SaveSettingsToStream. These settings can also be saved to a file by calling SaveSettingsToFile. Settings saved to a file can be loaded using LoadSettingsFromFile. Settings saved to a stream can be loaded using CaptureCtrl.LoadSettingsFromStream. It may be helpful to call CanSaveObjectSettings before calling either SaveSettingsToFile or CaptureCtrl.SaveSettingsToStream, to make sure the settings you want to save can be saved. If either SaveSettingsToFile or CaptureCtrl.SaveSettingsToStream is called for settings that cannot be saved, the save function will fail.

Multiple settings can be combined in the Flags parameter.

Note: If multiple settings are combined in the flags parameter, all those settings must be capable of being saved in order for this method to return true.

Requirements

Target Platforms: Microsoft .NET Framework 2.0, Windows 2000, Windows XP, Windows Server 2003 family, Windows Server 2008 family, Windows Vista, Windows 7

See Also