#include #include #include #include "jack.h" #include "portmanager.h" #include "gui.h" #include "config.h" Glib::RefPtr g_builder; Gui::Gui(BaseObjectType *cobject, const Glib::RefPtr &builder) : Gtk::Window(cobject), m_scrolledwindow_audio(NULL), m_scrolledwindow_midi(NULL) { builder->get_widget("scrolledwindow_audio", m_scrolledwindow_audio); builder->get_widget("scrolledwindow_midi", m_scrolledwindow_midi); if (m_scrolledwindow_audio != NULL) { m_scrolledwindow_audio->add(m_matrix); } if (m_scrolledwindow_midi != NULL) { m_scrolledwindow_midi->add(m_matrix); } m_matrix.parent = this; Refresh(); Glib::signal_idle().connect(sigc::mem_fun(*this, &Gui::on_idle)); Preferences *p = Preferences::Open(); p->show(); } Gui::~Gui() { } Gui *Gui::Open() { if (g_builder == NULL) { g_builder = Gtk::Builder::create_from_file("jsweeper.ui"); } Gui *window = NULL; g_builder->get_widget_derived("window1", window); return window; } void Gui::Refresh() { m_matrix.Refresh(); } bool Gui::on_idle() { if (jack.ProcessEvents()) { Refresh(); queue_draw(); } usleep(1000); return true; } Preferences::Preferences(BaseObjectType *cobject, const Glib::RefPtr &builder) : Gtk::Dialog(cobject) { } Preferences *Preferences::Open() { Preferences *window = NULL; g_builder->get_widget_derived("dialog_preferences", window); return window; }