The Line6 Catalyst Editor is a terminal-based application for managing and configuring Line 6 Catalyst amplifiers via MIDI. It provides a user-friendly interface to adjust various amplifier settings using ncurses
and the ALSA sequencer.
- Settings Management: Adjust various amplifier settings such as Gain, Boost Level, and FX parameters.
- MIDI Control: Send and receive MIDI messages to control the amplifier.
- User Interface: Navigate and adjust settings through a clean, text-based interface.
-
Clone the Repository:
git clone <repository-url> cd <repository-directory>
-
Install Dependencies:
Make sure you havencurses
andalsa-lib
installed on your system. On Debian-based systems, you can install them with:sudo apt-get install libncurses5-dev libasound2-dev
-
Build the Application:
make
-
Run the Application:
./build/bin/line6_catalyst_editor
- Arrow Keys: Navigate through the settings.
- Enter: Open a slider popup to adjust the selected setting.
- q: Quit the application.
To connect the Line6 Catalyst Editor to your MIDI device, you can use ALSA’s aconnect
command.
-
List Available MIDI Ports: Use the command below to list all available MIDI input and output ports:
aconnect -l
This command will display a list of MIDI devices and their corresponding client numbers and ports.
-
Identify Your MIDI Devices: Look for the output that corresponds to your MIDI interface (e.g.,
MidiSport 1x1
) and the Line6 Catalyst Editor (e.g.,Line6 Catalyst Editor
). -
Connect the Editor to the MIDI Device: To connect the Line6 Catalyst Editor to the MIDI device, use the
aconnect
command with the respective client and port numbers:aconnect <Catalyst_Client>:<Catalyst_Port> <MIDI_Device_Client>:<MIDI_Device_Port>
For example, if the Catalyst Editor is client
128:0
and your MIDI device is20:0
, the command would be:aconnect 128:0 20:0
This command routes the MIDI output of the Line6 Catalyst Editor to the input of your MIDI device.
-
Verify the Connection: Re-run
aconnect -l
to verify that the ports are connected correctly.
main.c
: Contains the main application logic, settings definition, and user interaction handling.midi.c
: Manages MIDI sequencer operations such as opening/closing the sequencer and sending MIDI events.midi.h
: Header file defining MIDI operations.ui.c
: Manages the user interface, including the main menu and slider popups.ui.h
: Header file defining UI functions and structures.
Settings are defined in main.c
and include various parameters such as:
- Amp Voicing Type
- Boost Level
- Gain
- Effect 1 Off/On
Each setting has associated MIDI Control Change numbers and value ranges.
- ALSA Errors: Ensure ALSA sequencer is correctly configured and that the application has access to MIDI ports.
- ncurses Initialization: Ensure
ncurses
library is installed and linked correctly during compilation.
This project is licensed under the MIT License. See the LICENSE
file for details.