From 4999a7199470ee751d710cfca2a39b4fdc561a82 Mon Sep 17 00:00:00 2001 From: David Robillard <d@drobilla.net> Date: Fri, 20 May 2011 03:27:08 +0000 Subject: Remove dependency on glade and glademm (migrate to GtkBuilder). git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@3295 a436a847-0d15-0410-975c-d299462d15a1 --- src/gui/App.cpp | 12 +- src/gui/App.hpp | 6 +- src/gui/BreadCrumbs.hpp | 6 +- src/gui/ConnectWindow.cpp | 4 +- src/gui/ConnectWindow.hpp | 7 +- src/gui/ControlPanel.cpp | 18 +- src/gui/ControlPanel.hpp | 13 +- src/gui/Controls.cpp | 18 +- src/gui/Controls.hpp | 20 +- src/gui/GladeFactory.cpp | 83 - src/gui/GladeFactory.hpp | 45 - src/gui/LoadPatchWindow.cpp | 4 +- src/gui/LoadPatchWindow.hpp | 9 +- src/gui/LoadPluginWindow.cpp | 4 +- src/gui/LoadPluginWindow.hpp | 11 +- src/gui/LoadRemotePatchWindow.cpp | 4 +- src/gui/LoadRemotePatchWindow.hpp | 9 +- src/gui/MessagesWindow.cpp | 9 +- src/gui/MessagesWindow.hpp | 10 +- src/gui/NewSubpatchWindow.cpp | 4 +- src/gui/NewSubpatchWindow.hpp | 10 +- src/gui/NodeControlWindow.cpp | 4 +- src/gui/NodeControlWindow.hpp | 3 +- src/gui/NodeMenu.cpp | 3 +- src/gui/NodeMenu.hpp | 3 +- src/gui/NodeModule.cpp | 4 +- src/gui/ObjectMenu.cpp | 3 +- src/gui/ObjectMenu.hpp | 8 +- src/gui/PatchCanvas.cpp | 4 +- src/gui/PatchPortModule.cpp | 4 +- src/gui/PatchTreeWindow.cpp | 4 +- src/gui/PatchTreeWindow.hpp | 8 +- src/gui/PatchView.cpp | 8 +- src/gui/PatchView.hpp | 8 +- src/gui/PatchWindow.cpp | 3 +- src/gui/PatchWindow.hpp | 7 +- src/gui/Port.cpp | 4 +- src/gui/PortMenu.cpp | 4 +- src/gui/PortMenu.hpp | 4 +- src/gui/PortPropertiesWindow.cpp | 4 +- src/gui/PortPropertiesWindow.hpp | 10 +- src/gui/PropertiesWindow.cpp | 16 +- src/gui/PropertiesWindow.hpp | 10 +- src/gui/RenameWindow.cpp | 14 +- src/gui/RenameWindow.hpp | 8 +- src/gui/UploadPatchWindow.cpp | 3 +- src/gui/UploadPatchWindow.hpp | 11 +- src/gui/WidgetFactory.cpp | 84 + src/gui/WidgetFactory.hpp | 46 + src/gui/Window.hpp | 1 - src/gui/WindowFactory.cpp | 6 +- src/gui/ingen_gui.glade | 3076 ------------------------------------- src/gui/ingen_gui.ui | 2983 +++++++++++++++++++++++++++++++++++ src/gui/wscript | 8 +- src/serialisation/Parser.cpp | 2 +- wscript | 8 +- 56 files changed, 3318 insertions(+), 3364 deletions(-) delete mode 100644 src/gui/GladeFactory.cpp delete mode 100644 src/gui/GladeFactory.hpp create mode 100644 src/gui/WidgetFactory.cpp create mode 100644 src/gui/WidgetFactory.hpp delete mode 100644 src/gui/ingen_gui.glade create mode 100644 src/gui/ingen_gui.ui diff --git a/src/gui/App.cpp b/src/gui/App.cpp index 9d3fc49a..723c3cd8 100644 --- a/src/gui/App.cpp +++ b/src/gui/App.cpp @@ -42,7 +42,7 @@ #include "LoadPluginWindow.hpp" #include "PatchWindow.hpp" #include "MessagesWindow.hpp" -#include "GladeFactory.hpp" +#include "WidgetFactory.hpp" #include "PatchTreeWindow.hpp" #include "Configuration.hpp" #include "ConnectWindow.hpp" @@ -78,15 +78,15 @@ App::App(Ingen::Shared::World* world) , _world(world) , _enable_signal(true) { - Glib::RefPtr<Gnome::Glade::Xml> glade_xml = GladeFactory::new_glade_reference(); + Glib::RefPtr<Gtk::Builder> xml = WidgetFactory::create(); Glib::set_application_name("Ingen"); gtk_window_set_default_icon_name("ingen"); - glade_xml->get_widget_derived("connect_win", _connect_window); - glade_xml->get_widget_derived("messages_win", _messages_window); - glade_xml->get_widget_derived("patch_tree_win", _patch_tree_window); - glade_xml->get_widget("about_win", _about_dialog); + xml->get_widget_derived("connect_win", _connect_window); + xml->get_widget_derived("messages_win", _messages_window); + xml->get_widget_derived("patch_tree_win", _patch_tree_window); + xml->get_widget("about_win", _about_dialog); _about_dialog->property_program_name() = "Ingen"; _about_dialog->property_logo_icon_name() = "ingen"; diff --git a/src/gui/App.hpp b/src/gui/App.hpp index 82eab2f3..ca5c590f 100644 --- a/src/gui/App.hpp +++ b/src/gui/App.hpp @@ -22,11 +22,13 @@ #include <string> #include <map> #include <utility> -#include <libgnomecanvasmm.h> + #include <gtkmm.h> -#include <libglademm.h> +#include <libgnomecanvasmm.h> + #include "raul/SharedPtr.hpp" #include "raul/Deletable.hpp" + #include "shared/World.hpp" namespace Ingen { diff --git a/src/gui/BreadCrumbs.hpp b/src/gui/BreadCrumbs.hpp index c716e33e..700ac226 100644 --- a/src/gui/BreadCrumbs.hpp +++ b/src/gui/BreadCrumbs.hpp @@ -19,12 +19,14 @@ #define INGEN_GUI_BREADCRUMBS_HPP #include <list> + #include <gtkmm.h> -#include <libglademm/xml.h> -#include <libglademm.h> + #include "raul/Path.hpp" #include "raul/SharedPtr.hpp" + #include "client/PatchModel.hpp" + #include "PatchView.hpp" namespace Ingen { diff --git a/src/gui/ConnectWindow.cpp b/src/gui/ConnectWindow.cpp index c07eef71..eb98bb6b 100644 --- a/src/gui/ConnectWindow.cpp +++ b/src/gui/ConnectWindow.cpp @@ -54,8 +54,8 @@ namespace Raul { class Deletable; } namespace Ingen { namespace GUI { -ConnectWindow::ConnectWindow(BaseObjectType* cobject, - const Glib::RefPtr<Gnome::Glade::Xml>& xml) +ConnectWindow::ConnectWindow(BaseObjectType* cobject, + const Glib::RefPtr<Gtk::Builder>& xml) : Dialog(cobject) , _xml(xml) , _mode(CONNECT_REMOTE) diff --git a/src/gui/ConnectWindow.hpp b/src/gui/ConnectWindow.hpp index 92f29f16..44d4c925 100644 --- a/src/gui/ConnectWindow.hpp +++ b/src/gui/ConnectWindow.hpp @@ -25,8 +25,6 @@ #endif #include <gtkmm.h> -#include <libglademm/xml.h> -#include <libglademm.h> #include "raul/SharedPtr.hpp" @@ -47,7 +45,8 @@ class App; class ConnectWindow : public Dialog { public: - ConnectWindow(BaseObjectType* cobject, const Glib::RefPtr<Gnome::Glade::Xml>& xml); + ConnectWindow(BaseObjectType* cobject, + const Glib::RefPtr<Gtk::Builder>& xml); void set_connected_to(SharedPtr<ServerInterface> engine); void start(Ingen::Shared::World* world); @@ -77,7 +76,7 @@ private: bool gtk_callback(); void quit(); - const Glib::RefPtr<Gnome::Glade::Xml> _xml; + const Glib::RefPtr<Gtk::Builder> _xml; Mode _mode; int32_t _ping_id; diff --git a/src/gui/ControlPanel.cpp b/src/gui/ControlPanel.cpp index 59309ab4..c87f7c5d 100644 --- a/src/gui/ControlPanel.cpp +++ b/src/gui/ControlPanel.cpp @@ -24,7 +24,7 @@ #include "App.hpp" #include "ControlPanel.hpp" #include "Controls.hpp" -#include "GladeFactory.hpp" +#include "WidgetFactory.hpp" using namespace std; using namespace Raul; @@ -32,8 +32,8 @@ using namespace Raul; namespace Ingen { namespace GUI { -ControlPanel::ControlPanel(BaseObjectType* cobject, - const Glib::RefPtr<Gnome::Glade::Xml>& xml) +ControlPanel::ControlPanel(BaseObjectType* cobject, + const Glib::RefPtr<Gtk::Builder>& xml) : Gtk::HBox(cobject) , _callback_enabled(true) { @@ -89,21 +89,21 @@ ControlPanel::add_port(SharedPtr<const PortModel> pm) if (pm->is_input()) { if (pm->is_toggle()) { ToggleControl* tc; - Glib::RefPtr<Gnome::Glade::Xml> xml - = GladeFactory::new_glade_reference("toggle_control"); + Glib::RefPtr<Gtk::Builder> xml + = WidgetFactory::create("toggle_control"); xml->get_widget_derived("toggle_control", tc); control = tc; } else if (pm->is_a(PortType::CONTROL) || pm->supports(App::instance().uris().atom_Float32)) { SliderControl* sc; - Glib::RefPtr<Gnome::Glade::Xml> xml - = GladeFactory::new_glade_reference("control_strip"); + Glib::RefPtr<Gtk::Builder> xml + = WidgetFactory::create("control_strip"); xml->get_widget_derived("control_strip", sc); control = sc; } else if (pm->supports(App::instance().uris().atom_String)) { StringControl* sc; - Glib::RefPtr<Gnome::Glade::Xml> xml - = GladeFactory::new_glade_reference("string_control"); + Glib::RefPtr<Gtk::Builder> xml + = WidgetFactory::create("string_control"); xml->get_widget_derived("string_control", sc); control = sc; } diff --git a/src/gui/ControlPanel.hpp b/src/gui/ControlPanel.hpp index cff7e946..a657b8d2 100644 --- a/src/gui/ControlPanel.hpp +++ b/src/gui/ControlPanel.hpp @@ -18,13 +18,12 @@ #ifndef INGEN_GUI_CONTROLPANEL_HPP #define INGEN_GUI_CONTROLPANEL_HPP -#include <vector> #include <string> -#include <utility> // for pair<> -#include <sigc++/sigc++.h> +#include <utility> +#include <vector> + #include <gtkmm.h> -#include <libglademm/xml.h> -#include <libglademm.h> + #include "Controls.hpp" namespace Raul { class Path; } @@ -47,8 +46,8 @@ namespace GUI { */ class ControlPanel : public Gtk::HBox { public: - ControlPanel(BaseObjectType* cobject, - const Glib::RefPtr<Gnome::Glade::Xml>& glade_xml); + ControlPanel(BaseObjectType* cobject, + const Glib::RefPtr<Gtk::Builder>& xml); virtual ~ControlPanel(); void init(SharedPtr<const NodeModel> node, uint32_t poly); diff --git a/src/gui/Controls.cpp b/src/gui/Controls.cpp index b9362ed7..af4a139e 100644 --- a/src/gui/Controls.cpp +++ b/src/gui/Controls.cpp @@ -26,7 +26,7 @@ #include "App.hpp" #include "ControlPanel.hpp" #include "Controls.hpp" -#include "GladeFactory.hpp" +#include "WidgetFactory.hpp" #include "PortPropertiesWindow.hpp" using namespace std; @@ -38,13 +38,14 @@ namespace GUI { // ////////////////////// Control ///////////////////////////////// // -Control::Control(BaseObjectType* cobject, const Glib::RefPtr<Gnome::Glade::Xml>& glade_xml) +Control::Control(BaseObjectType* cobject, + const Glib::RefPtr<Gtk::Builder>& xml) : Gtk::VBox(cobject) , _control_panel(NULL) , _enable_signal(false) , _name_label(NULL) { - Glib::RefPtr<Gnome::Glade::Xml> menu_xml = GladeFactory::new_glade_reference("port_control_menu"); + Glib::RefPtr<Gtk::Builder> menu_xml = WidgetFactory::create("port_control_menu"); menu_xml->get_widget("port_control_menu", _menu); menu_xml->get_widget("port_control_menu_properties", _menu_properties); @@ -105,7 +106,7 @@ Control::set_label(const string& name) void Control::menu_properties() { - Glib::RefPtr<Gnome::Glade::Xml> xml = GladeFactory::new_glade_reference(); + Glib::RefPtr<Gtk::Builder> xml = WidgetFactory::create(); PortPropertiesWindow* window; xml->get_widget_derived("port_properties_win", window); @@ -114,7 +115,8 @@ Control::menu_properties() // ////////////////// SliderControl ////////////////////// // -SliderControl::SliderControl(BaseObjectType* cobject, const Glib::RefPtr<Gnome::Glade::Xml>& xml) +SliderControl::SliderControl(BaseObjectType* cobject, + const Glib::RefPtr<Gtk::Builder>& xml) : Control(cobject, xml) , _enabled(true) { @@ -289,7 +291,8 @@ SliderControl::slider_pressed(GdkEvent* ev) // ///////////// ToggleControl ////////////// // -ToggleControl::ToggleControl(BaseObjectType* cobject, const Glib::RefPtr<Gnome::Glade::Xml>& xml) +ToggleControl::ToggleControl(BaseObjectType* cobject, + const Glib::RefPtr<Gtk::Builder>& xml) : Control(cobject, xml) { xml->get_widget("toggle_control_name_label", _name_label); @@ -347,7 +350,8 @@ ToggleControl::toggled() // ///////////// StringControl ////////////// // -StringControl::StringControl(BaseObjectType* cobject, const Glib::RefPtr<Gnome::Glade::Xml>& xml) +StringControl::StringControl(BaseObjectType* cobject, + const Glib::RefPtr<Gtk::Builder>& xml) : Control(cobject, xml) { xml->get_widget("string_control_name_label", _name_label); diff --git a/src/gui/Controls.hpp b/src/gui/Controls.hpp index c64f7062..66969393 100644 --- a/src/gui/Controls.hpp +++ b/src/gui/Controls.hpp @@ -19,12 +19,13 @@ #define INGEN_GUI_CONTROLS_HPP #include <cassert> + #include <gtkmm.h> -#include <libglademm/xml.h> -#include <libglademm.h> -#include "client/PortModel.hpp" + #include "raul/SharedPtr.hpp" +#include "client/PortModel.hpp" + namespace Ingen { namespace Client { class PortModel; } } namespace Ingen { @@ -39,7 +40,8 @@ class ControlPanel; class Control : public Gtk::VBox { public: - Control(BaseObjectType* cobject, const Glib::RefPtr<Gnome::Glade::Xml>& glade_xml); + Control(BaseObjectType* cobject, + const Glib::RefPtr<Gtk::Builder>& xml); virtual ~Control(); virtual void init(ControlPanel* panel, SharedPtr<const Client::PortModel> pm); @@ -73,7 +75,9 @@ protected: class SliderControl : public Control { public: - SliderControl(BaseObjectType* cobject, const Glib::RefPtr<Gnome::Glade::Xml>& glade_xml); + SliderControl(BaseObjectType* cobject, + const Glib::RefPtr<Gtk::Builder>& xml); + void init(ControlPanel* panel, SharedPtr<const Client::PortModel> pm); void set_min(float val); @@ -105,7 +109,8 @@ private: class ToggleControl : public Control { public: - ToggleControl(BaseObjectType* cobject, const Glib::RefPtr<Gnome::Glade::Xml>& xml); + ToggleControl(BaseObjectType* cobject, + const Glib::RefPtr<Gtk::Builder>& xml); void init(ControlPanel* panel, SharedPtr<const Client::PortModel> pm); @@ -123,7 +128,8 @@ private: class StringControl : public Control { public: - StringControl(BaseObjectType* cobject, const Glib::RefPtr<Gnome::Glade::Xml>& xml); + StringControl(BaseObjectType* cobject, + const Glib::RefPtr<Gtk::Builder>& xml); void init(ControlPanel* panel, SharedPtr<const Client::PortModel> pm); diff --git a/src/gui/GladeFactory.cpp b/src/gui/GladeFactory.cpp deleted file mode 100644 index b13129db..00000000 --- a/src/gui/GladeFactory.cpp +++ /dev/null @@ -1,83 +0,0 @@ -/* This file is part of Ingen. - * Copyright 2007-2011 David Robillard <http://drobilla.net> - * - * Ingen is free software; you can redistribute it and/or modify it under the - * terms of the GNU General Public License as published by the Free Software - * Foundation; either version 2 of the License, or (at your option) any later - * version. - * - * Ingen is distributed in the hope that it will be useful, but WITHOUT ANY - * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS - * FOR A PARTICULAR PURPOSE. See the GNU General Public License for details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - */ - -#include "GladeFactory.hpp" -#include <fstream> -#include "raul/log.hpp" -#include "ingen-config.h" -#include "shared/runtime_paths.hpp" - -using namespace std; -using namespace Raul; - -namespace Ingen { -namespace GUI { - -Glib::ustring GladeFactory::glade_filename = ""; - -inline static bool -is_readable(const std::string& filename) -{ - std::ifstream fs(filename.c_str()); - const bool fail = fs.fail(); - fs.close(); - return !fail; -} - -void -GladeFactory::find_glade_file() -{ - // Try file in bundle (directory where executable resides) - glade_filename = Shared::bundle_file_path("ingen_gui.glade"); - if (is_readable(glade_filename)) - return; - - // Try ENGINE_GLADE_PATH from the environment - const char* const env_path = getenv("INGEN_GLADE_PATH"); - if (env_path && is_readable(env_path)) { - glade_filename = env_path; - return; - } - - // Try the default system installed path - glade_filename = Shared::data_file_path("ingen_gui.glade"); - if (is_readable(glade_filename)) - return; - - error << "[GladeFactory] Unable to find ingen_gui.glade in " << INGEN_DATA_DIR << endl; - throw std::runtime_error("Unable to find glade file"); -} - -Glib::RefPtr<Gnome::Glade::Xml> -GladeFactory::new_glade_reference(const string& toplevel_widget) -{ - if (glade_filename.empty()) - find_glade_file(); - - try { - if (toplevel_widget.empty()) - return Gnome::Glade::Xml::create(glade_filename); - else - return Gnome::Glade::Xml::create(glade_filename, toplevel_widget.c_str()); - } catch (const Gnome::Glade::XmlError& ex) { - error << "[GladeFactory] " << ex.what() << endl; - throw ex; - } -} - -} // namespace GUI -} // namespace Ingen diff --git a/src/gui/GladeFactory.hpp b/src/gui/GladeFactory.hpp deleted file mode 100644 index 9860c3f8..00000000 --- a/src/gui/GladeFactory.hpp +++ /dev/null @@ -1,45 +0,0 @@ -/* This file is part of Ingen. - * Copyright 2007-2011 David Robillard <http://drobilla.net> - * - * Ingen is free software; you can redistribute it and/or modify it under the - * terms of the GNU General Public License as published by the Free Software - * Foundation; either version 2 of the License, or (at your option) any later - * version. - * - * Ingen is distributed in the hope that it will be useful, but WITHOUT ANY - * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS - * FOR A PARTICULAR PURPOSE. See the GNU General Public License for details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - */ - -#ifndef INGEN_GUI_GLADEFACTORY_HPP -#define INGEN_GUI_GLADEFACTORY_HPP - -#include <string> -#include <libglademm/xml.h> - -namespace Ingen { -namespace GUI { - -/** Creates glade references, so various objects can create widgets. - * Purely static. - * - * \ingroup GUI - */ -class GladeFactory { -public: - static Glib::RefPtr<Gnome::Glade::Xml> - new_glade_reference(const std::string& toplevel_widget = ""); - -private: - static void find_glade_file(); - static Glib::ustring glade_filename; -}; - -} // namespace GUI -} // namespace Ingen - -#endif // INGEN_GUI_GLADEFACTORY_HPP diff --git a/src/gui/LoadPatchWindow.cpp b/src/gui/LoadPatchWindow.cpp index f002e36e..1b5e3c80 100644 --- a/src/gui/LoadPatchWindow.cpp +++ b/src/gui/LoadPatchWindow.cpp @@ -40,8 +40,8 @@ using namespace Raul; namespace Ingen { namespace GUI { -LoadPatchWindow::LoadPatchWindow(BaseObjectType* cobject, - const Glib::RefPtr<Gnome::Glade::Xml>& xml) +LoadPatchWindow::LoadPatchWindow(BaseObjectType* cobject, + const Glib::RefPtr<Gtk::Builder>& xml) : Gtk::FileChooserDialog(cobject) , _merge_ports(false) { diff --git a/src/gui/LoadPatchWindow.hpp b/src/gui/LoadPatchWindow.hpp index cc60ef80..cc8b906b 100644 --- a/src/gui/LoadPatchWindow.hpp +++ b/src/gui/LoadPatchWindow.hpp @@ -18,10 +18,12 @@ #ifndef INGEN_GUI_LOADSUBPATCHWINDOW_HPP #define INGEN_GUI_LOADSUBPATCHWINDOW_HPP -#include <libglademm/xml.h> #include <gtkmm.h> + #include "raul/SharedPtr.hpp" + #include "ingen/GraphObject.hpp" + using namespace Ingen::Shared; namespace Ingen { @@ -33,14 +35,15 @@ namespace GUI { /** 'Add Subpatch' window. * - * Loaded by glade as a derived object. + * Loaded from XML as a derived object. * * \ingroup GUI */ class LoadPatchWindow : public Gtk::FileChooserDialog { public: - LoadPatchWindow(BaseObjectType* cobject, const Glib::RefPtr<Gnome::Glade::Xml>& xml); + LoadPatchWindow(BaseObjectType* cobject, + const Glib::RefPtr<Gtk::Builder>& xml); void set_patch(SharedPtr<const PatchModel> patch); diff --git a/src/gui/LoadPluginWindow.cpp b/src/gui/LoadPluginWindow.cpp index b763c0ae..135f63f1 100644 --- a/src/gui/LoadPluginWindow.cpp +++ b/src/gui/LoadPluginWindow.cpp @@ -35,8 +35,8 @@ using namespace Raul; namespace Ingen { namespace GUI { -LoadPluginWindow::LoadPluginWindow(BaseObjectType* cobject, - const Glib::RefPtr<Gnome::Glade::Xml>& xml) +LoadPluginWindow::LoadPluginWindow(BaseObjectType* cobject, + const Glib::RefPtr<Gtk::Builder>& xml) : Window(cobject) , _name_offset(0) , _has_shown(false) diff --git a/src/gui/LoadPluginWindow.hpp b/src/gui/LoadPluginWindow.hpp index 3ba9a590..c637db82 100644 --- a/src/gui/LoadPluginWindow.hpp +++ b/src/gui/LoadPluginWindow.hpp @@ -19,14 +19,16 @@ #define INGEN_GUI_LOADPLUGINWINDOW_HPP #include <map> -#include <libglademm/xml.h> -#include <libglademm.h> + #include <gtkmm.h> + #include "raul/SharedPtr.hpp" #include "raul/Table.hpp" + #include "ingen-config.h" #include "ingen/GraphObject.hpp" #include "client/ClientStore.hpp" + #include "Window.hpp" using namespace Ingen::Shared; @@ -41,14 +43,15 @@ namespace GUI { /** 'Load Plugin' window. * - * Loaded by glade as a derived object. + * Loaded from XML as a derived object. * * \ingroup GUI */ class LoadPluginWindow : public Window { public: - LoadPluginWindow(BaseObjectType* cobject, const Glib::RefPtr<Gnome::Glade::Xml>& xml); + LoadPluginWindow(BaseObjectType* cobject, + const Glib::RefPtr<Gtk::Builder>& xml); void set_patch(SharedPtr<const PatchModel> patch); void set_plugins(SharedPtr<const Client::ClientStore::Plugins> plugins); diff --git a/src/gui/LoadRemotePatchWindow.cpp b/src/gui/LoadRemotePatchWindow.cpp index 84b304da..0ca984b3 100644 --- a/src/gui/LoadRemotePatchWindow.cpp +++ b/src/gui/LoadRemotePatchWindow.cpp @@ -33,8 +33,8 @@ using namespace std; namespace Ingen { namespace GUI { -LoadRemotePatchWindow::LoadRemotePatchWindow(BaseObjectType* cobject, - const Glib::RefPtr<Gnome::Glade::Xml>& xml) +LoadRemotePatchWindow::LoadRemotePatchWindow(BaseObjectType* cobject, + const Glib::RefPtr<Gtk::Builder>& xml) : Dialog(cobject) { xml->get_widget("load_remote_patch_treeview", _treeview); diff --git a/src/gui/LoadRemotePatchWindow.hpp b/src/gui/LoadRemotePatchWindow.hpp index dd0bb116..b6f86892 100644 --- a/src/gui/LoadRemotePatchWindow.hpp +++ b/src/gui/LoadRemotePatchWindow.hpp @@ -18,11 +18,14 @@ #ifndef INGEN_GUI_LOADREMOTEPATCHWINDOW_HPP #define INGEN_GUI_LOADREMOTEPATCHWINDOW_HPP -#include <libglademm/xml.h> #include <gtkmm.h> + #include "raul/SharedPtr.hpp" + #include "ingen/GraphObject.hpp" + #include "Window.hpp" + using namespace Ingen::Shared; namespace Ingen { @@ -55,8 +58,8 @@ public: class LoadRemotePatchWindow : public Dialog { public: - LoadRemotePatchWindow(BaseObjectType* cobject, - const Glib::RefPtr<Gnome::Glade::Xml>& xml); + LoadRemotePatchWindow(BaseObjectType* cobject, + const Glib::RefPtr<Gtk::Builder>& xml); void set_patch(SharedPtr<const PatchModel> patch); diff --git a/src/gui/MessagesWindow.cpp b/src/gui/MessagesWindow.cpp index d335b4bb..4271fca6 100644 --- a/src/gui/MessagesWindow.cpp +++ b/src/gui/MessagesWindow.cpp @@ -22,12 +22,13 @@ namespace Ingen { namespace GUI { using std::string; -MessagesWindow::MessagesWindow(BaseObjectType* cobject, const Glib::RefPtr<Gnome::Glade::Xml>& glade_xml) +MessagesWindow::MessagesWindow(BaseObjectType* cobject, + const Glib::RefPtr<Gtk::Builder>& xml) : Window(cobject) { - glade_xml->get_widget("messages_textview", _textview); - glade_xml->get_widget("messages_clear_button", _clear_button); - glade_xml->get_widget("messages_close_button", _close_button); + xml->get_widget("messages_textview", _textview); + xml->get_widget("messages_clear_button", _clear_button); + xml->get_widget("messages_close_button", _close_button); _clear_button->signal_clicked().connect(sigc::mem_fun(this, &MessagesWindow::clear_clicked)); _close_button->signal_clicked().connect(sigc::mem_fun(this, &Window::hide)); diff --git a/src/gui/MessagesWindow.hpp b/src/gui/MessagesWindow.hpp index c0508f6b..4ef639a2 100644 --- a/src/gui/MessagesWindow.hpp +++ b/src/gui/MessagesWindow.hpp @@ -19,8 +19,9 @@ #define INGEN_GUI_MESSAGESWINDOW_HPP #include <string> + #include <gtkmm.h> -#include <libglademm/xml.h> + #include "Window.hpp" namespace Ingen { @@ -28,15 +29,16 @@ namespace GUI { /** Messages Window. * - * Loaded by libglade as a derived object. - * This is shown when errors occur (ie during patch loading). + * Loaded from XML as a derived object. + * This is shown when errors occur (e.g. during patch loading). * * \ingroup GUI */ class MessagesWindow : public Window { public: - MessagesWindow(BaseObjectType* cobject, const Glib::RefPtr<Gnome::Glade::Xml>& refGlade); + MessagesWindow(BaseObjectType* cobject, + const Glib::RefPtr<Gtk::Builder>& xml); void post(const std::string& str); diff --git a/src/gui/NewSubpatchWindow.cpp b/src/gui/NewSubpatchWindow.cpp index f2e2227a..4ea7c172 100644 --- a/src/gui/NewSubpatchWindow.cpp +++ b/src/gui/NewSubpatchWindow.cpp @@ -29,8 +29,8 @@ using namespace Raul; namespace Ingen { namespace GUI { -NewSubpatchWindow::NewSubpatchWindow(BaseObjectType* cobject, - const Glib::RefPtr<Gnome::Glade::Xml>& xml) +NewSubpatchWindow::NewSubpatchWindow(BaseObjectType* cobject, + const Glib::RefPtr<Gtk::Builder>& xml) : Window(cobject) { xml->get_widget("new_subpatch_name_entry", _name_entry); diff --git a/src/gui/NewSubpatchWindow.hpp b/src/gui/NewSubpatchWindow.hpp index 5da4c314..5e22a0d4 100644 --- a/src/gui/NewSubpatchWindow.hpp +++ b/src/gui/NewSubpatchWindow.hpp @@ -18,10 +18,12 @@ #ifndef INGEN_GUI_NEWSUBPATCHWINDOW_HPP #define INGEN_GUI_NEWSUBPATCHWINDOW_HPP -#include <libglademm/xml.h> #include <gtkmm.h> + #include "raul/SharedPtr.hpp" + #include "ingen/GraphObject.hpp" + #include "Window.hpp" namespace Ingen { @@ -35,15 +37,15 @@ namespace GUI { /** 'New Subpatch' window. * - * Loaded by glade as a derived object. + * Loaded from XML as a derived object. * * \ingroup GUI */ class NewSubpatchWindow : public Window { public: - NewSubpatchWindow(BaseObjectType* cobject, - const Glib::RefPtr<Gnome::Glade::Xml>& xml); + NewSubpatchWindow(BaseObjectType* cobject, + const Glib::RefPtr<Gtk::Builder>& xml); void set_patch(SharedPtr<const PatchModel> patch); diff --git a/src/gui/NodeControlWindow.cpp b/src/gui/NodeControlWindow.cpp index ebee1ad3..a99de9a8 100644 --- a/src/gui/NodeControlWindow.cpp +++ b/src/gui/NodeControlWindow.cpp @@ -21,7 +21,7 @@ #include "client/NodeModel.hpp" #include "App.hpp" #include "NodeControlWindow.hpp" -#include "GladeFactory.hpp" +#include "WidgetFactory.hpp" #include "Controls.hpp" #include "ControlPanel.hpp" #include "PatchWindow.hpp" @@ -47,7 +47,7 @@ NodeControlWindow::NodeControlWindow(SharedPtr<const NodeModel> node, set_title(_node->plugin_model()->human_name() + " - Ingen"); - Glib::RefPtr<Gnome::Glade::Xml> xml = GladeFactory::new_glade_reference("warehouse_win"); + Glib::RefPtr<Gtk::Builder> xml = WidgetFactory::create("warehouse_win"); xml->get_widget_derived("control_panel_vbox", _control_panel); show_all_children(); diff --git a/src/gui/NodeControlWindow.hpp b/src/gui/NodeControlWindow.hpp index 97ec7ba3..30fb0a40 100644 --- a/src/gui/NodeControlWindow.hpp +++ b/src/gui/NodeControlWindow.hpp @@ -19,9 +19,10 @@ #define INGEN_GUI_NODECONTROLWINDOW_HPP #include <gtkmm.h> -#include <libglademm.h> #include <sigc++/sigc++.h> + #include "raul/SharedPtr.hpp" + #include "Window.hpp" namespace Ingen { namespace Client { diff --git a/src/gui/NodeMenu.cpp b/src/gui/NodeMenu.cpp index 7da1c374..87ad5030 100644 --- a/src/gui/NodeMenu.cpp +++ b/src/gui/NodeMenu.cpp @@ -31,7 +31,8 @@ using namespace Ingen::Client; namespace Ingen { namespace GUI { -NodeMenu::NodeMenu(BaseObjectType* cobject, const Glib::RefPtr<Gnome::Glade::Xml>& xml) +NodeMenu::NodeMenu(BaseObjectType* cobject, + const Glib::RefPtr<Gtk::Builder>& xml) : ObjectMenu(cobject, xml) , _controls_menuitem(NULL) , _presets_menu(NULL) diff --git a/src/gui/NodeMenu.hpp b/src/gui/NodeMenu.hpp index 5a10e021..78ad886f 100644 --- a/src/gui/NodeMenu.hpp +++ b/src/gui/NodeMenu.hpp @@ -36,7 +36,8 @@ namespace GUI { class NodeMenu : public ObjectMenu { public: - NodeMenu(BaseObjectType* cobject, const Glib::RefPtr<Gnome::Glade::Xml>& xml); + NodeMenu(BaseObjectType* cobject, + const Glib::RefPtr<Gtk::Builder>& xml); void init(SharedPtr<const NodeModel> node); diff --git a/src/gui/NodeModule.cpp b/src/gui/NodeModule.cpp index e385c8ec..6e598b27 100644 --- a/src/gui/NodeModule.cpp +++ b/src/gui/NodeModule.cpp @@ -26,7 +26,7 @@ #include "client/PluginModel.hpp" #include "client/PluginUI.hpp" #include "App.hpp" -#include "GladeFactory.hpp" +#include "WidgetFactory.hpp" #include "NodeControlWindow.hpp" #include "NodeModule.hpp" #include "PatchCanvas.hpp" @@ -78,7 +78,7 @@ NodeModule::~NodeModule() void NodeModule::create_menu() { - Glib::RefPtr<Gnome::Glade::Xml> xml = GladeFactory::new_glade_reference(); + Glib::RefPtr<Gtk::Builder> xml = WidgetFactory::create(); xml->get_widget_derived("object_menu", _menu); _menu->init(_node); _menu->signal_embed_gui.connect( diff --git a/src/gui/ObjectMenu.cpp b/src/gui/ObjectMenu.cpp index ac0dda5c..2991f2d1 100644 --- a/src/gui/ObjectMenu.cpp +++ b/src/gui/ObjectMenu.cpp @@ -29,7 +29,8 @@ using namespace Raul; namespace Ingen { namespace GUI { -ObjectMenu::ObjectMenu(BaseObjectType* cobject, const Glib::RefPtr<Gnome::Glade::Xml>& xml) +ObjectMenu::ObjectMenu(BaseObjectType* cobject, + const Glib::RefPtr<Gtk::Builder>& xml) : Gtk::Menu(cobject) , _polyphonic_menuitem(NULL) , _disconnect_menuitem(NULL) diff --git a/src/gui/ObjectMenu.hpp b/src/gui/ObjectMenu.hpp index ffac870d..8bd5fc97 100644 --- a/src/gui/ObjectMenu.hpp +++ b/src/gui/ObjectMenu.hpp @@ -19,10 +19,13 @@ #define INGEN_GUI_OBJECTMENU_HPP #include <string> + #include <gtkmm.h> -#include <libglademm/xml.h> + #include "raul/SharedPtr.hpp" + #include "client/ObjectModel.hpp" + using Ingen::Client::ObjectModel; namespace Ingen { @@ -39,7 +42,8 @@ class PatchCanvas; class ObjectMenu : public Gtk::Menu { public: - ObjectMenu(BaseObjectType* cobject, const Glib::RefPtr<Gnome::Glade::Xml>& xml); + ObjectMenu(BaseObjectType* cobject, + const Glib::RefPtr<Gtk::Builder>& xml); void init(SharedPtr<const ObjectModel> object); diff --git a/src/gui/PatchCanvas.cpp b/src/gui/PatchCanvas.cpp index 99110eb6..0a0adecd 100644 --- a/src/gui/PatchCanvas.cpp +++ b/src/gui/PatchCanvas.cpp @@ -42,7 +42,7 @@ #include "Connection.hpp" #include "NodeModule.hpp" #include "SubpatchModule.hpp" -#include "GladeFactory.hpp" +#include "WidgetFactory.hpp" #include "WindowFactory.hpp" #include "ThreadedLoader.hpp" #include "ingen-config.h" @@ -72,7 +72,7 @@ PatchCanvas::PatchCanvas(SharedPtr<const PatchModel> patch, int width, int heigh , _human_names(true) , _show_port_names(true) { - Glib::RefPtr<Gnome::Glade::Xml> xml = GladeFactory::new_glade_reference(); + Glib::RefPtr<Gtk::Builder> xml = WidgetFactory::create(); xml->get_widget("canvas_menu", _menu); xml->get_widget("canvas_menu_add_audio_input", _menu_add_audio_input); diff --git a/src/gui/PatchPortModule.cpp b/src/gui/PatchPortModule.cpp index b491e249..224a8f7e 100644 --- a/src/gui/PatchPortModule.cpp +++ b/src/gui/PatchPortModule.cpp @@ -24,7 +24,7 @@ #include "client/NodeModel.hpp" #include "App.hpp" #include "Configuration.hpp" -#include "GladeFactory.hpp" +#include "WidgetFactory.hpp" #include "PatchCanvas.hpp" #include "PatchWindow.hpp" #include "Port.hpp" @@ -77,7 +77,7 @@ PatchPortModule::create(boost::shared_ptr<PatchCanvas> canvas, void PatchPortModule::create_menu() { - Glib::RefPtr<Gnome::Glade::Xml> xml = GladeFactory::new_glade_reference(); + Glib::RefPtr<Gtk::Builder> xml = WidgetFactory::create(); xml->get_widget_derived("object_menu", _menu); _menu->init(_model, true); diff --git a/src/gui/PatchTreeWindow.cpp b/src/gui/PatchTreeWindow.cpp index f4fb69b6..0e19590f 100644 --- a/src/gui/PatchTreeWindow.cpp +++ b/src/gui/PatchTreeWindow.cpp @@ -34,8 +34,8 @@ using namespace Raul; namespace Ingen { namespace GUI { -PatchTreeWindow::PatchTreeWindow(BaseObjectType* cobject, - const Glib::RefPtr<Gnome::Glade::Xml>& xml) +PatchTreeWindow::PatchTreeWindow(BaseObjectType* cobject, + const Glib::RefPtr<Gtk::Builder>& xml) : Window(cobject) , _enable_signal(true) { diff --git a/src/gui/PatchTreeWindow.hpp b/src/gui/PatchTreeWindow.hpp index aed181b5..861913c2 100644 --- a/src/gui/PatchTreeWindow.hpp +++ b/src/gui/PatchTreeWindow.hpp @@ -19,7 +19,7 @@ #define INGEN_GUI_PATCHTREEWINDOW_HPP #include <gtkmm.h> -#include <libglademm.h> + #include "Window.hpp" namespace Raul { class Path; } @@ -40,7 +40,8 @@ class PatchTreeView; class PatchTreeWindow : public Window { public: - PatchTreeWindow(BaseObjectType* cobject, const Glib::RefPtr<Gnome::Glade::Xml>& refGlade); + PatchTreeWindow(BaseObjectType* cobject, + const Glib::RefPtr<Gtk::Builder>& xml); void init(Client::ClientStore& store); @@ -85,7 +86,8 @@ protected: class PatchTreeView : public Gtk::TreeView { public: - PatchTreeView(BaseObjectType* cobject, const Glib::RefPtr<Gnome::Glade::Xml>& xml) + PatchTreeView(BaseObjectType* cobject, + const Glib::RefPtr<Gtk::Builder>& xml) : Gtk::TreeView(cobject) , _window(NULL) {} diff --git a/src/gui/PatchView.cpp b/src/gui/PatchView.cpp index 4df3d4b7..04d6cf9c 100644 --- a/src/gui/PatchView.cpp +++ b/src/gui/PatchView.cpp @@ -28,7 +28,7 @@ #include "NewSubpatchWindow.hpp" #include "NodeControlWindow.hpp" #include "PatchTreeWindow.hpp" -#include "GladeFactory.hpp" +#include "WidgetFactory.hpp" using namespace std; using namespace Raul; @@ -36,8 +36,8 @@ using namespace Raul; namespace Ingen { namespace GUI { -PatchView::PatchView(BaseObjectType* cobject, - const Glib::RefPtr<Gnome::Glade::Xml>& xml) +PatchView::PatchView(BaseObjectType* cobject, + const Glib::RefPtr<Gtk::Builder>& xml) : Gtk::Box(cobject) , _breadcrumb_container(NULL) , _enable_signal(true) @@ -117,7 +117,7 @@ PatchView::set_patch(SharedPtr<const PatchModel> patch) SharedPtr<PatchView> PatchView::create(SharedPtr<const PatchModel> patch) { - const Glib::RefPtr<Gnome::Glade::Xml>& xml = GladeFactory::new_glade_reference("patch_view_box"); + const Glib::RefPtr<Gtk::Builder>& xml = WidgetFactory::create("patch_view_box"); PatchView* result = NULL; xml->get_widget_derived("patch_view_box", result); assert(result); diff --git a/src/gui/PatchView.hpp b/src/gui/PatchView.hpp index f637ce5d..0d3e0fab 100644 --- a/src/gui/PatchView.hpp +++ b/src/gui/PatchView.hpp @@ -19,10 +19,10 @@ #define INGEN_GUI_PATCHVIEW_HPP #include <string> + #include <gtkmm.h> -#include <libglademm/xml.h> -#include <libglademm.h> #include <libgnomecanvasmm.h> + #include "raul/SharedPtr.hpp" namespace Raul { class Atom; } @@ -54,8 +54,8 @@ class SubpatchModule; class PatchView : public Gtk::Box { public: - PatchView(BaseObjectType* cobject, - const Glib::RefPtr<Gnome::Glade::Xml>& glade_xml); + PatchView(BaseObjectType* cobject, + const Glib::RefPtr<Gtk::Builder>& xml); SharedPtr<PatchCanvas> canvas() const { return _canvas; } SharedPtr<const PatchModel> patch() const { return _patch; } diff --git a/src/gui/PatchWindow.cpp b/src/gui/PatchWindow.cpp index 844cac81..0bbeddfa 100644 --- a/src/gui/PatchWindow.cpp +++ b/src/gui/PatchWindow.cpp @@ -51,7 +51,8 @@ static const int STATUS_CONTEXT_ENGINE = 0; static const int STATUS_CONTEXT_PATCH = 1; static const int STATUS_CONTEXT_HOVER = 2; -PatchWindow::PatchWindow(BaseObjectType* cobject, const Glib::RefPtr<Gnome::Glade::Xml>& xml) +PatchWindow::PatchWindow(BaseObjectType* cobject, + const Glib::RefPtr<Gtk::Builder>& xml) : Window(cobject) , _enable_signal(true) , _position_stored(false) diff --git a/src/gui/PatchWindow.hpp b/src/gui/PatchWindow.hpp index 420359a0..65725e06 100644 --- a/src/gui/PatchWindow.hpp +++ b/src/gui/PatchWindow.hpp @@ -19,9 +19,9 @@ #define INGEN_GUI_PATCHWINDOW_HPP #include <gtkmm.h> -#include <libglademm/xml.h> -#include <libglademm.h> + #include "raul/SharedPtr.hpp" + #include "Window.hpp" namespace Raul { class Atom; class Path; } @@ -53,7 +53,8 @@ class SubpatchModule; class PatchWindow : public Window { public: - PatchWindow(BaseObjectType* cobject, const Glib::RefPtr<Gnome::Glade::Xml>& glade_xml); + PatchWindow(BaseObjectType* cobject, + const Glib::RefPtr<Gtk::Builder>& xml); ~PatchWindow(); Gtk::TextView* doc_textview() { return _doc_textview; } diff --git a/src/gui/Port.cpp b/src/gui/Port.cpp index 0ebc3418..115afefc 100644 --- a/src/gui/Port.cpp +++ b/src/gui/Port.cpp @@ -24,7 +24,7 @@ #include "client/PortModel.hpp" #include "App.hpp" #include "Configuration.hpp" -#include "GladeFactory.hpp" +#include "WidgetFactory.hpp" #include "PatchWindow.hpp" #include "Port.hpp" #include "PortMenu.hpp" @@ -126,7 +126,7 @@ void Port::create_menu() { PortMenu* menu = NULL; - Glib::RefPtr<Gnome::Glade::Xml> xml = GladeFactory::new_glade_reference(); + Glib::RefPtr<Gtk::Builder> xml = WidgetFactory::create(); xml->get_widget_derived("object_menu", menu); menu->init(model(), _flipped); set_menu(menu); diff --git a/src/gui/PortMenu.cpp b/src/gui/PortMenu.cpp index 7d1e765b..a5d00a3e 100644 --- a/src/gui/PortMenu.cpp +++ b/src/gui/PortMenu.cpp @@ -29,8 +29,8 @@ namespace Ingen { namespace GUI { -PortMenu::PortMenu(BaseObjectType* cobject, - const Glib::RefPtr<Gnome::Glade::Xml>& xml) +PortMenu::PortMenu(BaseObjectType* cobject, + const Glib::RefPtr<Gtk::Builder>& xml) : ObjectMenu(cobject, xml) , _patch_port(NULL) { diff --git a/src/gui/PortMenu.hpp b/src/gui/PortMenu.hpp index 2eec5e02..ed06f571 100644 --- a/src/gui/PortMenu.hpp +++ b/src/gui/PortMenu.hpp @@ -36,8 +36,8 @@ namespace GUI { class PortMenu : public ObjectMenu { public: - PortMenu(BaseObjectType* cobject, - const Glib::RefPtr<Gnome::Glade::Xml>& xml); + PortMenu(BaseObjectType* cobject, + const Glib::RefPtr<Gtk::Builder>& xml); void init(SharedPtr<const PortModel> port, bool patch_port=false); diff --git a/src/gui/PortPropertiesWindow.cpp b/src/gui/PortPropertiesWindow.cpp index 2d317456..cdc4c17a 100644 --- a/src/gui/PortPropertiesWindow.cpp +++ b/src/gui/PortPropertiesWindow.cpp @@ -32,8 +32,8 @@ namespace Ingen { using namespace Client; namespace GUI { -PortPropertiesWindow::PortPropertiesWindow(BaseObjectType* cobject, - const Glib::RefPtr<Gnome::Glade::Xml>& xml) +PortPropertiesWindow::PortPropertiesWindow(BaseObjectType* cobject, + const Glib::RefPtr<Gtk::Builder>& xml) : Window(cobject) , _initial_min(0.0f) , _initial_max(1.0f) diff --git a/src/gui/PortPropertiesWindow.hpp b/src/gui/PortPropertiesWindow.hpp index 3358e1fb..74c26e7b 100644 --- a/src/gui/PortPropertiesWindow.hpp +++ b/src/gui/PortPropertiesWindow.hpp @@ -19,9 +19,11 @@ #define INGEN_GUI_PORTPROPERTIESWINDOW_HPP #include <gtkmm.h> -#include <libglademm.h> + #include "raul/SharedPtr.hpp" + #include "client/PortModel.hpp" + #include "Window.hpp" namespace Ingen { @@ -29,15 +31,15 @@ namespace GUI { /** Port properties window. * - * Loaded by libglade as a derived object. + * Loaded from XML as a derived object. * * \ingroup GUI */ class PortPropertiesWindow : public Window { public: - PortPropertiesWindow(BaseObjectType* cobject, - const Glib::RefPtr<Gnome::Glade::Xml>& refGlade); + PortPropertiesWindow(BaseObjectType* cobject, + const Glib::RefPtr<Gtk::Builder>& xml); void present(SharedPtr<const Client::PortModel> port_model); diff --git a/src/gui/PropertiesWindow.cpp b/src/gui/PropertiesWindow.cpp index 26436022..2886b9a9 100644 --- a/src/gui/PropertiesWindow.cpp +++ b/src/gui/PropertiesWindow.cpp @@ -32,16 +32,16 @@ using namespace Raul; namespace Ingen { namespace GUI { -PropertiesWindow::PropertiesWindow(BaseObjectType* cobject, - const Glib::RefPtr<Gnome::Glade::Xml>& glade_xml) +PropertiesWindow::PropertiesWindow(BaseObjectType* cobject, + const Glib::RefPtr<Gtk::Builder>& xml) : Window(cobject) { - glade_xml->get_widget("properties_vbox", _vbox); - glade_xml->get_widget("properties_scrolledwindow", _scrolledwindow); - glade_xml->get_widget("properties_table", _table); - glade_xml->get_widget("properties_cancel_button", _cancel_button); - glade_xml->get_widget("properties_apply_button", _apply_button); - glade_xml->get_widget("properties_ok_button", _ok_button); + xml->get_widget("properties_vbox", _vbox); + xml->get_widget("properties_scrolledwindow", _scrolledwindow); + xml->get_widget("properties_table", _table); + xml->get_widget("properties_cancel_button", _cancel_button); + xml->get_widget("properties_apply_button", _apply_button); + xml->get_widget("properties_ok_button", _ok_button); _type_choices = Gtk::ListStore::create(_type_cols); for (int i = Raul::Atom::INT; i <= Raul::Atom::BLOB; ++i) { diff --git a/src/gui/PropertiesWindow.hpp b/src/gui/PropertiesWindow.hpp index cdde7495..e8e48fc7 100644 --- a/src/gui/PropertiesWindow.hpp +++ b/src/gui/PropertiesWindow.hpp @@ -19,9 +19,11 @@ #define INGEN_GUI_PROPERTIES_WINDOW_HPP #include <gtkmm.h> -#include <libglademm.h> + #include "raul/SharedPtr.hpp" + #include "client/NodeModel.hpp" + #include "Window.hpp" using namespace Ingen::Client; @@ -31,15 +33,15 @@ namespace GUI { /** Object properties window. * - * Loaded by libglade as a derived object. + * Loaded from XML as a derived object. * * \ingroup GUI */ class PropertiesWindow : public Window { public: - PropertiesWindow(BaseObjectType* cobject, - const Glib::RefPtr<Gnome::Glade::Xml>& refGlade); + PropertiesWindow(BaseObjectType* cobject, + const Glib::RefPtr<Gtk::Builder>& xml); void present(SharedPtr<const ObjectModel> model); void set_object(SharedPtr<const ObjectModel> model); diff --git a/src/gui/RenameWindow.cpp b/src/gui/RenameWindow.cpp index 0ca8b7d0..65230c70 100644 --- a/src/gui/RenameWindow.cpp +++ b/src/gui/RenameWindow.cpp @@ -30,15 +30,15 @@ using namespace Raul; namespace Ingen { namespace GUI { -RenameWindow::RenameWindow(BaseObjectType* cobject, - const Glib::RefPtr<Gnome::Glade::Xml>& glade_xml) +RenameWindow::RenameWindow(BaseObjectType* cobject, + const Glib::RefPtr<Gtk::Builder>& xml) : Window(cobject) { - glade_xml->get_widget("rename_symbol_entry", _symbol_entry); - glade_xml->get_widget("rename_label_entry", _label_entry); - glade_xml->get_widget("rename_message_label", _message_label); - glade_xml->get_widget("rename_cancel_button", _cancel_button); - glade_xml->get_widget("rename_ok_button", _ok_button); + xml->get_widget("rename_symbol_entry", _symbol_entry); + xml->get_widget("rename_label_entry", _label_entry); + xml->get_widget("rename_message_label", _message_label); + xml->get_widget("rename_cancel_button", _cancel_button); + xml->get_widget("rename_ok_button", _ok_button); _symbol_entry->signal_changed().connect( sigc::mem_fun(this, &RenameWindow::values_changed)); diff --git a/src/gui/RenameWindow.hpp b/src/gui/RenameWindow.hpp index ede09f4b..d7a09e6d 100644 --- a/src/gui/RenameWindow.hpp +++ b/src/gui/RenameWindow.hpp @@ -19,9 +19,11 @@ #define INGEN_GUI_RENAMEWINDOW_HPP #include <gtkmm.h> -#include <libglademm.h> + #include "raul/SharedPtr.hpp" + #include "client/ObjectModel.hpp" + #include "Window.hpp" using Ingen::Client::ObjectModel; @@ -36,8 +38,8 @@ namespace GUI { class RenameWindow : public Window { public: - RenameWindow(BaseObjectType* cobject, - const Glib::RefPtr<Gnome::Glade::Xml>& refGlade); + RenameWindow(BaseObjectType* cobject, + const Glib::RefPtr<Gtk::Builder>& xml); void present(SharedPtr<const ObjectModel> object); diff --git a/src/gui/UploadPatchWindow.cpp b/src/gui/UploadPatchWindow.cpp index 326aa968..ef014f31 100644 --- a/src/gui/UploadPatchWindow.cpp +++ b/src/gui/UploadPatchWindow.cpp @@ -40,7 +40,8 @@ using namespace std; namespace Ingen { namespace GUI { -UploadPatchWindow::UploadPatchWindow(BaseObjectType* cobject, const Glib::RefPtr<Gnome::Glade::Xml>& xml) +UploadPatchWindow::UploadPatchWindow(BaseObjectType* cobject, + const Glib::RefPtr<Gtk::Builder>& xml) : Dialog(cobject) , _thread(NULL) , _progress_pct(0) diff --git a/src/gui/UploadPatchWindow.hpp b/src/gui/UploadPatchWindow.hpp index c1a26504..f0dce373 100644 --- a/src/gui/UploadPatchWindow.hpp +++ b/src/gui/UploadPatchWindow.hpp @@ -19,13 +19,17 @@ #define INGEN_GUI_UPLOADPATCHWINDOW_HPP #include <sstream> -#include <libglademm/xml.h> -#include <gtkmm.h> + #include <curl/curl.h> + +#include <gtkmm.h> + #include "raul/SharedPtr.hpp" #include "raul/Thread.hpp" #include "raul/AtomicInt.hpp" + #include "client/PluginModel.hpp" + #include "Window.hpp" namespace Ingen { @@ -64,7 +68,8 @@ private: class UploadPatchWindow : public Dialog { public: - UploadPatchWindow(BaseObjectType* cobject, const Glib::RefPtr<Gnome::Glade::Xml>& xml); + UploadPatchWindow(BaseObjectType* cobject, + const Glib::RefPtr<Gtk::Builder>& xml); void present(SharedPtr<PatchModel> patch); diff --git a/src/gui/WidgetFactory.cpp b/src/gui/WidgetFactory.cpp new file mode 100644 index 00000000..9579a1e1 --- /dev/null +++ b/src/gui/WidgetFactory.cpp @@ -0,0 +1,84 @@ +/* This file is part of Ingen. + * Copyright 2007-2011 David Robillard <http://drobilla.net> + * + * Ingen is free software; you can redistribute it and/or modify it under the + * terms of the GNU General Public License as published by the Free Software + * Foundation; either version 2 of the License, or (at your option) any later + * version. + * + * Ingen is distributed in the hope that it will be useful, but WITHOUT ANY + * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU General Public License for details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#include "WidgetFactory.hpp" +#include <fstream> +#include "raul/log.hpp" +#include "ingen-config.h" +#include "shared/runtime_paths.hpp" + +using namespace std; +using namespace Raul; + +namespace Ingen { +namespace GUI { + +Glib::ustring WidgetFactory::ui_filename = ""; + +inline static bool +is_readable(const std::string& filename) +{ + std::ifstream fs(filename.c_str()); + const bool fail = fs.fail(); + fs.close(); + return !fail; +} + +void +WidgetFactory::find_ui_file() +{ + // Try file in bundle (directory where executable resides) + ui_filename = Shared::bundle_file_path("ingen_gui.ui"); + if (is_readable(ui_filename)) + return; + + // Try ENGINE_UI_PATH from the environment + const char* const env_path = getenv("INGEN_UI_PATH"); + if (env_path && is_readable(env_path)) { + ui_filename = env_path; + return; + } + + // Try the default system installed path + ui_filename = Shared::data_file_path("ingen_gui.ui"); + if (is_readable(ui_filename)) + return; + + error << "[WidgetFactory] Unable to find ingen_gui.ui in " + << INGEN_DATA_DIR << endl; + throw std::runtime_error("Unable to find UI file"); +} + +Glib::RefPtr<Gtk::Builder> +WidgetFactory::create(const string& toplevel_widget) +{ + if (ui_filename.empty()) + find_ui_file(); + + try { + if (toplevel_widget.empty()) + return Gtk::Builder::create_from_file(ui_filename); + else + return Gtk::Builder::create_from_file(ui_filename, toplevel_widget.c_str()); + } catch (const Gtk::BuilderError& ex) { + error << "[WidgetFactory] " << ex.what() << endl; + throw ex; + } +} + +} // namespace GUI +} // namespace Ingen diff --git a/src/gui/WidgetFactory.hpp b/src/gui/WidgetFactory.hpp new file mode 100644 index 00000000..43525246 --- /dev/null +++ b/src/gui/WidgetFactory.hpp @@ -0,0 +1,46 @@ +/* This file is part of Ingen. + * Copyright 2007-2011 David Robillard <http://drobilla.net> + * + * Ingen is free software; you can redistribute it and/or modify it under the + * terms of the GNU General Public License as published by the Free Software + * Foundation; either version 2 of the License, or (at your option) any later + * version. + * + * Ingen is distributed in the hope that it will be useful, but WITHOUT ANY + * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU General Public License for details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#ifndef INGEN_GUI_GLADEFACTORY_HPP +#define INGEN_GUI_GLADEFACTORY_HPP + +#include <string> + +#include <gtkmm.h> + +namespace Ingen { +namespace GUI { + +/** Loads widgets from an XML description. + * Purely static. + * + * \ingroup GUI + */ +class WidgetFactory { +public: + static Glib::RefPtr<Gtk::Builder> + create(const std::string& toplevel_widget=""); + +private: + static void find_ui_file(); + static Glib::ustring ui_filename; +}; + +} // namespace GUI +} // namespace Ingen + +#endif // INGEN_GUI_GLADEFACTORY_HPP diff --git a/src/gui/Window.hpp b/src/gui/Window.hpp index 59cb8229..cbe72fbb 100644 --- a/src/gui/Window.hpp +++ b/src/gui/Window.hpp @@ -19,7 +19,6 @@ #define INGEN_GUI_WINDOW_HPP #include <gtkmm.h> -#include <libglademm.h> namespace Raul { class Path; } diff --git a/src/gui/WindowFactory.cpp b/src/gui/WindowFactory.cpp index 56f4dd74..99cf9d1d 100644 --- a/src/gui/WindowFactory.cpp +++ b/src/gui/WindowFactory.cpp @@ -19,7 +19,7 @@ #include "ingen-config.h" #include "client/PatchModel.hpp" #include "App.hpp" -#include "GladeFactory.hpp" +#include "WidgetFactory.hpp" #include "LoadPatchWindow.hpp" #include "LoadPluginWindow.hpp" #include "LoadRemotePatchWindow.hpp" @@ -47,7 +47,7 @@ WindowFactory::WindowFactory() , _new_subpatch_win(NULL) , _properties_win(NULL) { - Glib::RefPtr<Gnome::Glade::Xml> xml = GladeFactory::new_glade_reference(); + Glib::RefPtr<Gtk::Builder> xml = WidgetFactory::create(); xml->get_widget_derived("load_plugin_win", _load_plugin_win); xml->get_widget_derived("load_patch_win", _load_patch_win); @@ -169,7 +169,7 @@ WindowFactory::new_patch_window(SharedPtr<const PatchModel> patch, { assert( !view || view->patch() == patch); - Glib::RefPtr<Gnome::Glade::Xml> xml = GladeFactory::new_glade_reference("patch_win"); + Glib::RefPtr<Gtk::Builder> xml = WidgetFactory::create("patch_win"); PatchWindow* win = NULL; xml->get_widget_derived("patch_win", win); diff --git a/src/gui/ingen_gui.glade b/src/gui/ingen_gui.glade deleted file mode 100644 index ef691f35..00000000 --- a/src/gui/ingen_gui.glade +++ /dev/null @@ -1,3076 +0,0 @@ -<?xml version="1.0"?> -<glade-interface> - <!-- interface-requires gtk+ 2.16 --> - <!-- interface-naming-policy toplevel-contextual --> - <widget class="GtkWindow" id="patch_win"> - <property name="title" translatable="yes">Ingen</property> - <property name="default_width">776</property> - <property name="default_height">480</property> - <child> - <widget class="GtkVBox" id="patch_win_vbox"> - <property name="visible">True</property> - <property name="orientation">vertical</property> - <child> - <widget class="GtkMenuBar" id="menubar"> - <property name="visible">True</property> - <child> - <widget class="GtkMenuItem" id="patch_file_menu"> - <property name="visible">True</property> - <property name="label" translatable="yes">_File</property> - <property name="use_underline">True</property> - <child> - <widget class="GtkMenu" id="patch_file_menu_menu"> - <child> - <widget class="GtkImageMenuItem" id="patch_import_menuitem"> - <property name="label">_Import...</property> - <property name="visible">True</property> - <property name="tooltip" translatable="yes">Load a patch into the current patch (merge with existing contents).</property> - <property name="use_underline">True</property> - <property name="use_stock">False</property> - <signal name="activate" handler="on_patch_import_menuitem_activate"/> - <accelerator key="I" signal="activate" modifiers="GDK_CONTROL_MASK"/> - <child internal-child="image"> - <widget class="GtkImage" id="image1"> - <property name="visible">True</property> - <property name="stock">gtk-open</property> - </widget> - </child> - </widget> - </child> - <child> - <widget class="GtkImageMenuItem" id="patch_import_location_menuitem"> - <property name="label">Import _Location...</property> - <property name="visible">True</property> - <property name="tooltip" translatable="yes">Import a patch from a URI</property> - <property name="use_underline">True</property> - <property name="use_stock">False</property> - <signal name="activate" handler="on_import_location1_activate"/> - <accelerator key="L" signal="activate" modifiers="GDK_CONTROL_MASK"/> - <child internal-child="image"> - <widget class="GtkImage" id="image2"> - <property name="visible">True</property> - <property name="stock">gtk-open</property> - </widget> - </child> - </widget> - </child> - <child> - <widget class="GtkSeparatorMenuItem" id="separator9"> - <property name="visible">True</property> - </widget> - </child> - <child> - <widget class="GtkImageMenuItem" id="patch_save_menuitem"> - <property name="label">gtk-save</property> - <property name="visible">True</property> - <property name="tooltip" translatable="yes">Save this patch</property> - <property name="use_underline">True</property> - <property name="use_stock">True</property> - <signal name="activate" handler="on_file_save_patch_menuitem_activate"/> - </widget> - </child> - <child> - <widget class="GtkImageMenuItem" id="patch_save_as_menuitem"> - <property name="label">Save _As...</property> - <property name="visible">True</property> - <property name="tooltip" translatable="yes">Save this patch to a specific file name</property> - <property name="use_underline">True</property> - <property name="use_stock">False</property> - <signal name="activate" handler="on_patch_save_as_menuitem_activate"/> - <accelerator key="S" signal="activate" modifiers="GDK_SHIFT_MASK | GDK_CONTROL_MASK"/> - <child internal-child="image"> - <widget class="GtkImage" id="image3"> - <property name="visible">True</property> - <property name="stock">gtk-save-as</property> - </widget> - </child> - </widget> - </child> - <child> - <widget class="GtkImageMenuItem" id="patch_upload_menuitem"> - <property name="label">_Upload...</property> - <property name="visible">True</property> - <property name="use_underline">True</property> - <property name="use_stock">False</property> - <signal name="activate" handler="on_patch_upload_menuitem_activate"/> - <accelerator key="U" signal="activate" modifiers="GDK_CONTROL_MASK"/> - </widget> - </child> - <child> - <widget class="GtkImageMenuItem" id="patch_draw_menuitem"> - <property name="label">_Draw...</property> - <property name="visible">True</property> - <property name="use_underline">True</property> - <property name="use_stock">False</property> - <signal name="activate" handler="on_patch_draw_menuitem_activate"/> - <accelerator key="D" signal="activate" modifiers="GDK_CONTROL_MASK"/> - </widget> - </child> - <child> - <widget class="GtkSeparatorMenuItem" id="separator11"> - <property name="visible">True</property> - </widget> - </child> - <child> - <widget class="GtkImageMenuItem" id="patch_close_menuitem"> - <property name="label">gtk-close</property> - <property name="visible">True</property> - <property name="tooltip" translatable="yes">Close this window (patch will not be destroyed)</property> - <property name="use_underline">True</property> - <property name="use_stock">True</property> - <signal name="activate" handler="on_patch_file_close_menuitem_activate"/> - </widget> - </child> - <child> - <widget class="GtkSeparatorMenuItem" id="separator6"> - <property name="visible">True</property> - </widget> - </child> - <child> - <widget class="GtkImageMenuItem" id="patch_quit_menuitem"> - <property name="label">gtk-quit</property> - <property name="visible">True</property> - <property name="tooltip" translatable="yes">Quit GUI (engine may continue running)</property> - <property name="use_underline">True</property> - <property name="use_stock">True</property> - <signal name="activate" handler="on_patch_file_quit_nokill_menuitem_activate"/> - </widget> - </child> - </widget> - </child> - </widget> - </child> - <child> - <widget class="GtkMenuItem" id="edit2"> - <property name="visible">True</property> - <property name="label" translatable="yes">_Edit</property> - <property name="use_underline">True</property> - <child> - <widget class="GtkMenu" id="edit2_menu"> - <child> - <widget class="GtkCheckMenuItem" id="patch_edit_controls_menuitem"> - <property name="visible">True</property> - <property name="tooltip" translatable="yes">Enable editing of connections and dragging of nodes (disable to manipulate controls)</property> - <property name="label" translatable="yes">_Edit connections</property> - <property name="use_underline">True</property> - <property name="active">True</property> - <accelerator key="e" signal="activate"/> - </widget> - </child> - <child> - <widget class="GtkSeparatorMenuItem" id="menuitem4"> - <property name="visible">True</property> - </widget> - </child> - <child> - <widget class="GtkImageMenuItem" id="patch_cut_menuitem"> - <property name="label">gtk-cut</property> - <property name="visible">True</property> - <property name="sensitive">False</property> - <property name="use_underline">True</property> - <property name="use_stock">True</property> - <signal name="activate" handler="on_patch_cut_menuitem_activate"/> - </widget> - </child> - <child> - <widget class="GtkImageMenuItem" id="patch_copy_menuitem"> - <property name="label">gtk-copy</property> - <property name="visible">True</property> - <property name="use_underline">True</property> - <property name="use_stock">True</property> - <signal name="activate" handler="on_patch_copy_menuitem_activate"/> - </widget> - </child> - <child> - <widget class="GtkImageMenuItem" id="patch_paste_menuitem"> - <property name="label">gtk-paste</property> - <property name="visible">True</property> - <property name="sensitive">False</property> - <property name="use_underline">True</property> - <property name="use_stock">True</property> - <signal name="activate" handler="on_patch_paste_menuitem_activate"/> - </widget> - </child> - <child> - <widget class="GtkImageMenuItem" id="patch_delete_menuitem"> - <property name="label">gtk-delete</property> - <property name="visible">True</property> - <property name="tooltip" translatable="yes">Delete the selected object(s)</property> - <property name="use_underline">True</property> - <property name="use_stock">True</property> - <signal name="activate" handler="on_patch_delete_menuitem_activate"/> - <accelerator key="Delete" signal="activate"/> - </widget> - </child> - <child> - <widget class="GtkImageMenuItem" id="patch_select_all_menuitem"> - <property name="label">gtk-select-all</property> - <property name="visible">True</property> - <property name="tooltip" translatable="yes">Select all objects in a patch</property> - <property name="use_underline">True</property> - <property name="use_stock">True</property> - <signal name="activate" handler="on_patch_select_all_menuitem_activate"/> - <accelerator key="A" signal="activate" modifiers="GDK_CONTROL_MASK"/> - </widget> - </child> - <child> - <widget class="GtkSeparatorMenuItem" id="menuitem1"> - <property name="visible">True</property> - </widget> - </child> - <child> - <widget class="GtkImageMenuItem" id="patch_arrange_menuitem"> - <property name="label">Arrange</property> - <property name="visible">True</property> - <property name="tooltip" translatable="yes">Automatically arrange canvas</property> - <property name="use_underline">True</property> - <property name="use_stock">False</property> - <accelerator key="G" signal="activate" modifiers="GDK_CONTROL_MASK"/> - </widget> - </child> - <child> - <widget class="GtkSeparatorMenuItem" id="menuitem2"> - <property name="visible">True</property> - </widget> - </child> - <child> - <widget class="GtkImageMenuItem" id="patch_view_control_window_menuitem"> - <property name="label">C_ontrols...</property> - <property name="visible">True</property> - <property name="tooltip" translatable="yes">View/Edit controls for this patch</property> - <property name="use_underline">True</property> - <property name="use_stock">False</property> - <signal name="activate" handler="on_patch_view_control_window_menuitem_activate"/> - <accelerator key="O" signal="activate" modifiers="GDK_CONTROL_MASK"/> - </widget> - </child> - <child> - <widget class="GtkImageMenuItem" id="patch_properties_menuitem"> - <property name="label">gtk-properties</property> - <property name="visible">True</property> - <property name="tooltip" translatable="yes">View/Edit properties for this patch</property> - <property name="use_underline">True</property> - <property name="use_stock">True</property> - <signal name="activate" handler="on_patch_properties_menuitem_activate"/> - <accelerator key="P" signal="activate" modifiers="GDK_CONTROL_MASK"/> - </widget> - </child> - </widget> - </child> - </widget> - </child> - <child> - <widget class="GtkMenuItem" id="patch_patch_menu"> - <property name="visible">True</property> - <property name="label" translatable="yes">_View</property> - <property name="use_underline">True</property> - <child> - <widget class="GtkMenu" id="patch_patch_menu_menu"> - <child> - <widget class="GtkCheckMenuItem" id="patch_human_names_menuitem"> - <property name="visible">True</property> - <property name="tooltip" translatable="yes">Show human readable names instead of identifiers</property> - <property name="label" translatable="yes">_Human names</property> - <property name="use_underline">True</property> - <property name="active">True</property> - <accelerator key="H" signal="activate" modifiers="GDK_CONTROL_MASK"/> - </widget> - </child> - <child> - <widget class="GtkCheckMenuItem" id="patch_show_port_names_menuitem"> - <property name="visible">True</property> - <property name="tooltip" translatable="yes">Show labels on ports</property> - <property name="label" translatable="yes">Port _Names</property> - <property name="use_underline">True</property> - <property name="active">True</property> - <accelerator key="n" signal="activate" modifiers="GDK_CONTROL_MASK"/> - </widget> - </child> - <child> - <widget class="GtkCheckMenuItem" id="patch_status_bar_menuitem"> - <property name="visible">True</property> - <property name="label" translatable="yes">_Status Bar</property> - <property name="use_underline">True</property> - <property name="active">True</property> - <accelerator key="b" signal="activate" modifiers="GDK_CONTROL_MASK"/> - </widget> - </child> - <child> - <widget class="GtkSeparatorMenuItem" id="<separator>"> - <property name="visible">True</property> - </widget> - </child> - <child> - <widget class="GtkImageMenuItem" id="patch_zoom_in_menuitem"> - <property name="label">gtk-zoom-in</property> - <property name="visible">True</property> - <property name="tooltip" translatable="yes">Increase font size</property> - <property name="use_underline">True</property> - <property name="use_stock">True</property> - <accelerator key="equal" signal="activate" modifiers="GDK_CONTROL_MASK"/> - </widget> - </child> - <child> - <widget class="GtkImageMenuItem" id="patch_zoom_out_menuitem"> - <property name="label">gtk-zoom-out</property> - <property name="visible">True</property> - <property name="tooltip" translatable="yes">Decrease font size</property> - <property name="use_underline">True</property> - <property name="use_stock">True</property> - <accelerator key="minus" signal="activate" modifiers="GDK_CONTROL_MASK"/> - </widget> - </child> - <child> - <widget class="GtkImageMenuItem" id="patch_zoom_normal_menuitem"> - <property name="label">gtk-zoom-100</property> - <property name="visible">True</property> - <property name="use_underline">True</property> - <property name="use_stock">True</property> - <accelerator key="0" signal="activate" modifiers="GDK_CONTROL_MASK"/> - </widget> - </child> - <child> - <widget class="GtkSeparatorMenuItem" id="menuitem3"> - <property name="visible">True</property> - </widget> - </child> - <child> - <widget class="GtkImageMenuItem" id="patch_fullscreen_menuitem"> - <property name="label">gtk-fullscreen</property> - <property name="visible">True</property> - <property name="use_underline">True</property> - <property name="use_stock">True</property> - <signal name="activate" handler="patch_fullscreen_menuitem"/> - <accelerator key="F11" signal="activate"/> - </widget> - </child> - </widget> - </child> - </widget> - </child> - <child> - <widget class="GtkMenuItem" id="view1"> - <property name="visible">True</property> - <property name="label" translatable="yes">_Windows</property> - <property name="use_underline">True</property> - <signal name="activate" handler="on_view1_activate"/> - <child> - <widget class="GtkMenu" id="view1_menu"> - <child> - <widget class="GtkImageMenuItem" id="patch_view_engine_window_menuitem"> - <property name="label">_Engine</property> - <property name="visible">True</property> - <property name="tooltip" translatable="yes">Connect to, Disconnect from, or Launch Engine</property> - <property name="use_underline">True</property> - <property name="use_stock">False</property> - <signal name="activate" handler="on_patch_view_engine_window_menuitem_activate"/> - <accelerator key="E" signal="activate" modifiers="GDK_CONTROL_MASK"/> - <child internal-child="image"> - <widget class="GtkImage" id="image6"> - <property name="visible">True</property> - <property name="stock">gtk-execute</property> - </widget> - </child> - </widget> - </child> - <child> - <widget class="GtkImageMenuItem" id="patch_view_patch_tree_window_menuitem"> - <property name="label">_Patch Tree</property> - <property name="visible">True</property> - <property name="tooltip" translatable="yes">View all patches in the engine as a heirarchial list</property> - <property name="use_underline">True</property> - <property name="use_stock">False</property> - <signal name="activate" handler="on_patch_view_tree_window_menuitem_activate"/> - <accelerator key="T" signal="activate" modifiers="GDK_CONTROL_MASK"/> - <child internal-child="image"> - <widget class="GtkImage" id="image5"> - <property name="visible">True</property> - <property name="stock">gtk-index</property> - </widget> - </child> - </widget> - </child> - <child> - <widget class="GtkImageMenuItem" id="patch_view_messages_window_menuitem"> - <property name="label">_Messages</property> - <property name="visible">True</property> - <property name="tooltip" translatable="yes">View error messages from the engine</property> - <property name="use_underline">True</property> - <property name="use_stock">False</property> - <signal name="activate" handler="on_patch_view_messages_window_menuitem_activate"/> - <accelerator key="M" signal="activate" modifiers="GDK_CONTROL_MASK"/> - <child internal-child="image"> - <widget class="GtkImage" id="image4"> - <property name="visible">True</property> - <property name="stock">gtk-info</property> - </widget> - </child> - </widget> - </child> - </widget> - </child> - </widget> - </child> - <child> - <widget class="GtkMenuItem" id="help_menu"> - <property name="visible">True</property> - <property name="label" translatable="yes">_Help</property> - <property name="use_underline">True</property> - <signal name="activate" handler="on_help_menu_activate"/> - <child> - <widget class="GtkMenu" id="help_menu_menu"> - <child> - <widget class="GtkImageMenuItem" id="right-click_the_canvas_to_add_objects1"> - <property name="label">Right-click the canvas to add objects</property> - <property name="visible">True</property> - <property name="use_underline">True</property> - <property name="use_stock">False</property> - </widget> - </child> - <child> - <widget class="GtkImageMenuItem" id="help_e_to_edit_menu_item"> - <property name="label">Press 'e' to toggle edit mode</property> - <property name="visible">True</property> - <property name="use_underline">True</property> - <property name="use_stock">False</property> - </widget> - </child> - <child> - <widget class="GtkSeparatorMenuItem" id="separator13"> - <property name="visible">True</property> - </widget> - </child> - <child> - <widget class="GtkImageMenuItem" id="patch_help_about_menuitem"> - <property name="label">gtk-about</property> - <property name="visible">True</property> - <property name="use_underline">True</property> - <property name="use_stock">True</property> - <signal name="activate" handler="on_about1_activate"/> - </widget> - </child> - </widget> - </child> - </widget> - </child> - </widget> - <packing> - <property name="expand">False</property> - <property name="fill">False</property> - <property name="position">0</property> - </packing> - </child> - <child> - <widget class="GtkHPaned" id="hpaned1"> - <property name="visible">True</property> - <property name="can_focus">True</property> - <child> - <widget class="GtkScrolledWindow" id="patch_win_scrolledwin"> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="hscrollbar_policy">automatic</property> - <property name="vscrollbar_policy">automatic</property> - <child> - <widget class="GtkViewport" id="patch_win_viewport"> - <property name="visible">True</property> - <property name="resize_mode">queue</property> - <property name="shadow_type">none</property> - <child> - <placeholder/> - </child> - </widget> - </child> - </widget> - <packing> - <property name="resize">True</property> - <property name="shrink">False</property> - </packing> - </child> - <child> - <widget class="GtkTextView" id="patch_documentation_textview"> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="editable">False</property> - <property name="wrap_mode">word</property> - <property name="cursor_visible">False</property> - </widget> - <packing> - <property name="resize">False</property> - <property name="shrink">True</property> - </packing> - </child> - </widget> - <packing> - <property name="position">1</property> - </packing> - </child> - <child> - <widget class="GtkStatusbar" id="patch_win_status_bar"> - <property name="visible">True</property> - <property name="spacing">2</property> - </widget> - <packing> - <property name="expand">False</property> - <property name="position">2</property> - </packing> - </child> - </widget> - </child> - </widget> - <widget class="GtkWindow" id="load_plugin_win"> - <property name="border_width">8</property> - <property name="title" translatable="yes">Load Plugin - Ingen</property> - <property name="window_position">center-on-parent</property> - <property name="destroy_with_parent">True</property> - <property name="type_hint">dialog</property> - <child> - <widget class="GtkVBox" id="vbox9"> - <property name="visible">True</property> - <property name="spacing">1</property> - <child> - <widget class="GtkScrolledWindow" id="scrolledwindow3"> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="border_width">2</property> - <property name="hscrollbar_policy">automatic</property> - <property name="vscrollbar_policy">automatic</property> - <child> - <widget class="GtkTreeView" id="load_plugin_plugins_treeview"> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="border_width">2</property> - <property name="reorderable">True</property> - <property name="rules_hint">True</property> - </widget> - </child> - </widget> - <packing> - <property name="position">0</property> - </packing> - </child> - <child> - <widget class="GtkTable" id="table16"> - <property name="visible">True</property> - <property name="n_rows">3</property> - <property name="n_columns">3</property> - <property name="row_spacing">12</property> - <child> - <widget class="GtkLabel" id="label66"> - <property name="visible">True</property> - <property name="xalign">1</property> - <property name="label" translatable="yes">Node _Symbol:</property> - <property name="use_markup">True</property> - <property name="use_underline">True</property> - <property name="mnemonic_widget">load_plugin_name_entry</property> - </widget> - <packing> - <property name="top_attach">2</property> - <property name="bottom_attach">3</property> - <property name="x_options">GTK_FILL</property> - <property name="y_options"></property> - </packing> - </child> - <child> - <widget class="GtkHSeparator" id="hseparator1"> - <property name="visible">True</property> - </widget> - <packing> - <property name="left_attach">1</property> - <property name="right_attach">2</property> - <property name="top_attach">1</property> - <property name="bottom_attach">2</property> - <property name="x_options">GTK_FILL</property> - <property name="y_options">GTK_FILL</property> - </packing> - </child> - <child> - <widget class="GtkHSeparator" id="hseparator2"> - <property name="visible">True</property> - </widget> - <packing> - <property name="top_attach">1</property> - <property name="bottom_attach">2</property> - <property name="x_options">GTK_FILL</property> - <property name="y_options">GTK_FILL</property> - </packing> - </child> - <child> - <widget class="GtkHSeparator" id="hseparator3"> - <property name="visible">True</property> - </widget> - <packing> - <property name="left_attach">2</property> - <property name="right_attach">3</property> - <property name="top_attach">1</property> - <property name="bottom_attach">2</property> - <property name="x_options">GTK_FILL</property> - <property name="y_options">GTK_FILL</property> - </packing> - </child> - <child> - <widget class="GtkHBox" id="hbox63"> - <property name="visible">True</property> - <child> - <widget class="GtkEntry" id="load_plugin_name_entry"> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="tooltip" translatable="yes">Name of new Module</property> - </widget> - <packing> - <property name="position">0</property> - </packing> - </child> - <child> - <widget class="GtkCheckButton" id="load_plugin_polyphonic_checkbutton"> - <property name="label" translatable="yes">_Polyphonic</property> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="receives_default">False</property> - <property name="use_underline">True</property> - <property name="active">True</property> - <property name="draw_indicator">True</property> - </widget> - <packing> - <property name="expand">False</property> - <property name="fill">False</property> - <property name="padding">8</property> - <property name="position">1</property> - </packing> - </child> - </widget> - <packing> - <property name="left_attach">1</property> - <property name="right_attach">2</property> - <property name="top_attach">2</property> - <property name="bottom_attach">3</property> - <property name="y_options">GTK_FILL</property> - <property name="x_padding">6</property> - </packing> - </child> - <child> - <widget class="GtkEntry" id="load_plugin_search_entry"> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="has_focus">True</property> - <property name="tooltip" translatable="yes">Search string to filter plugin list</property> - <property name="secondary_icon_stock">gtk-clear</property> - <property name="secondary_icon_activatable">True</property> - <property name="secondary_icon_sensitive">True</property> - </widget> - <packing> - <property name="left_attach">1</property> - <property name="right_attach">3</property> - <property name="y_options">GTK_FILL</property> - </packing> - </child> - <child> - <widget class="GtkComboBox" id="load_plugin_filter_combo"> - <property name="visible">True</property> - <property name="items" translatable="yes">Name contains: </property> - </widget> - <packing> - <property name="x_options">GTK_FILL</property> - <property name="y_options"></property> - </packing> - </child> - <child> - <widget class="GtkHButtonBox" id="hbuttonbox1"> - <property name="visible">True</property> - <property name="spacing">4</property> - <child> - <widget class="GtkButton" id="load_plugin_close_button"> - <property name="label">gtk-close</property> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="receives_default">True</property> - <property name="use_stock">True</property> - </widget> - <packing> - <property name="expand">False</property> - <property name="fill">False</property> - <property name="position">0</property> - </packing> - </child> - <child> - <widget class="GtkButton" id="load_plugin_add_button"> - <property name="label">gtk-add</property> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="receives_default">True</property> - <property name="use_stock">True</property> - </widget> - <packing> - <property name="expand">False</property> - <property name="fill">False</property> - <property name="position">1</property> - </packing> - </child> - </widget> - <packing> - <property name="left_attach">2</property> - <property name="right_attach">3</property> - <property name="top_attach">2</property> - <property name="bottom_attach">3</property> - <property name="x_options">GTK_FILL</property> - <property name="y_options">GTK_FILL</property> - </packing> - </child> - </widget> - <packing> - <property name="expand">False</property> - <property name="fill">False</property> - <property name="position">1</property> - </packing> - </child> - </widget> - </child> - </widget> - <widget class="GtkWindow" id="new_subpatch_win"> - <property name="width_request">320</property> - <property name="border_width">8</property> - <property name="title" translatable="yes">Create Subpatch - Ingen</property> - <property name="resizable">False</property> - <property name="window_position">center-on-parent</property> - <property name="type_hint">dialog</property> - <child> - <widget class="GtkVBox" id="vbox4"> - <property name="visible">True</property> - <child> - <widget class="GtkTable" id="table1"> - <property name="visible">True</property> - <property name="n_rows">2</property> - <property name="n_columns">2</property> - <child> - <widget class="GtkLabel" id="label8"> - <property name="visible">True</property> - <property name="xalign">0</property> - <property name="label" translatable="yes">_Symbol: </property> - <property name="use_underline">True</property> - <property name="mnemonic_widget">new_subpatch_name_entry</property> - </widget> - <packing> - <property name="x_options">GTK_FILL</property> - <property name="y_options">GTK_EXPAND</property> - <property name="x_padding">5</property> - </packing> - </child> - <child> - <widget class="GtkLabel" id="label9"> - <property name="visible">True</property> - <property name="xalign">0</property> - <property name="label" translatable="yes">_Polyphony: </property> - <property name="use_underline">True</property> - <property name="mnemonic_widget">new_subpatch_polyphony_spinbutton</property> - </widget> - <packing> - <property name="top_attach">1</property> - <property name="bottom_attach">2</property> - <property name="x_options">GTK_FILL</property> - <property name="y_options">GTK_EXPAND</property> - <property name="x_padding">5</property> - </packing> - </child> - <child> - <widget class="GtkSpinButton" id="new_subpatch_polyphony_spinbutton"> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="activates_default">True</property> - <property name="adjustment">1 0 100 1 10 0</property> - <property name="climb_rate">1</property> - </widget> - <packing> - <property name="left_attach">1</property> - <property name="right_attach">2</property> - <property name="top_attach">1</property> - <property name="bottom_attach">2</property> - <property name="x_options">GTK_FILL</property> - <property name="y_options"></property> - <property name="y_padding">4</property> - </packing> - </child> - <child> - <widget class="GtkEntry" id="new_subpatch_name_entry"> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="has_focus">True</property> - <property name="activates_default">True</property> - </widget> - <packing> - <property name="left_attach">1</property> - <property name="right_attach">2</property> - <property name="y_options"></property> - <property name="y_padding">4</property> - </packing> - </child> - </widget> - <packing> - <property name="position">0</property> - </packing> - </child> - <child> - <widget class="GtkLabel" id="new_subpatch_message_label"> - <property name="visible">True</property> - <property name="wrap">True</property> - </widget> - <packing> - <property name="expand">False</property> - <property name="fill">False</property> - <property name="position">1</property> - </packing> - </child> - <child> - <widget class="GtkHButtonBox" id="hbuttonbox5"> - <property name="visible">True</property> - <property name="spacing">4</property> - <property name="layout_style">end</property> - <child> - <widget class="GtkButton" id="new_subpatch_cancel_button"> - <property name="label">gtk-cancel</property> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="receives_default">False</property> - <property name="use_stock">True</property> - </widget> - <packing> - <property name="expand">False</property> - <property name="fill">False</property> - <property name="position">0</property> - </packing> - </child> - <child> - <widget class="GtkButton" id="new_subpatch_ok_button"> - <property name="label">gtk-ok</property> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="can_default">True</property> - <property name="has_default">True</property> - <property name="receives_default">False</property> - <property name="use_stock">True</property> - </widget> - <packing> - <property name="expand">False</property> - <property name="fill">False</property> - <property name="position">1</property> - </packing> - </child> - </widget> - <packing> - <property name="position">2</property> - </packing> - </child> - </widget> - </child> - </widget> - <widget class="GtkFileChooserDialog" id="load_patch_win"> - <property name="title" translatable="yes">Load Patch - Ingen</property> - <property name="window_position">center-on-parent</property> - <property name="type_hint">dialog</property> - <child internal-child="vbox"> - <widget class="GtkVBox" id="vbox11"> - <property name="spacing">24</property> - <child> - <widget class="GtkAlignment" id="alignment1"> - <property name="visible">True</property> - <property name="xalign">0</property> - <property name="xscale">0</property> - <child> - <widget class="GtkTable" id="table14"> - <property name="visible">True</property> - <property name="n_rows">3</property> - <property name="n_columns">3</property> - <property name="column_spacing">12</property> - <property name="row_spacing">12</property> - <child> - <widget class="GtkLabel" id="load_patch_poly_label"> - <property name="visible">True</property> - <property name="xalign">0</property> - <property name="label" translatable="yes">Polyphony: </property> - <property name="use_markup">True</property> - </widget> - <packing> - <property name="top_attach">1</property> - <property name="bottom_attach">2</property> - <property name="x_options">GTK_FILL</property> - <property name="y_options"></property> - </packing> - </child> - <child> - <widget class="GtkRadioButton" id="load_patch_poly_from_file_radio"> - <property name="label" translatable="yes">Load from _File</property> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="receives_default">False</property> - <property name="has_tooltip">True</property> - <property name="tooltip" translatable="yes">Use the polyphony value stored in the patch file</property> - <property name="use_underline">True</property> - <property name="draw_indicator">True</property> - <property name="group">load_patch_poly_voices_radio</property> - </widget> - <packing> - <property name="left_attach">2</property> - <property name="right_attach">3</property> - <property name="top_attach">1</property> - <property name="bottom_attach">2</property> - <property name="x_options">GTK_FILL</property> - <property name="y_options"></property> - </packing> - </child> - <child> - <widget class="GtkLabel" id="load_patch_ports_label"> - <property name="visible">True</property> - <property name="xalign">0</property> - <property name="label" translatable="yes">Ports: </property> - <property name="use_markup">True</property> - </widget> - <packing> - <property name="top_attach">2</property> - <property name="bottom_attach">3</property> - <property name="y_options">GTK_FILL</property> - </packing> - </child> - <child> - <widget class="GtkRadioButton" id="load_patch_insert_ports_radio"> - <property name="label" translatable="yes">_Insert new ports</property> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="receives_default">False</property> - <property name="has_tooltip">True</property> - <property name="tooltip" translatable="yes">Create new ports for all of the loaded patch's ports</property> - <property name="use_underline">True</property> - <property name="draw_indicator">True</property> - <property name="group">load_patch_merge_ports_radio</property> - </widget> - <packing> - <property name="left_attach">2</property> - <property name="right_attach">3</property> - <property name="top_attach">2</property> - <property name="bottom_attach">3</property> - <property name="y_options">GTK_FILL</property> - </packing> - </child> - <child> - <widget class="GtkRadioButton" id="load_patch_merge_ports_radio"> - <property name="label" translatable="yes">_Merge with existing ports</property> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="receives_default">False</property> - <property name="has_tooltip">True</property> - <property name="tooltip" translatable="yes">Merge current ports and loaded patch's ports wherever possible</property> - <property name="use_underline">True</property> - <property name="active">True</property> - <property name="draw_indicator">True</property> - </widget> - <packing> - <property name="left_attach">1</property> - <property name="right_attach">2</property> - <property name="top_attach">2</property> - <property name="bottom_attach">3</property> - <property name="y_options">GTK_FILL</property> - </packing> - </child> - <child> - <widget class="GtkHBox" id="hbox58"> - <property name="visible">True</property> - <property name="spacing">6</property> - <child> - <widget class="GtkRadioButton" id="load_patch_poly_voices_radio"> - <property name="label" translatable="yes">_Voices:</property> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="receives_default">False</property> - <property name="has_tooltip">True</property> - <property name="tooltip" translatable="yes">Set polyphonic to a specific number of voices</property> - <property name="use_underline">True</property> - <property name="active">True</property> - <property name="draw_indicator">True</property> - </widget> - <packing> - <property name="expand">False</property> - <property name="fill">False</property> - <property name="position">0</property> - </packing> - </child> - <child> - <widget class="GtkSpinButton" id="load_patch_poly_spinbutton"> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="tooltip" translatable="yes">Specify a custom polyphony value for new patch</property> - <property name="invisible_char">●</property> - <property name="adjustment">1 0 100 1 10 0</property> - <property name="climb_rate">1</property> - </widget> - <packing> - <property name="expand">False</property> - <property name="position">1</property> - </packing> - </child> - </widget> - <packing> - <property name="left_attach">1</property> - <property name="right_attach">2</property> - <property name="top_attach">1</property> - <property name="bottom_attach">2</property> - <property name="x_options">GTK_FILL</property> - <property name="y_options">GTK_FILL</property> - </packing> - </child> - <child> - <widget class="GtkLabel" id="load_patch_symbol_label"> - <property name="visible">True</property> - <property name="xalign">0</property> - <property name="label" translatable="yes">_Symbol: </property> - <property name="use_markup">True</property> - <property name="use_underline">True</property> - <property name="mnemonic_widget">load_patch_symbol_entry</property> - </widget> - <packing> - <property name="x_options">GTK_FILL</property> - <property name="y_options"></property> - </packing> - </child> - <child> - <widget class="GtkEntry" id="load_patch_symbol_entry"> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="tooltip" translatable="yes">Specify the name for the new patch</property> - <property name="invisible_char">●</property> - <property name="activates_default">True</property> - </widget> - <packing> - <property name="left_attach">1</property> - <property name="right_attach">3</property> - <property name="y_options">GTK_FILL</property> - </packing> - </child> - </widget> - </child> - </widget> - <packing> - <property name="expand">False</property> - <property name="fill">False</property> - <property name="position">2</property> - </packing> - </child> - <child internal-child="action_area"> - <widget class="GtkHButtonBox" id="hbuttonbox1"> - <property name="visible">True</property> - <property name="layout_style">end</property> - <child> - <widget class="GtkButton" id="load_patch_cancel_button"> - <property name="label">gtk-cancel</property> - <property name="response_id">-6</property> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="can_default">True</property> - <property name="receives_default">False</property> - <property name="use_stock">True</property> - </widget> - <packing> - <property name="expand">False</property> - <property name="fill">False</property> - <property name="position">0</property> - </packing> - </child> - <child> - <widget class="GtkButton" id="load_patch_ok_button"> - <property name="label">gtk-open</property> - <property name="response_id">-5</property> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="can_default">True</property> - <property name="has_default">True</property> - <property name="receives_default">False</property> - <property name="use_stock">True</property> - </widget> - <packing> - <property name="expand">False</property> - <property name="fill">False</property> - <property name="position">1</property> - </packing> - </child> - </widget> - <packing> - <property name="expand">False</property> - <property name="pack_type">end</property> - <property name="position">0</property> - </packing> - </child> - </widget> - </child> - </widget> - <widget class="GtkWindow" id="warehouse_win"> - <property name="title" translatable="yes">Warehouse - Ingen</property> - <child> - <widget class="GtkTable" id="table8"> - <property name="visible">True</property> - <property name="n_rows">6</property> - <property name="column_spacing">12</property> - <property name="row_spacing">12</property> - <child> - <widget class="GtkVBox" id="toggle_control"> - <property name="visible">True</property> - <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> - <child> - <widget class="GtkHBox" id="hbox2"> - <property name="visible">True</property> - <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> - <child> - <widget class="GtkLabel" id="toggle_control_name_label"> - <property name="visible">True</property> - <property name="xalign">0</property> - <property name="xpad">4</property> - <property name="label" translatable="yes"><b>Name</b></property> - <property name="use_markup">True</property> - <property name="single_line_mode">True</property> - </widget> - <packing> - <property name="expand">False</property> - <property name="fill">False</property> - <property name="position">0</property> - </packing> - </child> - <child> - <widget class="GtkAlignment" id="alignment7"> - <property name="visible">True</property> - <property name="yalign">1</property> - <property name="yscale">0</property> - <property name="bottom_padding">1</property> - <property name="left_padding">1</property> - <property name="right_padding">4</property> - <child> - <widget class="GtkHSeparator" id="hseparator7"> - <property name="visible">True</property> - </widget> - </child> - </widget> - <packing> - <property name="position">1</property> - </packing> - </child> - <child> - <widget class="GtkCheckButton" id="toggle_control_check"> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="receives_default">False</property> - <property name="draw_indicator">True</property> - </widget> - <packing> - <property name="expand">False</property> - <property name="position">2</property> - </packing> - </child> - </widget> - <packing> - <property name="expand">False</property> - <property name="fill">False</property> - <property name="position">0</property> - </packing> - </child> - </widget> - <packing> - <property name="top_attach">4</property> - <property name="bottom_attach">5</property> - <property name="y_padding">8</property> - </packing> - </child> - <child> - <widget class="GtkVBox" id="control_panel_vbox"> - <property name="visible">True</property> - <child> - <widget class="GtkAlignment" id="alignment6"> - <property name="visible">True</property> - <property name="yalign">0</property> - <child> - <widget class="GtkScrolledWindow" id="scrolledwin1"> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="hscrollbar_policy">never</property> - <property name="vscrollbar_policy">automatic</property> - <child> - <widget class="GtkViewport" id="viewport1"> - <property name="visible">True</property> - <property name="shadow_type">none</property> - <child> - <widget class="GtkVBox" id="control_panel_controls_box"> - <property name="visible">True</property> - <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> - </widget> - </child> - </widget> - </child> - </widget> - </child> - </widget> - <packing> - <property name="position">0</property> - </packing> - </child> - </widget> - </child> - <child> - <widget class="GtkVBox" id="patch_view_box"> - <property name="visible">True</property> - <child> - <widget class="GtkHBox" id="hbox70"> - <property name="visible">True</property> - <child> - <widget class="GtkToolbar" id="toolbar6"> - <property name="visible">True</property> - <property name="toolbar_style">icons</property> - <property name="icon_size">1</property> - <child> - <widget class="GtkToolItem" id="patch_view_breadcrumb_container"> - <property name="visible">True</property> - <child> - <placeholder/> - </child> - </widget> - <packing> - <property name="expand">False</property> - </packing> - </child> - </widget> - <packing> - <property name="position">0</property> - </packing> - </child> - <child> - <widget class="GtkToolbar" id="patch_view_toolbar"> - <property name="visible">True</property> - <property name="toolbar_style">icons</property> - <property name="show_arrow">False</property> - <property name="icon_size">1</property> - <child> - <widget class="GtkToggleToolButton" id="patch_view_process_but"> - <property name="visible">True</property> - <property name="tooltip" translatable="yes">Enable patch</property> - <property name="use_underline">True</property> - <property name="stock_id">gtk-execute</property> - <property name="active">True</property> - </widget> - <packing> - <property name="expand">False</property> - <property name="homogeneous">True</property> - </packing> - </child> - <child> - <widget class="GtkToolItem" id="toolitem7"> - <property name="visible">True</property> - <child> - <widget class="GtkImage" id="image1978"> - <property name="visible">True</property> - <property name="xpad">4</property> - <property name="stock">gtk-copy</property> - </widget> - </child> - </widget> - <packing> - <property name="expand">False</property> - </packing> - </child> - <child> - <widget class="GtkToolItem" id="toolitem10"> - <property name="visible">True</property> - <property name="tooltip" translatable="yes">Polyphony</property> - <child> - <widget class="GtkSpinButton" id="patch_view_poly_spin"> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="tooltip" translatable="yes">Patch polyphony</property> - <property name="adjustment">1 1 512 1 10 0</property> - <property name="climb_rate">1</property> - <property name="numeric">True</property> - </widget> - </child> - </widget> - <packing> - <property name="expand">False</property> - </packing> - </child> - <child> - <widget class="GtkSeparatorToolItem" id="separatortoolitem18"> - <property name="visible">True</property> - </widget> - <packing> - <property name="expand">False</property> - </packing> - </child> - <child> - <widget class="GtkToolButton" id="patch_view_save_but"> - <property name="visible">True</property> - <property name="tooltip" translatable="yes">Save patch to a file</property> - <property name="stock_id">gtk-save</property> - </widget> - <packing> - <property name="expand">False</property> - <property name="homogeneous">True</property> - </packing> - </child> - <child> - <widget class="GtkSeparatorToolItem" id="separatortoolitem22"> - <property name="visible">True</property> - </widget> - <packing> - <property name="expand">False</property> - </packing> - </child> - <child> - <widget class="GtkToolButton" id="patch_view_refresh_but"> - <property name="visible">True</property> - <property name="tooltip" translatable="yes">Refresh view</property> - <property name="stock_id">gtk-refresh</property> - </widget> - <packing> - <property name="expand">False</property> - <property name="homogeneous">True</property> - </packing> - </child> - <child> - <widget class="GtkToolButton" id="patch_view_zoom_normal_but"> - <property name="visible">True</property> - <property name="tooltip" translatable="yes">Zoom to normal size</property> - <property name="use_underline">True</property> - <property name="stock_id">gtk-zoom-100</property> - </widget> - <packing> - <property name="expand">False</property> - <property name="homogeneous">True</property> - </packing> - </child> - <child> - <widget class="GtkToolButton" id="patch_view_zoom_full_but"> - <property name="visible">True</property> - <property name="tooltip" translatable="yes">Zoom to contents</property> - <property name="use_underline">True</property> - <property name="stock_id">gtk-zoom-fit</property> - </widget> - <packing> - <property name="expand">False</property> - <property name="homogeneous">True</property> - </packing> - </child> - <child> - <widget class="GtkSeparatorToolItem" id="toolbutton1"> - <property name="visible">True</property> - <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> - </widget> - <packing> - <property name="expand">False</property> - </packing> - </child> - <child> - <widget class="GtkToggleToolButton" id="patch_view_edit_mode_but"> - <property name="visible">True</property> - <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> - <property name="tooltip" translatable="yes">Edit connections</property> - <property name="label" translatable="yes">Edit</property> - <property name="stock_id">gtk-connect</property> - <property name="active">True</property> - </widget> - <packing> - <property name="expand">False</property> - <property name="homogeneous">True</property> - </packing> - </child> - </widget> - <packing> - <property name="expand">False</property> - <property name="position">1</property> - </packing> - </child> - </widget> - <packing> - <property name="expand">False</property> - <property name="fill">False</property> - <property name="position">0</property> - </packing> - </child> - <child> - <widget class="GtkScrolledWindow" id="patch_view_scrolledwindow"> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="has_focus">True</property> - <property name="is_focus">True</property> - <property name="can_default">True</property> - <property name="has_default">True</property> - <property name="events">GDK_EXPOSURE_MASK | GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_MOTION_MASK | GDK_BUTTON1_MOTION_MASK | GDK_BUTTON2_MOTION_MASK | GDK_BUTTON3_MOTION_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK | GDK_KEY_PRESS_MASK | GDK_KEY_RELEASE_MASK | GDK_ENTER_NOTIFY_MASK | GDK_LEAVE_NOTIFY_MASK | GDK_FOCUS_CHANGE_MASK | GDK_STRUCTURE_MASK | GDK_PROPERTY_CHANGE_MASK | GDK_VISIBILITY_NOTIFY_MASK | GDK_PROXIMITY_IN_MASK | GDK_PROXIMITY_OUT_MASK | GDK_SUBSTRUCTURE_MASK | GDK_SCROLL_MASK</property> - <property name="border_width">1</property> - <property name="shadow_type">in</property> - <child> - <placeholder/> - </child> - </widget> - <packing> - <property name="position">1</property> - </packing> - </child> - </widget> - <packing> - <property name="top_attach">2</property> - <property name="bottom_attach">3</property> - <property name="x_options">GTK_FILL</property> - </packing> - </child> - <child> - <widget class="GtkHSeparator" id="hseparator5"> - <property name="visible">True</property> - </widget> - <packing> - <property name="top_attach">1</property> - <property name="bottom_attach">2</property> - <property name="x_options">GTK_FILL</property> - </packing> - </child> - <child> - <widget class="GtkVBox" id="control_strip"> - <property name="visible">True</property> - <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> - <child> - <widget class="GtkHBox" id="hbox1"> - <property name="visible">True</property> - <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> - <child> - <widget class="GtkLabel" id="control_strip_name_label"> - <property name="visible">True</property> - <property name="xalign">0</property> - <property name="yalign">1</property> - <property name="xpad">4</property> - <property name="label" translatable="yes"><b>Name</b></property> - <property name="use_markup">True</property> - <property name="single_line_mode">True</property> - </widget> - <packing> - <property name="expand">False</property> - <property name="fill">False</property> - <property name="position">0</property> - </packing> - </child> - <child> - <widget class="GtkAlignment" id="alignment3"> - <property name="visible">True</property> - <property name="yalign">1</property> - <property name="yscale">0</property> - <property name="bottom_padding">1</property> - <property name="left_padding">1</property> - <property name="right_padding">4</property> - <child> - <widget class="GtkHSeparator" id="hseparator6"> - <property name="visible">True</property> - </widget> - </child> - </widget> - <packing> - <property name="position">1</property> - </packing> - </child> - <child> - <widget class="GtkSpinButton" id="control_strip_spinner"> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> - <property name="width_chars">12</property> - <property name="adjustment">0 -9.9999999999999999e+45 1.0000000000000001e+63 1 10 0</property> - <property name="digits">4</property> - <property name="numeric">True</property> - </widget> - <packing> - <property name="expand">False</property> - <property name="position">2</property> - </packing> - </child> - </widget> - <packing> - <property name="expand">False</property> - <property name="fill">False</property> - <property name="position">0</property> - </packing> - </child> - <child> - <widget class="GtkHScale" id="control_strip_slider"> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> - <property name="adjustment">9.0923076923076922e+136 -1e+113 1e+137 0 0 0</property> - <property name="digits">63</property> - <property name="draw_value">False</property> - </widget> - <packing> - <property name="expand">False</property> - <property name="position">1</property> - </packing> - </child> - </widget> - <packing> - <property name="top_attach">3</property> - <property name="bottom_attach">4</property> - <property name="y_padding">8</property> - </packing> - </child> - <child> - <widget class="GtkVBox" id="string_control"> - <property name="visible">True</property> - <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> - <property name="orientation">vertical</property> - <child> - <widget class="GtkHBox" id="hbox3"> - <property name="visible">True</property> - <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> - <child> - <widget class="GtkLabel" id="string_control_name_label"> - <property name="visible">True</property> - <property name="xalign">0</property> - <property name="xpad">4</property> - <property name="label" translatable="yes"><b>Name</b></property> - <property name="use_markup">True</property> - <property name="single_line_mode">True</property> - </widget> - <packing> - <property name="expand">False</property> - <property name="fill">False</property> - <property name="position">0</property> - </packing> - </child> - <child> - <widget class="GtkEntry" id="string_control_entry"> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="invisible_char">●</property> - <property name="caps_lock_warning">False</property> - </widget> - <packing> - <property name="position">1</property> - </packing> - </child> - </widget> - <packing> - <property name="expand">False</property> - <property name="fill">False</property> - <property name="position">0</property> - </packing> - </child> - </widget> - <packing> - <property name="top_attach">5</property> - <property name="bottom_attach">6</property> - <property name="y_padding">8</property> - </packing> - </child> - </widget> - </child> - </widget> - <widget class="GtkWindow" id="messages_win"> - <property name="width_request">400</property> - <property name="height_request">180</property> - <property name="border_width">8</property> - <property name="title" translatable="yes">Messages - Ingen</property> - <child> - <widget class="GtkVBox" id="vbox12"> - <property name="visible">True</property> - <property name="spacing">6</property> - <child> - <widget class="GtkScrolledWindow" id="scrolledwindow2"> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="hscrollbar_policy">automatic</property> - <property name="vscrollbar_policy">automatic</property> - <property name="shadow_type">in</property> - <child> - <widget class="GtkTextView" id="messages_textview"> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="tooltip" translatable="yes">Error messages from the engine since the last time "Clear" was pressed</property> - <property name="pixels_above_lines">5</property> - <property name="pixels_below_lines">5</property> - <property name="editable">False</property> - <property name="wrap_mode">word</property> - <property name="left_margin">5</property> - <property name="right_margin">5</property> - <property name="cursor_visible">False</property> - <property name="accepts_tab">False</property> - </widget> - </child> - </widget> - <packing> - <property name="position">0</property> - </packing> - </child> - <child> - <widget class="GtkHButtonBox" id="hbuttonbox8"> - <property name="visible">True</property> - <property name="spacing">6</property> - <property name="layout_style">end</property> - <child> - <widget class="GtkButton" id="messages_clear_button"> - <property name="label">gtk-clear</property> - <property name="visible">True</property> - <property name="sensitive">False</property> - <property name="can_focus">True</property> - <property name="can_default">True</property> - <property name="receives_default">False</property> - <property name="use_stock">True</property> - </widget> - <packing> - <property name="expand">False</property> - <property name="fill">False</property> - <property name="position">0</property> - </packing> - </child> - <child> - <widget class="GtkButton" id="messages_close_button"> - <property name="label">gtk-close</property> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="receives_default">False</property> - <property name="use_stock">True</property> - </widget> - <packing> - <property name="expand">False</property> - <property name="fill">False</property> - <property name="position">1</property> - </packing> - </child> - </widget> - <packing> - <property name="expand">False</property> - <property name="position">1</property> - </packing> - </child> - </widget> - </child> - </widget> - <widget class="GtkWindow" id="config_win"> - <property name="border_width">8</property> - <property name="title" translatable="yes">Configuration - Ingen</property> - <child> - <widget class="GtkVBox" id="vbox13"> - <property name="visible">True</property> - <property name="spacing">6</property> - <child> - <widget class="GtkTable" id="table9"> - <property name="visible">True</property> - <property name="n_rows">2</property> - <property name="n_columns">2</property> - <child> - <widget class="GtkLabel" id="label90"> - <property name="visible">True</property> - <property name="label" translatable="yes"><b>Patch Search Path: </b></property> - <property name="use_markup">True</property> - </widget> - <packing> - <property name="x_options">GTK_FILL</property> - <property name="y_options"></property> - </packing> - </child> - <child> - <widget class="GtkEntry" id="config_path_entry"> - <property name="visible">True</property> - <property name="can_focus">True</property> - </widget> - <packing> - <property name="left_attach">1</property> - <property name="right_attach">2</property> - <property name="y_options"></property> - </packing> - </child> - <child> - <widget class="GtkLabel" id="label91"> - <property name="visible">True</property> - <property name="label" translatable="yes"><i>Example: /foo/bar:/home/john/patches:/usr/share/om/patches</i></property> - <property name="use_markup">True</property> - </widget> - <packing> - <property name="left_attach">1</property> - <property name="right_attach">2</property> - <property name="top_attach">1</property> - <property name="bottom_attach">2</property> - <property name="x_options">GTK_FILL</property> - <property name="y_options"></property> - </packing> - </child> - <child> - <widget class="GtkLabel" id="label103"> - <property name="visible">True</property> - <property name="xalign">0</property> - </widget> - <packing> - <property name="top_attach">1</property> - <property name="bottom_attach">2</property> - <property name="x_options">GTK_FILL</property> - <property name="y_options"></property> - </packing> - </child> - </widget> - <packing> - <property name="fill">False</property> - <property name="position">0</property> - </packing> - </child> - <child> - <widget class="GtkHButtonBox" id="hbuttonbox2"> - <property name="visible">True</property> - <property name="spacing">6</property> - <property name="layout_style">end</property> - <child> - <widget class="GtkButton" id="config_save_button"> - <property name="label">gtk-save</property> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="receives_default">False</property> - <property name="tooltip" translatable="yes">Save these settings for future sessions</property> - <property name="use_stock">True</property> - </widget> - <packing> - <property name="expand">False</property> - <property name="fill">False</property> - <property name="position">0</property> - </packing> - </child> - <child> - <widget class="GtkButton" id="config_cancel_button"> - <property name="label">gtk-cancel</property> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="receives_default">False</property> - <property name="use_stock">True</property> - </widget> - <packing> - <property name="expand">False</property> - <property name="fill">False</property> - <property name="position">1</property> - </packing> - </child> - <child> - <widget class="GtkButton" id="config_ok_button"> - <property name="label">gtk-ok</property> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="receives_default">False</property> - <property name="tooltip" translatable="yes">Apply these settings to this session only</property> - <property name="use_stock">True</property> - </widget> - <packing> - <property name="expand">False</property> - <property name="fill">False</property> - <property name="position">2</property> - </packing> - </child> - </widget> - <packing> - <property name="expand">False</property> - <property name="position">1</property> - </packing> - </child> - </widget> - </child> - </widget> - <widget class="GtkWindow" id="rename_win"> - <property name="width_request">250</property> - <property name="title" translatable="yes">Rename</property> - <property name="window_position">center-on-parent</property> - <property name="destroy_with_parent">True</property> - <property name="type_hint">dialog</property> - <child> - <widget class="GtkVBox" id="vbox1"> - <property name="visible">True</property> - <property name="border_width">5</property> - <property name="orientation">vertical</property> - <child> - <widget class="GtkTable" id="table2"> - <property name="visible">True</property> - <property name="n_rows">2</property> - <property name="n_columns">2</property> - <property name="row_spacing">8</property> - <child> - <widget class="GtkLabel" id="label95"> - <property name="visible">True</property> - <property name="label" translatable="yes">_Symbol: </property> - <property name="use_underline">True</property> - <property name="mnemonic_widget">rename_symbol_entry</property> - </widget> - <packing> - <property name="x_options">GTK_FILL</property> - </packing> - </child> - <child> - <widget class="GtkEntry" id="rename_label_entry"> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="invisible_char">●</property> - <property name="activates_default">True</property> - </widget> - <packing> - <property name="left_attach">1</property> - <property name="right_attach">2</property> - <property name="top_attach">1</property> - <property name="bottom_attach">2</property> - </packing> - </child> - <child> - <widget class="GtkLabel" id="label1"> - <property name="visible">True</property> - <property name="label" translatable="yes">_Label: </property> - <property name="use_underline">True</property> - <property name="mnemonic_widget">rename_label_entry</property> - </widget> - <packing> - <property name="top_attach">1</property> - <property name="bottom_attach">2</property> - <property name="x_options">GTK_FILL</property> - </packing> - </child> - <child> - <widget class="GtkEntry" id="rename_symbol_entry"> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="has_focus">True</property> - <property name="invisible_char">●</property> - <property name="activates_default">True</property> - </widget> - <packing> - <property name="left_attach">1</property> - <property name="right_attach">2</property> - </packing> - </child> - </widget> - <packing> - <property name="position">0</property> - </packing> - </child> - <child> - <widget class="GtkLabel" id="rename_message_label"> - <property name="visible">True</property> - </widget> - <packing> - <property name="padding">12</property> - <property name="position">1</property> - </packing> - </child> - <child> - <widget class="GtkHButtonBox" id="hbuttonbox4"> - <property name="visible">True</property> - <property name="spacing">8</property> - <property name="layout_style">end</property> - <child> - <widget class="GtkButton" id="rename_cancel_button"> - <property name="label">gtk-cancel</property> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="can_default">True</property> - <property name="receives_default">True</property> - <property name="use_stock">True</property> - </widget> - <packing> - <property name="expand">False</property> - <property name="fill">False</property> - <property name="position">0</property> - </packing> - </child> - <child> - <widget class="GtkButton" id="rename_ok_button"> - <property name="label">gtk-ok</property> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="can_default">True</property> - <property name="has_default">True</property> - <property name="receives_default">False</property> - <property name="use_stock">True</property> - </widget> - <packing> - <property name="expand">False</property> - <property name="fill">False</property> - <property name="position">1</property> - </packing> - </child> - </widget> - <packing> - <property name="expand">False</property> - <property name="position">2</property> - </packing> - </child> - </widget> - </child> - </widget> - <widget class="GtkAboutDialog" id="about_win"> - <property name="destroy_with_parent">True</property> - <property name="type_hint">normal</property> - <property name="program_name">Ingen</property> - <property name="version">@INGEN_VERSION@</property> - <property name="copyright" translatable="yes">Copyright 2005-2011 David Robillard <http://drobilla.net></property> - <property name="website">http://drobilla.net/software/ingen</property> - <property name="license" translatable="yes">Licensed under the GNU GPL, Version 2. - -See COPYING file included with this distribution, or http://www.gnu.org/licenses/gpl.txt for more information</property> - <property name="authors">Author: - David Robillard <d@drobilla.net> - -Contributors: - Lars Luthman - DSSI enhancements, bugfixes - Mario Lang - SuperCollider bindings, bugfixes - Leonard Ritter - Python bindings -</property> - <property name="translator_credits" translatable="yes" comments="TRANSLATORS: Replace this string with your names, one name per line.">translator-credits</property> - <property name="artists">Usability / UI Design: - Thorsten Wilms</property> - <property name="wrap_license">True</property> - <child internal-child="vbox"> - <widget class="GtkVBox" id="dialog-vbox3"> - <child internal-child="action_area"> - <widget class="GtkHButtonBox" id="dialog-action_area3"/> - <packing> - <property name="expand">False</property> - <property name="pack_type">end</property> - <property name="position">0</property> - </packing> - </child> - </widget> - </child> - </widget> - <widget class="GtkWindow" id="patch_tree_win"> - <property name="width_request">320</property> - <property name="height_request">340</property> - <property name="border_width">8</property> - <property name="title" translatable="yes">Patches - Ingen</property> - <child> - <widget class="GtkScrolledWindow" id="scrolledwindow8"> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="border_width">3</property> - <property name="hscrollbar_policy">automatic</property> - <property name="vscrollbar_policy">automatic</property> - <property name="shadow_type">in</property> - <child> - <widget class="GtkTreeView" id="patches_treeview"> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="tooltip" translatable="yes">All patches loaded in the engine</property> - <property name="rules_hint">True</property> - </widget> - </child> - </widget> - </child> - </widget> - <widget class="GtkDialog" id="connect_win"> - <property name="border_width">6</property> - <property name="title" translatable="yes">Engine - Ingen</property> - <property name="resizable">False</property> - <property name="type_hint">dialog</property> - <child internal-child="vbox"> - <widget class="GtkVBox" id="dialog-vbox4"> - <property name="visible">True</property> - <property name="spacing">6</property> - <child> - <widget class="GtkVBox" id="vbox19"> - <property name="visible">True</property> - <child> - <widget class="GtkHBox" id="hbox61"> - <property name="visible">True</property> - <child> - <widget class="GtkImage" id="connect_icon"> - <property name="visible">True</property> - <property name="xpad">12</property> - <property name="stock">gtk-disconnect</property> - <property name="icon-size">3</property> - </widget> - <packing> - <property name="expand">False</property> - <property name="position">0</property> - </packing> - </child> - <child> - <widget class="GtkVBox" id="vbox20"> - <property name="visible">True</property> - <property name="border_width">5</property> - <property name="homogeneous">True</property> - <child> - <widget class="GtkProgressBar" id="connect_progress_bar"> - <property name="visible">True</property> - <property name="pulse_step">0.10000000149</property> - </widget> - <packing> - <property name="expand">False</property> - <property name="fill">False</property> - <property name="position">0</property> - </packing> - </child> - <child> - <widget class="GtkLabel" id="connect_progress_label"> - <property name="visible">True</property> - <property name="xalign">0</property> - <property name="label" translatable="yes">Not Connected</property> - </widget> - <packing> - <property name="expand">False</property> - <property name="position">1</property> - </packing> - </child> - </widget> - <packing> - <property name="position">1</property> - </packing> - </child> - </widget> - <packing> - <property name="fill">False</property> - <property name="position">0</property> - </packing> - </child> - <child> - <widget class="GtkHSeparator" id="hseparator4"> - <property name="visible">True</property> - </widget> - <packing> - <property name="expand">False</property> - <property name="padding">4</property> - <property name="position">1</property> - </packing> - </child> - <child> - <widget class="GtkTable" id="table18"> - <property name="visible">True</property> - <property name="n_rows">3</property> - <property name="n_columns">2</property> - <property name="row_spacing">8</property> - <child> - <widget class="GtkHBox" id="hbox64"> - <property name="visible">True</property> - <child> - <widget class="GtkSpinButton" id="connect_port_spinbutton"> - <property name="visible">True</property> - <property name="sensitive">False</property> - <property name="can_focus">True</property> - <property name="adjustment">16180 1 65535 1 10 0</property> - <property name="climb_rate">1</property> - <property name="numeric">True</property> - </widget> - <packing> - <property name="expand">False</property> - <property name="fill">False</property> - <property name="position">0</property> - </packing> - </child> - </widget> - <packing> - <property name="left_attach">1</property> - <property name="right_attach">2</property> - <property name="top_attach">1</property> - <property name="bottom_attach">2</property> - <property name="y_options">GTK_FILL</property> - <property name="x_padding">8</property> - </packing> - </child> - <child> - <widget class="GtkHBox" id="hbox67"> - <property name="visible">True</property> - <child> - <widget class="GtkEntry" id="connect_url_entry"> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="activates_default">True</property> - <property name="width_chars">28</property> - <property name="text" translatable="yes">osc.udp://localhost:16180</property> - </widget> - <packing> - <property name="position">0</property> - </packing> - </child> - </widget> - <packing> - <property name="left_attach">1</property> - <property name="right_attach">2</property> - <property name="x_options">GTK_FILL</property> - <property name="y_options">GTK_FILL</property> - <property name="x_padding">8</property> - </packing> - </child> - <child> - <widget class="GtkRadioButton" id="connect_server_radiobutton"> - <property name="label" translatable="yes">_Connect to running server at: </property> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="receives_default">False</property> - <property name="use_underline">True</property> - <property name="draw_indicator">True</property> - </widget> - <packing> - <property name="x_options">GTK_FILL</property> - <property name="y_options"></property> - </packing> - </child> - <child> - <widget class="GtkRadioButton" id="connect_launch_radiobutton"> - <property name="label" translatable="yes">_Launch and connect to server on port: </property> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="receives_default">False</property> - <property name="use_underline">True</property> - <property name="draw_indicator">True</property> - <property name="group">connect_server_radiobutton</property> - </widget> - <packing> - <property name="top_attach">1</property> - <property name="bottom_attach">2</property> - <property name="x_options">GTK_FILL</property> - <property name="y_options"></property> - </packing> - </child> - <child> - <widget class="GtkRadioButton" id="connect_internal_radiobutton"> - <property name="label" translatable="yes">Use _internal engine</property> - <property name="visible">True</property> - <property name="sensitive">False</property> - <property name="can_focus">True</property> - <property name="receives_default">False</property> - <property name="use_underline">True</property> - <property name="draw_indicator">True</property> - <property name="group">connect_server_radiobutton</property> - </widget> - <packing> - <property name="top_attach">2</property> - <property name="bottom_attach">3</property> - <property name="x_options">GTK_FILL</property> - <property name="y_options"></property> - </packing> - </child> - <child> - <widget class="GtkLabel" id="label131"> - <property name="visible">True</property> - <property name="xalign">0</property> - </widget> - <packing> - <property name="left_attach">1</property> - <property name="right_attach">2</property> - <property name="top_attach">2</property> - <property name="bottom_attach">3</property> - <property name="x_options">GTK_FILL</property> - <property name="y_options"></property> - </packing> - </child> - </widget> - <packing> - <property name="position">2</property> - </packing> - </child> - <child> - <widget class="GtkHSeparator" id="hseparator1"> - <property name="visible">True</property> - </widget> - <packing> - <property name="expand">False</property> - <property name="position">3</property> - </packing> - </child> - <child> - <widget class="GtkHButtonBox" id="hbuttonbox1"> - <property name="visible">True</property> - <property name="spacing">6</property> - <property name="layout_style">start</property> - <child> - <widget class="GtkButton" id="connect_deactivate_button"> - <property name="label" translatable="yes">D_eactivate</property> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="receives_default">True</property> - <property name="use_underline">True</property> - </widget> - <packing> - <property name="expand">False</property> - <property name="fill">False</property> - <property name="position">0</property> - </packing> - </child> - <child> - <widget class="GtkButton" id="connect_activate_button"> - <property name="label" translatable="yes">_Activate</property> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="receives_default">True</property> - <property name="use_underline">True</property> - </widget> - <packing> - <property name="expand">False</property> - <property name="fill">False</property> - <property name="position">1</property> - </packing> - </child> - </widget> - <packing> - <property name="padding">6</property> - <property name="position">4</property> - </packing> - </child> - </widget> - <packing> - <property name="position">2</property> - </packing> - </child> - <child internal-child="action_area"> - <widget class="GtkHButtonBox" id="dialog-action_area4"> - <property name="visible">True</property> - <property name="layout_style">end</property> - <child> - <widget class="GtkButton" id="connect_quit_button"> - <property name="label">gtk-quit</property> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="can_default">True</property> - <property name="receives_default">False</property> - <property name="use_stock">True</property> - </widget> - <packing> - <property name="expand">False</property> - <property name="fill">False</property> - <property name="position">0</property> - </packing> - </child> - <child> - <widget class="GtkButton" id="connect_disconnect_button"> - <property name="label">gtk-disconnect</property> - <property name="response_id">-6</property> - <property name="visible">True</property> - <property name="sensitive">False</property> - <property name="can_focus">True</property> - <property name="can_default">True</property> - <property name="receives_default">False</property> - <property name="use_stock">True</property> - </widget> - <packing> - <property name="expand">False</property> - <property name="fill">False</property> - <property name="position">1</property> - </packing> - </child> - <child> - <widget class="GtkButton" id="connect_connect_button"> - <property name="label">gtk-connect</property> - <property name="response_id">-6</property> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="can_default">True</property> - <property name="has_default">True</property> - <property name="receives_default">False</property> - <property name="use_stock">True</property> - </widget> - <packing> - <property name="expand">False</property> - <property name="fill">False</property> - <property name="position">2</property> - </packing> - </child> - </widget> - <packing> - <property name="expand">False</property> - <property name="fill">False</property> - <property name="pack_type">end</property> - <property name="position">0</property> - </packing> - </child> - </widget> - </child> - </widget> - <widget class="GtkMenu" id="canvas_menu"> - <property name="visible">True</property> - <child> - <widget class="GtkCheckMenuItem" id="canvas_menu_edit"> - <property name="visible">True</property> - <property name="tooltip" translatable="yes">Toggle edit mode</property> - <property name="label" translatable="yes">_Edit</property> - <property name="use_underline">True</property> - <property name="active">True</property> - </widget> - </child> - <child> - <widget class="GtkSeparatorMenuItem" id="menuitem1"> - <property name="visible">True</property> - </widget> - </child> - <child> - <widget class="GtkImageMenuItem" id="input1"> - <property name="label">_Input</property> - <property name="visible">True</property> - <property name="use_underline">True</property> - <property name="use_stock">False</property> - <child> - <widget class="GtkMenu" id="input1_menu"> - <child> - <widget class="GtkMenuItem" id="canvas_menu_add_audio_input"> - <property name="visible">True</property> - <property name="tooltip" translatable="yes">Add an audio input to this patch</property> - <property name="label" translatable="yes">_Audio</property> - <property name="use_underline">True</property> - <signal name="activate" handler="on_canvas_menu_add_audio_input_activate"/> - </widget> - </child> - <child> - <widget class="GtkMenuItem" id="canvas_menu_add_control_input"> - <property name="visible">True</property> - <property name="tooltip" translatable="yes">Add a control input (and a control slider for it) to this patch</property> - <property name="label" translatable="yes">_Control</property> - <property name="use_underline">True</property> - <signal name="activate" handler="on_canvas_menu_add_control_input_activate"/> - </widget> - </child> - <child> - <widget class="GtkMenuItem" id="canvas_menu_add_event_input"> - <property name="visible">True</property> - <property name="tooltip" translatable="yes">Add a generic event input to this patch</property> - <property name="label" translatable="yes">_Event</property> - <property name="use_underline">True</property> - <signal name="activate" handler="on_canvas_menu_add_event_input_activate"/> - </widget> - </child> - </widget> - </child> - </widget> - </child> - <child> - <widget class="GtkImageMenuItem" id="output1"> - <property name="label">_Output</property> - <property name="visible">True</property> - <property name="use_underline">True</property> - <property name="use_stock">False</property> - <child> - <widget class="GtkMenu" id="output1_menu"> - <child> - <widget class="GtkMenuItem" id="canvas_menu_add_audio_output"> - <property name="visible">True</property> - <property name="tooltip" translatable="yes">Add an audio output to this patch</property> - <property name="label" translatable="yes">_Audio</property> - <property name="use_underline">True</property> - <signal name="activate" handler="on_canvas_menu_add_audio_output_activate"/> - </widget> - </child> - <child> - <widget class="GtkMenuItem" id="canvas_menu_add_control_output"> - <property name="visible">True</property> - <property name="tooltip" translatable="yes">Add a control output to this patch</property> - <property name="label" translatable="yes">_Control</property> - <property name="use_underline">True</property> - <signal name="activate" handler="on_canvas_menu_add_control_output_activate"/> - </widget> - </child> - <child> - <widget class="GtkMenuItem" id="canvas_menu_add_event_output"> - <property name="visible">True</property> - <property name="tooltip" translatable="yes">Add a generic event output to this patch</property> - <property name="label" translatable="yes">_Event</property> - <property name="use_underline">True</property> - <signal name="activate" handler="on_canvas_menu_add_event_output_activate"/> - </widget> - </child> - </widget> - </child> - </widget> - </child> - <child> - <widget class="GtkImageMenuItem" id="canvas_menu_load_plugin"> - <property name="label">_Find Plugin...</property> - <property name="visible">True</property> - <property name="tooltip" translatable="yes">Load a plugin as a child of this patch</property> - <property name="use_underline">True</property> - <property name="use_stock">False</property> - <signal name="activate" handler="on_canvas_menu_add_plugin_activate"/> - </widget> - </child> - <child> - <widget class="GtkSeparatorMenuItem" id="menuitem2"> - <property name="visible">True</property> - </widget> - </child> - <child> - <widget class="GtkImageMenuItem" id="canvas_menu_load_patch"> - <property name="label">_Load Patch...</property> - <property name="visible">True</property> - <property name="tooltip" translatable="yes">Load a patch as a child of this patch</property> - <property name="use_underline">True</property> - <property name="use_stock">False</property> - <signal name="activate" handler="on_canvas_menu_load_patch_activate"/> - </widget> - </child> - <child> - <widget class="GtkImageMenuItem" id="canvas_menu_new_patch"> - <property name="label">_New Patch...</property> - <property name="visible">True</property> - <property name="tooltip" translatable="yes">Create a new (empty) patch as a child of this patch</property> - <property name="use_underline">True</property> - <property name="use_stock">False</property> - <signal name="activate" handler="on_canvas_menu_new_patch_activate"/> - </widget> - </child> - </widget> - <widget class="GtkDialog" id="load_remote_patch_win"> - <property name="border_width">8</property> - <property name="title" translatable="yes">Download Patch - Ingen</property> - <property name="type_hint">dialog</property> - <child internal-child="vbox"> - <widget class="GtkVBox" id="dialog-vbox5"> - <property name="visible">True</property> - <property name="spacing">8</property> - <child> - <widget class="GtkVBox" id="vbox21"> - <property name="visible">True</property> - <property name="spacing">8</property> - <child> - <widget class="GtkScrolledWindow" id="load_remote_patch_treeview_sw"> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="has_focus">True</property> - <property name="hscrollbar_policy">automatic</property> - <property name="vscrollbar_policy">automatic</property> - <property name="shadow_type">in</property> - <child> - <widget class="GtkTreeView" id="load_remote_patch_treeview"> - <property name="visible">True</property> - <property name="can_focus">True</property> - </widget> - </child> - </widget> - <packing> - <property name="position">0</property> - </packing> - </child> - <child> - <widget class="GtkHBox" id="hbox71"> - <property name="visible">True</property> - <child> - <widget class="GtkLabel" id="label133"> - <property name="visible">True</property> - <property name="label" translatable="yes">URI: </property> - </widget> - <packing> - <property name="expand">False</property> - <property name="fill">False</property> - <property name="position">0</property> - </packing> - </child> - <child> - <widget class="GtkEntry" id="load_remote_patch_uri_entry"> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="width_chars">78</property> - </widget> - <packing> - <property name="position">1</property> - </packing> - </child> - </widget> - <packing> - <property name="expand">False</property> - <property name="position">1</property> - </packing> - </child> - </widget> - <packing> - <property name="position">2</property> - </packing> - </child> - <child internal-child="action_area"> - <widget class="GtkHButtonBox" id="dialog-action_area5"> - <property name="visible">True</property> - <property name="layout_style">end</property> - <child> - <widget class="GtkButton" id="load_remote_patch_cancel_button"> - <property name="label">gtk-cancel</property> - <property name="response_id">-6</property> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="can_default">True</property> - <property name="receives_default">False</property> - <property name="use_stock">True</property> - </widget> - <packing> - <property name="expand">False</property> - <property name="fill">False</property> - <property name="position">0</property> - </packing> - </child> - <child> - <widget class="GtkButton" id="load_remote_patch_open_button"> - <property name="label">gtk-open</property> - <property name="response_id">-5</property> - <property name="visible">True</property> - <property name="sensitive">False</property> - <property name="can_focus">True</property> - <property name="can_default">True</property> - <property name="has_default">True</property> - <property name="receives_default">False</property> - <property name="use_stock">True</property> - </widget> - <packing> - <property name="expand">False</property> - <property name="fill">False</property> - <property name="position">1</property> - </packing> - </child> - </widget> - <packing> - <property name="expand">False</property> - <property name="pack_type">end</property> - <property name="position">0</property> - </packing> - </child> - </widget> - </child> - </widget> - <widget class="GtkDialog" id="upload_patch_win"> - <property name="border_width">8</property> - <property name="title" translatable="yes">Upload Patch - Ingen</property> - <property name="resizable">False</property> - <property name="type_hint">dialog</property> - <child internal-child="vbox"> - <widget class="GtkVBox" id="dialog-vbox6"> - <property name="visible">True</property> - <property name="spacing">9</property> - <child> - <widget class="GtkTable" id="table19"> - <property name="visible">True</property> - <property name="n_rows">2</property> - <property name="n_columns">2</property> - <property name="row_spacing">8</property> - <child> - <widget class="GtkEntry" id="upload_patch_symbol_entry"> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="tooltip" translatable="yes">Enter a short name suitable for use as an identifier or filename. - -The first character must be one of _, a-z or A-Z and subsequenct characters can be from _, a-z, A-Z or 0-9. -</property> - <property name="activates_default">True</property> - </widget> - <packing> - <property name="left_attach">1</property> - <property name="right_attach">2</property> - <property name="y_options"></property> - </packing> - </child> - <child> - <widget class="GtkEntry" id="upload_patch_short_name_entry"> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="tooltip" translatable="yes">Enter a short name for this patch, e.g. "Mega Synth"</property> - <property name="activates_default">True</property> - </widget> - <packing> - <property name="left_attach">1</property> - <property name="right_attach">2</property> - <property name="top_attach">1</property> - <property name="bottom_attach">2</property> - <property name="y_options"></property> - </packing> - </child> - <child> - <widget class="GtkLabel" id="label135"> - <property name="visible">True</property> - <property name="xalign">0</property> - <property name="label" translatable="yes">Symbol: </property> - </widget> - <packing> - <property name="x_options">GTK_FILL</property> - <property name="y_options"></property> - </packing> - </child> - <child> - <widget class="GtkLabel" id="label136"> - <property name="visible">True</property> - <property name="xalign">0</property> - <property name="label" translatable="yes">Short Name: </property> - </widget> - <packing> - <property name="top_attach">1</property> - <property name="bottom_attach">2</property> - <property name="x_options">GTK_FILL</property> - <property name="y_options"></property> - </packing> - </child> - </widget> - <packing> - <property name="position">2</property> - </packing> - </child> - <child> - <widget class="GtkLabel" id="label137"> - <property name="visible">True</property> - <property name="ypad">4</property> - <property name="label" translatable="yes">Succesfully uploaded patches will be available immediately in the remote patch browser. - -By uploading patches, you agree to license them under the Creative Commons Attribution-Share Alike 3.0 License. - -Thank you for contributing.</property> - <property name="wrap">True</property> - </widget> - <packing> - <property name="expand">False</property> - <property name="fill">False</property> - <property name="position">3</property> - </packing> - </child> - <child> - <widget class="GtkProgressBar" id="upload_patch_progress"> - <property name="visible">True</property> - <property name="tooltip" translatable="yes">Upload progress</property> - <property name="pulse_step">0.10000000149</property> - </widget> - <packing> - <property name="expand">False</property> - <property name="fill">False</property> - <property name="position">4</property> - </packing> - </child> - <child internal-child="action_area"> - <widget class="GtkHButtonBox" id="dialog-action_area6"> - <property name="visible">True</property> - <property name="layout_style">end</property> - <child> - <widget class="GtkButton" id="upload_patch_cancel_button"> - <property name="label">gtk-close</property> - <property name="response_id">-7</property> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="can_default">True</property> - <property name="receives_default">False</property> - <property name="use_stock">True</property> - </widget> - <packing> - <property name="expand">False</property> - <property name="fill">False</property> - <property name="position">0</property> - </packing> - </child> - <child> - <widget class="GtkButton" id="upload_patch_upload_button"> - <property name="response_id">-5</property> - <property name="visible">True</property> - <property name="sensitive">False</property> - <property name="can_focus">True</property> - <property name="can_default">True</property> - <property name="has_default">True</property> - <property name="receives_default">False</property> - <child> - <widget class="GtkAlignment" id="alignment5"> - <property name="visible">True</property> - <property name="xscale">0</property> - <property name="yscale">0</property> - <child> - <widget class="GtkHBox" id="hbox72"> - <property name="visible">True</property> - <property name="spacing">2</property> - <child> - <widget class="GtkImage" id="image2136"> - <property name="visible">True</property> - <property name="stock">gtk-ok</property> - </widget> - <packing> - <property name="expand">False</property> - <property name="fill">False</property> - <property name="position">0</property> - </packing> - </child> - <child> - <widget class="GtkLabel" id="label134"> - <property name="visible">True</property> - <property name="label" translatable="yes">Upload</property> - <property name="use_underline">True</property> - </widget> - <packing> - <property name="expand">False</property> - <property name="fill">False</property> - <property name="position">1</property> - </packing> - </child> - </widget> - </child> - </widget> - </child> - </widget> - <packing> - <property name="expand">False</property> - <property name="fill">False</property> - <property name="position">1</property> - </packing> - </child> - </widget> - <packing> - <property name="expand">False</property> - <property name="pack_type">end</property> - <property name="position">0</property> - </packing> - </child> - </widget> - </child> - </widget> - <widget class="GtkMenu" id="port_control_menu"> - <child> - <widget class="GtkImageMenuItem" id="port_control_menu_properties"> - <property name="label">gtk-properties</property> - <property name="visible">True</property> - <property name="use_underline">True</property> - <property name="use_stock">True</property> - <signal name="activate" handler="on_port_control_menu_properties_activate"/> - </widget> - </child> - </widget> - <widget class="GtkWindow" id="port_properties_win"> - <property name="border_width">8</property> - <property name="title" translatable="yes">Port Properties - Ingen</property> - <property name="resizable">False</property> - <property name="window_position">mouse</property> - <child> - <widget class="GtkVBox" id="dialog-vbox7"> - <property name="visible">True</property> - <property name="spacing">8</property> - <child> - <widget class="GtkTable" id="table20"> - <property name="visible">True</property> - <property name="n_rows">2</property> - <property name="n_columns">2</property> - <property name="column_spacing">2</property> - <property name="row_spacing">4</property> - <child> - <widget class="GtkSpinButton" id="port_properties_min_spinner"> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="adjustment">0 -100000000 100000000 1 10 0</property> - <property name="climb_rate">1</property> - <property name="digits">5</property> - <property name="numeric">True</property> - </widget> - <packing> - <property name="left_attach">1</property> - <property name="right_attach">2</property> - <property name="y_options"></property> - </packing> - </child> - <child> - <widget class="GtkSpinButton" id="port_properties_max_spinner"> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="adjustment">1 -99999 99999 1 10 0</property> - <property name="climb_rate">1</property> - <property name="digits">5</property> - <property name="numeric">True</property> - </widget> - <packing> - <property name="left_attach">1</property> - <property name="right_attach">2</property> - <property name="top_attach">1</property> - <property name="bottom_attach">2</property> - <property name="y_options"></property> - </packing> - </child> - <child> - <widget class="GtkLabel" id="label138"> - <property name="visible">True</property> - <property name="xalign">0</property> - <property name="label" translatable="yes">Minimum Value: </property> - </widget> - <packing> - <property name="x_options">GTK_FILL</property> - <property name="y_options"></property> - </packing> - </child> - <child> - <widget class="GtkLabel" id="label139"> - <property name="visible">True</property> - <property name="xalign">0</property> - <property name="label" translatable="yes">Maximum Value: </property> - </widget> - <packing> - <property name="top_attach">1</property> - <property name="bottom_attach">2</property> - <property name="x_options">GTK_FILL</property> - <property name="y_options"></property> - </packing> - </child> - </widget> - <packing> - <property name="position">2</property> - </packing> - </child> - <child> - <widget class="GtkHButtonBox" id="dialog-action_area7"> - <property name="visible">True</property> - <property name="layout_style">end</property> - <child> - <widget class="GtkButton" id="port_properties_cancel_button"> - <property name="label">gtk-cancel</property> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="can_default">True</property> - <property name="receives_default">False</property> - <property name="use_stock">True</property> - </widget> - <packing> - <property name="expand">False</property> - <property name="fill">False</property> - <property name="position">0</property> - </packing> - </child> - <child> - <widget class="GtkButton" id="port_properties_ok_button"> - <property name="label">gtk-ok</property> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="can_default">True</property> - <property name="has_default">True</property> - <property name="receives_default">False</property> - <property name="use_stock">True</property> - </widget> - <packing> - <property name="expand">False</property> - <property name="fill">False</property> - <property name="position">1</property> - </packing> - </child> - </widget> - <packing> - <property name="expand">False</property> - <property name="pack_type">end</property> - <property name="position">0</property> - </packing> - </child> - </widget> - </child> - </widget> - <widget class="GtkMenu" id="object_menu"> - <property name="visible">True</property> - <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> - <child> - <widget class="GtkCheckMenuItem" id="object_polyphonic_menuitem"> - <property name="visible">True</property> - <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> - <property name="tooltip" translatable="yes">Expose individual voices</property> - <property name="label" translatable="yes">P_olyphonic</property> - <property name="use_underline">True</property> - </widget> - </child> - <child> - <widget class="GtkMenuItem" id="object_learn_menuitem"> - <property name="visible">True</property> - <property name="label" translatable="yes">_Learn</property> - <property name="use_underline">True</property> - </widget> - </child> - <child> - <widget class="GtkMenuItem" id="object_unlearn_menuitem"> - <property name="visible">True</property> - <property name="label" translatable="yes">_Unlearn</property> - <property name="use_underline">True</property> - </widget> - </child> - <child> - <widget class="GtkImageMenuItem" id="object_disconnect_menuitem"> - <property name="label">Dis_connect</property> - <property name="visible">True</property> - <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> - <property name="tooltip" translatable="yes">Disconnect all connections</property> - <property name="use_underline">True</property> - <property name="use_stock">False</property> - </widget> - </child> - <child> - <widget class="GtkImageMenuItem" id="object_rename_menuitem"> - <property name="label">_Rename...</property> - <property name="visible">True</property> - <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> - <property name="tooltip" translatable="yes">Rename this object</property> - <property name="use_underline">True</property> - <property name="use_stock">False</property> - </widget> - </child> - <child> - <widget class="GtkImageMenuItem" id="object_destroy_menuitem"> - <property name="label">gtk-delete</property> - <property name="visible">True</property> - <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> - <property name="tooltip" translatable="yes">Destroy this object</property> - <property name="use_underline">True</property> - <property name="use_stock">True</property> - </widget> - </child> - <child> - <widget class="GtkSeparatorMenuItem" id="separator1"> - <property name="visible">True</property> - </widget> - </child> - <child> - <widget class="GtkImageMenuItem" id="object_properties_menuitem"> - <property name="label">gtk-properties</property> - <property name="visible">True</property> - <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> - <property name="tooltip" translatable="yes">View and edit properties</property> - <property name="use_underline">True</property> - <property name="use_stock">True</property> - </widget> - </child> - </widget> - <widget class="GtkMenu" id="node_menu"> - <property name="visible">True</property> - <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> - <child> - <widget class="GtkImageMenuItem" id="node_controls_menuitem"> - <property name="label">Con_trols...</property> - <property name="visible">True</property> - <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> - <property name="tooltip" translatable="yes">Manipulate controls in a separate window</property> - <property name="use_underline">True</property> - <property name="use_stock">False</property> - </widget> - </child> - <child> - <widget class="GtkImageMenuItem" id="node_popup_gui_menuitem"> - <property name="label">_GUI...</property> - <property name="visible">True</property> - <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> - <property name="tooltip" translatable="yes">Show this node's custom graphical interface in a separate window</property> - <property name="use_underline">True</property> - <property name="use_stock">False</property> - </widget> - </child> - <child> - <widget class="GtkCheckMenuItem" id="node_embed_gui_menuitem"> - <property name="visible">True</property> - <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> - <property name="tooltip" translatable="yes">Embed the custom GUI for this plugin in the patch canvas</property> - <property name="label" translatable="yes">_Embed GUI</property> - <property name="use_underline">True</property> - </widget> - </child> - <child> - <widget class="GtkImageMenuItem" id="node_randomize_menuitem"> - <property name="label">R_andomize</property> - <property name="visible">True</property> - <property name="tooltip" translatable="yes">Set all controls on this node to random values</property> - <property name="use_underline">True</property> - <property name="use_stock">False</property> - </widget> - </child> - </widget> - <widget class="GtkWindow" id="properties_win"> - <property name="border_width">12</property> - <property name="window_position">center-on-parent</property> - <child> - <widget class="GtkVBox" id="properties_vbox"> - <property name="visible">True</property> - <property name="orientation">vertical</property> - <property name="spacing">12</property> - <child> - <widget class="GtkScrolledWindow" id="properties_scrolledwindow"> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="hscrollbar_policy">automatic</property> - <property name="vscrollbar_policy">automatic</property> - <child> - <widget class="GtkViewport" id="viewport1"> - <property name="visible">True</property> - <property name="resize_mode">queue</property> - <property name="shadow_type">none</property> - <child> - <widget class="GtkTable" id="properties_table"> - <property name="visible">True</property> - <property name="n_columns">3</property> - <property name="column_spacing">12</property> - <property name="row_spacing">6</property> - <child> - <placeholder/> - </child> - <child> - <placeholder/> - </child> - <child> - <placeholder/> - </child> - </widget> - </child> - </widget> - </child> - </widget> - <packing> - <property name="position">0</property> - </packing> - </child> - <child> - <widget class="GtkHButtonBox" id="properties_buttonbox"> - <property name="visible">True</property> - <property name="spacing">6</property> - <property name="layout_style">end</property> - <child> - <widget class="GtkButton" id="properties_cancel_button"> - <property name="label">gtk-cancel</property> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="can_default">True</property> - <property name="receives_default">True</property> - <property name="use_stock">True</property> - </widget> - <packing> - <property name="expand">False</property> - <property name="fill">False</property> - <property name="position">0</property> - </packing> - </child> - <child> - <widget class="GtkButton" id="properties_apply_button"> - <property name="label">gtk-apply</property> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="receives_default">True</property> - <property name="use_stock">True</property> - </widget> - <packing> - <property name="expand">False</property> - <property name="fill">False</property> - <property name="position">1</property> - </packing> - </child> - <child> - <widget class="GtkButton" id="properties_ok_button"> - <property name="label">gtk-ok</property> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="can_default">True</property> - <property name="has_default">True</property> - <property name="receives_default">True</property> - <property name="use_stock">True</property> - </widget> - <packing> - <property name="expand">False</property> - <property name="fill">False</property> - <property name="position">2</property> - </packing> - </child> - </widget> - <packing> - <property name="expand">False</property> - <property name="pack_type">end</property> - <property name="position">1</property> - </packing> - </child> - </widget> - </child> - </widget> - <widget class="GtkMenu" id="port_menu"> - <property name="visible">True</property> - <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> - <child> - <widget class="GtkMenuItem" id="port_set_min_menuitem"> - <property name="visible">True</property> - <property name="label" translatable="yes">Set m_inimum to current value</property> - <property name="use_underline">True</property> - </widget> - </child> - <child> - <widget class="GtkMenuItem" id="port_set_max_menuitem"> - <property name="visible">True</property> - <property name="label" translatable="yes">Set m_aximum to current value</property> - <property name="use_underline">True</property> - </widget> - </child> - <child> - <widget class="GtkMenuItem" id="port_reset_range_menuitem"> - <property name="visible">True</property> - <property name="tooltip" translatable="yes">Reset range to plugin defaults</property> - <property name="label" translatable="yes">R_eset Range</property> - <property name="use_underline">True</property> - </widget> - </child> - </widget> -</glade-interface> diff --git a/src/gui/ingen_gui.ui b/src/gui/ingen_gui.ui new file mode 100644 index 00000000..168a6e0b --- /dev/null +++ b/src/gui/ingen_gui.ui @@ -0,0 +1,2983 @@ +<?xml version="1.0"?> +<interface> + <requires lib="gtk+" version="2.16"/> + <!-- interface-naming-policy toplevel-contextual --> + <object class="GtkWindow" id="patch_win"> + <property name="title" translatable="yes">Ingen</property> + <property name="default_width">776</property> + <property name="default_height">480</property> + <child> + <object class="GtkVBox" id="patch_win_vbox"> + <property name="visible">True</property> + <property name="orientation">vertical</property> + <child> + <object class="GtkMenuBar" id="menubar"> + <property name="visible">True</property> + <child> + <object class="GtkMenuItem" id="patch_file_menu"> + <property name="visible">True</property> + <property name="label" translatable="yes">_File</property> + <property name="use_underline">True</property> + <child type="submenu"> + <object class="GtkMenu" id="patch_file_menu_menu"> + <child> + <object class="GtkImageMenuItem" id="patch_import_menuitem"> + <property name="label">_Import...</property> + <property name="visible">True</property> + <property name="use_underline">True</property> + <property name="use_stock">False</property> + <accelerator key="I" signal="activate" modifiers="GDK_CONTROL_MASK"/> + <signal name="activate" handler="on_patch_import_menuitem_activate"/> + </object> + </child> + <child> + <object class="GtkImageMenuItem" id="patch_import_location_menuitem"> + <property name="label">Import _Location...</property> + <property name="visible">True</property> + <property name="use_underline">True</property> + <property name="use_stock">False</property> + <accelerator key="L" signal="activate" modifiers="GDK_CONTROL_MASK"/> + <signal name="activate" handler="on_import_location1_activate"/> + </object> + </child> + <child> + <object class="GtkSeparatorMenuItem" id="separator9"> + <property name="visible">True</property> + </object> + </child> + <child> + <object class="GtkImageMenuItem" id="patch_save_menuitem"> + <property name="label">gtk-save</property> + <property name="visible">True</property> + <property name="use_underline">True</property> + <property name="use_stock">True</property> + <signal name="activate" handler="on_file_save_patch_menuitem_activate"/> + </object> + </child> + <child> + <object class="GtkImageMenuItem" id="patch_save_as_menuitem"> + <property name="label">Save _As...</property> + <property name="visible">True</property> + <property name="use_underline">True</property> + <property name="use_stock">False</property> + <accelerator key="S" signal="activate" modifiers="GDK_SHIFT_MASK | GDK_CONTROL_MASK"/> + <signal name="activate" handler="on_patch_save_as_menuitem_activate"/> + </object> + </child> + <child> + <object class="GtkImageMenuItem" id="patch_upload_menuitem"> + <property name="label">_Upload...</property> + <property name="visible">True</property> + <property name="use_underline">True</property> + <property name="use_stock">False</property> + <accelerator key="U" signal="activate" modifiers="GDK_CONTROL_MASK"/> + <signal name="activate" handler="on_patch_upload_menuitem_activate"/> + </object> + </child> + <child> + <object class="GtkImageMenuItem" id="patch_draw_menuitem"> + <property name="label">_Draw...</property> + <property name="visible">True</property> + <property name="use_underline">True</property> + <property name="use_stock">False</property> + <accelerator key="D" signal="activate" modifiers="GDK_CONTROL_MASK"/> + <signal name="activate" handler="on_patch_draw_menuitem_activate"/> + </object> + </child> + <child> + <object class="GtkSeparatorMenuItem" id="separator11"> + <property name="visible">True</property> + </object> + </child> + <child> + <object class="GtkImageMenuItem" id="patch_close_menuitem"> + <property name="label">gtk-close</property> + <property name="visible">True</property> + <property name="use_underline">True</property> + <property name="use_stock">True</property> + <signal name="activate" handler="on_patch_file_close_menuitem_activate"/> + </object> + </child> + <child> + <object class="GtkSeparatorMenuItem" id="separator6"> + <property name="visible">True</property> + </object> + </child> + <child> + <object class="GtkImageMenuItem" id="patch_quit_menuitem"> + <property name="label">gtk-quit</property> + <property name="visible">True</property> + <property name="use_underline">True</property> + <property name="use_stock">True</property> + <signal name="activate" handler="on_patch_file_quit_nokill_menuitem_activate"/> + </object> + </child> + </object> + </child> + </object> + </child> + <child> + <object class="GtkMenuItem" id="edit2"> + <property name="visible">True</property> + <property name="label" translatable="yes">_Edit</property> + <property name="use_underline">True</property> + <child type="submenu"> + <object class="GtkMenu" id="edit2_menu"> + <child> + <object class="GtkCheckMenuItem" id="patch_edit_controls_menuitem"> + <property name="visible">True</property> + <property name="label" translatable="yes">_Edit connections</property> + <property name="use_underline">True</property> + <property name="active">True</property> + <accelerator key="e" signal="activate"/> + </object> + </child> + <child> + <object class="GtkSeparatorMenuItem" id="menuitem4"> + <property name="visible">True</property> + </object> + </child> + <child> + <object class="GtkImageMenuItem" id="patch_cut_menuitem"> + <property name="label">gtk-cut</property> + <property name="visible">True</property> + <property name="sensitive">False</property> + <property name="use_underline">True</property> + <property name="use_stock">True</property> + <signal name="activate" handler="on_patch_cut_menuitem_activate"/> + </object> + </child> + <child> + <object class="GtkImageMenuItem" id="patch_copy_menuitem"> + <property name="label">gtk-copy</property> + <property name="visible">True</property> + <property name="use_underline">True</property> + <property name="use_stock">True</property> + <signal name="activate" handler="on_patch_copy_menuitem_activate"/> + </object> + </child> + <child> + <object class="GtkImageMenuItem" id="patch_paste_menuitem"> + <property name="label">gtk-paste</property> + <property name="visible">True</property> + <property name="sensitive">False</property> + <property name="use_underline">True</property> + <property name="use_stock">True</property> + <signal name="activate" handler="on_patch_paste_menuitem_activate"/> + </object> + </child> + <child> + <object class="GtkImageMenuItem" id="patch_delete_menuitem"> + <property name="label">gtk-delete</property> + <property name="visible">True</property> + <property name="use_underline">True</property> + <property name="use_stock">True</property> + <accelerator key="Delete" signal="activate"/> + <signal name="activate" handler="on_patch_delete_menuitem_activate"/> + </object> + </child> + <child> + <object class="GtkImageMenuItem" id="patch_select_all_menuitem"> + <property name="label">gtk-select-all</property> + <property name="visible">True</property> + <property name="use_underline">True</property> + <property name="use_stock">True</property> + <accelerator key="A" signal="activate" modifiers="GDK_CONTROL_MASK"/> + <signal name="activate" handler="on_patch_select_all_menuitem_activate"/> + </object> + </child> + <child> + <object class="GtkSeparatorMenuItem" id="menuitem1"> + <property name="visible">True</property> + </object> + </child> + <child> + <object class="GtkImageMenuItem" id="patch_arrange_menuitem"> + <property name="label">Arrange</property> + <property name="visible">True</property> + <property name="use_underline">True</property> + <property name="use_stock">False</property> + <accelerator key="G" signal="activate" modifiers="GDK_CONTROL_MASK"/> + </object> + </child> + <child> + <object class="GtkSeparatorMenuItem" id="menuitem2"> + <property name="visible">True</property> + </object> + </child> + <child> + <object class="GtkImageMenuItem" id="patch_view_control_window_menuitem"> + <property name="label">C_ontrols...</property> + <property name="visible">True</property> + <property name="use_underline">True</property> + <property name="use_stock">False</property> + <accelerator key="O" signal="activate" modifiers="GDK_CONTROL_MASK"/> + <signal name="activate" handler="on_patch_view_control_window_menuitem_activate"/> + </object> + </child> + <child> + <object class="GtkImageMenuItem" id="patch_properties_menuitem"> + <property name="label">gtk-properties</property> + <property name="visible">True</property> + <property name="use_underline">True</property> + <property name="use_stock">True</property> + <accelerator key="P" signal="activate" modifiers="GDK_CONTROL_MASK"/> + <signal name="activate" handler="on_patch_properties_menuitem_activate"/> + </object> + </child> + </object> + </child> + </object> + </child> + <child> + <object class="GtkMenuItem" id="patch_patch_menu"> + <property name="visible">True</property> + <property name="label" translatable="yes">_View</property> + <property name="use_underline">True</property> + <child type="submenu"> + <object class="GtkMenu" id="patch_patch_menu_menu"> + <child> + <object class="GtkCheckMenuItem" id="patch_human_names_menuitem"> + <property name="visible">True</property> + <property name="label" translatable="yes">_Human names</property> + <property name="use_underline">True</property> + <property name="active">True</property> + <accelerator key="H" signal="activate" modifiers="GDK_CONTROL_MASK"/> + </object> + </child> + <child> + <object class="GtkCheckMenuItem" id="patch_show_port_names_menuitem"> + <property name="visible">True</property> + <property name="label" translatable="yes">Port _Names</property> + <property name="use_underline">True</property> + <property name="active">True</property> + <accelerator key="n" signal="activate" modifiers="GDK_CONTROL_MASK"/> + </object> + </child> + <child> + <object class="GtkCheckMenuItem" id="patch_status_bar_menuitem"> + <property name="visible">True</property> + <property name="label" translatable="yes">_Status Bar</property> + <property name="use_underline">True</property> + <property name="active">True</property> + <accelerator key="b" signal="activate" modifiers="GDK_CONTROL_MASK"/> + </object> + </child> + <child> + <object class="GtkSeparatorMenuItem" id="<separator>"> + <property name="visible">True</property> + </object> + </child> + <child> + <object class="GtkImageMenuItem" id="patch_zoom_in_menuitem"> + <property name="label">gtk-zoom-in</property> + <property name="visible">True</property> + <property name="use_underline">True</property> + <property name="use_stock">True</property> + <accelerator key="equal" signal="activate" modifiers="GDK_CONTROL_MASK"/> + </object> + </child> + <child> + <object class="GtkImageMenuItem" id="patch_zoom_out_menuitem"> + <property name="label">gtk-zoom-out</property> + <property name="visible">True</property> + <property name="use_underline">True</property> + <property name="use_stock">True</property> + <accelerator key="minus" signal="activate" modifiers="GDK_CONTROL_MASK"/> + </object> + </child> + <child> + <object class="GtkImageMenuItem" id="patch_zoom_normal_menuitem"> + <property name="label">gtk-zoom-100</property> + <property name="visible">True</property> + <property name="use_underline">True</property> + <property name="use_stock">True</property> + <accelerator key="0" signal="activate" modifiers="GDK_CONTROL_MASK"/> + </object> + </child> + <child> + <object class="GtkSeparatorMenuItem" id="menuitem3"> + <property name="visible">True</property> + </object> + </child> + <child> + <object class="GtkImageMenuItem" id="patch_fullscreen_menuitem"> + <property name="label">gtk-fullscreen</property> + <property name="visible">True</property> + <property name="use_underline">True</property> + <property name="use_stock">True</property> + <accelerator key="F11" signal="activate"/> + <signal name="activate" handler="patch_fullscreen_menuitem"/> + </object> + </child> + </object> + </child> + </object> + </child> + <child> + <object class="GtkMenuItem" id="view1"> + <property name="visible">True</property> + <property name="label" translatable="yes">_Windows</property> + <property name="use_underline">True</property> + <signal name="activate" handler="on_view1_activate"/> + <child type="submenu"> + <object class="GtkMenu" id="view1_menu"> + <child> + <object class="GtkImageMenuItem" id="patch_view_engine_window_menuitem"> + <property name="label">_Engine</property> + <property name="visible">True</property> + <property name="use_underline">True</property> + <property name="use_stock">False</property> + <accelerator key="E" signal="activate" modifiers="GDK_CONTROL_MASK"/> + <signal name="activate" handler="on_patch_view_engine_window_menuitem_activate"/> + </object> + </child> + <child> + <object class="GtkImageMenuItem" id="patch_view_patch_tree_window_menuitem"> + <property name="label">_Patch Tree</property> + <property name="visible">True</property> + <property name="use_underline">True</property> + <property name="use_stock">False</property> + <accelerator key="T" signal="activate" modifiers="GDK_CONTROL_MASK"/> + <signal name="activate" handler="on_patch_view_tree_window_menuitem_activate"/> + </object> + </child> + <child> + <object class="GtkImageMenuItem" id="patch_view_messages_window_menuitem"> + <property name="label">_Messages</property> + <property name="visible">True</property> + <property name="use_underline">True</property> + <property name="use_stock">False</property> + <accelerator key="M" signal="activate" modifiers="GDK_CONTROL_MASK"/> + <signal name="activate" handler="on_patch_view_messages_window_menuitem_activate"/> + </object> + </child> + </object> + </child> + </object> + </child> + <child> + <object class="GtkMenuItem" id="help_menu"> + <property name="visible">True</property> + <property name="label" translatable="yes">_Help</property> + <property name="use_underline">True</property> + <signal name="activate" handler="on_help_menu_activate"/> + <child type="submenu"> + <object class="GtkMenu" id="help_menu_menu"> + <child> + <object class="GtkImageMenuItem" id="right-click_the_canvas_to_add_objects1"> + <property name="label">Right-click the canvas to add objects</property> + <property name="visible">True</property> + <property name="use_underline">True</property> + <property name="use_stock">False</property> + </object> + </child> + <child> + <object class="GtkImageMenuItem" id="help_e_to_edit_menu_item"> + <property name="label">Press 'e' to toggle edit mode</property> + <property name="visible">True</property> + <property name="use_underline">True</property> + <property name="use_stock">False</property> + </object> + </child> + <child> + <object class="GtkSeparatorMenuItem" id="separator13"> + <property name="visible">True</property> + </object> + </child> + <child> + <object class="GtkImageMenuItem" id="patch_help_about_menuitem"> + <property name="label">gtk-about</property> + <property name="visible">True</property> + <property name="use_underline">True</property> + <property name="use_stock">True</property> + <signal name="activate" handler="on_about1_activate"/> + </object> + </child> + </object> + </child> + </object> + </child> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkHPaned" id="hpaned1"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <child> + <object class="GtkScrolledWindow" id="patch_win_scrolledwin"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="hscrollbar_policy">automatic</property> + <property name="vscrollbar_policy">automatic</property> + <child> + <object class="GtkViewport" id="patch_win_viewport"> + <property name="visible">True</property> + <property name="resize_mode">queue</property> + <property name="shadow_type">none</property> + <child> + <placeholder/> + </child> + </object> + </child> + </object> + <packing> + <property name="resize">True</property> + <property name="shrink">False</property> + </packing> + </child> + <child> + <object class="GtkTextView" id="patch_documentation_textview"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="editable">False</property> + <property name="wrap_mode">word</property> + <property name="cursor_visible">False</property> + </object> + <packing> + <property name="resize">False</property> + <property name="shrink">True</property> + </packing> + </child> + </object> + <packing> + <property name="position">1</property> + </packing> + </child> + <child> + <object class="GtkStatusbar" id="patch_win_status_bar"> + <property name="visible">True</property> + <property name="spacing">2</property> + </object> + <packing> + <property name="expand">False</property> + <property name="position">2</property> + </packing> + </child> + </object> + </child> + </object> + <object class="GtkWindow" id="load_plugin_win"> + <property name="border_width">8</property> + <property name="title" translatable="yes">Load Plugin - Ingen</property> + <property name="window_position">center-on-parent</property> + <property name="destroy_with_parent">True</property> + <property name="type_hint">dialog</property> + <child> + <object class="GtkVBox" id="vbox9"> + <property name="visible">True</property> + <property name="spacing">1</property> + <child> + <object class="GtkScrolledWindow" id="scrolledwindow3"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="border_width">2</property> + <property name="hscrollbar_policy">automatic</property> + <property name="vscrollbar_policy">automatic</property> + <child> + <object class="GtkTreeView" id="load_plugin_plugins_treeview"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="border_width">2</property> + <property name="reorderable">True</property> + <property name="rules_hint">True</property> + </object> + </child> + </object> + <packing> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkTable" id="table16"> + <property name="visible">True</property> + <property name="n_rows">3</property> + <property name="n_columns">3</property> + <property name="row_spacing">12</property> + <child> + <object class="GtkLabel" id="label66"> + <property name="visible">True</property> + <property name="xalign">1</property> + <property name="label" translatable="yes">Node _Symbol:</property> + <property name="use_markup">True</property> + <property name="use_underline">True</property> + <property name="mnemonic_widget">load_plugin_name_entry</property> + </object> + <packing> + <property name="top_attach">2</property> + <property name="bottom_attach">3</property> + <property name="x_options">GTK_FILL</property> + <property name="y_options"></property> + </packing> + </child> + <child> + <object class="GtkHSeparator" id="hseparator1"> + <property name="visible">True</property> + </object> + <packing> + <property name="left_attach">1</property> + <property name="right_attach">2</property> + <property name="top_attach">1</property> + <property name="bottom_attach">2</property> + <property name="x_options">GTK_FILL</property> + <property name="y_options">GTK_FILL</property> + </packing> + </child> + <child> + <object class="GtkHSeparator" id="hseparator2"> + <property name="visible">True</property> + </object> + <packing> + <property name="top_attach">1</property> + <property name="bottom_attach">2</property> + <property name="x_options">GTK_FILL</property> + <property name="y_options">GTK_FILL</property> + </packing> + </child> + <child> + <object class="GtkHSeparator" id="hseparator3"> + <property name="visible">True</property> + </object> + <packing> + <property name="left_attach">2</property> + <property name="right_attach">3</property> + <property name="top_attach">1</property> + <property name="bottom_attach">2</property> + <property name="x_options">GTK_FILL</property> + <property name="y_options">GTK_FILL</property> + </packing> + </child> + <child> + <object class="GtkHBox" id="hbox63"> + <property name="visible">True</property> + <child> + <object class="GtkEntry" id="load_plugin_name_entry"> + <property name="visible">True</property> + <property name="can_focus">True</property> + </object> + <packing> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkCheckButton" id="load_plugin_polyphonic_checkbutton"> + <property name="label" translatable="yes">_Polyphonic</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">False</property> + <property name="use_underline">True</property> + <property name="active">True</property> + <property name="draw_indicator">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="padding">8</property> + <property name="position">1</property> + </packing> + </child> + </object> + <packing> + <property name="left_attach">1</property> + <property name="right_attach">2</property> + <property name="top_attach">2</property> + <property name="bottom_attach">3</property> + <property name="y_options">GTK_FILL</property> + <property name="x_padding">6</property> + </packing> + </child> + <child> + <object class="GtkEntry" id="load_plugin_search_entry"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="has_focus">True</property> + <property name="secondary_icon_stock">gtk-clear</property> + <property name="secondary_icon_activatable">True</property> + <property name="secondary_icon_sensitive">True</property> + </object> + <packing> + <property name="left_attach">1</property> + <property name="right_attach">3</property> + <property name="y_options">GTK_FILL</property> + </packing> + </child> + <child> + <object class="GtkComboBox" id="load_plugin_filter_combo"> + <property name="visible">True</property> + </object> + <packing> + <property name="x_options">GTK_FILL</property> + <property name="y_options"></property> + </packing> + </child> + <child> + <object class="GtkHButtonBox" id="hbuttonbox1"> + <property name="visible">True</property> + <property name="spacing">4</property> + <child> + <object class="GtkButton" id="load_plugin_close_button"> + <property name="label">gtk-close</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">True</property> + <property name="use_stock">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkButton" id="load_plugin_add_button"> + <property name="label">gtk-add</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">True</property> + <property name="use_stock">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="position">1</property> + </packing> + </child> + </object> + <packing> + <property name="left_attach">2</property> + <property name="right_attach">3</property> + <property name="top_attach">2</property> + <property name="bottom_attach">3</property> + <property name="x_options">GTK_FILL</property> + <property name="y_options">GTK_FILL</property> + </packing> + </child> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="position">1</property> + </packing> + </child> + </object> + </child> + </object> + <object class="GtkWindow" id="new_subpatch_win"> + <property name="width_request">320</property> + <property name="border_width">8</property> + <property name="title" translatable="yes">Create Subpatch - Ingen</property> + <property name="resizable">False</property> + <property name="window_position">center-on-parent</property> + <property name="type_hint">dialog</property> + <child> + <object class="GtkVBox" id="vbox4"> + <property name="visible">True</property> + <child> + <object class="GtkTable" id="table1"> + <property name="visible">True</property> + <property name="n_rows">2</property> + <property name="n_columns">2</property> + <child> + <object class="GtkLabel" id="label8"> + <property name="visible">True</property> + <property name="xalign">0</property> + <property name="label" translatable="yes">_Symbol: </property> + <property name="use_underline">True</property> + <property name="mnemonic_widget">new_subpatch_name_entry</property> + </object> + <packing> + <property name="x_options">GTK_FILL</property> + <property name="y_options">GTK_EXPAND</property> + <property name="x_padding">5</property> + </packing> + </child> + <child> + <object class="GtkLabel" id="label9"> + <property name="visible">True</property> + <property name="xalign">0</property> + <property name="label" translatable="yes">_Polyphony: </property> + <property name="use_underline">True</property> + <property name="mnemonic_widget">new_subpatch_polyphony_spinbutton</property> + </object> + <packing> + <property name="top_attach">1</property> + <property name="bottom_attach">2</property> + <property name="x_options">GTK_FILL</property> + <property name="y_options">GTK_EXPAND</property> + <property name="x_padding">5</property> + </packing> + </child> + <child> + <object class="GtkSpinButton" id="new_subpatch_polyphony_spinbutton"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="activates_default">True</property> + <property name="adjustment"></property> + <property name="climb_rate">1</property> + </object> + <packing> + <property name="left_attach">1</property> + <property name="right_attach">2</property> + <property name="top_attach">1</property> + <property name="bottom_attach">2</property> + <property name="x_options">GTK_FILL</property> + <property name="y_options"></property> + <property name="y_padding">4</property> + </packing> + </child> + <child> + <object class="GtkEntry" id="new_subpatch_name_entry"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="has_focus">True</property> + <property name="activates_default">True</property> + </object> + <packing> + <property name="left_attach">1</property> + <property name="right_attach">2</property> + <property name="y_options"></property> + <property name="y_padding">4</property> + </packing> + </child> + </object> + <packing> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkLabel" id="new_subpatch_message_label"> + <property name="visible">True</property> + <property name="wrap">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="position">1</property> + </packing> + </child> + <child> + <object class="GtkHButtonBox" id="hbuttonbox5"> + <property name="visible">True</property> + <property name="spacing">4</property> + <property name="layout_style">end</property> + <child> + <object class="GtkButton" id="new_subpatch_cancel_button"> + <property name="label">gtk-cancel</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">False</property> + <property name="use_stock">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkButton" id="new_subpatch_ok_button"> + <property name="label">gtk-ok</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="can_default">True</property> + <property name="has_default">True</property> + <property name="receives_default">False</property> + <property name="use_stock">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="position">1</property> + </packing> + </child> + </object> + <packing> + <property name="position">2</property> + </packing> + </child> + </object> + </child> + </object> + <object class="GtkFileChooserDialog" id="load_patch_win"> + <property name="title" translatable="yes">Load Patch - Ingen</property> + <property name="window_position">center-on-parent</property> + <property name="type_hint">dialog</property> + <child internal-child="vbox"> + <object class="GtkVBox" id="vbox11"> + <property name="spacing">24</property> + <child> + <object class="GtkAlignment" id="alignment1"> + <property name="visible">True</property> + <property name="xalign">0</property> + <property name="xscale">0</property> + <child> + <object class="GtkTable" id="table14"> + <property name="visible">True</property> + <property name="n_rows">3</property> + <property name="n_columns">3</property> + <property name="column_spacing">12</property> + <property name="row_spacing">12</property> + <child> + <object class="GtkLabel" id="load_patch_poly_label"> + <property name="visible">True</property> + <property name="xalign">0</property> + <property name="label" translatable="yes">Polyphony: </property> + <property name="use_markup">True</property> + </object> + <packing> + <property name="top_attach">1</property> + <property name="bottom_attach">2</property> + <property name="x_options">GTK_FILL</property> + <property name="y_options"></property> + </packing> + </child> + <child> + <object class="GtkRadioButton" id="load_patch_poly_from_file_radio"> + <property name="label" translatable="yes">Load from _File</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">False</property> + <property name="has_tooltip">True</property> + <property name="use_underline">True</property> + <property name="draw_indicator">True</property> + <property name="group">load_patch_poly_voices_radio</property> + </object> + <packing> + <property name="left_attach">2</property> + <property name="right_attach">3</property> + <property name="top_attach">1</property> + <property name="bottom_attach">2</property> + <property name="x_options">GTK_FILL</property> + <property name="y_options"></property> + </packing> + </child> + <child> + <object class="GtkLabel" id="load_patch_ports_label"> + <property name="visible">True</property> + <property name="xalign">0</property> + <property name="label" translatable="yes">Ports: </property> + <property name="use_markup">True</property> + </object> + <packing> + <property name="top_attach">2</property> + <property name="bottom_attach">3</property> + <property name="y_options">GTK_FILL</property> + </packing> + </child> + <child> + <object class="GtkRadioButton" id="load_patch_insert_ports_radio"> + <property name="label" translatable="yes">_Insert new ports</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">False</property> + <property name="has_tooltip">True</property> + <property name="use_underline">True</property> + <property name="draw_indicator">True</property> + <property name="group">load_patch_merge_ports_radio</property> + </object> + <packing> + <property name="left_attach">2</property> + <property name="right_attach">3</property> + <property name="top_attach">2</property> + <property name="bottom_attach">3</property> + <property name="y_options">GTK_FILL</property> + </packing> + </child> + <child> + <object class="GtkRadioButton" id="load_patch_merge_ports_radio"> + <property name="label" translatable="yes">_Merge with existing ports</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">False</property> + <property name="has_tooltip">True</property> + <property name="use_underline">True</property> + <property name="active">True</property> + <property name="draw_indicator">True</property> + </object> + <packing> + <property name="left_attach">1</property> + <property name="right_attach">2</property> + <property name="top_attach">2</property> + <property name="bottom_attach">3</property> + <property name="y_options">GTK_FILL</property> + </packing> + </child> + <child> + <object class="GtkHBox" id="hbox58"> + <property name="visible">True</property> + <property name="spacing">6</property> + <child> + <object class="GtkRadioButton" id="load_patch_poly_voices_radio"> + <property name="label" translatable="yes">_Voices:</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">False</property> + <property name="has_tooltip">True</property> + <property name="use_underline">True</property> + <property name="active">True</property> + <property name="draw_indicator">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkSpinButton" id="load_patch_poly_spinbutton"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="invisible_char">●</property> + <property name="adjustment"></property> + <property name="climb_rate">1</property> + </object> + <packing> + <property name="expand">False</property> + <property name="position">1</property> + </packing> + </child> + </object> + <packing> + <property name="left_attach">1</property> + <property name="right_attach">2</property> + <property name="top_attach">1</property> + <property name="bottom_attach">2</property> + <property name="x_options">GTK_FILL</property> + <property name="y_options">GTK_FILL</property> + </packing> + </child> + <child> + <object class="GtkLabel" id="load_patch_symbol_label"> + <property name="visible">True</property> + <property name="xalign">0</property> + <property name="label" translatable="yes">_Symbol: </property> + <property name="use_markup">True</property> + <property name="use_underline">True</property> + <property name="mnemonic_widget">load_patch_symbol_entry</property> + </object> + <packing> + <property name="x_options">GTK_FILL</property> + <property name="y_options"></property> + </packing> + </child> + <child> + <object class="GtkEntry" id="load_patch_symbol_entry"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="invisible_char">●</property> + <property name="activates_default">True</property> + </object> + <packing> + <property name="left_attach">1</property> + <property name="right_attach">3</property> + <property name="y_options">GTK_FILL</property> + </packing> + </child> + </object> + </child> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="position">2</property> + </packing> + </child> + <child internal-child="action_area"> + <object class="GtkHButtonBox" id="hbuttonbox3"> + <property name="visible">True</property> + <property name="layout_style">end</property> + <child> + <object class="GtkButton" id="load_patch_cancel_button"> + <property name="label">gtk-cancel</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="can_default">True</property> + <property name="receives_default">False</property> + <property name="use_stock">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkButton" id="load_patch_ok_button"> + <property name="label">gtk-open</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="can_default">True</property> + <property name="has_default">True</property> + <property name="receives_default">False</property> + <property name="use_stock">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="position">1</property> + </packing> + </child> + </object> + <packing> + <property name="expand">False</property> + <property name="pack_type">end</property> + <property name="position">0</property> + </packing> + </child> + </object> + </child> + <action-widgets> + <action-widget response="-6">load_patch_cancel_button</action-widget> + <action-widget response="-5">load_patch_ok_button</action-widget> + </action-widgets> + </object> + <object class="GtkWindow" id="warehouse_win"> + <property name="title" translatable="yes">Warehouse - Ingen</property> + <child> + <object class="GtkTable" id="table8"> + <property name="visible">True</property> + <property name="n_rows">6</property> + <property name="column_spacing">12</property> + <property name="row_spacing">12</property> + <child> + <object class="GtkVBox" id="toggle_control"> + <property name="visible">True</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> + <child> + <object class="GtkHBox" id="hbox2"> + <property name="visible">True</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> + <child> + <object class="GtkLabel" id="toggle_control_name_label"> + <property name="visible">True</property> + <property name="xalign">0</property> + <property name="xpad">4</property> + <property name="label" translatable="yes"><b>Name</b></property> + <property name="use_markup">True</property> + <property name="single_line_mode">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkAlignment" id="alignment7"> + <property name="visible">True</property> + <property name="yalign">1</property> + <property name="yscale">0</property> + <property name="bottom_padding">1</property> + <property name="left_padding">1</property> + <property name="right_padding">4</property> + <child> + <object class="GtkHSeparator" id="hseparator7"> + <property name="visible">True</property> + </object> + </child> + </object> + <packing> + <property name="position">1</property> + </packing> + </child> + <child> + <object class="GtkCheckButton" id="toggle_control_check"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">False</property> + <property name="draw_indicator">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="position">2</property> + </packing> + </child> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="position">0</property> + </packing> + </child> + </object> + <packing> + <property name="top_attach">4</property> + <property name="bottom_attach">5</property> + <property name="y_padding">8</property> + </packing> + </child> + <child> + <object class="GtkVBox" id="control_panel_vbox"> + <property name="visible">True</property> + <child> + <object class="GtkAlignment" id="alignment6"> + <property name="visible">True</property> + <property name="yalign">0</property> + <child> + <object class="GtkScrolledWindow" id="scrolledwin1"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="hscrollbar_policy">never</property> + <property name="vscrollbar_policy">automatic</property> + <child> + <object class="GtkViewport" id="viewport1"> + <property name="visible">True</property> + <property name="shadow_type">none</property> + <child> + <object class="GtkVBox" id="control_panel_controls_box"> + <property name="visible">True</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> + </object> + </child> + </object> + </child> + </object> + </child> + </object> + <packing> + <property name="position">0</property> + </packing> + </child> + </object> + </child> + <child> + <object class="GtkVBox" id="patch_view_box"> + <property name="visible">True</property> + <child> + <object class="GtkHBox" id="hbox70"> + <property name="visible">True</property> + <child> + <object class="GtkToolbar" id="toolbar6"> + <property name="visible">True</property> + <property name="toolbar_style">icons</property> + <property name="icon_size">1</property> + <child> + <object class="GtkToolItem" id="patch_view_breadcrumb_container"> + <property name="visible">True</property> + <child> + <placeholder/> + </child> + </object> + <packing> + <property name="expand">False</property> + </packing> + </child> + </object> + <packing> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkToolbar" id="patch_view_toolbar"> + <property name="visible">True</property> + <property name="toolbar_style">icons</property> + <property name="show_arrow">False</property> + <property name="icon_size">1</property> + <child> + <object class="GtkToggleToolButton" id="patch_view_process_but"> + <property name="visible">True</property> + <property name="use_underline">True</property> + <property name="stock_id">gtk-execute</property> + <property name="active">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="homogeneous">True</property> + </packing> + </child> + <child> + <object class="GtkToolItem" id="toolitem7"> + <property name="visible">True</property> + <child> + <object class="GtkImage" id="image1978"> + <property name="visible">True</property> + <property name="xpad">4</property> + <property name="stock">gtk-copy</property> + </object> + </child> + </object> + <packing> + <property name="expand">False</property> + </packing> + </child> + <child> + <object class="GtkToolItem" id="toolitem10"> + <property name="visible">True</property> + <child> + <object class="GtkSpinButton" id="patch_view_poly_spin"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="adjustment"></property> + <property name="climb_rate">1</property> + <property name="numeric">True</property> + </object> + </child> + </object> + <packing> + <property name="expand">False</property> + </packing> + </child> + <child> + <object class="GtkSeparatorToolItem" id="separatortoolitem18"> + <property name="visible">True</property> + </object> + <packing> + <property name="expand">False</property> + </packing> + </child> + <child> + <object class="GtkToolButton" id="patch_view_save_but"> + <property name="visible">True</property> + <property name="stock_id">gtk-save</property> + </object> + <packing> + <property name="expand">False</property> + <property name="homogeneous">True</property> + </packing> + </child> + <child> + <object class="GtkSeparatorToolItem" id="separatortoolitem22"> + <property name="visible">True</property> + </object> + <packing> + <property name="expand">False</property> + </packing> + </child> + <child> + <object class="GtkToolButton" id="patch_view_refresh_but"> + <property name="visible">True</property> + <property name="stock_id">gtk-refresh</property> + </object> + <packing> + <property name="expand">False</property> + <property name="homogeneous">True</property> + </packing> + </child> + <child> + <object class="GtkToolButton" id="patch_view_zoom_normal_but"> + <property name="visible">True</property> + <property name="use_underline">True</property> + <property name="stock_id">gtk-zoom-100</property> + </object> + <packing> + <property name="expand">False</property> + <property name="homogeneous">True</property> + </packing> + </child> + <child> + <object class="GtkToolButton" id="patch_view_zoom_full_but"> + <property name="visible">True</property> + <property name="use_underline">True</property> + <property name="stock_id">gtk-zoom-fit</property> + </object> + <packing> + <property name="expand">False</property> + <property name="homogeneous">True</property> + </packing> + </child> + <child> + <object class="GtkSeparatorToolItem" id="toolbutton1"> + <property name="visible">True</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> + </object> + <packing> + <property name="expand">False</property> + </packing> + </child> + <child> + <object class="GtkToggleToolButton" id="patch_view_edit_mode_but"> + <property name="visible">True</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> + <property name="label" translatable="yes">Edit</property> + <property name="stock_id">gtk-connect</property> + <property name="active">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="homogeneous">True</property> + </packing> + </child> + </object> + <packing> + <property name="expand">False</property> + <property name="position">1</property> + </packing> + </child> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkScrolledWindow" id="patch_view_scrolledwindow"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="has_focus">True</property> + <property name="is_focus">True</property> + <property name="can_default">True</property> + <property name="has_default">True</property> + <property name="events">GDK_EXPOSURE_MASK | GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_MOTION_MASK | GDK_BUTTON1_MOTION_MASK | GDK_BUTTON2_MOTION_MASK | GDK_BUTTON3_MOTION_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK | GDK_KEY_PRESS_MASK | GDK_KEY_RELEASE_MASK | GDK_ENTER_NOTIFY_MASK | GDK_LEAVE_NOTIFY_MASK | GDK_FOCUS_CHANGE_MASK | GDK_STRUCTURE_MASK | GDK_PROPERTY_CHANGE_MASK | GDK_VISIBILITY_NOTIFY_MASK | GDK_PROXIMITY_IN_MASK | GDK_PROXIMITY_OUT_MASK | GDK_SUBSTRUCTURE_MASK | GDK_SCROLL_MASK</property> + <property name="border_width">1</property> + <property name="shadow_type">in</property> + <child> + <placeholder/> + </child> + </object> + <packing> + <property name="position">1</property> + </packing> + </child> + </object> + <packing> + <property name="top_attach">2</property> + <property name="bottom_attach">3</property> + <property name="x_options">GTK_FILL</property> + </packing> + </child> + <child> + <object class="GtkHSeparator" id="hseparator5"> + <property name="visible">True</property> + </object> + <packing> + <property name="top_attach">1</property> + <property name="bottom_attach">2</property> + <property name="x_options">GTK_FILL</property> + </packing> + </child> + <child> + <object class="GtkVBox" id="control_strip"> + <property name="visible">True</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> + <child> + <object class="GtkHBox" id="hbox1"> + <property name="visible">True</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> + <child> + <object class="GtkLabel" id="control_strip_name_label"> + <property name="visible">True</property> + <property name="xalign">0</property> + <property name="yalign">1</property> + <property name="xpad">4</property> + <property name="label" translatable="yes"><b>Name</b></property> + <property name="use_markup">True</property> + <property name="single_line_mode">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkAlignment" id="alignment3"> + <property name="visible">True</property> + <property name="yalign">1</property> + <property name="yscale">0</property> + <property name="bottom_padding">1</property> + <property name="left_padding">1</property> + <property name="right_padding">4</property> + <child> + <object class="GtkHSeparator" id="hseparator6"> + <property name="visible">True</property> + </object> + </child> + </object> + <packing> + <property name="position">1</property> + </packing> + </child> + <child> + <object class="GtkSpinButton" id="control_strip_spinner"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> + <property name="width_chars">12</property> + <property name="adjustment"></property> + <property name="digits">4</property> + <property name="numeric">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="position">2</property> + </packing> + </child> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkHScale" id="control_strip_slider"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> + <property name="adjustment"></property> + <property name="digits">63</property> + <property name="draw_value">False</property> + </object> + <packing> + <property name="expand">False</property> + <property name="position">1</property> + </packing> + </child> + </object> + <packing> + <property name="top_attach">3</property> + <property name="bottom_attach">4</property> + <property name="y_padding">8</property> + </packing> + </child> + <child> + <object class="GtkVBox" id="string_control"> + <property name="visible">True</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> + <property name="orientation">vertical</property> + <child> + <object class="GtkHBox" id="hbox3"> + <property name="visible">True</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> + <child> + <object class="GtkLabel" id="string_control_name_label"> + <property name="visible">True</property> + <property name="xalign">0</property> + <property name="xpad">4</property> + <property name="label" translatable="yes"><b>Name</b></property> + <property name="use_markup">True</property> + <property name="single_line_mode">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkEntry" id="string_control_entry"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="invisible_char">●</property> + <property name="caps_lock_warning">False</property> + </object> + <packing> + <property name="position">1</property> + </packing> + </child> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="position">0</property> + </packing> + </child> + </object> + <packing> + <property name="top_attach">5</property> + <property name="bottom_attach">6</property> + <property name="y_padding">8</property> + </packing> + </child> + </object> + </child> + </object> + <object class="GtkWindow" id="messages_win"> + <property name="width_request">400</property> + <property name="height_request">180</property> + <property name="border_width">8</property> + <property name="title" translatable="yes">Messages - Ingen</property> + <child> + <object class="GtkVBox" id="vbox12"> + <property name="visible">True</property> + <property name="spacing">6</property> + <child> + <object class="GtkScrolledWindow" id="scrolledwindow2"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="hscrollbar_policy">automatic</property> + <property name="vscrollbar_policy">automatic</property> + <property name="shadow_type">in</property> + <child> + <object class="GtkTextView" id="messages_textview"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="pixels_above_lines">5</property> + <property name="pixels_below_lines">5</property> + <property name="editable">False</property> + <property name="wrap_mode">word</property> + <property name="left_margin">5</property> + <property name="right_margin">5</property> + <property name="cursor_visible">False</property> + <property name="accepts_tab">False</property> + </object> + </child> + </object> + <packing> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkHButtonBox" id="hbuttonbox8"> + <property name="visible">True</property> + <property name="spacing">6</property> + <property name="layout_style">end</property> + <child> + <object class="GtkButton" id="messages_clear_button"> + <property name="label">gtk-clear</property> + <property name="visible">True</property> + <property name="sensitive">False</property> + <property name="can_focus">True</property> + <property name="can_default">True</property> + <property name="receives_default">False</property> + <property name="use_stock">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkButton" id="messages_close_button"> + <property name="label">gtk-close</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">False</property> + <property name="use_stock">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="position">1</property> + </packing> + </child> + </object> + <packing> + <property name="expand">False</property> + <property name="position">1</property> + </packing> + </child> + </object> + </child> + </object> + <object class="GtkWindow" id="config_win"> + <property name="border_width">8</property> + <property name="title" translatable="yes">Configuration - Ingen</property> + <child> + <object class="GtkVBox" id="vbox13"> + <property name="visible">True</property> + <property name="spacing">6</property> + <child> + <object class="GtkTable" id="table9"> + <property name="visible">True</property> + <property name="n_rows">2</property> + <property name="n_columns">2</property> + <child> + <object class="GtkLabel" id="label90"> + <property name="visible">True</property> + <property name="label" translatable="yes"><b>Patch Search Path: </b></property> + <property name="use_markup">True</property> + </object> + <packing> + <property name="x_options">GTK_FILL</property> + <property name="y_options"></property> + </packing> + </child> + <child> + <object class="GtkEntry" id="config_path_entry"> + <property name="visible">True</property> + <property name="can_focus">True</property> + </object> + <packing> + <property name="left_attach">1</property> + <property name="right_attach">2</property> + <property name="y_options"></property> + </packing> + </child> + <child> + <object class="GtkLabel" id="label91"> + <property name="visible">True</property> + <property name="label" translatable="yes"><i>Example: /foo/bar:/home/john/patches:/usr/share/om/patches</i></property> + <property name="use_markup">True</property> + </object> + <packing> + <property name="left_attach">1</property> + <property name="right_attach">2</property> + <property name="top_attach">1</property> + <property name="bottom_attach">2</property> + <property name="x_options">GTK_FILL</property> + <property name="y_options"></property> + </packing> + </child> + <child> + <object class="GtkLabel" id="label103"> + <property name="visible">True</property> + <property name="xalign">0</property> + </object> + <packing> + <property name="top_attach">1</property> + <property name="bottom_attach">2</property> + <property name="x_options">GTK_FILL</property> + <property name="y_options"></property> + </packing> + </child> + </object> + <packing> + <property name="fill">False</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkHButtonBox" id="hbuttonbox2"> + <property name="visible">True</property> + <property name="spacing">6</property> + <property name="layout_style">end</property> + <child> + <object class="GtkButton" id="config_save_button"> + <property name="label">gtk-save</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">False</property> + <property name="use_stock">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkButton" id="config_cancel_button"> + <property name="label">gtk-cancel</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">False</property> + <property name="use_stock">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="position">1</property> + </packing> + </child> + <child> + <object class="GtkButton" id="config_ok_button"> + <property name="label">gtk-ok</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">False</property> + <property name="use_stock">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="position">2</property> + </packing> + </child> + </object> + <packing> + <property name="expand">False</property> + <property name="position">1</property> + </packing> + </child> + </object> + </child> + </object> + <object class="GtkWindow" id="rename_win"> + <property name="width_request">250</property> + <property name="title" translatable="yes">Rename</property> + <property name="window_position">center-on-parent</property> + <property name="destroy_with_parent">True</property> + <property name="type_hint">dialog</property> + <child> + <object class="GtkVBox" id="vbox1"> + <property name="visible">True</property> + <property name="border_width">5</property> + <property name="orientation">vertical</property> + <child> + <object class="GtkTable" id="table2"> + <property name="visible">True</property> + <property name="n_rows">2</property> + <property name="n_columns">2</property> + <property name="row_spacing">8</property> + <child> + <object class="GtkLabel" id="label95"> + <property name="visible">True</property> + <property name="label" translatable="yes">_Symbol: </property> + <property name="use_underline">True</property> + <property name="mnemonic_widget">rename_symbol_entry</property> + </object> + <packing> + <property name="x_options">GTK_FILL</property> + </packing> + </child> + <child> + <object class="GtkEntry" id="rename_label_entry"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="invisible_char">●</property> + <property name="activates_default">True</property> + </object> + <packing> + <property name="left_attach">1</property> + <property name="right_attach">2</property> + <property name="top_attach">1</property> + <property name="bottom_attach">2</property> + </packing> + </child> + <child> + <object class="GtkLabel" id="label1"> + <property name="visible">True</property> + <property name="label" translatable="yes">_Label: </property> + <property name="use_underline">True</property> + <property name="mnemonic_widget">rename_label_entry</property> + </object> + <packing> + <property name="top_attach">1</property> + <property name="bottom_attach">2</property> + <property name="x_options">GTK_FILL</property> + </packing> + </child> + <child> + <object class="GtkEntry" id="rename_symbol_entry"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="has_focus">True</property> + <property name="invisible_char">●</property> + <property name="activates_default">True</property> + </object> + <packing> + <property name="left_attach">1</property> + <property name="right_attach">2</property> + </packing> + </child> + </object> + <packing> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkLabel" id="rename_message_label"> + <property name="visible">True</property> + </object> + <packing> + <property name="padding">12</property> + <property name="position">1</property> + </packing> + </child> + <child> + <object class="GtkHButtonBox" id="hbuttonbox4"> + <property name="visible">True</property> + <property name="spacing">8</property> + <property name="layout_style">end</property> + <child> + <object class="GtkButton" id="rename_cancel_button"> + <property name="label">gtk-cancel</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="can_default">True</property> + <property name="receives_default">True</property> + <property name="use_stock">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkButton" id="rename_ok_button"> + <property name="label">gtk-ok</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="can_default">True</property> + <property name="has_default">True</property> + <property name="receives_default">False</property> + <property name="use_stock">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="position">1</property> + </packing> + </child> + </object> + <packing> + <property name="expand">False</property> + <property name="position">2</property> + </packing> + </child> + </object> + </child> + </object> + <object class="GtkAboutDialog" id="about_win"> + <property name="destroy_with_parent">True</property> + <property name="type_hint">normal</property> + <property name="program_name">Ingen</property> + <property name="version">@INGEN_VERSION@</property> + <property name="copyright" translatable="yes">Copyright 2005-2011 David Robillard <http://drobilla.net></property> + <property name="website">http://drobilla.net/software/ingen</property> + <property name="license" translatable="yes">Licensed under the GNU GPL, Version 2. + +See COPYING file included with this distribution, or http://www.gnu.org/licenses/gpl.txt for more information</property> + <property name="authors">Author: + David Robillard <d@drobilla.net> + +Contributors: + Lars Luthman - DSSI enhancements, bugfixes + Mario Lang - SuperCollider bindings, bugfixes + Leonard Ritter - Python bindings +</property> + <property name="translator_credits" translatable="yes" comments="TRANSLATORS: Replace this string with your names, one name per line.">translator-credits</property> + <property name="artists">Usability / UI Design: + Thorsten Wilms</property> + <property name="wrap_license">True</property> + <child internal-child="vbox"> + <object class="GtkVBox" id="dialog-vbox3"> + <child internal-child="action_area"> + <object class="GtkHButtonBox" id="dialog-action_area3"/> + <packing> + <property name="expand">False</property> + <property name="pack_type">end</property> + <property name="position">0</property> + </packing> + </child> + </object> + </child> + </object> + <object class="GtkWindow" id="patch_tree_win"> + <property name="width_request">320</property> + <property name="height_request">340</property> + <property name="border_width">8</property> + <property name="title" translatable="yes">Patches - Ingen</property> + <child> + <object class="GtkScrolledWindow" id="scrolledwindow8"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="border_width">3</property> + <property name="hscrollbar_policy">automatic</property> + <property name="vscrollbar_policy">automatic</property> + <property name="shadow_type">in</property> + <child> + <object class="GtkTreeView" id="patches_treeview"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="rules_hint">True</property> + </object> + </child> + </object> + </child> + </object> + <object class="GtkDialog" id="connect_win"> + <property name="border_width">6</property> + <property name="title" translatable="yes">Engine - Ingen</property> + <property name="resizable">False</property> + <property name="type_hint">dialog</property> + <child internal-child="vbox"> + <object class="GtkVBox" id="dialog-vbox4"> + <property name="visible">True</property> + <property name="spacing">6</property> + <child> + <object class="GtkVBox" id="vbox19"> + <property name="visible">True</property> + <child> + <object class="GtkHBox" id="hbox61"> + <property name="visible">True</property> + <child> + <object class="GtkImage" id="connect_icon"> + <property name="visible">True</property> + <property name="xpad">12</property> + <property name="stock">gtk-disconnect</property> + <property name="icon-size">3</property> + </object> + <packing> + <property name="expand">False</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkVBox" id="vbox20"> + <property name="visible">True</property> + <property name="border_width">5</property> + <property name="homogeneous">True</property> + <child> + <object class="GtkProgressBar" id="connect_progress_bar"> + <property name="visible">True</property> + <property name="pulse_step">0.10000000149</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkLabel" id="connect_progress_label"> + <property name="visible">True</property> + <property name="xalign">0</property> + <property name="label" translatable="yes">Not Connected</property> + </object> + <packing> + <property name="expand">False</property> + <property name="position">1</property> + </packing> + </child> + </object> + <packing> + <property name="position">1</property> + </packing> + </child> + </object> + <packing> + <property name="fill">False</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkHSeparator" id="hseparator4"> + <property name="visible">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="padding">4</property> + <property name="position">1</property> + </packing> + </child> + <child> + <object class="GtkTable" id="table18"> + <property name="visible">True</property> + <property name="n_rows">3</property> + <property name="n_columns">2</property> + <property name="row_spacing">8</property> + <child> + <object class="GtkHBox" id="hbox64"> + <property name="visible">True</property> + <child> + <object class="GtkSpinButton" id="connect_port_spinbutton"> + <property name="visible">True</property> + <property name="sensitive">False</property> + <property name="can_focus">True</property> + <property name="adjustment"></property> + <property name="climb_rate">1</property> + <property name="numeric">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="position">0</property> + </packing> + </child> + </object> + <packing> + <property name="left_attach">1</property> + <property name="right_attach">2</property> + <property name="top_attach">1</property> + <property name="bottom_attach">2</property> + <property name="y_options">GTK_FILL</property> + <property name="x_padding">8</property> + </packing> + </child> + <child> + <object class="GtkHBox" id="hbox67"> + <property name="visible">True</property> + <child> + <object class="GtkEntry" id="connect_url_entry"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="activates_default">True</property> + <property name="width_chars">28</property> + <property name="text" translatable="yes">osc.udp://localhost:16180</property> + </object> + <packing> + <property name="position">0</property> + </packing> + </child> + </object> + <packing> + <property name="left_attach">1</property> + <property name="right_attach">2</property> + <property name="x_options">GTK_FILL</property> + <property name="y_options">GTK_FILL</property> + <property name="x_padding">8</property> + </packing> + </child> + <child> + <object class="GtkRadioButton" id="connect_server_radiobutton"> + <property name="label" translatable="yes">_Connect to running server at: </property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">False</property> + <property name="use_underline">True</property> + <property name="draw_indicator">True</property> + </object> + <packing> + <property name="x_options">GTK_FILL</property> + <property name="y_options"></property> + </packing> + </child> + <child> + <object class="GtkRadioButton" id="connect_launch_radiobutton"> + <property name="label" translatable="yes">_Launch and connect to server on port: </property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">False</property> + <property name="use_underline">True</property> + <property name="draw_indicator">True</property> + <property name="group">connect_server_radiobutton</property> + </object> + <packing> + <property name="top_attach">1</property> + <property name="bottom_attach">2</property> + <property name="x_options">GTK_FILL</property> + <property name="y_options"></property> + </packing> + </child> + <child> + <object class="GtkRadioButton" id="connect_internal_radiobutton"> + <property name="label" translatable="yes">Use _internal engine</property> + <property name="visible">True</property> + <property name="sensitive">False</property> + <property name="can_focus">True</property> + <property name="receives_default">False</property> + <property name="use_underline">True</property> + <property name="draw_indicator">True</property> + <property name="group">connect_server_radiobutton</property> + </object> + <packing> + <property name="top_attach">2</property> + <property name="bottom_attach">3</property> + <property name="x_options">GTK_FILL</property> + <property name="y_options"></property> + </packing> + </child> + <child> + <object class="GtkLabel" id="label131"> + <property name="visible">True</property> + <property name="xalign">0</property> + </object> + <packing> + <property name="left_attach">1</property> + <property name="right_attach">2</property> + <property name="top_attach">2</property> + <property name="bottom_attach">3</property> + <property name="x_options">GTK_FILL</property> + <property name="y_options"></property> + </packing> + </child> + </object> + <packing> + <property name="position">2</property> + </packing> + </child> + <child> + <object class="GtkHSeparator" id="hseparator8"> + <property name="visible">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="position">3</property> + </packing> + </child> + <child> + <object class="GtkHButtonBox" id="hbuttonbox6"> + <property name="visible">True</property> + <property name="spacing">6</property> + <property name="layout_style">start</property> + <child> + <object class="GtkButton" id="connect_deactivate_button"> + <property name="label" translatable="yes">D_eactivate</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">True</property> + <property name="use_underline">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkButton" id="connect_activate_button"> + <property name="label" translatable="yes">_Activate</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">True</property> + <property name="use_underline">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="position">1</property> + </packing> + </child> + </object> + <packing> + <property name="padding">6</property> + <property name="position">4</property> + </packing> + </child> + </object> + <packing> + <property name="position">2</property> + </packing> + </child> + <child internal-child="action_area"> + <object class="GtkHButtonBox" id="dialog-action_area4"> + <property name="visible">True</property> + <property name="layout_style">end</property> + <child> + <object class="GtkButton" id="connect_quit_button"> + <property name="label">gtk-quit</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="can_default">True</property> + <property name="receives_default">False</property> + <property name="use_stock">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkButton" id="connect_disconnect_button"> + <property name="label">gtk-disconnect</property> + <property name="visible">True</property> + <property name="sensitive">False</property> + <property name="can_focus">True</property> + <property name="can_default">True</property> + <property name="receives_default">False</property> + <property name="use_stock">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="position">1</property> + </packing> + </child> + <child> + <object class="GtkButton" id="connect_connect_button"> + <property name="label">gtk-connect</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="can_default">True</property> + <property name="has_default">True</property> + <property name="receives_default">False</property> + <property name="use_stock">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="position">2</property> + </packing> + </child> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="pack_type">end</property> + <property name="position">0</property> + </packing> + </child> + </object> + </child> + <action-widgets> + <action-widget response="0">connect_quit_button</action-widget> + <action-widget response="-6">connect_disconnect_button</action-widget> + <action-widget response="-6">connect_connect_button</action-widget> + </action-widgets> + </object> + <object class="GtkMenu" id="canvas_menu"> + <property name="visible">True</property> + <child> + <object class="GtkCheckMenuItem" id="canvas_menu_edit"> + <property name="visible">True</property> + <property name="label" translatable="yes">_Edit</property> + <property name="use_underline">True</property> + <property name="active">True</property> + </object> + </child> + <child> + <object class="GtkSeparatorMenuItem" id="menuitem5"> + <property name="visible">True</property> + </object> + </child> + <child> + <object class="GtkImageMenuItem" id="input1"> + <property name="label">_Input</property> + <property name="visible">True</property> + <property name="use_underline">True</property> + <property name="use_stock">False</property> + <child type="submenu"> + <object class="GtkMenu" id="input1_menu"> + <child> + <object class="GtkMenuItem" id="canvas_menu_add_audio_input"> + <property name="visible">True</property> + <property name="label" translatable="yes">_Audio</property> + <property name="use_underline">True</property> + <signal name="activate" handler="on_canvas_menu_add_audio_input_activate"/> + </object> + </child> + <child> + <object class="GtkMenuItem" id="canvas_menu_add_control_input"> + <property name="visible">True</property> + <property name="label" translatable="yes">_Control</property> + <property name="use_underline">True</property> + <signal name="activate" handler="on_canvas_menu_add_control_input_activate"/> + </object> + </child> + <child> + <object class="GtkMenuItem" id="canvas_menu_add_event_input"> + <property name="visible">True</property> + <property name="label" translatable="yes">_Event</property> + <property name="use_underline">True</property> + <signal name="activate" handler="on_canvas_menu_add_event_input_activate"/> + </object> + </child> + </object> + </child> + </object> + </child> + <child> + <object class="GtkImageMenuItem" id="output1"> + <property name="label">_Output</property> + <property name="visible">True</property> + <property name="use_underline">True</property> + <property name="use_stock">False</property> + <child type="submenu"> + <object class="GtkMenu" id="output1_menu"> + <child> + <object class="GtkMenuItem" id="canvas_menu_add_audio_output"> + <property name="visible">True</property> + <property name="label" translatable="yes">_Audio</property> + <property name="use_underline">True</property> + <signal name="activate" handler="on_canvas_menu_add_audio_output_activate"/> + </object> + </child> + <child> + <object class="GtkMenuItem" id="canvas_menu_add_control_output"> + <property name="visible">True</property> + <property name="label" translatable="yes">_Control</property> + <property name="use_underline">True</property> + <signal name="activate" handler="on_canvas_menu_add_control_output_activate"/> + </object> + </child> + <child> + <object class="GtkMenuItem" id="canvas_menu_add_event_output"> + <property name="visible">True</property> + <property name="label" translatable="yes">_Event</property> + <property name="use_underline">True</property> + <signal name="activate" handler="on_canvas_menu_add_event_output_activate"/> + </object> + </child> + </object> + </child> + </object> + </child> + <child> + <object class="GtkImageMenuItem" id="canvas_menu_load_plugin"> + <property name="label">_Find Plugin...</property> + <property name="visible">True</property> + <property name="use_underline">True</property> + <property name="use_stock">False</property> + <signal name="activate" handler="on_canvas_menu_add_plugin_activate"/> + </object> + </child> + <child> + <object class="GtkSeparatorMenuItem" id="menuitem6"> + <property name="visible">True</property> + </object> + </child> + <child> + <object class="GtkImageMenuItem" id="canvas_menu_load_patch"> + <property name="label">_Load Patch...</property> + <property name="visible">True</property> + <property name="use_underline">True</property> + <property name="use_stock">False</property> + <signal name="activate" handler="on_canvas_menu_load_patch_activate"/> + </object> + </child> + <child> + <object class="GtkImageMenuItem" id="canvas_menu_new_patch"> + <property name="label">_New Patch...</property> + <property name="visible">True</property> + <property name="use_underline">True</property> + <property name="use_stock">False</property> + <signal name="activate" handler="on_canvas_menu_new_patch_activate"/> + </object> + </child> + </object> + <object class="GtkDialog" id="load_remote_patch_win"> + <property name="border_width">8</property> + <property name="title" translatable="yes">Download Patch - Ingen</property> + <property name="type_hint">dialog</property> + <child internal-child="vbox"> + <object class="GtkVBox" id="dialog-vbox5"> + <property name="visible">True</property> + <property name="spacing">8</property> + <child> + <object class="GtkVBox" id="vbox21"> + <property name="visible">True</property> + <property name="spacing">8</property> + <child> + <object class="GtkScrolledWindow" id="load_remote_patch_treeview_sw"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="has_focus">True</property> + <property name="hscrollbar_policy">automatic</property> + <property name="vscrollbar_policy">automatic</property> + <property name="shadow_type">in</property> + <child> + <object class="GtkTreeView" id="load_remote_patch_treeview"> + <property name="visible">True</property> + <property name="can_focus">True</property> + </object> + </child> + </object> + <packing> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkHBox" id="hbox71"> + <property name="visible">True</property> + <child> + <object class="GtkLabel" id="label133"> + <property name="visible">True</property> + <property name="label" translatable="yes">URI: </property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkEntry" id="load_remote_patch_uri_entry"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="width_chars">78</property> + </object> + <packing> + <property name="position">1</property> + </packing> + </child> + </object> + <packing> + <property name="expand">False</property> + <property name="position">1</property> + </packing> + </child> + </object> + <packing> + <property name="position">2</property> + </packing> + </child> + <child internal-child="action_area"> + <object class="GtkHButtonBox" id="dialog-action_area5"> + <property name="visible">True</property> + <property name="layout_style">end</property> + <child> + <object class="GtkButton" id="load_remote_patch_cancel_button"> + <property name="label">gtk-cancel</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="can_default">True</property> + <property name="receives_default">False</property> + <property name="use_stock">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkButton" id="load_remote_patch_open_button"> + <property name="label">gtk-open</property> + <property name="visible">True</property> + <property name="sensitive">False</property> + <property name="can_focus">True</property> + <property name="can_default">True</property> + <property name="has_default">True</property> + <property name="receives_default">False</property> + <property name="use_stock">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="position">1</property> + </packing> + </child> + </object> + <packing> + <property name="expand">False</property> + <property name="pack_type">end</property> + <property name="position">0</property> + </packing> + </child> + </object> + </child> + <action-widgets> + <action-widget response="-6">load_remote_patch_cancel_button</action-widget> + <action-widget response="-5">load_remote_patch_open_button</action-widget> + </action-widgets> + </object> + <object class="GtkDialog" id="upload_patch_win"> + <property name="border_width">8</property> + <property name="title" translatable="yes">Upload Patch - Ingen</property> + <property name="resizable">False</property> + <property name="type_hint">dialog</property> + <child internal-child="vbox"> + <object class="GtkVBox" id="dialog-vbox6"> + <property name="visible">True</property> + <property name="spacing">9</property> + <child> + <object class="GtkTable" id="table19"> + <property name="visible">True</property> + <property name="n_rows">2</property> + <property name="n_columns">2</property> + <property name="row_spacing">8</property> + <child> + <object class="GtkEntry" id="upload_patch_symbol_entry"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="activates_default">True</property> + </object> + <packing> + <property name="left_attach">1</property> + <property name="right_attach">2</property> + <property name="y_options"></property> + </packing> + </child> + <child> + <object class="GtkEntry" id="upload_patch_short_name_entry"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="activates_default">True</property> + </object> + <packing> + <property name="left_attach">1</property> + <property name="right_attach">2</property> + <property name="top_attach">1</property> + <property name="bottom_attach">2</property> + <property name="y_options"></property> + </packing> + </child> + <child> + <object class="GtkLabel" id="label135"> + <property name="visible">True</property> + <property name="xalign">0</property> + <property name="label" translatable="yes">Symbol: </property> + </object> + <packing> + <property name="x_options">GTK_FILL</property> + <property name="y_options"></property> + </packing> + </child> + <child> + <object class="GtkLabel" id="label136"> + <property name="visible">True</property> + <property name="xalign">0</property> + <property name="label" translatable="yes">Short Name: </property> + </object> + <packing> + <property name="top_attach">1</property> + <property name="bottom_attach">2</property> + <property name="x_options">GTK_FILL</property> + <property name="y_options"></property> + </packing> + </child> + </object> + <packing> + <property name="position">2</property> + </packing> + </child> + <child> + <object class="GtkLabel" id="label137"> + <property name="visible">True</property> + <property name="ypad">4</property> + <property name="label" translatable="yes">Succesfully uploaded patches will be available immediately in the remote patch browser. + +By uploading patches, you agree to license them under the Creative Commons Attribution-Share Alike 3.0 License. + +Thank you for contributing.</property> + <property name="wrap">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="position">3</property> + </packing> + </child> + <child> + <object class="GtkProgressBar" id="upload_patch_progress"> + <property name="visible">True</property> + <property name="pulse_step">0.10000000149</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="position">4</property> + </packing> + </child> + <child internal-child="action_area"> + <object class="GtkHButtonBox" id="dialog-action_area6"> + <property name="visible">True</property> + <property name="layout_style">end</property> + <child> + <object class="GtkButton" id="upload_patch_cancel_button"> + <property name="label">gtk-close</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="can_default">True</property> + <property name="receives_default">False</property> + <property name="use_stock">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkButton" id="upload_patch_upload_button"> + <property name="visible">True</property> + <property name="sensitive">False</property> + <property name="can_focus">True</property> + <property name="can_default">True</property> + <property name="has_default">True</property> + <property name="receives_default">False</property> + <child> + <object class="GtkAlignment" id="alignment5"> + <property name="visible">True</property> + <property name="xscale">0</property> + <property name="yscale">0</property> + <child> + <object class="GtkHBox" id="hbox72"> + <property name="visible">True</property> + <property name="spacing">2</property> + <child> + <object class="GtkImage" id="image2136"> + <property name="visible">True</property> + <property name="stock">gtk-ok</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkLabel" id="label134"> + <property name="visible">True</property> + <property name="label" translatable="yes">Upload</property> + <property name="use_underline">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="position">1</property> + </packing> + </child> + </object> + </child> + </object> + </child> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="position">1</property> + </packing> + </child> + </object> + <packing> + <property name="expand">False</property> + <property name="pack_type">end</property> + <property name="position">0</property> + </packing> + </child> + </object> + </child> + <action-widgets> + <action-widget response="-7">upload_patch_cancel_button</action-widget> + <action-widget response="-5">upload_patch_upload_button</action-widget> + </action-widgets> + </object> + <object class="GtkMenu" id="port_control_menu"> + <child> + <object class="GtkImageMenuItem" id="port_control_menu_properties"> + <property name="label">gtk-properties</property> + <property name="visible">True</property> + <property name="use_underline">True</property> + <property name="use_stock">True</property> + <signal name="activate" handler="on_port_control_menu_properties_activate"/> + </object> + </child> + </object> + <object class="GtkWindow" id="port_properties_win"> + <property name="border_width">8</property> + <property name="title" translatable="yes">Port Properties - Ingen</property> + <property name="resizable">False</property> + <property name="window_position">mouse</property> + <child> + <object class="GtkVBox" id="dialog-vbox7"> + <property name="visible">True</property> + <property name="spacing">8</property> + <child> + <object class="GtkTable" id="table20"> + <property name="visible">True</property> + <property name="n_rows">2</property> + <property name="n_columns">2</property> + <property name="column_spacing">2</property> + <property name="row_spacing">4</property> + <child> + <object class="GtkSpinButton" id="port_properties_min_spinner"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="adjustment"></property> + <property name="climb_rate">1</property> + <property name="digits">5</property> + <property name="numeric">True</property> + </object> + <packing> + <property name="left_attach">1</property> + <property name="right_attach">2</property> + <property name="y_options"></property> + </packing> + </child> + <child> + <object class="GtkSpinButton" id="port_properties_max_spinner"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="adjustment"></property> + <property name="climb_rate">1</property> + <property name="digits">5</property> + <property name="numeric">True</property> + </object> + <packing> + <property name="left_attach">1</property> + <property name="right_attach">2</property> + <property name="top_attach">1</property> + <property name="bottom_attach">2</property> + <property name="y_options"></property> + </packing> + </child> + <child> + <object class="GtkLabel" id="label138"> + <property name="visible">True</property> + <property name="xalign">0</property> + <property name="label" translatable="yes">Minimum Value: </property> + </object> + <packing> + <property name="x_options">GTK_FILL</property> + <property name="y_options"></property> + </packing> + </child> + <child> + <object class="GtkLabel" id="label139"> + <property name="visible">True</property> + <property name="xalign">0</property> + <property name="label" translatable="yes">Maximum Value: </property> + </object> + <packing> + <property name="top_attach">1</property> + <property name="bottom_attach">2</property> + <property name="x_options">GTK_FILL</property> + <property name="y_options"></property> + </packing> + </child> + </object> + <packing> + <property name="position">2</property> + </packing> + </child> + <child> + <object class="GtkHButtonBox" id="dialog-action_area7"> + <property name="visible">True</property> + <property name="layout_style">end</property> + <child> + <object class="GtkButton" id="port_properties_cancel_button"> + <property name="label">gtk-cancel</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="can_default">True</property> + <property name="receives_default">False</property> + <property name="use_stock">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkButton" id="port_properties_ok_button"> + <property name="label">gtk-ok</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="can_default">True</property> + <property name="has_default">True</property> + <property name="receives_default">False</property> + <property name="use_stock">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="position">1</property> + </packing> + </child> + </object> + <packing> + <property name="expand">False</property> + <property name="pack_type">end</property> + <property name="position">0</property> + </packing> + </child> + </object> + </child> + </object> + <object class="GtkMenu" id="object_menu"> + <property name="visible">True</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> + <child> + <object class="GtkCheckMenuItem" id="object_polyphonic_menuitem"> + <property name="visible">True</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> + <property name="label" translatable="yes">P_olyphonic</property> + <property name="use_underline">True</property> + </object> + </child> + <child> + <object class="GtkMenuItem" id="object_learn_menuitem"> + <property name="visible">True</property> + <property name="label" translatable="yes">_Learn</property> + <property name="use_underline">True</property> + </object> + </child> + <child> + <object class="GtkMenuItem" id="object_unlearn_menuitem"> + <property name="visible">True</property> + <property name="label" translatable="yes">_Unlearn</property> + <property name="use_underline">True</property> + </object> + </child> + <child> + <object class="GtkImageMenuItem" id="object_disconnect_menuitem"> + <property name="label">Dis_connect</property> + <property name="visible">True</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> + <property name="use_underline">True</property> + <property name="use_stock">False</property> + </object> + </child> + <child> + <object class="GtkImageMenuItem" id="object_rename_menuitem"> + <property name="label">_Rename...</property> + <property name="visible">True</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> + <property name="use_underline">True</property> + <property name="use_stock">False</property> + </object> + </child> + <child> + <object class="GtkImageMenuItem" id="object_destroy_menuitem"> + <property name="label">gtk-delete</property> + <property name="visible">True</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> + <property name="use_underline">True</property> + <property name="use_stock">True</property> + </object> + </child> + <child> + <object class="GtkSeparatorMenuItem" id="separator1"> + <property name="visible">True</property> + </object> + </child> + <child> + <object class="GtkImageMenuItem" id="object_properties_menuitem"> + <property name="label">gtk-properties</property> + <property name="visible">True</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> + <property name="use_underline">True</property> + <property name="use_stock">True</property> + </object> + </child> + </object> + <object class="GtkMenu" id="node_menu"> + <property name="visible">True</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> + <child> + <object class="GtkImageMenuItem" id="node_controls_menuitem"> + <property name="label">Con_trols...</property> + <property name="visible">True</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> + <property name="use_underline">True</property> + <property name="use_stock">False</property> + </object> + </child> + <child> + <object class="GtkImageMenuItem" id="node_popup_gui_menuitem"> + <property name="label">_GUI...</property> + <property name="visible">True</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> + <property name="use_underline">True</property> + <property name="use_stock">False</property> + </object> + </child> + <child> + <object class="GtkCheckMenuItem" id="node_embed_gui_menuitem"> + <property name="visible">True</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> + <property name="label" translatable="yes">_Embed GUI</property> + <property name="use_underline">True</property> + </object> + </child> + <child> + <object class="GtkImageMenuItem" id="node_randomize_menuitem"> + <property name="label">R_andomize</property> + <property name="visible">True</property> + <property name="use_underline">True</property> + <property name="use_stock">False</property> + </object> + </child> + </object> + <object class="GtkWindow" id="properties_win"> + <property name="border_width">12</property> + <property name="window_position">center-on-parent</property> + <child> + <object class="GtkVBox" id="properties_vbox"> + <property name="visible">True</property> + <property name="orientation">vertical</property> + <property name="spacing">12</property> + <child> + <object class="GtkScrolledWindow" id="properties_scrolledwindow"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="hscrollbar_policy">automatic</property> + <property name="vscrollbar_policy">automatic</property> + <child> + <object class="GtkViewport" id="viewport2"> + <property name="visible">True</property> + <property name="resize_mode">queue</property> + <property name="shadow_type">none</property> + <child> + <object class="GtkTable" id="properties_table"> + <property name="visible">True</property> + <property name="n_columns">3</property> + <property name="column_spacing">12</property> + <property name="row_spacing">6</property> + <child> + <placeholder/> + </child> + <child> + <placeholder/> + </child> + <child> + <placeholder/> + </child> + </object> + </child> + </object> + </child> + </object> + <packing> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkHButtonBox" id="properties_buttonbox"> + <property name="visible">True</property> + <property name="spacing">6</property> + <property name="layout_style">end</property> + <child> + <object class="GtkButton" id="properties_cancel_button"> + <property name="label">gtk-cancel</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="can_default">True</property> + <property name="receives_default">True</property> + <property name="use_stock">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkButton" id="properties_apply_button"> + <property name="label">gtk-apply</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">True</property> + <property name="use_stock">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="position">1</property> + </packing> + </child> + <child> + <object class="GtkButton" id="properties_ok_button"> + <property name="label">gtk-ok</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="can_default">True</property> + <property name="has_default">True</property> + <property name="receives_default">True</property> + <property name="use_stock">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="position">2</property> + </packing> + </child> + </object> + <packing> + <property name="expand">False</property> + <property name="pack_type">end</property> + <property name="position">1</property> + </packing> + </child> + </object> + </child> + </object> + <object class="GtkMenu" id="port_menu"> + <property name="visible">True</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> + <child> + <object class="GtkMenuItem" id="port_set_min_menuitem"> + <property name="visible">True</property> + <property name="label" translatable="yes">Set m_inimum to current value</property> + <property name="use_underline">True</property> + </object> + </child> + <child> + <object class="GtkMenuItem" id="port_set_max_menuitem"> + <property name="visible">True</property> + <property name="label" translatable="yes">Set m_aximum to current value</property> + <property name="use_underline">True</property> + </object> + </child> + <child> + <object class="GtkMenuItem" id="port_reset_range_menuitem"> + <property name="visible">True</property> + <property name="label" translatable="yes">R_eset Range</property> + <property name="use_underline">True</property> + </object> + </child> + </object> +</interface> diff --git a/src/gui/wscript b/src/gui/wscript index f5f28499..43a96904 100644 --- a/src/gui/wscript +++ b/src/gui/wscript @@ -15,7 +15,6 @@ def build(bld): Connection.cpp ControlPanel.cpp Controls.cpp - GladeFactory.cpp LoadPatchWindow.cpp LoadPluginWindow.cpp LoadRemotePatchWindow.cpp @@ -37,6 +36,7 @@ def build(bld): RenameWindow.cpp SubpatchModule.cpp ThreadedLoader.cpp + WidgetFactory.cpp Window.cpp WindowFactory.cpp ingen_gui.cpp @@ -67,10 +67,10 @@ def build(bld): SUIL ''') - # Glade XML UI definition + # XML UI definition bld(features = 'subst', - source = 'ingen_gui.glade', - target = '../../ingen_gui.glade', + source = 'ingen_gui.ui', + target = '../../ingen_gui.ui', install_path = '${DATADIR}/ingen', chmod = Utils.O755, INGEN_VERSION = bld.env['INGEN_VERSION']) diff --git a/src/serialisation/Parser.cpp b/src/serialisation/Parser.cpp index 88b12d6c..5197c175 100644 --- a/src/serialisation/Parser.cpp +++ b/src/serialisation/Parser.cpp @@ -43,7 +43,7 @@ #define LOG(s) s << "[Parser] " -#define NS_INGEN "http://drobilla.net/ns/ingen#" +//#define NS_INGEN "http://drobilla.net/ns/ingen#" // defined in Resource.hpp #define NS_LV2 "http://lv2plug.in/ns/lv2core#" #define NS_RDF "http://www.w3.org/1999/02/22-rdf-syntax-ns#" #define NS_RDFS "http://www.w3.org/2000/01/rdf-schema#" diff --git a/wscript b/wscript index 95b2414c..cfd1284d 100644 --- a/wscript +++ b/wscript @@ -58,11 +58,9 @@ def configure(conf): atleast_version='0.3.0', mandatory=False) if not Options.options.no_gui: autowaf.check_pkg(conf, 'gtkmm-2.4', uselib_store='GTKMM', - atleast_version='2.11.12', mandatory=False) + atleast_version='2.12.0', mandatory=False) autowaf.check_pkg(conf, 'gtkmm-2.4', uselib_store='NEW_GTKMM', atleast_version='2.14.0', mandatory=False) - autowaf.check_pkg(conf, 'libglademm-2.4', uselib_store='GLADEMM', - atleast_version='2.6.0', mandatory=False) autowaf.check_pkg(conf, 'flowcanvas', uselib_store='FLOWCANVAS', atleast_version='0.8.0', mandatory=False) if not Options.options.no_http: @@ -92,9 +90,7 @@ def configure(conf): autowaf.define(conf, 'INGEN_VERSION', INGEN_VERSION) - if (not Options.options.no_gui - and conf.is_defined('HAVE_GLADEMM') - and conf.is_defined('HAVE_FLOWCANVAS')): + if not Options.options.no_gui and conf.is_defined('HAVE_FLOWCANVAS'): autowaf.define(conf, 'INGEN_BUILD_GUI', 1) if conf.is_defined('HAVE_JACK'): -- cgit v1.2.1