Dale Whinham
7d30442bd5
Move SoundFont effects profiles to separate files
...
Deprecate the [fluidsynth.soundfont.x] sections in mt32-pi.cfg and
search for a .cfg file matching the SoundFont file name instead.
2022-06-13 22:40:27 +01:00
Dale Whinham
fa249be971
Increase maximum number of SoundFonts to 512
2022-06-13 22:40:25 +01:00
Dale Whinham
37c256732a
Remove manual DAC init, use Circle auto-detection
...
Closes #273 .
2022-06-13 14:47:17 +01:00
Dale Whinham
02e6af1afd
Fix broken network disconnection notifications
2022-04-13 15:24:35 +01:00
Dale Whinham
f8945cdea4
Add support for MIDI via raw UDP socket
2022-03-24 14:50:45 +00:00
Dale Whinham
63a4a8846c
Ignore note-ons received during SoundFont switch
...
Fixes #247 .
2022-03-10 14:58:30 +00:00
Dale Whinham
a19f6c6015
Add ability to override gain per-SoundFont
...
Closes #248 .
2022-03-10 14:58:28 +00:00
Dale Whinham
164174aab4
Replace LCD simulation with new libmt32emu code
2022-03-10 14:57:16 +00:00
nikitalita
d923423eda
Add option to mirror display horizontally
2022-03-08 14:08:19 +00:00
Dale Whinham
1acc660a73
Reset GPIO pin state on Pisound destruction
...
Fixes #233 .
2022-01-20 14:16:40 +00:00
Dale Whinham
c4162e99a7
Implement RNFR/RNTO
2022-01-19 13:13:44 +00:00
Dale Whinham
04f0b91d39
Remove bogus FTP command
2022-01-19 13:13:44 +00:00
Dale Whinham
07004eac54
Update copyright notices
2022-01-06 17:35:40 +00:00
Dale Whinham
e5b4403c7a
Add support for Yamaha SysEx text/bitmap messages
2021-12-12 23:17:13 +00:00
Dale Whinham
3464b4ae13
Add embedded FTP server
2021-12-09 19:11:33 +00:00
Dale Whinham
2601c58590
Remove array size from QSort template
2021-12-05 22:58:43 +00:00
Dale Whinham
971d7b9253
Reduce default FluidSynth polyphony
2021-12-05 21:34:58 +00:00
Dale Whinham
4d5bda5dfd
Fix disconnection message for Ethernet
2021-10-28 17:11:14 +01:00
Dale Whinham
fc98e0a198
Minor cleanups in control classes
2021-08-14 16:30:25 +01:00
Dale Whinham
4e0d7d06e5
Add ability to reverse MT-32 stereo channels
2021-08-11 18:18:31 +01:00
Dale Whinham
f958bb8d80
Rework GM/GS/XG SysEx parsing, fix SC-55 text
2021-08-01 21:59:54 +01:00
Dale Whinham
a0ad972cdd
Rework MIDI monitor to handle timer wrap
...
When the 1MHz timer wraps, the MIDI level meters would appear to be
stuck after a while.
Implement some additional state tracking to guard against timer wrap.
Fixes #148 .
2021-07-27 00:16:07 +01:00
Dale Whinham
9a81bea4a5
Change default usb_serial_baud_rate value to 38400
2021-07-26 15:22:01 +01:00
Dale Whinham
0c433f3d42
Minor cleanups in utility
2021-06-26 17:03:01 +01:00
Dale Whinham
1b3b59a7e0
Add support for MIDI input via USB serial device
2021-06-26 00:00:46 +01:00
Dale Whinham
d30203ab54
Enable boot splash logo for graphical displays
2021-06-26 00:00:46 +01:00
Dale Whinham
11034a013a
Add immediate image drawing
2021-06-26 00:00:46 +01:00
Dale Whinham
34fb0d5555
Add mt32-pi pixel-art logo conversion by Sparkman
2021-06-26 00:00:46 +01:00
Dale Whinham
cb259ef3d2
Re-indent config.def
2021-06-26 00:00:46 +01:00
Dale Whinham
545569f34b
Center short messages on LCD
2021-06-25 23:57:13 +01:00
Dale Whinham
484dacd42f
Major refactor of all LCD-related code
...
Previously, the LCD code needed to be aware of each synthesizer to know
how to draw their respective displays, which wasn't very maintainable.
Introduce a UI class where generic drawing utility functions and
"system" drawing code can be implemented, and move synth-specific
drawing to the synth classes themselves. This simplifies the LCD/OLED
drivers to just being interfaces to the hardware.
Also introduce a "MIDI monitor" class which tracks the state of all MIDI
activity per-synth for level meter drawing purposes. This ensures we
never miss a note; previously we were simply polling each synth engine
for its note velocities per LCD update, which was prone to missing fast
notes and also didn't account for channel volume or expression pedal.
Finally, enable support for 16-character wide displays (closes #58 ).
2021-06-25 23:57:13 +01:00
Dale Whinham
3d3f2cc6c3
Add basic panic handler
2021-06-25 23:57:13 +01:00
Dale Whinham
01b1e76e41
Add temperature monitoring debug code
2021-06-25 23:57:13 +01:00
Dale Whinham
0394999e84
Replace C++ "new" include with Circle equivalent
2021-06-25 23:57:13 +01:00
Dale Whinham
c7d65a0764
Don't fail when USB controller is not present
2021-06-25 23:57:13 +01:00
Dale Whinham
45cfd37745
Minor cleanups in utility
2021-06-25 23:57:13 +01:00
Dale Whinham
e9f71d7d76
Add ability to configure FluidSynth effects
...
This commit introduces the notion of "effects profiles", with
reverb/chorus settings that can be set on a per-SoundFont basis.
The configuration file has been updated with an example of applying a
profile to the GeneralUser GS SoundFont.
2021-06-25 23:57:13 +01:00
Dale Whinham
04e7bc8793
Add convenience logger/config member variables
2021-06-25 23:57:13 +01:00
Dale Whinham
f3c5f51c07
Add basic networking and AppleMIDI support
2021-06-25 23:57:13 +01:00
Dale Whinham
afeacbf1cb
Set FluidSynth device ID to Sound Canvas default
...
This ensures FluidSynth interprets Roland "Use For Rhythm Part" messages
that were previously handled in mt32-pi manually before 7405ae5.
2021-06-25 23:57:13 +01:00
Dale Whinham
e7b5d3d96e
Minor cleanups in pisound
2021-06-25 23:57:13 +01:00
Dale Whinham
9c2e168379
Add support for HDMI audio
2021-06-25 23:57:13 +01:00
Dale Whinham
2415b7b2a1
Add configuration option to reverse rotary encoder
...
Closes #104 .
2021-06-25 23:57:13 +01:00
Dale Whinham
c64c3ba914
Move "usb" config option to the system section
...
We now support more than just USB MIDI devices, so it no longer makes
sense to keep this in the MIDI section.
2021-03-19 23:53:26 +00:00
Dale Whinham
3024c23953
Add ability to set mt32emu gain values
2021-03-19 23:53:26 +00:00
Dale Whinham
aa30752d74
Add support for loading MT-32 ROMs from USB disks
2021-03-19 23:53:26 +00:00
Dale Whinham
28390abbea
Add support for loading SoundFonts from USB disks
2021-03-19 23:53:26 +00:00
Dale Whinham
8594ea5dc9
Add switch timeout config option
2021-03-19 23:53:26 +00:00
Dale Whinham
c49b22f613
Replace part level code with rect drawing function
2021-03-19 23:53:26 +00:00
Dale Whinham
96dc570fd5
Update ARM toolchains to 10.2-2020.11
2021-03-19 23:53:26 +00:00