Skip to content

Commit ea3e089

Browse files
committed
midi: reworked decoding to expect an MThd header as the first chunk (cf. #1004 (comment))
1 parent dad4a91 commit ea3e089

File tree

2 files changed

+11
-15
lines changed

2 files changed

+11
-15
lines changed

format/midi/midi.go

+11-15
Original file line numberDiff line numberDiff line change
@@ -38,22 +38,18 @@ func decodeMIDI(d *decode.D) any {
3838
d.Endian = decode.BigEndian
3939

4040
// ... decode header
41-
if err := skipTo(d, "MThd"); err != nil {
42-
d.Errorf("%v", err)
43-
} else {
44-
d.FieldStruct("header", decodeMThd)
45-
46-
// ... decode tracks
47-
d.FieldArray("tracks", func(d *decode.D) {
48-
for d.BitsLeft() > 0 {
49-
if err := skipTo(d, "MTrk"); err != nil {
50-
d.Errorf("%v", err)
51-
} else {
52-
d.FieldStruct("track", decodeMTrk)
53-
}
41+
d.FieldStruct("header", decodeMThd)
42+
43+
// ... decode tracks
44+
d.FieldArray("tracks", func(d *decode.D) {
45+
for d.BitsLeft() > 0 {
46+
if err := skipTo(d, "MTrk"); err != nil {
47+
d.Errorf("%v", err)
48+
} else {
49+
d.FieldStruct("track", decodeMTrk)
5450
}
55-
})
56-
}
51+
}
52+
})
5753

5854
return nil
5955
}
-14 Bytes
Binary file not shown.

0 commit comments

Comments
 (0)