Subida a Gitea
This commit is contained in:
commit
63f354035e
14 changed files with 448 additions and 0 deletions
2
.directory
Normal file
2
.directory
Normal file
|
@ -0,0 +1,2 @@
|
|||
[Desktop Entry]
|
||||
Icon=./.icon.png
|
17
.gitignore
vendored
Normal file
17
.gitignore
vendored
Normal file
|
@ -0,0 +1,17 @@
|
|||
#---- Gambas files to ignore (v5)
|
||||
*.gambas
|
||||
.lock
|
||||
*~
|
||||
core
|
||||
core.*
|
||||
vgcore
|
||||
vgcore.*
|
||||
.kdbg*
|
||||
.*.prof
|
||||
.lang/*.pot
|
||||
.gambas/*
|
||||
.settings
|
||||
.startup
|
||||
.list
|
||||
.info
|
||||
#----
|
28
.hidden/CHANGELOG
Normal file
28
.hidden/CHANGELOG
Normal file
|
@ -0,0 +1,28 @@
|
|||
* Mon Jun 26 2023 Luis GuLo <luisgulo@gmail.com> 1.0.16
|
||||
- Se usa yt-dlp como gestor de descarga. Se busca mejor video en formato mp4
|
||||
|
||||
* Sat Jan 07 2023 Luis GuLo <luisgulo@gmail.com> 1.0.11
|
||||
- Incorpora tiempos de finalización de la descarga
|
||||
|
||||
* Fri Nov 12 2021 Luis GuLo <luisgulo@soloconlinux.org.es> 1.0.11
|
||||
- Se busca la mejor opcion de descarga en velocidad
|
||||
|
||||
* Sun Oct 31 2021 Luis GuLo <luisgulo@soloconlinux.org.es> 1.0.10
|
||||
- Se incluye area de estado, para ver tiempo restante de la descarga
|
||||
|
||||
* Thu Jul 02 2020 Luis GuLo <luisgulo@soloconlinux.org.es> 1.0.9
|
||||
- Ajuste de animacion de progreso
|
||||
|
||||
* Sun Jan 05 2020 Luis GuLo <luisgulo@soloconlinux.org.es> 1.0.8
|
||||
- Ajuste de tamaño. Textos y traduccion
|
||||
|
||||
* Sun Dec 29 2019 Luis GuLo <luisgulo@soloconlinux.org.es> 1.0.7
|
||||
- Permite descargar unicamente el Audio de un vídeo.
|
||||
- Allows you to download only music
|
||||
|
||||
* Sat Oct 26 2019 Luis GuLo <luisgulo@gmail.com> 1.0.6
|
||||
- Ajuste de traduccion y boton descarga
|
||||
|
||||
* Thu Oct 24 2019 Luis GuLo <luisgulo@gmail.com> 1.0.3
|
||||
- Lanzamiento inicial
|
||||
|
BIN
.icon.png
Normal file
BIN
.icon.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 10 KiB |
BIN
.lang/en.mo
Normal file
BIN
.lang/en.mo
Normal file
Binary file not shown.
95
.lang/en.po
Normal file
95
.lang/en.po
Normal file
|
@ -0,0 +1,95 @@
|
|||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SoundClouding 3.12.2\n"
|
||||
"PO-Revision-Date: 2020-01-05 13:51 UTC\n"
|
||||
"Last-Translator: luisgulo <luisgulo@gmail.com>\n"
|
||||
"Language: en\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: .project:1 FMain.form:15
|
||||
msgid "SoundClouding"
|
||||
msgstr "-"
|
||||
|
||||
#: .project:2
|
||||
msgid "Descarga a tu biblioteca local audio y vídeo de internet para disfrutarlo desconectado.\nHerramienta gráfica para descarga de audio y vídeo con youtube-dl"
|
||||
msgstr "Download audio and video to your local library to enjoy it offline.\nGraphic tool for downloading audio and video with youtube-dl"
|
||||
|
||||
#: FMain.class:30
|
||||
msgid "URL no válida"
|
||||
msgstr "Invalid URL"
|
||||
|
||||
#: FMain.class:31
|
||||
msgid "Si tiene algún problema, pruebe a cortar y pegar la dirección"
|
||||
msgstr "If you have any problems, try cutting and pasting the address"
|
||||
|
||||
#: FMain.class:31
|
||||
msgid "Solo puede arrastrar y soltar una URL"
|
||||
msgstr "You can only drag and drop a URL"
|
||||
|
||||
#: FMain.class:45
|
||||
msgid "Chequeando URL y ficheros multimedia..."
|
||||
msgstr "Checking URL and multimedia files..."
|
||||
|
||||
#: FMain.class:49
|
||||
msgid "Error en URL"
|
||||
msgstr "URL error"
|
||||
|
||||
#: FMain.class:50
|
||||
msgid "La URL indicada no se puede procesar para extraer audio/vídeo"
|
||||
msgstr "The indicated URL cannot be processed to extract audio / video"
|
||||
|
||||
#: FMain.class:53
|
||||
msgid "Descargando multimedia (audio/vídeo)"
|
||||
msgstr "Downloading multimedia (audio/video)"
|
||||
|
||||
#: FMain.class:67
|
||||
msgid "Descarga finalizada"
|
||||
msgstr "Download finished"
|
||||
|
||||
#: FMain.class:68
|
||||
msgid "Se ha descargado el audio/vídeo en: "
|
||||
msgstr "The audio / video has been downloaded at:"
|
||||
|
||||
#: FMain.class:73
|
||||
msgid "Puede arrastrar y soltar una URL"
|
||||
msgstr "You can drag and drop a URL"
|
||||
|
||||
#: FMain.class:86
|
||||
msgid "Error youtube-dl"
|
||||
msgstr "youtube-dl error"
|
||||
|
||||
#: FMain.class:87
|
||||
msgid "* Debe instalarlo desde su gestor de paquetes"
|
||||
msgstr "* You must install it from your package manager"
|
||||
|
||||
#: FMain.class:87
|
||||
msgid "* También puede descargarlo desde: https://yt-dl.org/latest/youtube-dl "
|
||||
msgstr "* You can also download it from: https://yt-dl.org/latest/youtube-dl"
|
||||
|
||||
#: FMain.class:87
|
||||
msgid "No se ha localizado la herramienta externa youtube-dl"
|
||||
msgstr "* You must install it from your package manager"
|
||||
|
||||
#: FMain.form:21
|
||||
msgid "Arrastre aquí la URL de SoundCloud"
|
||||
msgstr "Drag the SoundCloud URL here"
|
||||
|
||||
#: FMain.form:26
|
||||
msgid "Arrastre la URL o corte y pegue en el recuadro de texto:"
|
||||
msgstr "Drag the URL or cut and paste in the text box:"
|
||||
|
||||
#: FMain.form:32
|
||||
msgid "Descargar Música"
|
||||
msgstr "Download music"
|
||||
|
||||
#: FMain.form:33
|
||||
msgid "Descargar"
|
||||
msgstr "Download"
|
||||
|
||||
#: FMain.form:50
|
||||
msgid "Extraer sólo la Música/Audio de la descarga"
|
||||
msgstr "Download only Music/Audio"
|
||||
|
BIN
.lang/es_ES.mo
Normal file
BIN
.lang/es_ES.mo
Normal file
Binary file not shown.
95
.lang/es_ES.po
Normal file
95
.lang/es_ES.po
Normal file
|
@ -0,0 +1,95 @@
|
|||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SoundClouding 3.12.2\n"
|
||||
"PO-Revision-Date: 2020-01-05 13:50 UTC\n"
|
||||
"Last-Translator: luisgulo <luisgulo@gmail.com>\n"
|
||||
"Language: es_ES\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: .project:1 FMain.form:15
|
||||
msgid "SoundClouding"
|
||||
msgstr "-"
|
||||
|
||||
#: .project:2
|
||||
msgid "Descarga a tu biblioteca local audio y vídeo de internet para disfrutarlo desconectado.\nHerramienta gráfica para descarga de audio y vídeo con youtube-dl"
|
||||
msgstr "Descarga a tu biblioteca local audio y vídeo de internet para disfrutarlo desconectado.\nHerramienta gráfica para descarga de audio y vídeo con youtube-dl"
|
||||
|
||||
#: FMain.class:30
|
||||
msgid "URL no válida"
|
||||
msgstr "URL no válida"
|
||||
|
||||
#: FMain.class:31
|
||||
msgid "Si tiene algún problema, pruebe a cortar y pegar la dirección"
|
||||
msgstr "Si tiene algún problema, pruebe a cortar y pegar la dirección"
|
||||
|
||||
#: FMain.class:31
|
||||
msgid "Solo puede arrastrar y soltar una URL"
|
||||
msgstr "Solo puede arrastrar y soltar una URL"
|
||||
|
||||
#: FMain.class:45
|
||||
msgid "Chequeando URL y ficheros multimedia..."
|
||||
msgstr "Chequeando URL y ficheros multimedia..."
|
||||
|
||||
#: FMain.class:49
|
||||
msgid "Error en URL"
|
||||
msgstr "Error en URL"
|
||||
|
||||
#: FMain.class:50
|
||||
msgid "La URL indicada no se puede procesar para extraer audio/vídeo"
|
||||
msgstr "La URL indicada no se puede procesar para extraer audio/vídeo"
|
||||
|
||||
#: FMain.class:53
|
||||
msgid "Descargando multimedia (audio/vídeo)"
|
||||
msgstr "Descargando multimedia (audio/vídeo)"
|
||||
|
||||
#: FMain.class:67
|
||||
msgid "Descarga finalizada"
|
||||
msgstr "Descarga finalizada"
|
||||
|
||||
#: FMain.class:68
|
||||
msgid "Se ha descargado el audio/vídeo en: "
|
||||
msgstr "Se ha descargado el audio/vídeo en:"
|
||||
|
||||
#: FMain.class:73
|
||||
msgid "Puede arrastrar y soltar una URL"
|
||||
msgstr "Puede arrastrar y soltar una URL"
|
||||
|
||||
#: FMain.class:86
|
||||
msgid "Error youtube-dl"
|
||||
msgstr "Error youtube-dl"
|
||||
|
||||
#: FMain.class:87
|
||||
msgid "* Debe instalarlo desde su gestor de paquetes"
|
||||
msgstr "* Debe instalarlo desde su gestor de paquetes"
|
||||
|
||||
#: FMain.class:87
|
||||
msgid "* También puede descargarlo desde: https://yt-dl.org/latest/youtube-dl "
|
||||
msgstr "* También puede descargarlo desde: https://yt-dl.org/latest/youtube-dl "
|
||||
|
||||
#: FMain.class:87
|
||||
msgid "No se ha localizado la herramienta externa youtube-dl"
|
||||
msgstr "No se ha localizado la herramienta externa youtube-dl"
|
||||
|
||||
#: FMain.form:21
|
||||
msgid "Arrastre aquí la URL de SoundCloud"
|
||||
msgstr "Arrastre aquí la URL de SoundCloud"
|
||||
|
||||
#: FMain.form:26
|
||||
msgid "Arrastre la URL o corte y pegue en el recuadro de texto:"
|
||||
msgstr "Arrastre la URL o corte y pegue en el recuadro de texto:"
|
||||
|
||||
#: FMain.form:32
|
||||
msgid "Descargar Música"
|
||||
msgstr "Descargar Música"
|
||||
|
||||
#: FMain.form:33
|
||||
msgid "Descargar"
|
||||
msgstr "Descargar"
|
||||
|
||||
#: FMain.form:50
|
||||
msgid "Extraer sólo la Música/Audio de la descarga"
|
||||
msgstr "Extraer sólo la Música/Audio de la descarga"
|
||||
|
37
.project
Normal file
37
.project
Normal file
|
@ -0,0 +1,37 @@
|
|||
# Gambas Project File 3.0
|
||||
Title=SoundClouding
|
||||
Startup=FMain
|
||||
Icon=icono.png
|
||||
Version=1.0.16
|
||||
Component=gb.image
|
||||
Component=gb.gui
|
||||
Component=gb.form
|
||||
Description="SoundClouding es una herramienta gráfica para descarga de audio y vídeo con yt-dlp. \nDescarga a tu biblioteca local vídeo o audio de internet para disfrutarlo desconectado."
|
||||
Authors="LuisGuLo"
|
||||
TabSize=2
|
||||
Translate=1
|
||||
Language=es_ES
|
||||
SourcePath=/home/luisgulo/ProyectosGAMBAS/SOURCEs
|
||||
Maintainer=Luis GuLo
|
||||
Vendor=LuisGuLo
|
||||
Address=luisgulo@gmail.com
|
||||
Url=https://gitea.soloconlinux.org.es/GAMBAS/SoundClouding
|
||||
License=General Public License
|
||||
PackageName=soundclouding-1.0.16
|
||||
PackageVersion=2
|
||||
CreateEachDirectory=1
|
||||
Packager=1
|
||||
Systems=debian,fedora
|
||||
SameDependencies=1
|
||||
Menus=debian:"Applications/Sound"
|
||||
Categories=debian:"AudioVideo"
|
||||
Groups=debian:"sound"
|
||||
ExtraDependencies=debian:"youtube-dl\t\t"
|
||||
Menus=fedora:"Audio Video/Music"
|
||||
Categories=fedora:"AudioVideo;Music"
|
||||
Groups=fedora:"Applications/Multimedia"
|
||||
ExtraDependencies=*:"yt-dlp\t\t"
|
||||
Tags=Music,Utility
|
||||
Dependencies=youtube-dl
|
||||
GambasVersion=3.12
|
||||
WebSite=httpss://repositorio.soloconlinux.org.es
|
124
.src/FMain.class
Normal file
124
.src/FMain.class
Normal file
|
@ -0,0 +1,124 @@
|
|||
' Gambas class file
|
||||
|
||||
'' Instalar para todos los usuarios
|
||||
' sudo apt-get -y install yt-dlp
|
||||
|
||||
'' Forma de uso (incluye imagen en audio)
|
||||
' yt-dlp https://soundcloud.com/grupo/cancion --embed-thumbnail
|
||||
|
||||
Public hProceso As Process
|
||||
|
||||
Public Sub Form_Open()
|
||||
Me.Title = "SoundClouding - version " & Application.Version
|
||||
Giro.Visible = False
|
||||
Giro.Stop
|
||||
' Definimos la shell para llamadas...
|
||||
System.Shell = "/bin/bash"
|
||||
CompruebaDL()
|
||||
labelProcesando.Text = ""
|
||||
End
|
||||
|
||||
|
||||
Public Sub Form_Drop()
|
||||
Dim cadenaDrag As String
|
||||
'Message.Info(("Recibido en pegado:" & Drag.Format))
|
||||
If Drag.Format = "text/plain" Then
|
||||
'Borramos caracteres NULL (\x00) del codigo UNICODE recibido
|
||||
'cadenaDrag = Replace(Drag.Paste("text/unicode"), "\x00", "")
|
||||
cadenaDrag = Replace(Drag.Paste("text/plain"), "\x00", "")
|
||||
txtURL.Text = cadenaDrag
|
||||
Else
|
||||
Message.Title = ("URL no válida")
|
||||
Message.Warning(("Solo puede arrastrar y soltar una URL") & gb.CrLf & ("Si tiene algún problema, pruebe a cortar y pegar la dirección"))
|
||||
Endif
|
||||
End
|
||||
|
||||
Public Sub botonDescargar_Click()
|
||||
Dim NombreFichero As String
|
||||
'Crear la carpeta SoundClouding
|
||||
Shell "mkdir -p " & User.Home & "/SoundClouding" Wait
|
||||
|
||||
' Desactivamos para evitar pulsar más de una vez a los nerviosos
|
||||
botonDescargar.Enabled = False
|
||||
|
||||
If txtURL.Text <> ""
|
||||
' Mostramos que estamos haciendo algo...
|
||||
labelProcesando.Text = ("Chequeando URL y ficheros multimedia...")
|
||||
' Obtener el nombre de fichero
|
||||
'Shell "echo -ne $(yt-dlp " & txtURL.Text & " --get-filename)" To NombreFichero
|
||||
'Shell "echo -ne $(yt-dlp " & txtURL.Text & " -F 2>/dev/null|grep mp4|grep -v 'only'|tail -1|awk '{print $1})" To NombreFichero
|
||||
Shell "echo -ne $(yt-dlp " & txtURL.Text & " -F 2>/dev/null|grep mp4|grep -v 'only'|tail -1|awk '{print $1}')" To NombreFichero
|
||||
'Message.Info(("ID de video:" & NombreFichero))
|
||||
|
||||
If NombreFichero = ""
|
||||
Message.Title = ("Error en URL")
|
||||
Message.Error(("La URL indicada no se puede procesar para extraer audio/vídeo"))
|
||||
txtURL.Text = ""
|
||||
Else
|
||||
Dim MejorFormato As String
|
||||
'' Obtener el ID del mejor formato MP4
|
||||
Shell "echo -ne $(yt-dlp -F " & txtURL.Text & " 2>/dev/null|grep mp4|grep -v 'only'|tail -1|awk '{print $1}' )" To MejorFormato
|
||||
labelProcesando.Text = ("Descargando multimedia (audio/vídeo)")
|
||||
'Giro.Visible = True
|
||||
'Giro.Start
|
||||
'Giro.Refresh
|
||||
txtGira.Visible = True
|
||||
Wait 0.1
|
||||
' Descargamos musica/Video e incluimos la imagen de la caratula embebida
|
||||
If chkMusica.Value Then
|
||||
'Shell "cd " & User.Home & "/SoundClouding ; youtube-dl " & txtURL.Text & " --embed-thumbnail -x --audio-format mp3 " Wait
|
||||
hProceso = Shell ("cd " & User.Home & "/SoundClouding ; yt-dlp " & txtURL.Text & " -x --audio-format mp3 ") For Read As "Proceso"
|
||||
Else
|
||||
'Shell "cd " & User.Home & "/SoundClouding ; youtube-dl " & txtURL.Text & " --embed-thumbnail" Wait ' Descargar por ID (-f)
|
||||
hProceso = Shell ("cd " & User.Home & "/SoundClouding ; yt-dlp -f " & MejorFormato & " " & txtURL.Text) For Read As "Proceso"
|
||||
Endif
|
||||
Do While hProceso.State = Process.Running
|
||||
Select Case txtGira.Text
|
||||
Case "|"
|
||||
txtGira.Text = "/"
|
||||
Case "/"
|
||||
txtGira.Text = "-"
|
||||
Case "-"
|
||||
txtGira.Text = "\\"
|
||||
Case "\\"
|
||||
txtGira.Text = "|"
|
||||
Case Else
|
||||
txtGira.Text = "|"
|
||||
End Select
|
||||
Wait 0.1
|
||||
Loop
|
||||
'Giro.Stop
|
||||
'Giro.Visible = False
|
||||
txtGira.Visible = False
|
||||
labelProcesando.Text = "Descarga finalizada en: " & User.Home & "/SoundClouding"
|
||||
Message.Title = ("Descarga finalizada")
|
||||
Message.Info(("Se ha descargado el audio/vídeo en: ") & User.Home & "/SoundClouding")
|
||||
txtURL.Text = ""
|
||||
Endif
|
||||
Else
|
||||
Message.Title = ("URL no válida")
|
||||
Message.Warning(("Puede arrastrar y soltar una URL") & gb.CrLf & ("Si tiene algún problema, pruebe a cortar y pegar la dirección"))
|
||||
Endif
|
||||
' Reactivamos el boton
|
||||
botonDescargar.Enabled = True
|
||||
labelProcesando.Text = ""
|
||||
End
|
||||
|
||||
Public Sub Proceso_Read()
|
||||
Dim sline As String
|
||||
sline = Read #Last, Lof(Last)
|
||||
txtSalida.Text = sline
|
||||
End
|
||||
|
||||
|
||||
Public Function CompruebaDL()
|
||||
' Comprobamos si existe youtube-dl (VERSION )
|
||||
Dim Resultado As String
|
||||
Shell "yt-dlp --version 1>/dev/null 2>/dev/null; echo -n $?" To Resultado
|
||||
If Resultado <> "0"
|
||||
Message.Title = ("Error yt-dlp")
|
||||
Message.Error(("No se ha localizado la herramienta externa yt-dlp") & gb.CrLf & ("* Debe instalarlo desde su gestor de paquetes") & gb.CrLf & ("* También puede descargarlo desde: https://yt-dl.org/latest/yt-dlp "))
|
||||
Quit
|
||||
Endif
|
||||
End
|
||||
|
50
.src/FMain.form
Normal file
50
.src/FMain.form
Normal file
|
@ -0,0 +1,50 @@
|
|||
# Gambas Form File 3.0
|
||||
|
||||
{ Form Form
|
||||
MoveScaled(0,0,77,29)
|
||||
Mouse = Mouse.Pointing
|
||||
Drop = True
|
||||
Text = ("SoundClouding")
|
||||
Icon = Picture["icono.png"]
|
||||
Resizable = False
|
||||
{ txtURL TextBox
|
||||
MoveScaled(1,5,74,4)
|
||||
ToolTip = ("Arrastre aquí la URL de SoundCloud")
|
||||
}
|
||||
{ LabelURL Label
|
||||
MoveScaled(1,1,74,4)
|
||||
Text = ("Arrastre la URL o corte y pegue en el recuadro de texto:")
|
||||
}
|
||||
{ botonDescargar ToolButton
|
||||
MoveScaled(57,11,18,8)
|
||||
Font = Font["Bold"]
|
||||
ToolTip = ("Descargar Música")
|
||||
Text = ("Descargar")
|
||||
Picture = Picture["icono.png"]
|
||||
Border = True
|
||||
}
|
||||
{ Giro Spinner
|
||||
MoveScaled(48,11,8,8)
|
||||
Visible = False
|
||||
}
|
||||
{ labelProcesando Label
|
||||
MoveScaled(2,11,45,8)
|
||||
Alignment = Align.TopLeft
|
||||
}
|
||||
{ chkMusica CheckBox
|
||||
MoveScaled(2,16,45,4)
|
||||
Text = ("Extraer sólo la Música/Audio de la descarga")
|
||||
}
|
||||
{ txtGira Label
|
||||
MoveScaled(48,11,8,8)
|
||||
Visible = False
|
||||
Font = Font["Bold,+4"]
|
||||
Foreground = Color.Red
|
||||
Text = ("|")
|
||||
Alignment = Align.Center
|
||||
}
|
||||
{ txtSalida Label
|
||||
MoveScaled(1,22,74,6)
|
||||
Border = Border.Plain
|
||||
}
|
||||
}
|
0
README.md
Normal file
0
README.md
Normal file
BIN
icono.png
Normal file
BIN
icono.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 2.1 KiB |
BIN
soundclouding.png
Normal file
BIN
soundclouding.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 50 KiB |
Loading…
Reference in a new issue