Enable History and Tab Completion in Ecasound
Ecasound's interactive mode provides a powerful command-driven
environment for multitrack audio processing, recording, and routing.
While users frequently encounter a bare-bones shell lacking navigation
features by default, command history and tab completion can indeed be
enabled. This functionality is achieved either by running a build
compiled with GNU Readline support or by wrapping the interactive
session with the rlwrap utility.
Native GNU Readline Support
Ecasound includes native support for command-line editing, command
history, and context-sensitive tab completion via the GNU Readline
library. When enabled, pressing the Tab key auto-completes
Ecasound Interactive Mode (EIAM) commands, chain operators, and setup
names, while the Up and Down arrow keys
navigate previously executed commands.
For this feature to work natively, Ecasound must be compiled with
Readline support enabled. If you are building from source, verify that
the development libraries for Readline (libreadline-dev on
Debian/Ubuntu or readline-devel on Fedora/RHEL) are
installed before configuration:
./configure --enable-readline
make
sudo make installIf the binary was built with Readline, simply launching interactive mode will provide these features automatically:
ecasound -cEnabling History
and Completion Using rlwrap
Many pre-compiled distribution packages ship Ecasound without native
Readline linking. In these cases, you do not need to recompile the
software; you can use rlwrap (Readline wrapper) to inject
full history and editing capabilities into the session.
Install
rlwrap:- On Debian/Ubuntu:
sudo apt install rlwrap - On Fedora/RHEL:
sudo dnf install rlwrap - On Arch Linux:
sudo pacman -S rlwrap
- On Debian/Ubuntu:
Launch Ecasound with
rlwrap: Run Ecasound through the wrapper:rlwrap ecasound -c
rlwrap will immediately provide persistent history saved
across sessions (stored by default in ~/.ecasound_history),
standard GNU Readline shortcuts (such as Ctrl+R for reverse
searching), and basic word completion based on previous inputs.
Creating an Alias for Convenience
To ensure you always launch Ecasound with interactive conveniences,
add an alias to your shell configuration file (such as
~/.bashrc or ~/.zshrc):
alias ecasound='rlwrap ecasound'After reloading your shell (source ~/.bashrc), executing
ecasound -c will automatically run inside the Readline
wrapper, restoring line editing, persistent history, and completion
without further setup.