diff options
Diffstat (limited to 'Midi.hs')
-rw-r--r-- | Midi.hs | 10 |
1 files changed, 10 insertions, 0 deletions
@@ -91,6 +91,16 @@ convertEvents = mapMaybe (maybesnd . fmap conv) | |||
91 | cpv f c p v = f (fi $ Event.unChannel c) (fi $ Event.unPitch p) (fi $ Event.unVelocity v) | 91 | cpv f c p v = f (fi $ Event.unChannel c) (fi $ Event.unPitch p) (fi $ Event.unVelocity v) |
92 | fi = fromIntegral | 92 | fi = fromIntegral |
93 | 93 | ||
94 | setChannel :: Codec.Midi.Channel -> Codec.Midi.Message -> Codec.Midi.Message | ||
95 | setChannel c (NoteOff _ k v) = (NoteOff c k v) | ||
96 | setChannel c (NoteOn _ k v) = (NoteOn c k v) | ||
97 | setChannel c (ProgramChange _ p) = (ProgramChange c p) | ||
98 | setChannel c (ControlChange _ n v) = (ControlChange c n v) | ||
99 | setChannel c (KeyPressure _ k p) = (KeyPressure c k p) | ||
100 | setChannel c (ChannelPressure _ p) = (ChannelPressure c p) | ||
101 | setChannel c (PitchWheel _ p) = (PitchWheel c p) | ||
102 | setChannel _ x = x | ||
103 | |||
94 | unConvertEvents :: [(TimeSpec, Codec.Midi.Message)] -> [(TimeSpec, Event.Data)] | 104 | unConvertEvents :: [(TimeSpec, Codec.Midi.Message)] -> [(TimeSpec, Event.Data)] |
95 | unConvertEvents = mapMaybe (maybesnd . fmap conv) | 105 | unConvertEvents = mapMaybe (maybesnd . fmap conv) |
96 | where | 106 | where |