Differenze tra le versioni di "Fondere insieme due file MIDI"

Da Gambas-it.org - Wikipedia.
(Creata pagina con 'Per fondere (mischiare) due file MIDI con le sole funzioni di Gambas, potrà essere utilizzato il seguente codice: '''Public''' Sub Main() Dim s1, s2, ss2, nt$, file_fina...')
 
Riga 1: Riga 1:
Per fondere (mischiare) due file MIDI con le sole funzioni di Gambas, potrà essere utilizzato il seguente codice:
+
Mostriamo di seguito un codice per fondere (mischiare) due file Midi con le sole funzioni di Gambas.
 +
<BR>Va precisato che la dinamica dell'esecuzione, ed in particolare il Tempo metronomico, di un file Midi potrà essere influenzata dagli eventuali ''Meta''-eventi contenuti nell'altro file Midi.
 
  '''Public''' Sub Main()
 
  '''Public''' Sub Main()
 
   
 
   

Versione delle 18:30, 12 mag 2018

Mostriamo di seguito un codice per fondere (mischiare) due file Midi con le sole funzioni di Gambas.
Va precisato che la dinamica dell'esecuzione, ed in particolare il Tempo metronomico, di un file Midi potrà essere influenzata dagli eventuali Meta-eventi contenuti nell'altro file Midi.

Public Sub Main()

 Dim s1, s2, ss2, nt$, file_finale As String
 Dim nt1, nt2 As Byte
 
 
  s1 = File.Load("/percorso/del/primo/file.mid")
  s2 = File.Load("/percorso/del/secondo/file.mid")
   
' Individua il numero di tracce presenti nel primo file:
  nt1 = Asc(Mid(s1, 12, 1))

' Individua il numero di tracce presenti nel secondo file:
  nt2 = Asc(Mid(s2, 12, 1))

  nt$ = CStr(nt1 + nt2)

' Raccoglie solo la parte delle tracce "MTrk" del secondo file:
  ss2 = Right(s2, Len(s2) - 14)
   
  file_finale = Left(s1, 11) & Chr(nt$) & Right(s1, Len(s1) - 12) & ss2
   
  File.Save("/tmp/nuovo.mid", file_finale)

End