Comunidad Gambas-es
Obteniendo la letra de una canción - Versión para impresión

+- Comunidad Gambas-es (https://gambas-es.org)
+-- Foro: Gambas (https://gambas-es.org/forum-3.html)
+--- Foro: Aplicaciones/Fragmentos de Código (https://gambas-es.org/forum-8.html)
+--- Tema: Obteniendo la letra de una canción (/thread-535.html)



Obteniendo la letra de una canción - tincho - 14-08-2021

Hola amigos.
Hace unos años hice esta función que obtenía la letra de una canción, era para el programa Vinilo que es para escuchar y catalogar música, bien ahora intento actualizar y simplificar el código.
Les comparto el código por si tienen ganas de invertir algo de tiempo y mejorarla.
Nota: Uso el programa de terminal elinks que tambien me gustaria dejar de usar, si es posible me interesa usar solo gambas.

Código:
Public Function ReadLyric(strArtist As String, strTitle As String) As String
 
  Dim strBoxBeg As String
  Dim intBoxBeg As Integer
  Dim intBoxEnd As Integer
  Dim strHtmlTmp As String
  Dim intMessage As Integer
 
  Select Msys.PkgStat("elinks")
      
    Case True
      
      If InStr(strArtist, " ") <> 0 Then
        strArtist = Replace(strArtist, " ", "_")
        strArtist = MUtility.Capital(strArtist)
      Endif
      
      If InStr(strTitle, " ") <> 0 Then
        strTitle = Replace(strTitle, " ", "_")
        strTitle = MUtility.Capital(strTitle)
      Endif
      
      Shell "elinks http://lyrics.wikia.com/" & strArtist & ":" & strTitle & " 2>&1" To strHtmlTmp
      
      strBoxBeg = "licensing agreement with music Gracenote."
      intBoxBeg = InStr(strHtmlTmp, strBoxBeg) + String.Len(strBoxBeg)
      intBoxEnd = InStr(strHtmlTmp, "   External links", intBoxBeg)
      
      strHtml = Mid(strHtmlTmp, intBoxBeg, intBoxEnd - intBoxBeg)
      strHtml = Replace(strHtml, "\n\n", "\n")
      
    Case False
      intMessage = Message.Question(("Tiene que instalar el progrma") & "elinks", ("Aceptar"), ("Instalar"))
      
      Select intMessage
        Case 1
          '
        Case 2
          Desktop.OpenTerminal
        Case 3
          Settings["Preferences/alarm"] = False
          
          FMain.bolPkgAlarm = False
          
      End Select
      
  End Select
 
  Return strHtml
 
End
Saludos.


RE: Obteniendo la letra de una canción - Shordi - 14-08-2021

Le echaré un ojo. Acabo de "terminar" un reproductor de mp3 que, creo, subiré a git y, a lo mejor, me viene bien.

Saludos


RE: Obteniendo la letra de una canción - tincho - 14-08-2021

(14-08-2021, 17:53)Shordi escribió: Le echaré un ojo. Acabo de "terminar" un reproductor de mp3 que, creo, subiré a git y, a lo mejor, me viene bien.

ok, si algo comentaste el otro día, bueno espero ver el programa rulando. No se que características le quieres dar a tu programa, gestión de la colección de musica, búsqueda de canciones, etc. pero bueno es un mundo este tipo de programas.

Saludos.


RE: Obteniendo la letra de una canción - Shordi - 14-08-2021

Naaa... Muy sencillito: seleccionar carpeta y escuchar lo que haya en ella. Al estilo de audacious pero más simple. Es la manera en que yo utilizo audacious, que instalo de versión a versión del sistema desde hace 15 años. Ahora me lo ahorraré...???

Esta es la pinta que tiene... los colores son configurables, claro.

[Imagen: O7PFWLs.png]


Ya te cuento si le pongo letras o no.

Saludos


RE: Obteniendo la letra de una canción - Shordi - 15-08-2021

Mmm... he estado probando y resulta que http://lyrics.wikia.com ya no existe.

He buscado por google sitios que devuelvan letras de canciones y no he visto ninguno. Todo lo que hay tiene pinta de abandonado, con fecha de hace varios años, como si una fiebre por las letras hubiese recorrido la red y luego se hubiese extinguido y hubiese sido sustituído por toda una serie de "apps" y "plugins" que hacen el trabajo sobre vídeos en marcha y cosas así.

Sin un apoyo externo, eso de pillar las letras no lo veo posible... y tampoco es que sea tan necesario, al menos para mi minireproductor.

A falta de otras buenas ideas, aparco el tema.

Saludos