Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 1
 
 
Extraer Información De Un Archivo Midi Con Sólo Las Funciones De Gambas.
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Extraer Información De Un Archivo Midi Con Sólo Las Funciones De Gambas. 
 
Hola hermanosss,

una otra vez con la... MIDI-mania  

Este código permite obtener con sólo las funciones de gambas las siguientes informaciones de un archivo Midi:
- nombre;
- tamaño;
- tipo file Midi;
- Cantidad de pistas;
- Resolución PPQN;
- Tempo metronomico inicial.
Public Sub Main()

 Dim file_midi As String = "/ruta/del/file.mid"
 Dim fl As File
 Dim bb As Byte[]
 Dim i As Integer
 Dim t As Short
 
 
  fl = Open file_midi For Read
 
' Muestra el nombre del archivo Midi.:
  Print "Nombre del archivo Midi: "; File.Name(file_midi)

' Verifica el tamaño del archivo Midi:
  Print "Tamaño del archivo Midi: "; Lof(fl); " byte"
 
' Lee todo el archivo Midi y carga los datos en la variable vectorial:
  With bb = New Byte[Lof(fl)]
    .Read(fl)
  End With

' Verifica que el archivo subido sea un archivo MIDI estándar.:
  If bb.ToString(0, 4) <> "MThd" Then Error.Raise("El archivo subido no es un archivo Midi !")
 
' Verifica el tipo de archivo Midi:
  Print "Tipo de archivo Midi: "; CStr(bb[9])
 
' Verifica la cantidad de pistas en el archivo Midi.:
  Print "Numero de pistas: "; CStr(bb[11])
 
' Verifica la resolución PPQN del archivo Midi.:
  Print "Resolución PPQN: "; legge_Byte(fl, 12, 2)

' Verifica el Tempo metronomico inicial del archivo Midi:
  i = InStr(bb.ToString(0, Lof(fl)), Chr(&FF) & Chr(&51) & Chr(&03))
  If i > 0 Then
    t = 60000000 \ legge_Byte(fl, i + 2, 3)
  Else
    t = 120
  Endif
  Print "Tempo metronomico: "; t; " bpm"

 
  fl.Close
 
End


Private Function legge_Byte(f As File, s As Short, q As Byte) As Integer
 
 Dim ris As Integer
 Dim b As Byte
 
   Seek #f, s

   Do
    
     Read #f, b
     ris = (ris * CInt(2 ^ 8)) Or b
     Dec q
    
   Loop Until q = 0

   Return ris
 
End

 



 
última edición por vuott el Miercoles, 03 Septiembre 2014, 19:29; editado 1 vez 
vuott - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Extraer Información De Un Archivo Midi Con Sólo Las Funciones De Gambas. 
 
Muy bueno, como siempre vuott. Me gusta el asunto de Midi y el sonido en general, por mi condición de "músico".

Saludos
 




===================
Jesús Guardón

Por favor, usemos el corrector ortográfico antes de pulsar el botón "Enviar".

"uo ǝs ʇɐu pıɟıɔıן ɐdɹǝupǝɹ ɐ dɹoƃɹɐɯɐɹ, soןo ɥɐʎ bnǝ dɹodouǝɹsǝןo"
 
jguardon - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Extraer Información De Un Archivo Midi Con Sólo Las Funciones De Gambas. 
 
jguardon escribió: [Ver mensaje]
Muy bueno, como siempre vuott.


Muchas gracias, jguardon.


jguardon escribió: [Ver mensaje]
Me gusta el asunto de Midi y el sonido en general, por mi condición de "músico".

Saludos


Bueno !

Saludos
 



 
vuott - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 

Publicar nuevo tema  Responder al tema  Página 1 de 1
 

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 0 invitados
Usuarios registrados conectados: Ninguno


 
Lista de permisos
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario



  

 

cron