VBcoders Guest



Don't have an account yet? Register
 


Forgot Password?



Get some info from a midi file.

by Bernt Figaro (8 Submissions)
Category: Files/File Controls/Input/Output
Compatability: Visual Basic 3.0
Difficulty: Unknown Difficulty
Originally Published: Mon 6th March 2000
Date Added: Mon 8th February 2021
Rating: (1 Votes)

Get some info from a midi file.

Rate Get some info from a midi file.



Option Explicit
DefInt A-Z
Rem <[email protected]>


Private Sub MidiInfo(FileName As String)
Rem Get some info from a midi file
Dim A%, B%, C%, I%, nT1%, nT2%, U%
Dim f$, T1$, t2$, t3$
Dim FileLength As Long

Dim TestString As String
Dim Msg As String
Dim Crlf As String
Dim T As String * 1
Dim Dummy As String * 15


T1$ = Chr$(255) + Chr$(1)
t2$ = Chr$(255) + Chr$(2)
t3$ = Chr$(255) + Chr$(3)
Crlf = Chr$(10) + Chr$(13)
f$ = FileName
TestString = Space$(512)
T = Chr$(9)


Open f$ For Binary As #1
FileLength = LOF(1)
Get #1, , TestString
Close #1



For I% = 1 To Len(TestString)
A% = Asc(Mid$(TestString, I%, 1))
If I% < Len(TestString) Then
B% = Asc(Mid$(TestString, I% + 1, 1))
End If

If I% < Len(TestString) - 1 Then
C% = Asc(Mid$(TestString, I% + 2, 1))
End If


If Chr$(A%) + Chr$(B%) = T1$ Then
If nT1% = 0 Then
LSet Dummy = "Author:    "
Msg = Msg & Dummy & T & LTrim$(Mid$(TestString, I% + 3, C%)) & Crlf
nT1% = -1
Else
LSet Dummy = "Comments:  "
Msg = Msg & Dummy & T & Mid$(TestString, I% + 3, C%) & Crlf
End If
U% = U% + 1
End If

If Chr$(A%) + Chr$(B%) = t2$ Then
LSet Dummy = "Copyright: "
Msg = Msg & Dummy & T & Mid$(TestString, I% + 3, C%) & Crlf
U% = U% + 1
End If

If Chr$(A%) + Chr$(B%) = t3$ Then
If nT2% = 0 Then
LSet Dummy = "Title:     "
Msg = Msg & Dummy & T & Mid$(TestString, I% + 3, C%) & Crlf
Else
LSet Dummy = "SubTitle:  "

Msg = Msg & Dummy & T & Mid$(TestString, I% + 3, C%) & Crlf
End If

nT2% = -1
U% = U% + 1
End If
If U% >= 5 Then Exit For
Next
Reset
Msg = Msg & "FileLength:" & T & FileLength
MsgBox Msg, , "FileInfo"

End Sub


Private Sub Form_Load()
Me.Show
'REM Example midi, change to yours
MidiInfo "E:\wind_b~1.mid"
End Sub



Download this snippet    Add to My Saved Code

Get some info from a midi file. Comments

No comments have been posted about Get some info from a midi file.. Why not be the first to post a comment about Get some info from a midi file..

Post your comment

Subject:
Message:
0/1000 characters