#include <gtkmm2ext/bindable_button.h>
#include <ardour/ardour.h>
#include <ardour/session.h>
+#include <ardour/configuration.h>
#include "audio_clock.h"
#include "ardour_dialog.h"
#include "editing.h"
+#include "ui_config.h"
class AudioClock;
class PublicEditor;
class AddRouteDialog;
class NewSessionDialog;
class LocationUI;
-class ColorManager;
+class ThemeManager;
namespace Gtkmm2ext {
class TearOff;
#define FRAME_NAME "BaseFrame"
+extern sigc::signal<void> ColorsChanged;
+
class ARDOUR_UI : public Gtkmm2ext::UI
{
public:
- ARDOUR_UI (int *argcp, char **argvp[], string rcfile);
+ ARDOUR_UI (int *argcp, char **argvp[]);
~ARDOUR_UI();
void show ();
static ARDOUR::gain_t slider_position_to_gain (double pos);
static ARDOUR_UI *instance () { return theArdourUI; }
+ static UIConfiguration *config () { return ui_config; }
PublicEditor& the_editor(){return *editor;}
Mixer_UI* the_mixer() { return mixer; }
void toggle_location_window ();
- void toggle_color_manager ();
+ void toggle_theme_manager ();
void toggle_big_clock_window ();
void toggle_connection_editor ();
void toggle_route_params_window ();
void save_keybindings ();
void setup_profile ();
+ void setup_theme ();
protected:
friend class PublicEditor;
void we_have_dependents ();
std::string keybindings_path;
+ std::string user_keybindings_path;
void setup_keybindings ();
void setup_session_options ();
int create_location_ui ();
void handle_locations_change (ARDOUR::Location*);
- ColorManager* color_manager;
+ static UIConfiguration *ui_config;
+ ThemeManager *theme_manager;
/* Options window */
void toggle_use_osc ();
+ void toggle_denormal_protection ();
+
void set_input_auto_connect (ARDOUR::AutoConnectOption);
void set_output_auto_connect (ARDOUR::AutoConnectOption);
void set_solo_model (ARDOUR::SoloModel);
void set_monitor_model (ARDOUR::MonitorModel);
void set_remote_model (ARDOUR::RemoteModel);
+ void set_denormal_model (ARDOUR::DenormalModel);
void toggle_StopPluginsWithTransport();
void toggle_DoNotRunPluginsWhileRecording();
void mtc_port_changed ();
void map_solo_model ();
void map_monitor_model ();
+ void map_denormal_model ();
void map_remote_model ();
void map_file_header_format ();
void map_file_data_format ();