Scott Shawcroft
4c21f22114
Improve RGBMatrix allocation tracking
...
This prevents leaks but not all use-after-free issues.
2023-09-29 14:55:42 -07:00
Dan Halbert
10a022db87
consolidate and shorten some error messages
2023-08-19 12:39:54 -04: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
Jeff Epler
b2c6f9b1a4
synthio: add Synthesizer.lfo, retrigger option
2023-05-16 10:07:07 -05:00
Jeff Epler
f83212314e
synthio: Add LFOs
2023-05-15 21:15:39 -05:00
Scott Shawcroft
ca01200b4f
Merge pull request #7965 from dhalbert/stm-rtc-monotonic
...
STM: monotonic time even when RTC is changed
2023-05-12 13:43:13 -07:00
Scott Shawcroft
40f1ac1809
Merge pull request #7970 from dhalbert/adafruit_bus_device-no-cs
...
adafruit_bus_device SPIDevice can have None for chip select
2023-05-12 13:39:42 -07:00
Dan Halbert
fe386e7c73
adafruit_bus_device SPIDevice can have None for chip select
2023-05-12 15:29:59 -04:00
Jeff Epler
f68ab9c5c2
synthio: Fix FIR filtering when audio is stereo
2023-05-12 14:00:32 -05:00
Jeff Epler
03abc623ef
synthio: note: fix assigning bend & tremolo coefficients dynamically
2023-05-12 14:00:31 -05:00
Jeff Epler
522c5a9a11
synthio: fix crash on synthesizer.press((float,))
2023-05-12 14:00:31 -05:00
Dan Halbert
e8067851f5
fix subticks handling
2023-05-12 14:39:57 -04:00
Jeff Epler
585b1c23b5
synthio: Fix sweep-type pitch bends
...
The accumulator saturate logic was wrong, and the sweep was never restarted
either
2023-05-11 19:13:11 -05:00
Jeff Epler
bc7feb30a5
synthio: implement FIR filtering
...
A 37-tap filter worked fine on RP2040 (prop maker) at 48kHz, so
you can probably pretty much go nuts on M7.
2023-05-11 19:00:44 -05:00
Jeff Epler
62e6de8ed5
synthio: Factor out synth_note_into_buffer
, start adding filter buffer
2023-05-11 18:59:05 -05:00