LEADTOOLS Multimedia (Leadtools.Multimedia assembly) Send comments on this topic. | Back to Introduction | Help Version 17.0.3.22
MenuTitleCount Property
See Also 
LTDVDWriter Namespace > ILTDvdWriter Interface : MenuTitleCount Property



(Read only) Gets the current count of titles in the Titles list.

Syntax

Visual Basic (Declaration) 
<DispIdAttribute(10)>
ReadOnly Property MenuTitleCount As Integer
Visual Basic (Usage)Copy Code
Dim instance As ILTDvdWriter
Dim value As Integer
 
value = instance.MenuTitleCount
C# 
[DispIdAttribute(10)]
int MenuTitleCount {get;}
C++/CLI 
[DispIdAttribute(10)]
property int MenuTitleCount {
   int get();
}

Property Value

The count of titles in the Titles list.

Example

Visual BasicCopy Code
Public _result As Boolean = False
Public _form As ConvertCtrlForm = New ConvertCtrlForm()
Private _convertCtrl As ConvertCtrl = Nothing
Private _dvdWriter As LTDvdWriter = Nothing

Public Sub DvdWriterExample()
   ' reference the convert control
   _convertCtrl = _form.ConvertCtrl

   ' source files for DVD content
   Dim inFile1 As String = "mediafiles\input\DVDWriter_Source1.avi"
   Dim inFile2 As String = "mediafiles\input\DVDWriter_Source2.avi"
   Dim inFile3 As String = "mediafiles\input\DVDWriter_Source3.avi"
   Dim inFile4 As String = "mediafiles\input\DVDWriter_Source4.avi"
   Dim backgroundImageFile As String = "mediafiles\input\DVDWriter_Background.jpg"
   Dim outFile As String = "mediafiles\output\ConvertCtrl_DvdWriterExample_DVD"

   Try
      _dvdWriter = Nothing

      _convertCtrl.Preview = True
      _convertCtrl.PreviewVisible = True

      ' setup the converter
      _convertCtrl.TargetFormat = TargetFormatType.DVD
      _convertCtrl.VideoCompressors.Mpeg2.Selected = True
      _convertCtrl.AudioCompressors.MpegAudio.Selected = True

      ' Create a DVD image with 2 titles, each contains 2 chapters: 
      ' Source video
      _convertCtrl.SourceFile = inFile1

      ' Destination image folder
      _convertCtrl.TargetFile = outFile

      ' Retrieve the DVD Writer interface 
      _dvdWriter = TryCast(_convertCtrl.GetSubObject(ConvertObject.Sink), LTDvdWriter)

      _dvdWriter.RemoveAllMenuTitles()
      _dvdWriter.MenulessTitlePlay = False

      ' Set the TitleBreak property to false. 
      ' This will prevent the title from being written immediately after the conversion
      _dvdWriter.TitleBreak = False

      _dvdWriter.AddMenuTitle("Title 1", -1)

      ' Write the first chapter in the first title
      _convertCtrl.StartConvert()

      Do While _convertCtrl.State <> ConvertState.Stopped
         Application.DoEvents()
      Loop

      _convertCtrl.ResetSource()

      Dim highPart As Integer = 0
      Dim lowPart As Integer = _dvdWriter.GetBytesWritten(highPart)
      Dim written As Int64 = highPart << 32 Or lowPart

      _convertCtrl.SourceFile = inFile2
      _convertCtrl.StartConvert()

      Do While _convertCtrl.State <> ConvertState.Stopped
         Application.DoEvents()
      Loop

      _convertCtrl.ResetSource()

      ' Prepare for the second title
      ' Set the TitleBreak property to TRUE, so the the current title can be flushed
      _dvdWriter.TitleBreak = True

      ' Disable Overwrite so the title will be appended to an existing dvd image
      _dvdWriter.Overwrite = False
      _dvdWriter.MenulessTitlePlay = False

      ' Set the TitleBreak property to FALSE. 
      ' This will prevent the title from being written immediately after the conversion
      _dvdWriter.TitleBreak = False
      _dvdWriter.AddMenuTitle("Title 2", -1)

      ' Write the first chapter in the second title
      _convertCtrl.SourceFile = inFile3
      _convertCtrl.StartConvert()

      Do While _convertCtrl.State <> ConvertState.Stopped
         Application.DoEvents()
      Loop

      _convertCtrl.ResetSource()

      ' Write the second chapter in the second title
      _convertCtrl.SourceFile = inFile4
      _convertCtrl.StartConvert()

      Do While _convertCtrl.State <> ConvertState.Stopped
         Application.DoEvents()
      Loop

      _convertCtrl.ResetSource()

      ' Close the second title
      _dvdWriter.TitleBreak = True

      _dvdWriter.TitleMenu = True
      _dvdWriter.MenuLoop = True
      _dvdWriter.MenulessTitlePlay = False

      ' Write the second chapter in the second title
      _convertCtrl.SourceFile = backgroundImageFile
      ChangeStillImageDuration(1.0)

      _convertCtrl.StartConvert()

      Do While _convertCtrl.State <> ConvertState.Stopped
         Application.DoEvents()
      Loop

      _convertCtrl.ResetSource()

      _dvdWriter.TitleMenu = False
      _dvdWriter.Overwrite = False

      _convertCtrl.ResetTarget()
      _convertCtrl.ResetSource()

      ' done, free COM object
      Marshal.ReleaseComObject(_dvdWriter)
      _dvdWriter = Nothing

      ' set the result 
      _result = True
   Catch ex As Exception
      _result = False
   End Try
End Sub

Private Sub ChangeStillImageDuration(ByVal duration As Double)
   Dim pStlImgRd As ILTStlImgRd

   Try
      pStlImgRd = TryCast(_convertCtrl.GetSubObject(ConvertObject.SourceFilter), ILTStlImgRd)
      If Not pStlImgRd Is Nothing Then
         ' get the current menu duration
         Dim currentDuration As Double
         currentDuration = _convertCtrl.Duration

         If currentDuration * 2 <= duration Then
            pStlImgRd.Loop = CInt(duration / currentDuration + 0.5)
         End If
      End If
   Catch
   End Try
End Sub
C#Copy Code
public bool _result = false;
      public ConvertCtrlForm _form = new ConvertCtrlForm();
      private ConvertCtrl _convertCtrl = null;
      private LTDvdWriter _dvdWriter = null;

      public void DvdWriterExample()
      {
         // reference the convert control
         _convertCtrl = _form.ConvertCtrl;

         // source files for DVD content
         string inFile1 = Path.Combine(LEAD_VARS.MediaDir,"DVDWriter_Source1.avi");
         string inFile2 = Path.Combine(LEAD_VARS.MediaDir,"DVDWriter_Source2.avi");
         string inFile3 = Path.Combine(LEAD_VARS.MediaDir,"DVDWriter_Source3.avi");
         string inFile4 = Path.Combine(LEAD_VARS.MediaDir,"DVDWriter_Source4.avi");
         string backgroundImageFile = Path.Combine(LEAD_VARS.MediaDir,"DVDWriter_Background.jpg");
         string outFile = Path.Combine(LEAD_VARS.MediaDir,"ConvertCtrl_DvdWriterExample_DVD");

         try
         {
            _dvdWriter = null;

            _convertCtrl.Preview = true;
            _convertCtrl.PreviewVisible = true;

            // setup the converter
            _convertCtrl.TargetFormat = TargetFormatType.DVD;
            _convertCtrl.VideoCompressors.Mpeg2.Selected = true;
            _convertCtrl.AudioCompressors.MpegAudio.Selected = true;

            // Create a DVD image with 2 titles, each contains 2 chapters: 
            // Source video
            _convertCtrl.SourceFile = inFile1;

            // Destination image folder
            _convertCtrl.TargetFile = outFile;

            // Retrieve the DVD Writer interface 
            _dvdWriter = _convertCtrl.GetSubObject(ConvertObject.Sink) as LTDvdWriter;

            _dvdWriter.RemoveAllMenuTitles();
            _dvdWriter.MenulessTitlePlay = false;

            // Set the TitleBreak property to false. 
            // This will prevent the title from being written immediately after the conversion
            _dvdWriter.TitleBreak = false;

            _dvdWriter.AddMenuTitle("Title 1", -1);

            // Write the first chapter in the first title
            _convertCtrl.StartConvert();

            while (_convertCtrl.State != ConvertState.Stopped)
               Application.DoEvents();

            _convertCtrl.ResetSource();

            int highPart = 0;
            int lowPart = _dvdWriter.GetBytesWritten(out highPart);
            Int64 written = highPart << 32 | lowPart;

            _convertCtrl.SourceFile = inFile2;
            _convertCtrl.StartConvert();

            while (_convertCtrl.State != ConvertState.Stopped)
               Application.DoEvents();

            _convertCtrl.ResetSource();

            // Prepare for the second title
            // Set the TitleBreak property to TRUE, so the the current title can be flushed
            _dvdWriter.TitleBreak = true;

            // Disable Overwrite so the title will be appended to an existing dvd image
            _dvdWriter.Overwrite = false;
            _dvdWriter.MenulessTitlePlay = false;

            // Set the TitleBreak property to FALSE. 
            // This will prevent the title from being written immediately after the conversion
            _dvdWriter.TitleBreak = false;
            _dvdWriter.AddMenuTitle("Title 2", -1);

            // Write the first chapter in the second title
            _convertCtrl.SourceFile = inFile3;
            _convertCtrl.StartConvert();

            while (_convertCtrl.State != ConvertState.Stopped)
               Application.DoEvents();

            _convertCtrl.ResetSource();

            // Write the second chapter in the second title
            _convertCtrl.SourceFile = inFile4;
            _convertCtrl.StartConvert();

            while (_convertCtrl.State != ConvertState.Stopped)
               Application.DoEvents();

            _convertCtrl.ResetSource();

            // Close the second title
            _dvdWriter.TitleBreak = true;

            _dvdWriter.TitleMenu = true;
            _dvdWriter.MenuLoop = true;
            _dvdWriter.MenulessTitlePlay = false;

            // Write the second chapter in the second title
            _convertCtrl.SourceFile = backgroundImageFile;
            ChangeStillImageDuration(1.0);

            _convertCtrl.StartConvert();

            while (_convertCtrl.State != ConvertState.Stopped)
               Application.DoEvents();

            _convertCtrl.ResetSource();

            _dvdWriter.TitleMenu = false;
            _dvdWriter.Overwrite = false;

            _convertCtrl.ResetTarget();
            _convertCtrl.ResetSource();

            // done, free COM object
            Marshal.ReleaseComObject(_dvdWriter);
            _dvdWriter = null;

            // set the result 
            _result = true;
         }
         catch (Exception ex)
         {
            _result = false;
         }
      }

      private void ChangeStillImageDuration(double duration)
      {
         ILTStlImgRd pStlImgRd;

         try
         {
            pStlImgRd = _convertCtrl.GetSubObject(ConvertObject.SourceFilter) as ILTStlImgRd;
            if (pStlImgRd != null)
            {
               // get the current menu duration
               double currentDuration;
               currentDuration = _convertCtrl.Duration;

               if (currentDuration * 2 <= duration)
                  pStlImgRd.Loop = (int)(duration / currentDuration + 0.5);
            }
         }
         catch
         {
         }
      }

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

Remarks

(Read only) Gets the current count of titles in the Titles list.

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