mat1jaczyyy / apollo-studio

Apollo Studio is a standalone editor and live playback engine for RGB Launchpad light effects.
https://apollo.mat1jaczyyy.com
BSD 3-Clause "New" or "Revised" License
186 stars 23 forks source link

MIDI Fighter 64 support #469

Closed mat1jaczyyy closed 4 months ago

mat1jaczyyy commented 5 months ago

Support for MIDI Fighter 64 requires the use of custom firmware. Otherwise, the implementation is mostly standard.

Comes with slight theming changes regarding the On-screen Launchpad UI element for existing devices.

Closes #237.

mat1jaczyyy commented 5 months ago

This is currently only missing support for compression (fast LED mod) before it is ready to merge. The firmware itself might take a little bit longer to clean up into a releasable state though.

It's impractical to implement compression the way it was implemented for existing devices as they all internally use the XY Layout, whereas the MIDI Fighter 64 handles the physical LEDs with the Drum Rack layout (four 4x4 quadrants).

Due to this, I still need to write a modified version of the compression algorithm on both Apollo's and the custom firmware's side.

Considering the severely underpowered MCU of the MIDI Fighter 64 (it runs on an ATmega32U4 whereas Novation Launchpads use STM32 ARM-based processors), there is good reason to doubt the decompression process would actually be detrimental to performance, so whether or not we end up using the compression algorithm needs to be decided after thorough testing.

mat1jaczyyy commented 5 months ago

Compression algorithm works and helps a lot! Ready to merge once the firmware is ready.