Guitarix
Guitarix Program Overview

The diagrams try to give a simplified view on some of the important Guitarix classes.

User Interface

MainWindow main program window
PluginDict dictionary of PluginUI by id
PluginUI user interface of a plugin (menu items, Gtk::Palette item etc.)
RackContainercontainer for RackBox widgets
RackBox Effect UI container

Abstract Engine Interface

gx_engine::GxMachineBase is an interface (abstract class) which can be implemented on the Guitarix engine (gx_engine::GxMachine) or by communicating to a remote engine instance via JSON-RPC (gx_engine::GxMachineRemote). The server part is implemented by GxService.

Engine

gx_jack::GxJack connection to jackd (clients)
gx_engine::GxEngine the audio engine (executes active audio plugins)
gx_engine::PluginList available effect plugins
gx_engine::Plugin audio effect plugin
gx_engine::ParamMap mapping of parameter id's to Parameter instances
gx_preset::GxSettings preset banks and statefile
gx_system::CmdlineOptions all settings that can be controlled from the command line
GxLogger logging of errors / warnings