DVD Source Example for Visual Basic
Private Sub SetDVDSettings()
Dim pDVDSource As ltmmDVDSource
Dim pTitle As ltmmDVDTitle
Dim pChapter As ltmmDVDChapter
Dim pSubpictureStream As ltmmDVDSubpictureStream
Dim pAudioStream As ltmmDVDAudioStream
Dim lCount As Long
Dim lVal As Long
Dim vbVal As Boolean
Dim dVal As Double
Dim strPlayList As String
' force to use the DVD source
ltmmConvertCtrl1.UseDVDSource = True
' Set the source DVD image
ltmmConvertCtrl1.SourceFile = "C:\DVDImage\VIDEO_TS\VIDEO_TS.IFO"
ltmmConvertCtrl1.TargetFile = "C:\DVDImage.avi"
' Get the DVD source interface
Set pDVDSource = ltmmConvertCtrl1.GetSubObject (ltmmConvert_Object_SourceFilter)
' Select the mian title in the dics
If pDVDSource.Selected <> ltmmDVDSource_Main_Selected Then
pDVDSource.Selected = ltmmDVDSource_Main_Selected
End If
' Get the disc duration
dVal = pDVDSource.TotalDuration
' Do something with the value
' Get the selected title duration
dVal = pDVDSource.SelectedDuration
' Do something with the value
' Get the play list settings
strPlayList = pDVDSource.PlayList
' You can save this to a file and restore the settings later
' Restore the playlist settings
pDVDSource.PlayList = strPlayList
' Get the title count in the disc
lCount = pDVDSource.TitleCount
For i = 0 To lCount - 1
' Get the title interface
Set pTitle = pDVDSource.GetTitle (i)
' Get the X aspect
lVal = pTitle.AspectX
' Do something with the value
' Get the Y aspect
lVal = pTitle. AspectY
' Do something with the value
' Get if the title is a film mode or camera mode
vbVal = pTitle.IsFilmMode
' Do something with the value
' Get if there is a user data in line 21, field 1
vbVal = pTitle.Line21Field1InGOP
' Do something with the value
' Get if there is a user data in line 21, field 2
vbVal = pTitle.Line21Field2InGOP
' Do something with the value
' Get the compression
lVal = pTitle.Compression
' Do something with the value
' Get the X source resolution
lVal = pTitle.SourceResolutionX
' Do something with the value
' Get the Y source resolution
lVal = pTitle.SourceResolutionY
' Do something with the value
' Get the Frame Height
lVal = pTitle.FrameHeight
' Do something with the value
' Get the Frame Rate
lVal = pTitle.FrameRate
' Do something with the value
' Get if the source is a letter boxed
vbVal = pTitle.IsSourceLetterboxed
' Do something with the value
' Get if the picture can be shown as letterbox
vbVal = pTitle.LetterboxPermitted
' Do something with the value
' Get if the picture can be shown as pan-scan
vbVal = pTitle.PanscanPermitted
' Do something with the value
' Get the title duration
dVal = pTitle.TotalDuration
' Do something with the value
' Select all title chapters
If pTitle.Selected <> ltmmDVDSource_Selected Then
pTitle.Selected = ltmmDVDSource_Selected
End If
' Get the selected chapter duration
dVal = pTitle.SelectedDuration
' Do something with the value
' Get the audio stream count in the title
If pTitle.AudioStreamCount > 0 Then
' Select the first audio stream
If pTitle.SelectedAudioStream = -1 Then
pTitle.SelectedAudioStream = 0
End If
' Get the first audio stream
Set pAudioStream = pTitle.GetAudioStream (0)
' Select the audio stream
If pAudioStream.Selected = False Then
pAudioStream.Selected = True
End If
' Get the application mode
lVal = pAudioStream.AppMode
' Do something with the value
' Get the application mode data
lVal = pAudioStream.AppModeData
' Do something with the value
' Get the auido format
lVal = pAudioStream.AudioFormat
' Do something with the value
' Get the number of channels
lVal = pAudioStream.Channels
' Do something with the value
' Get the frequency
lVal = pAudioStream.Frequency
' Do something with the value
' Get the language
lVal = pAudioStream.Language
' Do something with the value
' Get the language extension
lVal = pAudioStream.LanguageExtension
' Do something with the value
' Get the quantization
lVal = pAudioStream.Quantization
' Do something with the value
' Free the pointer
Set pAudioStream = Nothing
' Get the subpicture stream count
If pTitle.SubpictureStreamCount > 0 Then
' Select the first subpicture stream
If pTitle.SelectedSubpictureStream = -1 Then
pTitle.SelectedSubpictureStream = 0
End If
' Get the first subpicture stream
Set pSubpictureStream = pTitle.GetSubpictureStream (0)
' Select the subpicture stream
If pSubpictureStream.Selected = False Then
pSubpictureStream.Selected = True
End If
' Get the coding mode
lVal = pSubpictureStream.CodingMode
' Do something with the value
' Get the langauge
lVal = pSubpictureStream.Language
' Do something with the value
' Get the language extension
lVal = pSubpictureStream.LanguageExtension
' Do something with the value
' Get the type
lVal = pSubpictureStream.Type
' Do something with the value
' Free the pointer
Set pSubpictureStream = Nothing
End If
' Get the chapter count
If pTitle.ChapterCount > 0 Then
' Get the first chapter
Set pChapter = pTitle.GetChapter (0)
' Get the chapter duration
dVal = pChapter.Duration
' do something with the value
' Get if the chapter is selected
If pChapter.Selected = False Then
pChapter.Selected = True
End If
' Free the pointer
Set pChapter = Nothing
End If
End If
Set pTitle = Nothing
Next i
' Free the pointer
Set pDVDSource = Nothing
End Sub