Shordi   20-08-2021, 20:33
#1
Aquí os dejo un nuevo control que he desarrollado. Es un reproductor de mp3, wav y ogg con un espectrómetro incorporado, al estilo de Audacious. El control se basa en la clase SpectrumPlayer del proyecto AudioSpectrum que podéis encontrar aquí: https://github.com/prokopyl/AudioSpectrum Lo que yo he aportado a ésto ha sido la conversión de las clases estáticas y módulos de AudioSpectrum en un control de gambas.
No podía utilizar el mismo nombre y lo he abreviado a SpPlayer.

Como propiedades expuestas al IDE tenéis el FileName, el color de Fondo, el número de barras y el fondo animado (el fondo cambia de color según la intensidad de la música)

En el proyecto gbAmp, que tenéis aquí: https://gitlab.com/shordi/gbamp tenéis un ejemplo completo de uso del control.

[Imagen: V3HRLit.png]

Os dejo aquí el fuente de un pequeño proyecto en forma de componente que lo incluye y del que podéis crear el paquete de instalación e instalarlo en vuestras máquinas. A partir de entonces dispondrés del control como un componente más de Gambas.

Espero que os sea útil.

Saludos.
Archivos adjuntos
.gz
spPlayer-0.0.2.tar.gz (Tamaño: 10.93 KB Descargas: 4)
Última modificación: 22-08-2021, 10:47 por Shordi.

No podemos regresar
Grandamakulo   21-08-2021, 20:47
#2
Shordi, me sabrás perdonar, pero como porsaquero oficial de Gambas3 —POG en adelante—  Cool  debo preguntarte:
¿Se pueden seleccionar las frecuencias específicas de las barras y la leyenda de éstas?
Shordi   21-08-2021, 23:48
#3
Sí se puede, claro, pero si no me dices el objetivo... pues no sé exactamente de qué hablas.

Saludos

No podemos regresar
Grandamakulo   22-08-2021, 00:26
#4
Pues que me gustaría que las barras tuviesen las frecuencias de las teclas del piano. Es algo que hice hace miles de años en MATLAB con fft2, pero lo perdí y me hace ilusión ahora que he visto esto.
«Ná», una chorrada de las mías.
Shordi   22-08-2021, 10:49
#5
He afinado un poco más el control, actualizado el archivo adjunto y subido el control a la granja, por si le interesa a alguien.


Saludos

No podemos regresar
Grandamakulo   22-08-2021, 11:36
#6
Vale, Shordi, encontré el cómo a lo de las frecuencias:

Código:
Private Sub GenerateBandList()
  
  Dim i, x As Float
  Dim band As Float
  
  For i = 0 To $aBandList.Max
    x = i / $aBandList.Max
    'band = Exp((Log(TOP_FREQUENCY) - Log(BOTTOM_FREQUENCY)) * x + Log(BOTTOM_FREQUENCY))
    band = 10 ^ ((Log10(TOP_FREQUENCY) - Log10(BOTTOM_FREQUENCY)) * x + Log10(BOTTOM_FREQUENCY))
    $aBandList[i] = band
  Next
  
End
Sólo tengo que modificar la matriz $aBandList.
Última modificación: 22-08-2021, 11:37 por Grandamakulo.
  
Usuarios navegando en este tema: 4 invitado(s)
Powered By MyBB, © 2002-2024 MyBB Group.
Made with by Curves UI.