Attribute VB_Name = "ECodecEdit"
Option Explicit
Public RutaArchivoAbierto As String
Public ArchivoAbierto As Appfilesadm.ExternalCodec
Private ArchivoAbiertoOriginal As Appfilesadm.ExternalCodec
Public IndiceParEdit As Integer
Public BloquearBufferRefresh As Byte
Private FExten As String

Public Sub IniciarEditorCodec(Optional FileName As String, Optional Tipo As Byte)
Dim FormsStates() As Boolean, i As Byte, EnEjecucion As Boolean
Dim FormIsVisible As Boolean
ReDim FormsStates(0 To Forms.Count - 1)
For i = 0 To Forms.Count - 1
FormsStates(i) = Forms(i).Visible
Forms(i).Visible = False
Next

Load Form5
If FormatEdit.IniciarListasValS = 1 Then
    Form5.Menu_File.Enabled = False
    Form5.Menu_View.Enabled = False
    Form5.Label14.Visible = True
    Form5.Show
    FormIsVisible = True
    Call FormatEdit.InicializarFFListasValores
    Form5.Menu_File.Enabled = True
    Form5.Menu_View.Enabled = True
    Form5.Label14.Visible = False
End If
'Call InicializarArchivoAbierto
'If FileName = "" Then
'RefreshControls
'Else
If FileName <> "" Then Call AbrirArchivo(Tipo, FileName)
'End If
If FormIsVisible = False Then Form5.Show
EnEjecucion = True
While EnEjecucion
DoEvents
EnEjecucion = False
For i = 0 To Forms.Count - 1
If Forms(i) Is Form5 Then
EnEjecucion = True
Exit For
End If
Next
Wend

For i = 0 To UBound(FormsStates)
Forms(i).Visible = FormsStates(i)
Next
End Sub

Public Sub CargarListaffpA()
Form5.List2.Clear
With Form5.List2
.AddItem ffmpeg.FFmpegParametrosEtiq.Bitrate
.AddItem ffmpeg.FFmpegParametrosEtiq.BitrateMax
.AddItem ffmpeg.FFmpegParametrosEtiq.BitrateMin
.AddItem ffmpeg.FFmpegParametrosEtiq.Calidad
.AddItem ffmpeg.FFmpegParametrosEtiq.Canales
.AddItem ffmpeg.FFmpegParametrosEtiq.SampleRate
End With
On Error GoTo ErrH
If UBound(ArchivoAbierto.UserParCodecsffmpeg) <> 6 Then ReDim Preserve ArchivoAbierto.UserParCodecsffmpeg(1 To 6)
Exit Sub
ErrH:
ReDim ArchivoAbierto.UserParCodecsffmpeg(1 To 6)
End Sub

Public Sub CargarListaffpV()
Form5.List2.Clear
With Form5.List2
.AddItem ffmpeg.FFmpegParametrosEtiq.Bitrate
.AddItem ffmpeg.FFmpegParametrosEtiq.BitrateMax
.AddItem ffmpeg.FFmpegParametrosEtiq.BitrateMin
.AddItem ffmpeg.FFmpegParametrosEtiq.Calidad
.AddItem ffmpeg.FFmpegParametrosEtiq.CalidadMax
.AddItem ffmpeg.FFmpegParametrosEtiq.CalidadMin
.AddItem ffmpeg.FFmpegParametrosEtiq.fps
.AddItem ffmpeg.FFmpegParametrosEtiq.TamanoCuadro
.AddItem ffmpeg.FFmpegParametrosEtiq.RelAspect
.AddItem ffmpeg.FFmpegParametrosEtiq.PixelFormat
End With
On Error GoTo ErrH
If UBound(ArchivoAbierto.UserParCodecsffmpeg) <> 10 Then ReDim Preserve ArchivoAbierto.UserParCodecsffmpeg(1 To 10)
Exit Sub
ErrH:
ReDim ArchivoAbierto.UserParCodecsffmpeg(1 To 10)
End Sub

Public Sub EditarParametro(Optional Nuevo As Byte)
Dim Indice As Integer
With Form5
    .Frame4.Visible = True
    .Text4.Text = ""
    .Text4.Tag = ""
    .Text4.Enabled = True
    .Combo3.ListIndex = 0
    .Combo3.Enabled = True
    .Text5.Text = ""
    .Text6.Text = ""
    .Text8.Text = ""
    .Check1.Value = 0
    .Picture8.Visible = True
    .Picture7.Visible = False
    .Menu_File.Enabled = False
    If Nuevo = 0 Then
        IndiceParEdit = .List1.ListIndex
        .Text4.Text = ArchivoAbierto.Parametros(IndiceParEdit).Nombre
        .Text4.Tag = .Text4.Text
        .Combo3.ListIndex = ArchivoAbierto.Parametros(IndiceParEdit).Tipo
        .Text5.Text = ArchivoAbierto.Parametros(IndiceParEdit).ModificadorCmd
        .Text6.Text = ArchivoAbierto.Parametros(IndiceParEdit).ValorDefault
        .Text8.Text = ArchivoAbierto.Parametros(IndiceParEdit).ValoresSugeridos
        .Check1.Value = ArchivoAbierto.Parametros(IndiceParEdit).SoloValoresSugeridos
    Else
        IndiceParEdit = -1
    End If
    If Left(.Text4.Text, 1) = "<" Then
        .Picture8.Visible = False
        .Text4.Enabled = False
        .Combo3.Enabled = False
    End If
    If .Text4.Text = "<InFile>" Then
        .Picture7.Visible = True
        .Text9.Text = ArchivoAbierto.Parametros(IndiceParEdit).ValorDefault
        .Check2.Value = ArchivoAbierto.Parametros(IndiceParEdit).SoloValoresSugeridos
    End If
End With
End Sub

Public Sub AplicarCambiosEnParametro()
Dim i As Integer
With Form5
If .Text4.Text = "" Then
Lang.MsgECodecLabelNoValid
Exit Sub
End If

If (InStr(1, .Text4.Text, "<") > 0 Or InStr(1, .Text4.Text, ">") > 0) And Not (.Text4.Text = "<InFile>" Or .Text4.Text = "<OutFile>") Then
Lang.MsgECodecLabelNoValid
Exit Sub
End If

If LCase(.Text4.Text) <> LCase(.Text4.Tag) Then
If ExisteParametro(.Text4.Text) = True Then
Lang.MsgECodecELabelInUse
Exit Sub
End If
End If

If IndiceParEdit <> -1 Then
i = IndiceParEdit
Else
ReDim Preserve ArchivoAbierto.Parametros(0 To ElementosEnMatrizPar(ArchivoAbierto.Parametros))
i = UBound(ArchivoAbierto.Parametros)
End If
    
ArchivoAbierto.Parametros(i).Nombre = .Text4.Text
ArchivoAbierto.Parametros(i).Tipo = .Combo3.ListIndex
ArchivoAbierto.Parametros(i).ModificadorCmd = .Text5.Text
If .Combo3.ListIndex <> 2 Then ArchivoAbierto.Parametros(i).ValorDefault = .Text6.Text Else ArchivoAbierto.Parametros(i).ValorDefault = ""
If .Combo3.ListIndex = 0 Then
ArchivoAbierto.Parametros(i).ValoresSugeridos = .Text8.Text
ArchivoAbierto.Parametros(i).SoloValoresSugeridos = .Check1.Value
Else
ArchivoAbierto.Parametros(i).ValoresSugeridos = ""
ArchivoAbierto.Parametros(i).SoloValoresSugeridos = 0
End If
If .Text4.Text = "<InFile>" Then
    ArchivoAbierto.Parametros(IndiceParEdit).ValorDefault = .Text9.Text
    ArchivoAbierto.Parametros(IndiceParEdit).SoloValoresSugeridos = .Check2.Value
End If
End With
RefreshParList
Form5.Frame4.Visible = False
Form5.Menu_File.Enabled = True
Form5.Menu_View.Enabled = True
End Sub

Private Sub RefreshParList()
Dim i As Integer, Indice As Integer
Indice = Form5.List1.ListIndex
Form5.List1.Clear
If ElementosEnMatrizPar(ArchivoAbierto.Parametros) > 0 Then
    For i = 0 To UBound(ArchivoAbierto.Parametros)
    Form5.List1.AddItem ArchivoAbierto.Parametros(i).Nombre
    Next
End If
If Indice <> -1 Then
If Indice < Form5.List1.ListCount Then Form5.List1.ListIndex = Indice Else Form5.List1.ListIndex = Form5.List1.ListCount - 1
End If
End Sub

Public Sub EliminarParametro()
Dim i As Integer
With Form5
If .List1.ListIndex = -1 Then Exit Sub
If .List1.List(.List1.ListIndex) = "<InFile>" Or .List1.List(.List1.ListIndex) = "<OutFile>" Then Exit Sub
If .List1.ListCount - 1 > .List1.ListIndex Then
For i = .List1.ListIndex To .List1.ListCount - 2
ArchivoAbierto.Parametros(i) = ArchivoAbierto.Parametros(i + 1)
Next
End If
End With
ReDim Preserve ArchivoAbierto.Parametros(0 To UBound(ArchivoAbierto.Parametros) - 1)
RefreshParList
End Sub

Public Sub MoverParametroArriba()
Dim Buffer As Appfilesadm.ECodecPar
If Form5.List1.ListIndex < 1 Then Exit Sub
Buffer = ArchivoAbierto.Parametros(Form5.List1.ListIndex)
ArchivoAbierto.Parametros(Form5.List1.ListIndex) = ArchivoAbierto.Parametros(Form5.List1.ListIndex - 1)
ArchivoAbierto.Parametros(Form5.List1.ListIndex - 1) = Buffer
Form5.List1.ListIndex = Form5.List1.ListIndex - 1
RefreshParList
End Sub

Public Sub MoverParametroAbajo()
Dim Buffer As Appfilesadm.ECodecPar
If Form5.List1.ListIndex = -1 Or Form5.List1.ListIndex = Form5.List1.ListCount - 1 Then Exit Sub
Buffer = ArchivoAbierto.Parametros(Form5.List1.ListIndex)
ArchivoAbierto.Parametros(Form5.List1.ListIndex) = ArchivoAbierto.Parametros(Form5.List1.ListIndex + 1)
ArchivoAbierto.Parametros(Form5.List1.ListIndex + 1) = Buffer
Form5.List1.ListIndex = Form5.List1.ListIndex + 1
RefreshParList
End Sub

Public Sub EstablecerRutaEXE()
Dim Ruta() As String
Ruta() = APIS.OpenFileDialog("*.exe" & Chr(0) & "*.exe", Form5.hWnd, vbNullString, , False)
If Ruta(1) = "" Then Exit Sub
Form5.Text1.Text = CortarRuta(Ruta(1))
ArchivoAbierto.RutaExe = Form5.Text1.Text
End Sub

Private Function HuboCambios() As Boolean
Dim Ret As Boolean, i As Integer, j As Integer
Ret = (ArchivoAbierto.AcercaDe <> ArchivoAbiertoOriginal.AcercaDe) Or (ArchivoAbierto.CmdLffmpeg <> ArchivoAbiertoOriginal.CmdLffmpeg) Or (ArchivoAbierto.ExtensionSalida <> ArchivoAbiertoOriginal.ExtensionSalida) Or (ArchivoAbierto.ffFileExtension <> ArchivoAbiertoOriginal.ffFileExtension) Or (ArchivoAbierto.RutaExe <> ArchivoAbiertoOriginal.RutaExe)
HuboCambios = Ret
If Ret = True Then Exit Function
Ret = UBound(ArchivoAbierto.UserParCodecsffmpeg) <> UBound(ArchivoAbiertoOriginal.UserParCodecsffmpeg)
HuboCambios = Ret
If Ret = True Then Exit Function
For i = 1 To UBound(ArchivoAbierto.UserParCodecsffmpeg)
Ret = ArchivoAbierto.UserParCodecsffmpeg(i) <> ArchivoAbiertoOriginal.UserParCodecsffmpeg(i)
If Ret = True Then Exit For
Next
HuboCambios = Ret
If Ret = True Then Exit Function
j = ElementosEnMatrizPar(ArchivoAbierto.Parametros)
Ret = j <> ElementosEnMatrizPar(ArchivoAbiertoOriginal.Parametros)
HuboCambios = Ret
If Ret = True Then Exit Function
If j > 0 Then
    For i = 0 To UBound(ArchivoAbierto.Parametros)
    Ret = (ArchivoAbierto.Parametros(i).ModificadorCmd <> ArchivoAbiertoOriginal.Parametros(i).ModificadorCmd) Or (ArchivoAbierto.Parametros(i).Nombre <> ArchivoAbiertoOriginal.Parametros(i).Nombre) Or (ArchivoAbierto.Parametros(i).SoloValoresSugeridos <> ArchivoAbiertoOriginal.Parametros(i).SoloValoresSugeridos) Or (ArchivoAbierto.Parametros(i).Tipo <> ArchivoAbiertoOriginal.Parametros(i).Tipo) Or (ArchivoAbierto.Parametros(i).ValorDefault <> ArchivoAbiertoOriginal.Parametros(i).ValorDefault) Or (ArchivoAbierto.Parametros(i).ValoresSugeridos <> ArchivoAbiertoOriginal.Parametros(i).ValoresSugeridos)
    If Ret = True Then Exit For
    Next
End If
HuboCambios = Ret
End Function

Public Function ElementosEnMatrizPar(Matriz() As Appfilesadm.ECodecPar) As Integer
Dim i As Long
On Error GoTo ErrH
ElementosEnMatrizPar = UBound(Matriz) - LBound(Matriz) + 1
Exit Function
ErrH:
ElementosEnMatrizPar = 0
End Function

Public Function CerrarArchivo() As Boolean
Dim Buffer As Appfilesadm.ExternalCodec, i As Byte
If Form5.Command9.Visible = False Then
    CerrarArchivo = True
    Exit Function
End If
If HuboCambios = True Then
Select Case Lang.QuestionSaveChanges(ScriptObj.NombreBase(RutaArchivoAbierto))
Case Is = vbYes
If GuardarArchivo(RutaArchivoAbierto) = False Then Exit Function
Case Is = vbCancel
Exit Function
End Select
End If
RutaArchivoAbierto = ""
ArchivoAbierto = Buffer
Form5.Frame1.Visible = False
Form5.Frame2.Visible = False
Form5.Frame3.Visible = False
Form5.Frame4.Visible = False
Form5.Command10.Top = Form5.Command9.Top + Form5.Command9.Height
Form5.Command11.Top = Form5.Command10.Top + Form5.Command10.Height
Form5.Command9.Visible = False
Form5.Command10.Visible = False
Form5.Command11.Visible = False
Form5.View_Doc.Enabled = False
Form5.View_ffmpegHelp.Enabled = False
Form5.File_Save.Enabled = False
Form5.File_SaveAs.Enabled = False
Form5.File_UndoChanges.Enabled = False
Form5.File_Close.Enabled = False
Form5.Combo1.ListIndex = 0
Form5.Combo5.ListIndex = 0
Form5.BackColor = &H8000000C
For i = 0 To Forms.Count - 1
If Forms(i) Is Form6 Then
Unload Form6
Exit For
End If
Next
CerrarArchivo = True
End Function

Public Function GuardarArchivo(Optional Ruta As String) As Boolean
Dim FilePath As String, NumArchivo
If Ruta = "" Then
FilePath = Appfilesadm.IniciarAdministrador(App.Path & "\appfiles\ecodec", FExten, 2, True)
If FilePath = "" Then Exit Function
Else: FilePath = Ruta
End If
If ScriptObj.CrearArbol(App.Path & "\appfiles\ecodec") = False Then
Lang.MsgCanotCreateDir (App.Path & "\appfiles\ecodec")
Exit Function
End If
NumArchivo = FreeFile
On Error GoTo ErrH
Open FilePath For Binary As NumArchivo
Put NumArchivo, , ArchivoAbierto
Close NumArchivo
ArchivoAbiertoOriginal = ArchivoAbierto
RutaArchivoAbierto = FilePath
GuardarArchivo = True
Exit Function
ErrH:
Lang.MsgCantWriteFile (FilePath)
End Function

Public Sub AbrirArchivo(Tipo As Byte, Optional Nombre As String)
Dim FilePath As String, NumArchivo
If CerrarArchivo = False Then Exit Sub
Select Case Tipo
    Case 0: FExten = "lca"
    Case 1: FExten = "lcv"
    Case 2: FExten = "fca"
    Case 3: FExten = "fcv"
End Select
If Nombre <> "*" Then
    If Nombre = "" Then
    FilePath = Appfilesadm.IniciarAdministrador(App.Path & "\appfiles\ecodec", FExten, 1, True)
    Else
    FilePath = App.Path & "\appfiles\ecodec\" & Nombre & "." & FExten
    End If
    If FilePath = "" Then Exit Sub
    On Error GoTo ErrH
    NumArchivo = FreeFile
    Open FilePath For Binary As NumArchivo
    Get NumArchivo, , ArchivoAbierto
    Close NumArchivo
End If
With Form5
    .Text1.Enabled = Tipo < 2
    .Command1.Enabled = .Text1.Enabled
    .Label1.Enabled = .Text1.Enabled
    .Label4.Enabled = .Text1.Enabled
    .Combo2.Enabled = .Text1.Enabled
    .Label7.Enabled = .Text1.Enabled
    .Text3.Enabled = .Text1.Enabled
    .Command2.Enabled = .Text1.Enabled
    .Check3.Enabled = .Text1.Enabled
    .Check4.Enabled = .Text1.Enabled
    Call Lang.AlternarCaptionForm5Label13(FExten)
    Call ActualizarListacodecsExtensiones
    .Command9.Visible = True
    .Command10.Visible = True
    .Command11.Visible = True
    .View_Doc.Enabled = True
    .View_ffmpegHelp.Enabled = True
    .File_Save.Enabled = True
    .File_SaveAs.Enabled = True
    .File_UndoChanges.Enabled = True
    .File_Close.Enabled = True
    .Frame5.Visible = False
    .Menu_File.Enabled = True
    .Menu_View.Enabled = True
End With
RutaArchivoAbierto = FilePath
InicializarArchivoAbierto
Form5.BackColor = &H8000000F
RefreshControls
Exit Sub
ErrH:
Lang.MsgCantFileRead (FilePath)
End Sub

Private Sub RefreshControls()
Dim i As Integer
BloquearBufferRefresh = 1
RefreshParList
Form5.Text1.Text = ArchivoAbierto.RutaExe
Form5.Combo4.Text = ArchivoAbierto.ExtensionSalida
Form5.Text2.Text = ArchivoAbierto.AcercaDe
Form5.Combo2.Text = ArchivoAbierto.ffFileExtension
Form5.Text3.Text = ArchivoAbierto.CmdLffmpeg
Form5.Check3.Value = 0
Form5.Check4.Value = 0
If Form5.Check3.Enabled = True Then
    If ECodecEdit.ElementosEnMatrizPar(ArchivoAbierto.Parametros) > 0 Then
        For i = LBound(ArchivoAbierto.Parametros) To UBound(ArchivoAbierto.Parametros)
            If ArchivoAbierto.Parametros(i).Nombre = "<OutFile>" Then
                Form5.Check3.Value = ArchivoAbierto.Parametros(i).SoloValoresSugeridos
                If ArchivoAbierto.Parametros(i).ValoresSugeridos = "." Then Form5.Check4.Value = 1
                Exit For
            End If
        Next
    End If
End If
If FExten = "lca" Or FExten = "fca" Then CargarListaffpA Else CargarListaffpV
For i = 1 To UBound(ArchivoAbierto.UserParCodecsffmpeg)
If ArchivoAbierto.UserParCodecsffmpeg(i) = 1 Then Form5.List2.Selected(i - 1) = True Else Form5.List2.Selected(i - 1) = False
Next
BloquearBufferRefresh = 0
End Sub

Public Sub UndoChangesInFile()
ArchivoAbierto = ArchivoAbiertoOriginal
RefreshControls
End Sub

Private Sub InicializarArchivoAbierto()
If FExten = "fca" Or FExten = "fcv" Then
    ArchivoAbierto.RutaExe = "<ffmpeg.exe>"
Else
    Call InicializarParametrosAA
End If
Call InicializarUserPAA
ArchivoAbiertoOriginal = ArchivoAbierto
End Sub

Private Sub InicializarParametrosAA()
Dim i As Integer
On Error GoTo IniciarParametros
i = UBound(ArchivoAbierto.Parametros)
GoTo Finalizar
IniciarParametros:
ReDim ArchivoAbierto.Parametros(0 To 1)
ArchivoAbierto.Parametros(0).Nombre = "<InFile>"
ArchivoAbierto.Parametros(0).Tipo = 1
ArchivoAbierto.Parametros(1).Nombre = "<OutFile>"
ArchivoAbierto.Parametros(1).Tipo = 1
Finalizar:
End Sub

Private Sub InicializarUserPAA()
Dim i As Integer, j As Byte
On Error GoTo IniciarUserP
i = UBound(ArchivoAbierto.UserParCodecsffmpeg)
GoTo Finalizar
IniciarUserP:
If FExten = "fca" Or FExten = "lca" Then j = 6 Else j = 10
ReDim ArchivoAbierto.UserParCodecsffmpeg(1 To j)
If FExten = "fca" Or FExten = "fcv" Then
    For i = 1 To j: ArchivoAbierto.UserParCodecsffmpeg(i) = 1: Next
End If
Finalizar:
End Sub

Private Function ExisteParametro(Nombre As String) As Boolean
Dim i As Integer
On Error GoTo Finaliza
ExisteParametro = False
For i = LBound(ArchivoAbierto.Parametros) To UBound(ArchivoAbierto.Parametros)
If LCase(ArchivoAbierto.Parametros(i).Nombre) = LCase(Nombre) Then
ExisteParametro = True
Exit For
End If
Next
Finaliza:
End Function

Public Sub ImportarDeFormato(Tipo As Byte)
Dim FilePath As String, NumArchivo
Dim BufferFmt As Appfilesadm.FormatPerf, i As Integer
On Error GoTo ErrH
FilePath = Appfilesadm.IniciarAdministrador(App.Path & "\appfiles\formats", "lfm", 1, True)
If FilePath = "" Then Exit Sub
NumArchivo = FreeFile
Open FilePath For Binary As NumArchivo
Get NumArchivo, , BufferFmt
Close NumArchivo
RutaArchivoAbierto = ""
If Tipo = 0 Then
    If BufferFmt.ECodecANombre = "" Then
        Lang.ECodecMsgImportFail
        Exit Sub
    Else
        If CerrarArchivo = False Then Exit Sub
    End If
    ArchivoAbierto = BufferFmt.InfoECodecA
    If ArchivoAbierto.RutaExe = "<ffmpeg.exe>" Then FExten = "fca" Else FExten = "lca"
Else
    If BufferFmt.ECodecVNombre = "" Then
        Lang.ECodecMsgImportFail
        Exit Sub
    Else
        If CerrarArchivo = False Then Exit Sub
    End If
    ArchivoAbierto = BufferFmt.InfoECodecV
    If ArchivoAbierto.RutaExe = "<ffmpeg.exe>" Then FExten = "fcv" Else FExten = "lcv"
End If
InicializarArchivoAbierto
If Len(Join(ArchivoAbierto.FFParUserValues)) > 0 Then
    For i = LBound(ArchivoAbierto.FFParUserValues) To UBound(ArchivoAbierto.FFParUserValues): ArchivoAbierto.FFParUserValues(i) = "": Next
End If
ResetearValDeParametros
ArchivoAbiertoOriginal = ArchivoAbierto
With Form5
    .Text1.Enabled = (FExten <> "fca" And FExten <> "fcv")
    .Command1.Enabled = .Text1.Enabled
    .Label1.Enabled = .Text1.Enabled
    .Label4.Enabled = .Text1.Enabled
    .Combo2.Enabled = .Text1.Enabled
    .Label7.Enabled = .Text1.Enabled
    .Text3.Enabled = .Text1.Enabled
    .Command2.Enabled = .Text1.Enabled
    Call Lang.AlternarCaptionForm5Label13(FExten)
    Call ActualizarListacodecsExtensiones
    .Command9.Visible = True
    .Command10.Visible = True
    .Command11.Visible = True
    .View_Doc.Enabled = True
    .View_ffmpegHelp.Enabled = True
    .File_Save.Enabled = True
    .File_SaveAs.Enabled = True
    .File_UndoChanges.Enabled = True
    .File_Close.Enabled = True
    .Frame5.Visible = False
    .Menu_File.Enabled = True
    .Menu_View.Enabled = True
    .BackColor = .Frame1.BackColor
End With
RefreshControls
Exit Sub
ErrH:
Lang.MsgCantFileRead (FilePath)
End Sub

Private Sub ResetearValDeParametros()
Dim i As Integer
On Error Resume Next
For i = LBound(ArchivoAbierto.Parametros) To UBound(ArchivoAbierto.Parametros)
    ArchivoAbierto.Parametros(i).Valor = ""
Next
End Sub

Private Sub ActualizarListacodecsExtensiones()
Dim i As Long
On Error GoTo Salir
With Form5
    .Combo4.Clear
    If .Text1.Enabled Then
        For i = 1 To Form1.Combo2.ListCount - 1: .Combo4.AddItem Form1.Combo2.List(i): Next
    Else
        If FExten = "fca" Then
            For i = 2 To UBound(FormatEdit.FFAEncodersList): .Combo4.AddItem FormatEdit.FFAEncodersList(i): Next
        Else
            For i = 2 To UBound(FormatEdit.FFVEncodersList): .Combo4.AddItem FormatEdit.FFVEncodersList(i): Next
        End If
    End If
End With
Salir:
End Sub
