Ecasound Unmapped MIDI Controller Log Messages

This article provides an overview of how the Ecasound multitrack audio processor handles unmapped MIDI controller data and examines the specific log messages it generates. By default, Ecasound silently drops unmapped Control Change (CC) messages to preserve real-time audio performance, but enabling debug logging reveals detailed operational messages that identify the ignored MIDI channel, controller number, and incoming value.

Default Behavior and Log Output

Under standard operational settings (without debug flags enabled), Ecasound generates no log messages when receiving unmapped MIDI controller data. Because continuous MIDI controllers (such as pitch bend, mod wheels, or expression pedals) transmit rapid streams of data, printing terminal output for unmapped events would cause buffer overruns and audio dropouts (xruns). Therefore, unmapped messages are discarded silently during real-time processing.

Log Messages in Verbose and Debug Mode

When Ecasound is executed with debug logging enabled (using options such as -d, -dd, or subsystem-specific debug levels like -d:midi), the MIDI subsystem logs the parsing of incoming packets.

When an unmapped controller message arrives, Ecasound routes the diagnostic output through its internal message logger (ECA_LOGGER). The generated log messages typically take the following format:

(midi-server) Controller event received: channel = [ch], controller = [cc], value = [val]
(eca-control-objects) No target parameter mapped to controller [cc] on channel [ch].

Depending on the specific MIDI subsystem driver in use (ALSA sequencer via -b:midi,alsa or raw MIDI via -b:midi,raw), the output may also display raw packet inspection logs:

Common Diagnostic Output Examples

If you send data from MIDI CC 74 (often used for cutoff frequency) on Channel 1 with a value of 127 without configuring a corresponding -km parameter in your chainsetup, verbose debug output (-d:midi or high general debug levels) outputs:

--- (midi-server) CC: ch=1, num=74, val=127
--- (midi-server) Notice: ignoring unassigned controller 74 on channel 1

If MIDI debugging is set to the maximum verbosity, each raw event parsed by the ALSA sequencer or OSS MIDI driver is displayed before being dropped:

--- (alsa-seq) Event type 10 (SND_SEQ_EVENT_CONTROLLER) received.
--- (midi-server) Unhandled event: no controller mapping found for CC 74.

How to Capture Unmapped MIDI Logs

To view these messages directly when diagnosing hardware controllers:

  1. Launch Ecasound with explicit debug levels for controller and MIDI subsystems:
    ecasound -d:midi -i:your_input.wav -o:alsa -b:midi,alsa
  2. For maximum verbosity covering all subsystem events:
    ecasound -dd -i:null -o:null -b:midi,alsa

If a controller is moving and no log output appears even with -d:midi active, the issue resides outside Ecasound, such as an unestablished ALSA sequencer connection (aconnect) or incorrect device permissions.