Add step sequencer feature (#9703)

* sequencer: create togglable feature

* sequencer: add support for steps

* sequencer: add support for tempo and resolutions

* sequencer: schedule a message print at the right frequency

* sequencer: send a hardcoded note

* sequencer: add support for 8 tracks

* sequencer: play several notes simultaneously

* sequencer: only play the active tracks for a given step

* sequencer: change the default behavior of the track toggler

* sequencer: make number of tracks and track notes customizable

* sequencer: move the keycodes down

Not adding them at the end of the list apparently risks breaking
compatibility with VIA.

Source: https://github.com/qmk/qmk_firmware/pull/9703#discussion_r459202733

* sequencer: add unit tests

* sequencer: add unit test for matrix_scan_sequencer

* sequencer: expose internal state for better unit-testability

* sequencer: add unit tests for matrix_scan_sequencer
This commit is contained in:
Rodolphe Belouin 2020-11-08 04:35:14 +01:00 committed by GitHub
parent 4cdd3005d6
commit 38527f9a3b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
18 changed files with 1280 additions and 0 deletions

View file

@ -49,6 +49,7 @@ endif
include common_features.mk
include $(TMK_PATH)/common.mk
include $(QUANTUM_PATH)/sequencer/tests/rules.mk
include $(QUANTUM_PATH)/serial_link/tests/rules.mk
ifneq ($(filter $(FULL_TESTS),$(TEST)),)
include build_full_test.mk