Commit Graph
56 Commits
Author SHA1 Message Date
Dale Whinham a6a03f666a Makefile: various improvements 2023-03-03 20:37:10 +00:00
Dale Whinham 22cab161d4 Update to FluidSynth v2.3.1 2023-02-02 16:17:43 +00:00
Dale Whinham df801b6578 Update to circle-stdlib v16/Circle 45.1 2023-02-02 13:27:56 +00:00
Dale Whinham 55588f8201 Update to circle-stdlib v15.14/Circle Step 45 2022-12-04 22:24:06 +00:00
Dale Whinham 772fb15d1b Remove part number check from CP2102 driver
This should get CP2104 and potentially other similar devices working.

Closes #305.
2022-12-01 14:26:38 +00:00
Dale Whinham 6f3b5a7a53 Improve robustness of Makefile; remove .ONESHELL 2022-09-28 12:45:10 +01:00
Dale Whinham e6b777c271 Apply patch to fix some USB MIDI controllers
Some USB MIDI controllers use interrupt endpoints which is unsupported
by Circle (rsta2/circle#316).

Apply temporary patch to allow the use of these devices.
2022-09-28 12:40:26 +01:00
Dale Whinham 89052e6c8a Update to FluidSynth v2.3.0 2022-09-28 12:40:26 +01:00
Dale Whinham 4a09e36d96 Update to FluidSynth v2.2.8 2022-07-27 00:01:22 +01:00
Dale Whinham ec17e83921 Fix core clock speed, restore newer firmware
Fixes #292.
2022-07-26 22:50:17 +01:00
Dale Whinham 3ef3ee66fd Revert to previous boot firmware version
An I²C-related issue has been introduced by updating to the March 24th
version of start_cd.elf/fixup_cd.dat.

Revert to the January 20th version until this is investigated and fixed.
2022-06-14 19:41:15 +01:00
Dale Whinham 3f9aad1dd3 Update to FluidSynth v2.2.7 2022-06-13 14:28:29 +01:00
Dale Whinham 87fbc04796 Update to FluidSynth v2.2.6 2022-03-21 15:07:13 +00:00
Dale Whinham 2f188d98f7 Update to circle-stdlib v15.12/Circle Step 44.4.1 2022-03-21 15:00:33 +00:00
Dale Whinham ae30e8d2dd Update to FluidSynth v2.2.5 2022-01-23 16:44:49 +00:00
Dale Whinham 510059adfe Enable PWM audio on GPIO 12/13 for Pi Zero 2 W 2021-12-05 22:58:13 +00:00
Dale Whinham dc6d6fd31d Update to circle-stdlib v15.10/Circle Step 44.3 2021-12-05 20:40:17 +00:00
Dale Whinham 11f492b156 Update to FluidSynth v2.2.4 2021-11-23 17:49:22 +00:00
Dale Whinham b25a4972e3 Update to circle-stdlib v15.9/Circle Step 44.2 2021-11-07 20:46:58 +00:00
Dale Whinham 01ab38a60a Update to FluidSynth v2.2.3 2021-10-28 17:11:14 +01:00
Dale Whinham c66e5f6752 Update to FluidSynth v2.2.2 2021-07-23 10:30:15 +01:00
Dale Whinham ef45666973 Enable NO_BUSY_WAIT 2021-06-25 23:57:13 +01:00
Dale Whinham 25c5d654bc Update to circle-stdlib v15.7/Circle Step 44 2021-06-25 23:57:13 +01:00
Dale Whinham 7a04338cd2 Update to FluidSynth v2.2.1 2021-06-25 23:57:13 +01:00
Dale Whinham 607396e4ee Temporarily apply Circle screen size patch 2021-06-25 23:57:13 +01:00
Dale Whinham 5241a1b38e Update to FluidSynth v2.2.0 2021-06-25 23:57:13 +01:00
Dale Whinham 2d76d9195a Add temporary patches to Circle for HDMI audio 2021-06-25 23:57:13 +01:00
Dale Whinham c76ecaeeee Add Circle patch for low-speed USB bulk devices
Temporary fix for https://github.com/dwhinham/mt32-pi/discussions/102
until a new version is made available.
2021-06-25 23:57:13 +01:00
Dale Whinham 4840ee1419 Update to FluidSynth v2.1.8 2021-03-19 23:53:26 +00:00
Dale Whinham 669284f3d7 Add temporary Circle patches to fix USB MS on Pi 3
Temporary for for rsta2/circle#211 until a new version is made
available.
2021-03-19 23:53:26 +00:00
Dale Whinham b390fd59e3 Add temporary Circle patch to fix Pi 4 USB issue
Temporary fix for rsta2/circle#209 until a new version is made
available.
2021-03-19 23:53:26 +00:00
Dale Whinham 2d793f8fe8 Enable function/data sections for circle-stdlib 2021-03-19 23:53:26 +00:00
Dale Whinham 7389ef1d01 Apply Circle patch to disable unneeded USB drivers 2021-03-19 23:53:26 +00:00
Dale Whinham 425c0e7ffb Remove Pi 0/1 BOARD option, ensure .hex is built 2021-03-19 23:53:26 +00:00
Dale Whinham 80eb86b01f Update to circle-stdlib v15.6/Circle Step 43.3 2021-03-19 23:53:26 +00:00
Dale Whinham d7cabcec07 Add temporary FluidSynth patch for panning bug
Temporary fix for FluidSynth/fluidsynth#768 until FluidSynth v2.1.8 is
released.
2021-02-07 19:36:16 +00:00
Dale Whinham 45ad9735ac Update to FluidSynth v2.1.7 2021-02-03 05:06:40 +00:00
Dale Whinham 7050b49175 Update to FluidSynth v2.1.6 2021-01-05 21:17:21 +00:00
Dale Whinham 5d39db9682 Switch FluidSynth to use a custom memory allocator
Add a Doom-style "zone" memory allocator that can be used instead of
malloc()/realloc()/free() for FluidSynth.

This removes the need to reconfigure the Circle heap and could reduce
fragmentation caused by repeated loading/unloading of SoundFonts.
2021-01-02 22:42:17 +00:00
Dale Whinham f060199032 Temporarily apply FluidSynth upstream patches
Apply fixes for https://github.com/FluidSynth/fluidsynth/issues/727 via
patch until a new version is released.

This should clear up some memory leaks related to SoundFont unloading.
2021-01-02 22:42:17 +00:00
Dale Whinham 10e01593a3 Enable High Speed mode for supported SD cards
An enhancement was recently merged into Circle's develop branch that
increases SD card I/O performance by enabling High Speed mode where
supported (https://github.com/rsta2/circle/pull/174).

Temporarily apply these commits as patches until a new version of Circle
is released.
2020-12-28 20:52:02 +00:00
Dale Whinham 4de13be8f5 Initial support for the Blokas Pisound
This commit adds a driver for the Blokas Pisound audio/MIDI HAT based on
the Linux sources.

Currently this requires a patch to Circle to allow the Pi's I2S audio
device to operate in slave mode.

The Pisound only works at 48000Hz, 96000Hz, and 192000Hz. The Pisound is
automatically detected by the startup code; the user only has to enable
I2S audio output.

MIDI output and recording functionality is not supported.

Closes #42.
2020-12-05 16:24:01 +00:00
Dale Whinham 7bb3946e49 Disable save/restore floating point registers
This should no longer be required now that audio rendering happens
outside of an interrupt context.
2020-12-05 16:22:59 +00:00
Dale Whinham f1cfa91dce Update to circle-stdlib v15.5/Circle Step 43.2 2020-11-25 20:13:37 +00:00
Dale Whinham c5a4f684b4 Add custom heap configuration for large allocs
Without this commit, large allocations cannot be freed later on as they
will not fit into the default bucket sizes.

Bucket size values chosen with popular large SoundFonts and the 512MB
Raspberry Pi 3A+ in mind.

This could be replaced with a better memory allocator in future.
2020-11-22 23:16:44 +00:00
Dale Whinham 9156881e1e Temporarily apply some patches to Circle 43.1
Apply some changes to Circle we depend on via patch files until a new
version of Circle/circle-stdlib is released.
2020-11-22 23:16:44 +00:00
Dale Whinham ff8cca440d Add FluidSynth patch and build steps to Makefile 2020-11-22 23:16:44 +00:00
Dale Whinham 8bf865008b Enable AArch64 builds for Raspberry Pi 3 and 4 2020-11-22 23:16:44 +00:00
Dale Whinham 38b9e73fbb Enable more compiler optimizations for synth code
This ensures we can benefit from auto-vectorization for NEON.
2020-11-08 18:24:32 +00:00
Dale Whinham 2107365f67 Enable multi-core build flag 2020-11-08 18:24:32 +00:00