The following code demonstrates how to enumerate and select ltmmConvertCtrl compressors:
Sub EnumerateCompressors(Compressors As ltmmCompressors, List As ListBox)
' Build the compressors list box
Dim Selected As Long
Selected = -1
List.Clear
For i = 0 To (Compressors.Count - 1)
List.AddItem Compressors.Item (i).FriendlyName
List.ItemData(List.NewIndex) = i
If Compressors.Item (i).Selected Then
Selected = i
End If
Next
' highlight the current selection
For i = 0 To (List.ListCount - 1)
If List.ItemData(i) = Selected Then
List.Selected(i) = True
End If
Next
End Sub
Sub RefreshCompressors(Compressors As ltmmCompressors, List As ListBox)
Dim Selected As Long
Dim SelectedName As String
' save the currently selected compressor's name
Selected = Compressors.Selection
If Selected >= 0 Then
SelectedName = Compressors.Item (Selected).Name
End If
' refresh the compressor collection
Compressors.Refresh
' if there was a previously selected compressor, reselect it
If Selected >= 0 Then
Compressors.Selection = Compressors.Find(SelectedName)
End If
' rebuild the listbox
EnumerateCompressors Compressors, List
End Sub
Sub SelectCompressor(Compressors As ltmmCompressors, List As ListBox)
' select the highlighted compressor
Compressors.Selection = List.ItemData(List.ListIndex)
End Sub
Private Sub cmdAudioRefresh_Click()
' refresh audio compressors
RefreshCompressors ltmmConvertCtrl1.AudioCompressors, lstAudioCompressors
End Sub
Private Sub cmdVideoRefresh_Click()
' refresh video compressors
RefreshCompressors ltmmConvertCtrl1.VideoCompressors, lstVideoCompressors
End Sub
Private Sub Form_Load()
' build the audio compressor list
EnumerateCompressors ltmmConvertCtrl1.AudioCompressors, lstAudioCompressors
' build the video compressor list
EnumerateCompressors ltmmConvertCtrl1.VideoCompressors, lstVideoCompressors
End Sub
Private Sub lstAudioCompressors_Click()
' select the audio compressor
SelectCompressor ltmmConvertCtrl1.AudioCompressors, lstAudioCompressors
End Sub
Private Sub lstVideoCompressors_Click()
' select the video compressor
SelectCompressor ltmmConvertCtrl1.VideoCompressors, lstVideoCompressors
End Sub