Commit Graph

59 Commits

Author SHA1 Message Date
Dale Whinham
4944301750 Update to FluidSynth v2.3.2 2023-04-24 20:51:14 +01:00
Dale Whinham
e47d202c70 Compress kernels with gzip 2023-03-05 18:44:09 +00:00
Dale Whinham
919696b41d Makefile: Fix indentation 2023-03-03 21:13:17 +00:00
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