Eliminare una traccia da un file MIDI
Da Gambas-it.org - Wikipedia.
Versione del 19 gen 2014 alle 01:22 di Vuott (Discussione | contributi) (Creata pagina con 'Per eliminare una traccia da un file Midi con le sole funzioni di Gambas, è possibile usare il seguente codice: '''Public''' Sub Form_Open() Dim s1, s2, da, dati, mthd, ...')
Per eliminare una traccia da un file Midi con le sole funzioni di Gambas, è possibile usare il seguente codice:
Public Sub Form_Open() Dim s1, s2, da, dati, mthd, nuovo_file As String Dim el, j As Byte Dim lungh As Integer Dim bb As New Byte[] Dim tracce As New String[] s1 = File.Load("/percorso/del/file.mid") el = Val(InputBox("Scegliere la traccia da eliminare:")) If el = 1 Then Message.Warning("Eliminazione della 'Traccia del Tempo' non consentita !") Quit Endif ' Carica la sola parte delle tracce "MTrk": s2 = Right(s1, Len(s1) - 14) ' Ciclo per individuare ciascuna traccia "MTrk" del file Midi: While j < Asc(Mid(s1, 12, 1)) bb = Byte[].FromString(Mid(s2, 5, 4)) lungh = Val("&" & Hex(bb[0]) & Hex(bb[1]) & Hex(bb[2]) & Hex(bb[3])) tracce.Add(Mid(s2, 1, lungh + 8)) s2 = Right(s2, Len(s2) - (8 + lungh)) Inc j Wend ' Rimuove la traccia "MTrk" prescelta: tracce.Remove(el - 1, 1) For Each da In tracce dati &= da Next mthd = Left(s1, 11) & Chr(tracce.Count) & Mid(s1, 13, 2) nuovo_file = mthd & dati File.Save("/tmp/nuovo.mid", nuovo_file) Quit End