summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2007-04-06 02:20:48 +0000
committerDavid Robillard <d@drobilla.net>2007-04-06 02:20:48 +0000
commit1019f1b943ae17bb116bbd2223fcbd0532657055 (patch)
tree5989fd5989d46f7f0b3a653a0b8fd934727a2d49
parent9f7241e83ba62f51852430398f4badfe68320e0f (diff)
downloadpatchage-1019f1b943ae17bb116bbd2223fcbd0532657055.tar.gz
patchage-1019f1b943ae17bb116bbd2223fcbd0532657055.tar.bz2
patchage-1019f1b943ae17bb116bbd2223fcbd0532657055.zip
LASH project saving/restoring.
git-svn-id: http://svn.drobilla.net/lad/patchage@400 a436a847-0d15-0410-975c-d299462d15a1
-rw-r--r--src/LashDriver.cpp174
-rw-r--r--src/LashDriver.h23
-rw-r--r--src/Makefile.am2
-rw-r--r--src/Patchage.cpp57
-rw-r--r--src/Patchage.h2
-rw-r--r--src/patchage.glade112
6 files changed, 183 insertions, 187 deletions
diff --git a/src/LashDriver.cpp b/src/LashDriver.cpp
index a5110a1..d5ad43e 100644
--- a/src/LashDriver.cpp
+++ b/src/LashDriver.cpp
@@ -28,7 +28,6 @@ using std::string;
LashDriver::LashDriver(Patchage* app, int argc, char** argv)
: _app(app),
- _client(NULL),
_args(NULL)
{
_args = lash_extract_args(&argc, &argv);
@@ -46,21 +45,26 @@ void
LashDriver::attach(bool launch_daemon)
{
// Already connected
- if (_client)
+ if (_server_interface && _server_interface->enabled())
return;
int lash_flags = LASH_Server_Interface | LASH_Config_File;
if (!launch_daemon)
lash_flags |= LASH_No_Start_Server;
- _client = lash_init(_args, PACKAGE_NAME, lash_flags, LASH_PROTOCOL(2, 0));
- if (!_client) {
- _app->status_message("[LASH] Unable to attach to server");
- } else {
- //lash_event_t* event = lash_event_new_with_type(LASH_Client_Name);
- //lash_event_set_string(event, "Patchage");
- //lash_send_event(_client, event);
+
+ _server_interface = Raul::LashServerInterface::create(
+ _args, PACKAGE_NAME, lash_flags);
+
+ if (_server_interface) {
+ /*_server_interface->signal_save_file.connect(sigc::mem_fun(this, LashDriver::on_save_file));
+ _server_interface->signal_restore_file.connect(sigc::mem_fun(this, LashDriver::on_restore_file));
+ _server_interface->signal_quit.connect(sigc::mem_fun(this, LashDriver::on_quit));*/
+ _server_interface->signal_project_add.connect(sigc::mem_fun(this, &LashDriver::on_project_add));
+
signal_attached.emit();
_app->status_message("[LASH] Attached");
+ } else {
+ _app->status_message("[LASH] Unable to attach to server");
}
}
@@ -68,106 +72,41 @@ LashDriver::attach(bool launch_daemon)
void
LashDriver::detach()
{
- _client = NULL;
+ _server_interface.reset();
_app->status_message("[LASH] Detached");
signal_detached.emit();
}
void
-LashDriver::process_events()
+LashDriver::on_project_add(const SharedPtr<Raul::LashProject> project)
{
- lash_event_t* ev = NULL;
- lash_config_t* conf = NULL;
+ _project_name = project->name();
+}
- // Process events
- while ((ev = lash_get_event(_client)) != NULL) {
- handle_event(ev);
- lash_event_destroy(ev);
- }
- // Process configs
- while ((conf = lash_get_config(_client)) != NULL) {
- handle_config(conf);
- lash_config_destroy(conf);
- }
+void
+LashDriver::on_save_file(const string& directory)
+{
+ cout << "[LashDriver] LASH Save File - " << directory << endl;
+ _app->store_window_location();
+ _app->state_manager()->save(directory + "/locations");
}
void
-LashDriver::handle_event(lash_event_t* ev)
+LashDriver::on_restore_file(const string& directory)
{
- LASH_Event_Type type = lash_event_get_type(ev);
- const char* c_str = lash_event_get_string(ev);
- string str = (c_str == NULL) ? "" : c_str;
-
- //cout << "[LashDriver] LASH Event. Type = " << (unsigned int)type << ", string = " << str << "**********" << endl;
-
- switch (type) {
- case LASH_Project_Add:
- cerr << "LASH project add\n";
- break;
- case LASH_Project_Remove:
- cerr << "LASH remove\n";
- break;
- case LASH_Project_Dir:
- cerr << "LASH project dir\n";
- break;
- case LASH_Project_Name:
- cerr << "LASH project name\n";
- break;
- case LASH_Client_Add:
- cerr << "LASH client add\n";
- break;
- case LASH_Client_Name:
- cerr << "LASH client name\n";
- break;
- case LASH_Jack_Client_Name:
- cerr << "LASH jack client name\n";
- break;
- case LASH_Alsa_Client_ID:
- cerr << "LASH alsa client id\n";
- break;
- case LASH_Percentage:
- cerr << "LASH percentage\n";
- break;
- case LASH_Save:
- cerr << "LASH save\n";
- break;
- case LASH_Restore_Data_Set:
- cerr << "LASH restore data set\n";
- break;
- case LASH_Server_Lost:
- cerr << "LASH server lost\n";
- break;
- case LASH_Client_Remove:
- cerr << "LASH client remove\n";
- break;
- case LASH_Save_File:
- cout << "[LashDriver] LASH Save File - " << str << endl;
- _app->store_window_location();
- _app->state_manager()->save(str.append("/locations"));
- lash_send_event(_client, lash_event_new_with_type(LASH_Save_File));
- break;
-
- case LASH_Restore_File:
- cout << "[LashDriver] LASH Restore File - " << str << endl;
- _app->state_manager()->load(str.append("/locations"));
- _app->update_state();
- lash_send_event(_client, lash_event_new_with_type(LASH_Restore_File));
- break;
-
- case LASH_Save_Data_Set:
- cout << "[LashDriver] LASH Save Data Set - " << endl;
- lash_send_event(_client, lash_event_new_with_type(LASH_Save_Data_Set));
- break;
-
- case LASH_Quit:
- cout << "[LashDriver] Quit" << endl;
- _client = NULL;
- _app->quit();
- break;
- }
+ cout << "[LashDriver] LASH Restore File - " << directory << endl;
+ _app->state_manager()->load(directory + "/locations");
+ _app->update_state();
+}
+
+
+void
+LashDriver::on_quit()
+{
+ cout << "[LashDriver] Quit" << endl;
}
@@ -184,6 +123,51 @@ LashDriver::handle_config(lash_config_t* conf)
val = lash_config_get_value(conf);
val_size = lash_config_get_value_size(conf);
}
+
+
+void
+LashDriver::restore_project(const std::string& directory)
+{
+ _project_name = "";
+ _server_interface->restore_project(directory);
+}
+
+
+void
+LashDriver::set_project_directory(const std::string& directory)
+{
+ SharedPtr<Raul::LashProject> project = _server_interface->project(_project_name);
+
+ if (project)
+ project->set_directory(directory);
+ else
+ cerr << "[LashDriver] No LASH project to set directory!" << endl;
+}
+
+
+void
+LashDriver::save_project()
+{
+ SharedPtr<Raul::LashProject> project = _server_interface->project(_project_name);
+
+ if (project)
+ project->save();
+ else
+ cerr << "[LashDriver] No LASH project to save!" << endl;
+}
+
+
+void
+LashDriver::close_project()
+{
+ cerr << "CLOSE PROJECT\n";
+ SharedPtr<Raul::LashProject> project = _server_interface->project(_project_name);
+
+ if (project)
+ project->close();
+ else
+ cerr << "[LashDriver] No LASH project to close!" << endl;
+}
diff --git a/src/LashDriver.h b/src/LashDriver.h
index cac5bfd..dde644a 100644
--- a/src/LashDriver.h
+++ b/src/LashDriver.h
@@ -19,6 +19,7 @@
#define LASHDRIVER_H
#include <lash/lash.h>
+#include <raul/LashServerInterface.h>
#include "Driver.h"
class Patchage;
@@ -32,7 +33,7 @@ public:
void attach(bool launch_daemon);
void detach();
- bool is_attached() const { return lash_enabled(_client); }
+ bool is_attached() const { return _server_interface->enabled(); }
bool connect(boost::shared_ptr<PatchagePort>, boost::shared_ptr<PatchagePort>)
{ return false; }
@@ -42,12 +43,24 @@ public:
void refresh() {}
- void process_events();
+ void process_events() { _server_interface->process_events(); }
+
+ void restore_project(const std::string& directory);
+ void set_project_directory(const std::string& directory);
+ void save_project();
+ void close_project();
private:
- Patchage* _app;
- lash_client_t* _client;
- lash_args_t* _args;
+ Patchage* _app;
+ std::string _project_name;
+
+ lash_args_t* _args;
+ SharedPtr<Raul::LashServerInterface> _server_interface;
+
+ void on_project_add(const SharedPtr<Raul::LashProject> project);
+ void on_save_file(const std::string& directory);
+ void on_restore_file(const std::string& directory);
+ void on_quit();
void handle_event(lash_event_t* conf);
void handle_config(lash_config_t* conf);
diff --git a/src/Makefile.am b/src/Makefile.am
index 97973d4..d5f1ab1 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -1,5 +1,5 @@
AM_CXXFLAGS = -DPKGDATADIR=\"$(pkgdatadir)\" @LIBGLADEMM_CFLAGS@ @GNOMECANVASMM_CFLAGS@ @JACK_CFLAGS@ @ALSA_CFLAGS@ @LASH_CFLAGS@ @FLOWCANVAS_CFLAGS@ @RAUL_CFLAGS@
-patchage_LDADD = @LIBGLADEMM_LIBS@ @GNOMECANVASMM_LIBS@ @JACK_LIBS@ @ALSA_LIBS@ @LASH_LIBS@ @FLOWCANVAS_LIBS@ @RAUL_CFLAGS@
+patchage_LDADD = @LIBGLADEMM_LIBS@ @GNOMECANVASMM_LIBS@ @JACK_LIBS@ @ALSA_LIBS@ @LASH_LIBS@ @FLOWCANVAS_LIBS@ @RAUL_LIBS@
EXTRA_DIST = patchage.gladep
diff --git a/src/Patchage.cpp b/src/Patchage.cpp
index 4e48bb0..84d9024 100644
--- a/src/Patchage.cpp
+++ b/src/Patchage.cpp
@@ -129,14 +129,13 @@ Patchage::Patchage(int argc, char** argv)
xml->get_widget_derived("jack_settings_win", _jack_settings_dialog);
xml->get_widget("about_win", _about_window);
xml->get_widget("jack_settings_menuitem", _menu_jack_settings);
- xml->get_widget("launch_jack_menuitem", _menu_jack_launch);
xml->get_widget("connect_to_jack_menuitem", _menu_jack_connect);
xml->get_widget("disconnect_from_jack_menuitem", _menu_jack_disconnect);
#ifdef HAVE_LASH
xml->get_widget("open_session_menuitem", _menu_open_session);
xml->get_widget("save_session_menuitem", _menu_save_session);
xml->get_widget("save_session_as_menuitem", _menu_save_session_as);
- xml->get_widget("launch_lash_menuitem", _menu_lash_launch);
+ xml->get_widget("close_session_menuitem", _menu_close_session);
xml->get_widget("connect_to_lash_menuitem", _menu_lash_connect);
xml->get_widget("disconnect_from_lash_menuitem", _menu_lash_disconnect);
#endif
@@ -201,11 +200,8 @@ Patchage::Patchage(int argc, char** argv)
_menu_jack_settings->signal_activate().connect(
sigc::hide_return(sigc::mem_fun(_jack_settings_dialog, &JackSettingsDialog::run)));
- _menu_jack_launch->signal_activate().connect(sigc::bind(
- sigc::mem_fun(_jack_driver, &JackDriver::attach), true));
-
_menu_jack_connect->signal_activate().connect(sigc::bind(
- sigc::mem_fun(_jack_driver, &JackDriver::attach), false));
+ sigc::mem_fun(_jack_driver, &JackDriver::attach), true));
_menu_jack_disconnect->signal_activate().connect(sigc::mem_fun(_jack_driver, &JackDriver::detach));
@@ -213,7 +209,7 @@ Patchage::Patchage(int argc, char** argv)
_menu_open_session->signal_activate().connect( sigc::mem_fun(this, &Patchage::menu_open_session));
_menu_save_session->signal_activate().connect( sigc::mem_fun(this, &Patchage::menu_save_session));
_menu_save_session_as->signal_activate().connect(sigc::mem_fun(this, &Patchage::menu_save_session_as));
- _menu_lash_launch->signal_activate().connect( sigc::mem_fun(this, &Patchage::menu_lash_launch));
+ _menu_close_session->signal_activate().connect(sigc::mem_fun(this, &Patchage::menu_close_session));
_menu_lash_connect->signal_activate().connect( sigc::mem_fun(this, &Patchage::menu_lash_connect));
_menu_lash_disconnect->signal_activate().connect(sigc::mem_fun(this, &Patchage::menu_lash_disconnect));
#endif
@@ -474,15 +470,11 @@ Patchage::connect_widgets()
{
#ifdef HAVE_LASH
_lash_driver->signal_attached.connect(sigc::bind(
- sigc::mem_fun(_menu_lash_launch, &Gtk::MenuItem::set_sensitive), false));
- _lash_driver->signal_attached.connect(sigc::bind(
sigc::mem_fun(_menu_lash_connect, &Gtk::MenuItem::set_sensitive), false));
_lash_driver->signal_attached.connect(sigc::bind(
sigc::mem_fun(_menu_lash_disconnect, &Gtk::MenuItem::set_sensitive), true));
_lash_driver->signal_detached.connect(sigc::bind(
- sigc::mem_fun(_menu_lash_launch, &Gtk::MenuItem::set_sensitive), true));
- _lash_driver->signal_detached.connect(sigc::bind(
sigc::mem_fun(_menu_lash_connect, &Gtk::MenuItem::set_sensitive), true));
_lash_driver->signal_detached.connect(sigc::bind(
sigc::mem_fun(_menu_lash_disconnect, &Gtk::MenuItem::set_sensitive), false));
@@ -495,8 +487,6 @@ Patchage::connect_widgets()
sigc::mem_fun(_jack_connect_toggle, &Gtk::ToggleButton::set_active), true));
_jack_driver->signal_attached.connect(sigc::bind(
- sigc::mem_fun(_menu_jack_launch, &Gtk::MenuItem::set_sensitive), false));
- _jack_driver->signal_attached.connect(sigc::bind(
sigc::mem_fun(_menu_jack_connect, &Gtk::MenuItem::set_sensitive), false));
_jack_driver->signal_attached.connect(sigc::bind(
sigc::mem_fun(_menu_jack_disconnect, &Gtk::MenuItem::set_sensitive), true));
@@ -504,8 +494,6 @@ Patchage::connect_widgets()
_jack_driver->signal_detached.connect(sigc::bind(
sigc::mem_fun(_jack_connect_toggle, &Gtk::ToggleButton::set_active), false));
_jack_driver->signal_detached.connect(sigc::bind(
- sigc::mem_fun(_menu_jack_launch, &Gtk::MenuItem::set_sensitive), true));
- _jack_driver->signal_detached.connect(sigc::bind(
sigc::mem_fun(_menu_jack_connect, &Gtk::MenuItem::set_sensitive), true));
_jack_driver->signal_detached.connect(sigc::bind(
sigc::mem_fun(_menu_jack_disconnect, &Gtk::MenuItem::set_sensitive), false));
@@ -528,29 +516,61 @@ Patchage::connect_widgets()
void
Patchage::menu_open_session()
{
+ Gtk::FileChooserDialog dialog(*_main_window, "Open LASH Session",
+ Gtk::FILE_CHOOSER_ACTION_SELECT_FOLDER);
+
+ dialog.add_button(Gtk::Stock::CANCEL, Gtk::RESPONSE_CANCEL);
+ dialog.add_button(Gtk::Stock::OPEN, Gtk::RESPONSE_OK);
+
+ const int result = dialog.run();
+
+ if (result == Gtk::RESPONSE_OK) {
+ _lash_driver->restore_project(dialog.get_filename());
+ }
}
+
void
Patchage::menu_save_session()
{
+ if (_lash_driver)
+ _lash_driver->save_project();
}
+
void
Patchage::menu_save_session_as()
{
+ if (!_lash_driver)
+ return;
+
+ Gtk::FileChooserDialog dialog(*_main_window, "Save LASH Session",
+ Gtk::FILE_CHOOSER_ACTION_SAVE);
+
+ dialog.add_button(Gtk::Stock::CANCEL, Gtk::RESPONSE_CANCEL);
+ dialog.add_button(Gtk::Stock::SAVE, Gtk::RESPONSE_OK);
+
+ const int result = dialog.run();
+
+ if (result == Gtk::RESPONSE_OK) {
+ _lash_driver->set_project_directory(dialog.get_filename());
+ _lash_driver->save_project();
+ }
}
+
void
-Patchage::menu_lash_launch()
+Patchage::menu_close_session()
{
- _lash_driver->attach(true);
+ cerr << "CLOSE SESSION\n";
+ _lash_driver->close_project();
}
void
Patchage::menu_lash_connect()
{
- _lash_driver->attach(false);
+ _lash_driver->attach(true);
}
@@ -610,7 +630,6 @@ Patchage::on_pane_position_changed()
if (_pane_closed && new_position < max_pane_position()) {
// Auto open
_user_pane_position = new_position;
- cerr << "FOO\n";
_messages_expander->set_expanded(true);
_pane_closed = false;
_menu_view_messages->set_active(true);
diff --git a/src/Patchage.h b/src/Patchage.h
index 2c2c070..b240556 100644
--- a/src/Patchage.h
+++ b/src/Patchage.h
@@ -98,12 +98,14 @@ protected:
Gtk::MenuItem* _menu_open_session;
Gtk::MenuItem* _menu_save_session;
Gtk::MenuItem* _menu_save_session_as;
+ Gtk::MenuItem* _menu_close_session;
Gtk::MenuItem* _menu_lash_launch;
Gtk::MenuItem* _menu_lash_connect;
Gtk::MenuItem* _menu_lash_disconnect;
void menu_open_session();
void menu_save_session();
void menu_save_session_as();
+ void menu_close_session();
void menu_lash_launch();
void menu_lash_connect();
void menu_lash_disconnect();
diff --git a/src/patchage.glade b/src/patchage.glade
index 4e60be5..399d8fe 100644
--- a/src/patchage.glade
+++ b/src/patchage.glade
@@ -46,13 +46,13 @@
<child>
<widget class="GtkImageMenuItem" id="open_session_menuitem">
<property name="visible">True</property>
- <property name="label" translatable="yes">_Open Session</property>
+ <property name="label" translatable="yes">_Open Project</property>
<property name="use_underline">True</property>
<signal name="activate" handler="on_open_session_menuitem_activate" last_modification_time="Sun, 01 Oct 2006 07:00:37 GMT"/>
<accelerator key="O" modifiers="GDK_CONTROL_MASK" signal="activate"/>
<child internal-child="image">
- <widget class="GtkImage" id="image701">
+ <widget class="GtkImage" id="image759">
<property name="visible">True</property>
<property name="stock">gtk-open</property>
<property name="icon_size">1</property>
@@ -68,13 +68,13 @@
<child>
<widget class="GtkImageMenuItem" id="save_session_menuitem">
<property name="visible">True</property>
- <property name="label" translatable="yes">_Save Session</property>
+ <property name="label" translatable="yes">_Save Project</property>
<property name="use_underline">True</property>
<signal name="activate" handler="on_save_session_menuitem_activate" last_modification_time="Sun, 01 Oct 2006 07:01:40 GMT"/>
<accelerator key="S" modifiers="GDK_CONTROL_MASK" signal="activate"/>
<child internal-child="image">
- <widget class="GtkImage" id="image702">
+ <widget class="GtkImage" id="image760">
<property name="visible">True</property>
<property name="stock">gtk-save</property>
<property name="icon_size">1</property>
@@ -90,13 +90,13 @@
<child>
<widget class="GtkImageMenuItem" id="save_session_as_menuitem">
<property name="visible">True</property>
- <property name="label" translatable="yes">Save Session _As...</property>
+ <property name="label" translatable="yes">Save Project _As...</property>
<property name="use_underline">True</property>
<signal name="activate" handler="on_save_session_as_menuitem_activate" last_modification_time="Sun, 01 Oct 2006 07:01:40 GMT"/>
<accelerator key="S" modifiers="GDK_CONTROL_MASK | GDK_SHIFT_MASK" signal="activate"/>
<child internal-child="image">
- <widget class="GtkImage" id="image703">
+ <widget class="GtkImage" id="image761">
<property name="visible">True</property>
<property name="stock">gtk-save-as</property>
<property name="icon_size">1</property>
@@ -110,6 +110,27 @@
</child>
<child>
+ <widget class="GtkImageMenuItem" id="close_session_menuitem">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">_Close Project</property>
+ <property name="use_underline">True</property>
+ <signal name="activate" handler="on_close_session_menuitem_activate" last_modification_time="Fri, 06 Apr 2007 01:57:05 GMT"/>
+
+ <child internal-child="image">
+ <widget class="GtkImage" id="image762">
+ <property name="visible">True</property>
+ <property name="stock">gtk-close</property>
+ <property name="icon_size">1</property>
+ <property name="xalign">0.5</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ </widget>
+ </child>
+ </widget>
+ </child>
+
+ <child>
<widget class="GtkSeparatorMenuItem" id="separator5">
<property name="visible">True</property>
</widget>
@@ -124,7 +145,7 @@
<signal name="activate" handler="on_save_settings1_activate" last_modification_time="Mon, 13 Sep 2004 02:42:14 GMT"/>
<child internal-child="image">
- <widget class="GtkImage" id="image704">
+ <widget class="GtkImage" id="image763">
<property name="visible">True</property>
<property name="stock">gtk-save</property>
<property name="icon_size">1</property>
@@ -174,7 +195,7 @@
<accelerator key="P" modifiers="GDK_CONTROL_MASK" signal="activate"/>
<child internal-child="image">
- <widget class="GtkImage" id="image705">
+ <widget class="GtkImage" id="image764">
<property name="visible">True</property>
<property name="stock">gtk-preferences</property>
<property name="icon_size">1</property>
@@ -194,37 +215,15 @@
</child>
<child>
- <widget class="GtkImageMenuItem" id="launch_jack_menuitem">
- <property name="visible">True</property>
- <property name="label" translatable="yes">Connect to JACK (Launch)</property>
- <property name="use_underline">True</property>
- <signal name="activate" handler="on_launch_jack_menuitem_activate" last_modification_time="Wed, 05 Apr 2006 04:52:35 GMT"/>
- <accelerator key="J" modifiers="GDK_CONTROL_MASK | GDK_MOD1_MASK" signal="activate"/>
-
- <child internal-child="image">
- <widget class="GtkImage" id="image706">
- <property name="visible">True</property>
- <property name="stock">gtk-execute</property>
- <property name="icon_size">1</property>
- <property name="xalign">0.5</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- </widget>
- </child>
- </widget>
- </child>
-
- <child>
<widget class="GtkImageMenuItem" id="connect_to_jack_menuitem">
<property name="visible">True</property>
- <property name="label" translatable="yes">Connect to _JACK (Don't Launch)</property>
+ <property name="label" translatable="yes">Connect to _JACK</property>
<property name="use_underline">True</property>
<signal name="activate" handler="on_connect_to_jack_menuitem_activate" last_modification_time="Wed, 05 Apr 2006 04:27:40 GMT"/>
- <accelerator key="J" modifiers="GDK_MOD1_MASK" signal="activate"/>
+ <accelerator key="J" modifiers="GDK_CONTROL_MASK" signal="activate"/>
<child internal-child="image">
- <widget class="GtkImage" id="image707">
+ <widget class="GtkImage" id="image765">
<property name="visible">True</property>
<property name="stock">gtk-connect</property>
<property name="icon_size">1</property>
@@ -244,10 +243,10 @@
<property name="label" translatable="yes">Disconnect from JACK</property>
<property name="use_underline">True</property>
<signal name="activate" handler="on_disconnect_from_jack1_activate" last_modification_time="Sun, 21 May 2006 23:48:26 GMT"/>
- <accelerator key="J" modifiers="GDK_SHIFT_MASK | GDK_MOD1_MASK" signal="activate"/>
+ <accelerator key="J" modifiers="GDK_CONTROL_MASK | GDK_SHIFT_MASK" signal="activate"/>
<child internal-child="image">
- <widget class="GtkImage" id="image708">
+ <widget class="GtkImage" id="image766">
<property name="visible">True</property>
<property name="stock">gtk-disconnect</property>
<property name="icon_size">1</property>
@@ -272,10 +271,10 @@
<property name="label" translatable="yes">Connect to _ALSA</property>
<property name="use_underline">True</property>
<signal name="activate" handler="on_connect_to_alsa_menuitem_activate" last_modification_time="Mon, 22 May 2006 00:10:31 GMT"/>
- <accelerator key="A" modifiers="GDK_MOD1_MASK" signal="activate"/>
+ <accelerator key="A" modifiers="GDK_CONTROL_MASK" signal="activate"/>
<child internal-child="image">
- <widget class="GtkImage" id="image709">
+ <widget class="GtkImage" id="image767">
<property name="visible">True</property>
<property name="stock">gtk-connect</property>
<property name="icon_size">1</property>
@@ -295,10 +294,10 @@
<property name="label" translatable="yes">Disconnect from ALSA</property>
<property name="use_underline">True</property>
<signal name="activate" handler="on_disconnect_from_alsa_menuitem_activate" last_modification_time="Mon, 22 May 2006 00:10:31 GMT"/>
- <accelerator key="A" modifiers="GDK_SHIFT_MASK | GDK_MOD1_MASK" signal="activate"/>
+ <accelerator key="A" modifiers="GDK_CONTROL_MASK | GDK_SHIFT_MASK" signal="activate"/>
<child internal-child="image">
- <widget class="GtkImage" id="image710">
+ <widget class="GtkImage" id="image768">
<property name="visible">True</property>
<property name="stock">gtk-disconnect</property>
<property name="icon_size">1</property>
@@ -318,37 +317,15 @@
</child>
<child>
- <widget class="GtkImageMenuItem" id="launch_lash_menuitem">
- <property name="visible">True</property>
- <property name="label" translatable="yes">Connect to LASH (Launch)</property>
- <property name="use_underline">True</property>
- <signal name="activate" handler="on_launch_lash1_activate" last_modification_time="Mon, 22 May 2006 01:14:33 GMT"/>
- <accelerator key="L" modifiers="GDK_CONTROL_MASK | GDK_MOD1_MASK" signal="activate"/>
-
- <child internal-child="image">
- <widget class="GtkImage" id="image711">
- <property name="visible">True</property>
- <property name="stock">gtk-execute</property>
- <property name="icon_size">1</property>
- <property name="xalign">0.5</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- </widget>
- </child>
- </widget>
- </child>
-
- <child>
<widget class="GtkImageMenuItem" id="connect_to_lash_menuitem">
<property name="visible">True</property>
- <property name="label" translatable="yes">Connect to _LASH (Don't Launch)</property>
+ <property name="label" translatable="yes">Connect to _LASH</property>
<property name="use_underline">True</property>
<signal name="activate" handler="on_connect_to_lash1_activate" last_modification_time="Mon, 22 May 2006 01:14:33 GMT"/>
- <accelerator key="L" modifiers="GDK_MOD1_MASK" signal="activate"/>
+ <accelerator key="L" modifiers="GDK_CONTROL_MASK" signal="activate"/>
<child internal-child="image">
- <widget class="GtkImage" id="image712">
+ <widget class="GtkImage" id="image769">
<property name="visible">True</property>
<property name="stock">gtk-connect</property>
<property name="icon_size">1</property>
@@ -368,10 +345,10 @@
<property name="label" translatable="yes">Disconnect from LASH</property>
<property name="use_underline">True</property>
<signal name="activate" handler="on_disconnect_from_lash1_activate" last_modification_time="Mon, 22 May 2006 01:14:33 GMT"/>
- <accelerator key="L" modifiers="GDK_SHIFT_MASK | GDK_MOD1_MASK" signal="activate"/>
+ <accelerator key="L" modifiers="GDK_CONTROL_MASK | GDK_SHIFT_MASK" signal="activate"/>
<child internal-child="image">
- <widget class="GtkImage" id="image713">
+ <widget class="GtkImage" id="image770">
<property name="visible">True</property>
<property name="stock">gtk-disconnect</property>
<property name="icon_size">1</property>
@@ -404,6 +381,7 @@
<property name="use_underline">True</property>
<property name="active">True</property>
<signal name="activate" handler="on_view_jack_toolbar_menuitem_activate" last_modification_time="Thu, 15 Feb 2007 19:41:28 GMT"/>
+ <accelerator key="T" modifiers="GDK_CONTROL_MASK" signal="activate"/>
</widget>
</child>
@@ -428,7 +406,7 @@
<accelerator key="R" modifiers="GDK_CONTROL_MASK" signal="activate"/>
<child internal-child="image">
- <widget class="GtkImage" id="image714">
+ <widget class="GtkImage" id="image771">
<property name="visible">True</property>
<property name="stock">gtk-refresh</property>
<property name="icon_size">1</property>