Skip to content
skjelten edited this page Dec 3, 2024 · 6 revisions

The status tables below lists the current status on the different parts of the project as of the latest release.

Legend

✔️ Implementation more or less complete

❎ Partially implemented, important features still missing

❌ Not implemented

Status libEmuSC

Feature Status
Decoding PCM ROMs ✔️
Instrument definitions ❎ See status table (ADD REF)
Reading and decoding PCM samples ✔️
Resampling / pitch corrections ✔️ (NN, linear and cubic)
Pitch envelope ✔️
Filter envelope (TVF) ❎ Initial implementation in place, but lacks full understanding of partial definition for filter envelopes
Volume envelope (TVA) ❎ Mostly done, is missing key follow time adjustments and some velocity sensitivity parameters
MIDI CC messages ❎ Mostly implemented, missing AfterTouch++
MIDI SysEx messages ❎ All SysEx related to setting internal states are supported, but are missing LCD display messages and all send requests
LFO 1 / 2 generation ✔️ LFO1 and LFO2 definitions are mostly known and implemented
Tremolo ✔️
Vibrato ✔️
Static filtering (inst. without TVF) ❎ Code exists, but filter configuration based on ROM definitions needs refinement
Chrous (system effect) ❎ Basic implementation in place, needs refinement
Reverb (system effect) ❎ Basic implementation in place, needs refinement
Modulation controllers ❎ Mostly OK, pitch wheel (the only 2 byte controller) needs improvement
Drumset configurtation ✔️
LCD animations ✔️ Only found in SC-55mkII ROM

Status EmuSC (frontend)

Main GUI application

Feature Status
Audio output See audio table
MIDI input See MIDI table
Audio device selection ❎ Needs refinements for ALSA (device list) and macOS (select other than primary device)
MIDI device selection ❎ Done for Linux (ALSA), but work needed for macOS and Windows
LCD display ❎ missing 'Peak Hold' type 3
ROM setup ❎ missing SHA256 definitions for several known ROM sets (SHA256 -> libEmuSC?)
Setting volume ❎ Volume is in %, not decibel
Button interface ❎ Bug remains: ALL + mute not implemented

Audio output

Audio system Platform Status
QtMultimedia All ❌ Implemented, but currently in a broken state
WAV (file) All ❎ Working, but could need some refinements
ALSA Linux ✔️
Pulse Linux ❌ Implemented, but currently in a broken state
JACK Linux ❎ Working, but could need some refinements
Core Audio macOS ✔️
Win32 Windows ✔️

MIDI input

MIDI system Platform Status
ALSA sequencer Linux ✔️
JACK MIDI Linux
Core MIDI macOS ✔️
Win32 MIDI Windows ❎ Requires hardware or loopback interface