Overwrite Property
Summary
Gets or sets a value that indicates whether the DVD writer will delete (overwrite) the existing DVD image.
Syntax
[DispIdAttribute(1)]
bool Overwrite {get; set;}
<DispIdAttribute(1)>
Property Overwrite As Boolean
[DispIdAttribute(1)]
property bool Overwrite {
bool get();
void set ( bool );
}
Property Value
True if the DVD writer will delete (overwrite) the existing DVD image at the next write operation.
False if the DVD writer will append new titles to the existing DVD image at the next write operation.
Example
using Leadtools;
using Leadtools.Multimedia;
using LeadtoolsMultimediaExamples.Fixtures;
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 19\Media";
}
Imports Leadtools
Imports Leadtools.Multimedia
Imports LeadtoolsMultimediaExamples.Fixtures
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