Conoscere la durata di un file Midi mediante le funzioni esterne del API di Libsmf

Da Gambas-it.org - Wikipedia.

La libreria Libsmf, ideata per la gestione degli standard Midi File, consente, fra l'altro, di conoscere la durata in secondi di un file Midi.

E' necessario aver installata e richiamare la libreria condivisa: "libsmf:0.0.0"


Mostriamo un semplice esempio:

Library "libsmf:0.0.0"

' smf_t* smf_load (const char * file_name)
' Loads SMF file.
Private Extern smf_load(file_name As String) As Pointer

' double smf_get_length_seconds (const smf_t * smf)
' Length of SMF, in seconds.
Private Extern smf_get_length_seconds(smf_t As Pointer) As Float


Public Sub Main()

 Dim smf As Pointer
 Dim durata As Float
 
  smf = smf_load("/percorso/del/file.mid")
   
  durata = smf_get_length_seconds(smf)
   
  Print "Durata del file Midi: "; Date(0, 0, 0, 0, 0, 0, durata * 1000)

End



Riferimenti