1 <!-- generated by ../../tools/undiag. DON'T CHANGE (change .mdx source) -->
2 \page overview Guitarix Program Overview
4 The diagrams try to give a simplified view on some of the important
8 \image html overview_ui.png
11 <tr><td>MainWindow </td><td>main program window</td></tr>
12 <tr><td>PluginDict </td><td>dictionary of PluginUI by id</td></tr>
13 <tr><td>PluginUI </td><td>user interface of a plugin (menu items, Gtk::Palette item etc.)</td></tr>
14 <tr><td>RackContainer</td><td>container for RackBox widgets</td></tr>
15 <tr><td>RackBox </td><td>Effect UI container</td></tr>
18 ## Abstract Engine Interface
19 \image html overview_machine.png
21 gx_engine::GxMachineBase is an interface (abstract class) which can be
22 implemented on the Guitarix engine (gx_engine::GxMachine) or by
23 communicating to a remote engine instance via JSON-RPC
24 (gx_engine::GxMachineRemote). The server part is implemented by GxService.
27 \image html overview_engine.png
30 <tr><td>gx_jack::GxJack </td><td>connection to jackd (clients)</td></tr>
31 <tr><td>gx_engine::GxEngine </td><td>the audio engine (executes active audio plugins)</td></tr>
32 <tr><td>gx_engine::PluginList </td><td>available effect plugins</td></tr>
33 <tr><td>gx_engine::Plugin </td><td>audio effect plugin</td></tr>
34 <tr><td>gx_engine::ParamMap </td><td>mapping of parameter id's to Parameter instances</td></tr>
35 <tr><td>gx_preset::GxSettings </td><td>preset banks and statefile</td></tr>
36 <tr><td>gx_system::CmdlineOptions </td><td>all settings that can be controlled from the command line</td></tr>
37 <tr><td>GxLogger </td><td>logging of errors / warnings</td></tr>