MI nombre es Alberto (por eso mi nick ), tengo 50 años y me gusta mucho Autohotkey, aunque me está costando dar mis primeros pasos con este completo lenguaje de programación.
Les cuento... Soy un gran coleccionista de películas, y después de descargarlas las "limpio" (como los pescados).
Descargo en formato MKV, y en su interior vienen con mucha publicidad de la página que se descarga, y no me gusta ver esas publicidades en mi TV cuando veo las películas.
Para ese trabajo me valgo del programa MKVToolnix.
El tema es que la tarea y los textos a escribir son tediosos y repititivos, y repititivos
Ahí es donde nace la idea de hacerlo con Autohotkey.
Necesito un "programita" que se componga básicamente de 3 módulos (guis?) el primero es para el video (casi siempre será H264), el segundo es para el audio (ahí puede haber mucha variedad, aunque casi siempre será inglés y español, y finalmente subtítulos, que casi siempre será Español e Inglés.
Pensé en un gui que me interrogue acerca de cada ítem, y yo ponga un "check" (palomitas, tildes, según país de cada uno) y al aceptar AHK haga el trabajo tedioso.
Pero me estoy volviendo loco con los gosubs, y con que no puedo ir concretamente a la subrutina deseada.
En fin, pongo el código que fui haciendo (aclaro que no está finalizado), a ver si alguien me puede ayudar, cosa que agradecería muchísimo, y así de paso aprendo.
Code: Select all
; =============== variables /===============
videoAVC := "H264_Video"
videoEVC := "H265_Video"
audioAC3Eng := "AC3_English"
audioEAC3Eng := "E-AC3_English"
audioAC3Spa := "AC3_Spanish"
audioEAC3Spa := "E-AC3_Spanish"
audioAC3Fre := "AC3_French"
audioEAC3Fre := "E-AC3_French"
audioAC3Jap := "AC3_Japanese"
audioEAC3Jap := "E-AC3_Japanese"
audioAC3Ita := "AC3_Italian"
audioEAC3Ita := "E-AC3_Italian"
audioAACEng := "AAC_English"
audioAACSpa := "AAC_Spanish"
audioAACFre := "AAC_French"
audioAACJap := "AAC_Japanese"
audioAACIta := "AAC_Italian"
subSpa := "SRT_Spanish"
subEng := "SRT_English"
subIta := "SRT_Italian"
; ===============/ variables ===============
IfWinExist, MKVToolNix GUI v21.0.0 ('Tardigrades Will Inherit The Earth') 64-bit
WinActivate, MKVToolNix GUI v21.0.0 ('Tardigrades Will Inherit The Earth') 64-bit
Gui, +AlwaysOnTop
Gui, Add, Tab, w250 h300 x10 y10, Video|Audio|Subtítulos
Gui, Add, Text, W150 H30, Tipo de Video
Gui, Add, Checkbox, vH264 , H264
Gui, Add, Checkbox, vH265 , H265
Gui, Add, Text, W150 H20,
Gui, Add, Text, W150 H20,
Gui, Add, Text, W150 H20,
Gui, Add, Text, W150 H20,
Gui, Add, Text, W150 H24,
Gui, Add, Button, w70 h22 default, Ok
Gui, Add, Button, xp+80 yp w70 h22, Cancel
Gui, Tab, 2
Gui, Add, Text, W150 H30, Tipo de Audio
Gui, Add, Checkbox, vAC3Eng , AC3 English
Gui, Add, Checkbox, vEAC3Eng , E-AC3 English
Gui, Add, Checkbox, vAC3Spa , AC3 Spanish
Gui, Add, Checkbox, vEAC3Spa , E-AC3 Spanish
Gui, Add, Checkbox, vAC3Fre , AC3 French
Gui, Add, Checkbox, vAC3Ita , AC3 Ita
Gui, Add, Checkbox, vAC3Jap , AC3 Japanese
Gui, Add, Checkbox, vAACEng , AAC English
Gui, Add, Checkbox, vAACSpa , AAC Spanish
Gui, Add, Text, W150 H27,
Gui, Add, Button, w70 h22 default, Oka
Gui, Add, Button, xp+80 yp w70 h22, Cancela
Gui, Tab, 3
Gui, Add, Text, W150 H30, Tipo de Subtítulos
Gui, Add, Checkbox, vSRTEsp , SRT Spanish
Gui, Add, Checkbox, vSRTEng , SRT English
Gui, Add, Checkbox, vSRTIta , SRT Italian
Gui, Add, Text, W150 H20,
Gui, Add, Text, W150 H20,
Gui, Add, Text, W150 H20,
Gui, Add, Text, W150 H20,
Gui, Add, Text, W150 H5,
Gui, Add, Button, w70 h22 default, Ok
Gui, Add, Button, xp+80 yp w70 h22, Cancel
Gui, Show,,MKV Toolnix Helper,
return
buttonOk:
Gui, submit, nohide
{
If (vH64=1)
gosub H264
}
{
If (H265=1)
gosub H265
}
buttonCancel:
GuiEscape:
GuiClose:
H264:
IfWinExist, MKVToolNix GUI v21.0.0 ('Tardigrades Will Inherit The Earth') 64-bit
WinActivate, MKVToolNix GUI v21.0.0 ('Tardigrades Will Inherit The Earth') 64-bit
Send, {Tab down}{Tab up}{Tab down}{Tab up}{Tab down}{Tab up}
SetKeyDelay, 100
send, %videoAVC%
Send, {Tab down}{Tab up}{Home down}{Home up}{e down}{e up}
SetKeyDelay, 100
Send, {Tab down}{Tab up}{Home down}{Home up}{s down}{s up}
SetKeyDelay, 100
Send, {Tab down}{Tab up}{Home down}{Home up}{n down}{n up}
Reload
return
H265:
IfWinExist, MKVToolNix GUI v21.0.0 ('Tardigrades Will Inherit The Earth') 64-bit
WinActivate, MKVToolNix GUI v21.0.0 ('Tardigrades Will Inherit The Earth') 64-bit
Send, {Tab down}{Tab up}{Tab down}{Tab up}{Tab down}{Tab up}
SetKeyDelay, 100
send, %videoEVC%
Send, {Tab down}{Tab up}{Home down}{Home up}{e down}{e up}
SetKeyDelay, 100
Send, {Tab down}{Tab up}{Home down}{Home up}{s down}{s up}
SetKeyDelay, 100
Send, {Tab down}{Tab up}{Home down}{Home up}{n down}{n up}
Reload
return
buttonOka:
Gui, submit, nohide
{
If (vAC3Eng=1)
gosub AC3English
}
{
If (vEAC3Eng=1)
gosub EAC3English
}
AC3English:
IfWinExist, MKVToolNix GUI v21.0.0 ('Tardigrades Will Inherit The Earth') 64-bit
WinActivate, MKVToolNix GUI v21.0.0 ('Tardigrades Will Inherit The Earth') 64-bit
Send, {Tab down}{Tab up}{Tab down}{Tab up}{Tab down}{Tab up}
SetKeyDelay, 100
send, %audioAC3Eng%
Send, {Tab down}{Tab up}{Home down}{Home up}{e down}{e up}
SetKeyDelay, 100
Send, {Tab down}{Tab up}{Home down}{Home up}{s down}{s up}
SetKeyDelay, 100
Send, {Tab down}{Tab up}{Home down}{Home up}{n down}{n up}
Reload
return
EAC3English:
IfWinExist, MKVToolNix GUI v21.0.0 ('Tardigrades Will Inherit The Earth') 64-bit
WinActivate, MKVToolNix GUI v21.0.0 ('Tardigrades Will Inherit The Earth') 64-bit
Send, {Tab down}{Tab up}{Tab down}{Tab up}{Tab down}{Tab up}
SetKeyDelay, 100
send, %audioEAC3Eng%
Send, {Tab down}{Tab up}{Home down}{Home up}{e down}{e up}
SetKeyDelay, 100
Send, {Tab down}{Tab up}{Home down}{Home up}{s down}{s up}
SetKeyDelay, 100
Send, {Tab down}{Tab up}{Home down}{Home up}{n down}{n up}
Reload
return
^ñ:: reload
Desde ya, muchísimas gracias!
Edit:
Código actualizado: Actualmente funciona Perfectamente la Pestaña Video, pero en la pestaña Audio funciona correctamente la primera opción, cuando se tilda la segunda, el programa lanza la primera opción
Edit2:
Creí que el foro en español sería el lugar más apropiado para pedir ayuda con mi script, no pensé que estaba abandonado.
No pretendo hacer una consulta y obtener una respuesta a los 3 minutos, pero ya han pasado casi 24 horas y absolutamente nadie ha podido contestar.
El problema es que si hago la misma consulta en el foro en inglés, seguramente estaré violando alguna regla, así que no me queda otra que esperar.