github hugelton/Felucca v1.9.0
Felucca 1.9.0 (beta)

pre-release3 hours ago

Beta. 1.8.1 stays the stable release (the web installer installs it); try 1.9.0 if you want plugin engines early, and tell us what you find. Install the package with tools/fm1_install.py, and back up first.

Felucca 1.9.0 brings plugin engines: sound engines that anyone can make and share, and anyone can install without building a firmware. Saved projects, presets and samples open as before, and every sound plays as in 1.8.1.

Plugin engines

  • The FM-1 has two plugin slots in its flash, outside the firmware: a firmware update keeps them.
  • A plugin engine is listed on the ENG knob after Felucca's engines, with its own parameters, presets and HOME knobs. A plugin can also take the place of one of Felucca's engines: sounds saved with that engine then play through it.
  • Install them from the web editor (LIBRARY > PLUGINS) or with tools/fm1_plugin.py.
  • A project keeps each track's plugin by its id: opened on another FM-1, the track plays the same plugin there. Where the plugin is missing, the track plays a sine and says NO PLUGIN, and keeps its plugin for the next save.
  • If the FM-1 crashes inside a plugin, the next power-on starts without plugins.
  • Plugins may use any licence: an additional permission under GPL-3.0 section 7 (LICENSING.md). The plugin interface (ABI 1) and its tools are MIT, in Felucca-Engines, with a guide and an example engine, FOLD.
  • The desktop builds (SDL2, libretro) load plugins from a folder.

How it works and how to make one: docs/PLUGINS.md.

For developers

  • Every platform that is not an FM-1 builds on one host layer, platforms/host (the firmware against a simulated FM-1, with its API felucca_host.h). The browser build is now platforms/web, the desktop build platforms/sdl.
  • ./build.sh gen makes the generated headers without the FM-1's toolchain; ./build.sh web, sdl, libretro, host and test do the rest.
  • CI runs the host platforms and the tests on every push and pull request.
  • New documents: ARCHITECTURE, PORTING, PLUGINS, COMPATIBILITY.

Compatibility

Nothing you made changes. Firmware before 1.9 does not open a project with a track on a plugin engine of its own. The plugins take 8 KiB of the firmware's RAM for buffers; with a plugin installed, the second core (MENU > SYSTEM > 2ND CORE, beta) stays off.

Files

  • felucca-1.9.0.fwsc: the installable package (identity FM-1_919)
  • felucca-1.9.0-app.bin: the firmware app
  • felucca-1.9.0-source.tar.gz: the complete source, both submodules included. It builds the same bytes.

SHA-256:

  • felucca-1.9.0.fwsc 08c1408019d01a3edc6e2f37bb61a24d3028dcfa5ed9570d6228a1eb6e75e0a4
  • felucca-1.9.0-app.bin e89d002d28d3442c9c1eeae2958613979115a1c3024aac51cf50e5c7bdc115f3
  • felucca-1.9.0-source.tar.gz 68efca971fa92b9716143d6d5becc8d112f0544f7c1fa0cc650b0d981482a13e

Don't miss a new Felucca release

NewReleases is sending notifications on new releases.