1
1
mirror of https://github.com/wader/fq.git synced 2024-11-29 04:10:01 +03:00
Commit Graph

36 Commits

Author SHA1 Message Date
twystd
9c7f7f961a midi: fixes for PR comments:
- Renamed 'tracks' section to 'content' (cf. https://github.com/wader/fq/pull/1004#discussion_r1746651234)
- Removed 'validation only' errors (cf. https://github.com/wader/fq/pull/1004#issuecomment-2333464662)
- Decoded MThd divisions field with SMPTE timecode
2024-09-06 15:41:57 -07:00
twystd
87c80f5776 midi: fixes for PR comments
- Reworked event types as snake-case (cf. https://github.com/wader/fq/pull/1004#discussion_r1745101588)
- Decoded 'alien' chunks (cf. https://github.com/wader/fq/pull/1004#discussion_r1745082089)
2024-09-05 15:50:51 -07:00
twystd
9f057b6760 midi: fixes for PR comments
- Removed handling for non-MIDI chunks (cf. https://github.com/wader/fq/pull/1004#discussion_r1743889501)
- Removed redundant chunk length asserts (cf. https://github.com/wader/fq/pull/1004#discussion_r1743883995)
- Removed redundant header FieldArray (cf. https://github.com/wader/fq/pull/1004#discussion_r1743921309)
- Replaced FieldUintFn with FieldUnn for SMTPEOffsetEvent (cf. https://github.com/wader/fq/pull/1004#discussion_r1743930829)
- Added note to midi.md re. supported chunks
2024-09-04 13:36:35 -07:00
twystd
17bac771df midi: removed superfluous uint64 cast (cf. https://github.com/wader/fq/pull/1004#discussion_r1740783338) 2024-09-03 11:19:34 -07:00
twystd
a3a0a06932 midi: simplifed and cleaned up MIDI 'fq' tests:
- reduced format 0, format 1 and format 2 test files to basic MIDI skeleton
- reworked reference.mid file as a test/development sample only
- added fq tests for the single event MIDI files
- updated examples to use twinkle.mid
2024-09-01 16:41:38 -07:00
twystd
a7d0cde9f6 midi: cleaned up and simplied event decoding logic
- delineated NoteOn and NoteOff events
- simplified MIDI event decoding with function map
- decoded MIDI event and channel as nibbles
- reworked system exclusive event decoding
- fixed peekEvent to correctly decode end of file events
2024-09-01 16:41:38 -07:00
twystd
578b7e78e3 midi: restructured event decoding to decode length and struct fields (cf. https://github.com/wader/fq/pull/1004#discussion_r1737105173)
- restructured and simplified metaevent decoding
- restructured and simplified  MIDI event decoding
- added sample events for remaining metaevents
- moved MIDI test and sample files to testdata/midi
- fixed fuzzing fail 8450de010e750ed5
2024-09-01 16:41:26 -07:00
twystd
e940f4766f midi: reworked metaevent decoding for PR comments
- fixed remaining snake-cased event names in tests and examples (cf. https://github.com/wader/fq/pull/1004#discussion_r1737054466)
- report 'status' and 'event' seperately (cf. https://github.com/wader/fq/pull/1004#discussion_r1737085013)
- decoded TimeSignature metaevent as length + byte fields (cf. https://github.com/wader/fq/pull/1004#discussion_r1737105173)
- decoded SequencerSpecificEvent metaevent as length + byte fields (cf. https://github.com/wader/fq/pull/1004#discussion_r1737111253)
- reworked Errorf's as Fatalf's for data reads (cf. https://github.com/wader/fq/pull/1004#discussion_r1737123374)
2024-09-01 16:40:22 -07:00
twystd
7950dd651f midi: added midi to the TestFormats all.fqtest list (cf. https://github.com/wader/fq/pull/1004#issuecomment-2314599567) 2024-08-28 14:39:45 -07:00
twystd
f424936faa midi: fixed lint warning (cf. https://github.com/wader/fq/pull/1004#discussion_r1734668130) 2024-08-28 14:15:53 -07:00
twystd
b5f2bdabc9 midi: added localised Makefile (cf. https://github.com/wader/fq/pull/1004#discussion_r1732745303) 2024-08-28 14:01:22 -07:00
twystd
2350afed5d midi: updated help text to use snake-case event names (cf. https://github.com/wader/fq/pull/1004#discussion_r1734659627) 2024-08-28 14:00:27 -07:00
twystd
c8d9397bc4 midi: snake-cased event types and event names (cf. https://github.com/wader/fq/pull/1004#discussion_r1732733049) 2024-08-27 16:03:45 -07:00
twystd
ea3e0898bf midi: reworked decoding to expect an MThd header as the first chunk (cf. https://github.com/wader/fq/pull/1004#discussion_r1732725275) 2024-08-27 15:41:58 -07:00
twystd
899549623d midi: cleaned up event decoding logic 2024-08-26 00:50:52 -07:00
twystd
2970fb143e midi: lowercased event names 2024-08-25 20:46:42 -07:00
twystd
4fac4c68a5 midi: discarded unknown chunks 2024-08-25 11:03:46 -07:00
twystd
e99d9f69ab midi: asserted bytes left for MIDI events 2024-08-24 11:23:40 -07:00
twystd
80b93439ac midi: added new test and MIDI files 2024-08-23 17:24:03 -07:00
twystd
57adef4688 midi: added sample queries to midi.md 2024-08-23 17:20:55 -07:00
twystd
91fa54755f midi: added example queries to the test data 2024-08-23 15:54:52 -07:00
twystd
473394b21e midi: added event type to events to simplify query by event 2024-08-22 19:54:04 -07:00
twystd
59b1faa4b9 midi: decorated 'delta' field with running tick 2024-08-21 19:59:34 -07:00
twystd
54a0cf1284 midi: mapped SysEx event types 2024-08-21 19:13:03 -07:00
twystd
3809ddbd23 midi: combined metaevent status + event bytes 2024-08-19 20:04:19 -07:00
twystd
a337ff002f midi: reworked sysex and metaevent 'struct' events to decode as byte arrays 2024-08-19 19:49:14 -07:00
twystd
ce02d6eafe midi: added length field to TimeSignature struct 2024-08-18 21:28:18 -07:00
twystd
0915f75098 midi: added 'data' field to EndOfTrack event 2024-08-18 11:39:29 -07:00
twystd
4bb3292fc6 midi: fixed key signature map 2024-08-18 11:24:55 -07:00
twystd
9099a3eb84 midi: decoded chunk tags as FieldUTF8 2024-08-17 19:44:42 -07:00
twystd
4fe27f514c midi: decoded remaining text metaevents 2024-08-15 19:47:47 -07:00
twystd
cbd4a8a85a midi: Decoded NoteOff event 2024-08-14 20:20:00 -07:00
twystd
d7ec38a2d3 midi: basic test set 2024-08-14 20:14:52 -07:00
twystd
3276641208 midi: Decoded KeySignature, NoteOn and Controller events 2024-08-14 19:52:15 -07:00
twystd
a1385caf36 midi: Decoded EndOfTrack and ProgramChange events 2024-08-13 20:24:19 -07:00
twystd
ad0a06d656 midi: initial import 2024-08-10 18:25:14 -07:00