@@ -3,8 +3,6 @@ namespace ZMidi
3
3
open ZMidi.DataTypes
4
4
5
5
module ReadFile =
6
- //let readMidi filename =
7
- //let midiFile : Parser = ()
8
6
open ZMidi.Internal .ParserMonad
9
7
open ZMidi.Internal .Utils
10
8
open ZMidi.Internal .ExtraTypes
@@ -20,9 +18,6 @@ module ReadFile =
20
18
return ! fatalError errorMessage
21
19
}
22
20
23
-
24
-
25
-
26
21
let inline (| TestBit | _ |) ( bit : int ) ( i : ^T ) =
27
22
let mask = LanguagePrimitives.GenericOne <<< bit
28
23
if mask &&& i = mask then Some () else None
@@ -47,60 +42,16 @@ module ReadFile =
47
42
let rec loop acc =
48
43
parseMidi {
49
44
let! b = readByte
50
-
45
+ let acc = acc <<< 7
51
46
if msbHigh b then
52
- let result = ( b &&& 0x7f uy )
53
- return ! loop ( acc + (( uint64 ( result)) * 128 UL ) )
47
+ let result = uint64 ( b &&& 0b01111111 uy )
48
+ return ! loop ( acc + result)
54
49
else
55
50
return ( acc + ( uint64 b)) }
56
51
parseMidi {
57
52
let! result = loop 0 UL
58
53
return ( uint32 result) }
59
54
60
-
61
- (*
62
- let step3 a b =
63
- parseMidi {
64
- let! c = readByte
65
- if msbHigh c then
66
- let! d = readByte
67
- return V4 (a,b,c,d)
68
- else
69
- return V3 (a,b,c) }
70
- let step2 a = parseMidi {
71
- let! b = readByte
72
- if msbHigh b then
73
- return! step3 a b
74
- else
75
- return V2 (a,b) }
76
-
77
- parseMidi {
78
- let! a = readByte
79
- if msbHigh a then
80
- let! r = step2 a
81
- return (ZMidi.Internal.ExtraTypes.fromVarlen r)
82
- else
83
- return (ZMidi.Internal.ExtraTypes.fromVarlen (V1 a))
84
-
85
- //return result
86
- //>>= (fun a ->)
87
- //let! a = readByte
88
- //if msbHigh a then
89
- // let! b = readByte
90
- // if msbHigh b then
91
- // let! c = readByte
92
- // if msbHigh c then
93
- // let! d = readByte
94
- // return fromVarlen (V4(a,b,c,d))
95
- // else
96
- // return fromVarlen (V3(a,b,c))
97
- // else
98
- // return fromVarlen (V2(a, b))
99
- //else
100
- // return fromVarlen (V1 a)
101
-
102
- }*)
103
-
104
55
let getVarlenText = gencount getVarlen readChar ( fun _ b -> System.String b)
105
56
106
57
let fileFormat =
0 commit comments