Scott Shawcroft
924422eff8
Merge remote-tracking branch 'adafruit/main' into three_small
2023-07-21 09:37:26 -07:00
Scott Shawcroft
5f082561b3
Unify some error strings
2023-07-20 11:20:32 -07:00
Jeff Epler
346f08f8b9
synthio: Add Synthesizer.note_state
...
This enables the specific use case of checking whether a note's release
phase has ended, but is also potentially useful to implement a sort of
"voice stealing" algorithm in Python code, which can take account of
the note's envelope state as well as other factors specific to the
program.
2023-07-20 13:16:00 -05:00
Dan Halbert
74eb360922
Merge pull request #8143 from kolkmvd/ShiftRegister-multi-data-pin
...
Extended ShiftRegisterKeys to support multiple data pins with shared clock and latch
2023-07-18 23:30:13 -04:00
Jeff Epler
3ec9f8a118
Merge pull request #8136 from FoamyGuy/blit_skip_self_index
...
adding skip_self_index argument to bitmap.blit()
2023-07-18 15:17:28 -05:00
Jeff Epler
6174e585af
usb.core.Device: fix trailing NUL on e.g., product string
...
.. and simplify the code to use vstr_add_char.
2023-07-12 08:47:33 -05:00
Scott Shawcroft
2686beab36
Basic USB host support and keyboard workflow
...
Connects up read, write and ctrl_transfer to TinyUSB. USB Host
support is available on iMX RT and RP2040.
Fixes #6527 (imx) and fixes #5986 (rp2).
2023-07-10 14:22:21 -07:00
Marco van der Kolk
6dab35e076
Assign key_count to MP_ROM_NONE on deinit (for gc)
...
Signed-off-by: Marco van der Kolk <marco.git@vdkolk.nl>
2023-07-08 15:21:58 +02:00
Marco van der Kolk
4ba4c2a942
Renamed 'datas' to 'data_pins' to keep codespell happy
...
Signed-off-by: Marco van der Kolk <marco.git@vdkolk.nl>
2023-07-07 00:28:07 +02:00
Marco van der Kolk
5fcd90d8fb
Extended to support multiple data pins
...
Signed-off-by: Marco van der Kolk <marco.git@vdkolk.nl>
2023-07-06 23:40:47 +02:00
foamyguy
72857994f2
change skip_index to skip_source_index
2023-07-05 17:27:41 -05:00
foamyguy
a2ff9527dc
format
2023-07-02 14:40:56 -05:00
foamyguy
96d3e662b3
refactor bitmap.blit into bitmaptools
2023-07-02 14:35:40 -05:00
foamyguy
abf15125ff
adding skip_self_index argument to bitmap.blit()
2023-07-01 11:50:24 -05:00
Dan Halbert
1f2a1a6e78
Improve OnDiskGif doc; check image width
2023-06-22 14:24:48 -04:00
Scott Shawcroft
0da62416a5
Merge pull request #8050 from FoamyGuy/hidden_refresh_areas
...
don't consider refresh areas for hidden groups or tilegrids
2023-06-21 09:56:27 -07:00
foamyguy
4bf4d148c1
always set rendered_hidden false when hidden changes
2023-06-16 18:05:39 -05:00
foamyguy
074c13488b
revert whitespace change. handle hidden by parent
2023-06-16 16:57:37 -05:00
foamyguy
3222cdf847
revert indention change
2023-06-16 16:50:01 -05:00
foamyguy
0e3cdea51e
remove prints
2023-06-16 16:47:24 -05:00
foamyguy
340506be58
revert unrelated epd change
2023-06-16 16:43:10 -05:00
Jeff Epler
666fb94ca3
Merge pull request #8056 from jepler/matrixportal-s3
...
Add Adafruit MatrixPortal S3 board def & update protomatter
2023-06-13 19:34:08 -05:00
foamyguy
18faeb86c7
more debug prints
2023-06-09 14:53:11 -05:00
foamyguy
ec21dc6975
added debug prints
2023-06-08 12:01:39 -05:00
Jeff Epler
d4913b04e0
rgbmatrix: update protomatter
...
and re-organize so that esp32 s2/s3 don't do as much at reset
.. it's not necessary (because most data is in esp-idf managed memory)
and doing this saves me from having to debug why reconstruct isn't working
properly on that platform.
This needs to be tested on other platforms again before being merged!
2023-06-08 10:43:32 -05:00
foamyguy
4712a9d301
remove old conditions
2023-05-31 21:00:02 -05:00
foamyguy
f8948c2718
format
2023-05-31 20:58:04 -05:00
foamyguy
4ad54b2853
debugging prints. add rendered_hidden field to tilegrid
2023-05-31 20:57:17 -05:00
Jeff Epler
a999e40935
synthio: reorganize the order of operations
...
Apply envelope & panning after biquad filtering.
This may fix the weird popping problem. It also reduces the number
of operations that are done "in stereo", so it could help performance.
It also fixes a previously unnoticed problem where a ring-modulated
waveform had 2x the amplitude of an un-modulated waveform.
The test differences look large but it's because some values got changed
in the LSB after the mathematical divisions were moved around.
2023-05-31 14:22:43 -05:00
foamyguy
06057a63e6
don't consider refresh areas for hidden groups or tilegrids
2023-05-30 19:25:08 -05:00
Jeff Epler
5f7998e6f2
synthio: improve rounding in biquad
...
this removes a marked DC offset and may cure the 'pops' problem.
2023-05-30 13:43:06 -05:00
Jeff Epler
8a85deb1e2
synthio: shift 19 was too much for a note with amplitude 1
2023-05-30 09:26:14 -05:00
Jeff Epler
3151656f4b
synthio: more fir-filter removal; fix biquad logic errors
2023-05-30 09:24:26 -05:00
Jeff Epler
a891e149a6
synthio: Fix multichannel biquad filtering
2023-05-29 11:23:07 -05:00
Jeff Epler
51027974e5
synthio: apply biquad filters during synthesis
2023-05-29 10:53:48 -05:00
Jeff Epler
fed8d5825b
synthio: add biquad filter type & basic filter calculations
...
the filter cannot be applied as yet.
2023-05-29 09:50:18 -05:00
Jeff Epler
11d8a6ec3a
synthio: rename synthesizer.lfos to .blocks
...
.. since math blocks can be placed in it too (and that's useful)
2023-05-23 19:38:25 -05:00
Jeff Epler
1847c2b72a
synthio: fix, rename voct_to_hz
...
todbot discovered that this function wasn't working right, and wasn't
well-named.
2023-05-23 19:38:24 -05:00
Jeff Epler
ac02a2668e
synthio: avoid exceptions inside get_buffer
...
.. in case the items in lfos are not actually LFOs
2023-05-21 13:22:50 -05:00
Jeff Epler
11c110e0da
synthio: remove 'none' case from lfo_tick
2023-05-21 13:22:48 -05:00
Jeff Epler
4ff08e02eb
synthio: lfo: bugfixes & improvements
...
LFO waveforms are now linearly interpolated by default, but a new
property (interpolated=False) can disable this.
The 'once' logic was improved
2023-05-21 13:22:47 -05:00
Jeff Epler
e0cfae1d05
synthio: add (untested) phase offset
2023-05-21 13:22:46 -05:00
Jeff Epler
e259f8d1ba
synthio: Move some divide-by-twos to get_buffer
...
these are always h-type buffers, so let's make the "len" be the element
count, not the byte count.
2023-05-21 13:22:44 -05:00
Jeff Epler
c435c469f4
synthio: simplify block logic a bit by converting from float just once
2023-05-18 11:55:01 -05:00
Jeff Epler
391438102b
synthio: Finish implementing Math blocks
2023-05-17 16:32:20 -05:00
Jeff Epler
5de4d197a2
synthio: start generalizing LFO to Block
2023-05-17 15:05:34 -05:00
Jeff Epler
3d2db5dbe0
synthio: improve documentation, simplify synthio_lfo_obj_tick_scaled
2023-05-17 11:13:15 -05:00
Jeff Epler
d4294de62b
synthio: Allow bends of more than one octave
...
up to +-12 sounds good, right?
2023-05-16 16:58:04 -05:00
Jeff Epler
0b926f8fd4
synthio: improve release/press/change
...
Semi-incompatible name change: The method `release_then_press`
is now `change`. For now a compatibility alias is supported.
Everywhere a `NoteSequence` was accepted, a single note is now accepted.
So for instance, `synth.press(30)` can be written instead of requiring
``synth.press((30,))`. The same goes for `change.retrigger`, which
will accept a single LFO or a sequence.
2023-05-16 10:26:56 -05:00
Jeff Epler
e6c5e83a45
synthio: remove more dead code
2023-05-16 10:07:22 -05:00