gladish: add menu items for reactivating jackdbus and a2jmidid. Fixes #132
This commit is contained in:
parent
6a58ad88a4
commit
8ff8613dc7
|
@ -127,13 +127,13 @@ void control_proxy_on_studio_disappeared(void)
|
||||||
destroy_studio_view();
|
destroy_studio_view();
|
||||||
}
|
}
|
||||||
|
|
||||||
void menu_request_daemon_exit(void)
|
void menu_request_ladishd_exit(void)
|
||||||
{
|
{
|
||||||
log_info("Daemon exit request");
|
log_info("ladishd exit request");
|
||||||
|
|
||||||
if (!control_proxy_exit())
|
if (!control_proxy_exit())
|
||||||
{
|
{
|
||||||
error_message_box(_("Daemon exit command failed, please inspect logs."));
|
error_message_box(_("ladishd exit command failed, please inspect logs."));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -328,7 +328,7 @@
|
||||||
</object>
|
</object>
|
||||||
</child>
|
</child>
|
||||||
<child>
|
<child>
|
||||||
<object class="GtkImageMenuItem" id="menu_item_daemon_exit">
|
<object class="GtkImageMenuItem" id="menu_item_ladishd_exit">
|
||||||
<property name="label" translatable="yes">Reactivate ladishd</property>
|
<property name="label" translatable="yes">Reactivate ladishd</property>
|
||||||
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
|
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
|
||||||
<property name="image">image_reactivate_ladishd</property>
|
<property name="image">image_reactivate_ladishd</property>
|
||||||
|
@ -336,6 +336,24 @@
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
</object>
|
</object>
|
||||||
</child>
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkImageMenuItem" id="menu_item_jackdbus_exit">
|
||||||
|
<property name="label" translatable="yes">Reactivate jackdbus</property>
|
||||||
|
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
|
||||||
|
<property name="image">image_reactivate_jackdbus</property>
|
||||||
|
<property name="use_stock">False</property>
|
||||||
|
<property name="visible">True</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkImageMenuItem" id="menu_item_a2jmidid_exit">
|
||||||
|
<property name="label" translatable="yes">Reactivate a2jmidid</property>
|
||||||
|
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
|
||||||
|
<property name="image">image_reactivate_a2jmidid</property>
|
||||||
|
<property name="use_stock">False</property>
|
||||||
|
<property name="visible">True</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
<child>
|
<child>
|
||||||
<object class="GtkMenuItem" id="menu_item_jack_latency">
|
<object class="GtkMenuItem" id="menu_item_jack_latency">
|
||||||
<property name="label" translatable="yes">JACK _Latency</property>
|
<property name="label" translatable="yes">JACK _Latency</property>
|
||||||
|
@ -1343,6 +1361,14 @@ along with LADI Session Handler; if not, write to the Free Software Foundation,
|
||||||
<property name="stock">gtk-refresh</property>
|
<property name="stock">gtk-refresh</property>
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
</object>
|
</object>
|
||||||
|
<object class="GtkImage" id="image_reactivate_jackdbus">
|
||||||
|
<property name="stock">gtk-refresh</property>
|
||||||
|
<property name="visible">True</property>
|
||||||
|
</object>
|
||||||
|
<object class="GtkImage" id="image_reactivate_a2jmidid">
|
||||||
|
<property name="stock">gtk-refresh</property>
|
||||||
|
<property name="visible">True</property>
|
||||||
|
</object>
|
||||||
<object class="GtkImage" id="image_arrange_canvas">
|
<object class="GtkImage" id="image_arrange_canvas">
|
||||||
<property name="stock">gtk-sort-ascending</property>
|
<property name="stock">gtk-sort-ascending</property>
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
|
|
42
gui/jack.c
42
gui/jack.c
|
@ -33,7 +33,9 @@
|
||||||
#include "statusbar.h"
|
#include "statusbar.h"
|
||||||
#include "action.h"
|
#include "action.h"
|
||||||
#include "../proxies/jack_proxy.h"
|
#include "../proxies/jack_proxy.h"
|
||||||
|
#include "../proxies/a2j_proxy.h"
|
||||||
#include "gtk_builder.h"
|
#include "gtk_builder.h"
|
||||||
|
#include "ask_dialog.h"
|
||||||
|
|
||||||
/* JACK states */
|
/* JACK states */
|
||||||
#define JACK_STATE_NA 0
|
#define JACK_STATE_NA 0
|
||||||
|
@ -237,6 +239,46 @@ void menu_request_jack_latency_change(uint32_t buffer_size)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void menu_request_jackdbus_exit(void)
|
||||||
|
{
|
||||||
|
bool result;
|
||||||
|
|
||||||
|
log_info("jackdbus exit request");
|
||||||
|
|
||||||
|
if (g_jack_state == JACK_STATE_STARTED)
|
||||||
|
{
|
||||||
|
if (!ask_dialog(&result, _("<b><big>Are you sure</big></b>"), _("jackdbus will be reactivated. Are you sure?")) || !result)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!jack_proxy_exit())
|
||||||
|
{
|
||||||
|
error_message_box(_("jackdbus exit command failed, please inspect logs."));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void menu_request_a2jmidid_exit(void)
|
||||||
|
{
|
||||||
|
bool result;
|
||||||
|
|
||||||
|
log_info("a2jmidid exit request");
|
||||||
|
|
||||||
|
if (g_jack_state == JACK_STATE_STARTED)
|
||||||
|
{
|
||||||
|
if (!ask_dialog(&result, _("<b><big>Are you sure</big></b>"), _("a2jmidid will be reactivated. Are you sure?")) || !result)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!a2j_proxy_exit())
|
||||||
|
{
|
||||||
|
error_message_box(_("a2jmidid exit command failed, please inspect logs."));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void menu_request_jack_configure(void)
|
void menu_request_jack_configure(void)
|
||||||
{
|
{
|
||||||
GError * error_ptr;
|
GError * error_ptr;
|
||||||
|
|
|
@ -29,6 +29,7 @@
|
||||||
#include "gtk_builder.h"
|
#include "gtk_builder.h"
|
||||||
#include "canvas.h"
|
#include "canvas.h"
|
||||||
#include "../proxies/control_proxy.h"
|
#include "../proxies/control_proxy.h"
|
||||||
|
#include "../proxies/a2j_proxy.h"
|
||||||
#include "world_tree.h"
|
#include "world_tree.h"
|
||||||
#include "graph_view.h"
|
#include "graph_view.h"
|
||||||
#include "../common/catdup.h"
|
#include "../common/catdup.h"
|
||||||
|
@ -165,6 +166,11 @@ int main(int argc, char** argv)
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!a2j_proxy_init())
|
||||||
|
{
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
if (!control_proxy_init())
|
if (!control_proxy_init())
|
||||||
{
|
{
|
||||||
return 1;
|
return 1;
|
||||||
|
@ -189,6 +195,7 @@ int main(int argc, char** argv)
|
||||||
|
|
||||||
studio_proxy_uninit();
|
studio_proxy_uninit();
|
||||||
control_proxy_uninit();
|
control_proxy_uninit();
|
||||||
|
a2j_proxy_uninit();
|
||||||
uninit_jack();
|
uninit_jack();
|
||||||
menu_uninit();
|
menu_uninit();
|
||||||
create_room_dialog_uninit();
|
create_room_dialog_uninit();
|
||||||
|
|
12
gui/menu.c
12
gui/menu.c
|
@ -41,7 +41,9 @@ static GtkWidget * g_menu_item_rename_studio;
|
||||||
static GtkWidget * g_menu_item_create_room;
|
static GtkWidget * g_menu_item_create_room;
|
||||||
static GtkWidget * g_menu_item_destroy_room;
|
static GtkWidget * g_menu_item_destroy_room;
|
||||||
static GtkWidget * g_menu_item_project;
|
static GtkWidget * g_menu_item_project;
|
||||||
static GtkWidget * g_menu_item_daemon_exit;
|
static GtkWidget * g_menu_item_ladishd_exit;
|
||||||
|
static GtkWidget * g_menu_item_jackdbus_exit;
|
||||||
|
static GtkWidget * g_menu_item_a2jmidid_exit;
|
||||||
static GtkWidget * g_menu_item_jack_configure;
|
static GtkWidget * g_menu_item_jack_configure;
|
||||||
static GtkWidget * g_menu_item_settings;
|
static GtkWidget * g_menu_item_settings;
|
||||||
static GtkCheckMenuItem * g_menu_item_jack_latency_32;
|
static GtkCheckMenuItem * g_menu_item_jack_latency_32;
|
||||||
|
@ -177,7 +179,9 @@ bool menu_init(void)
|
||||||
g_menu_item_create_room = get_gtk_builder_widget("menu_item_create_room");
|
g_menu_item_create_room = get_gtk_builder_widget("menu_item_create_room");
|
||||||
g_menu_item_destroy_room = get_gtk_builder_widget("menu_item_destroy_room");
|
g_menu_item_destroy_room = get_gtk_builder_widget("menu_item_destroy_room");
|
||||||
g_menu_item_project = get_gtk_builder_widget("project_menu_item");
|
g_menu_item_project = get_gtk_builder_widget("project_menu_item");
|
||||||
g_menu_item_daemon_exit = get_gtk_builder_widget("menu_item_daemon_exit");
|
g_menu_item_ladishd_exit = get_gtk_builder_widget("menu_item_ladishd_exit");
|
||||||
|
g_menu_item_jackdbus_exit = get_gtk_builder_widget("menu_item_jackdbus_exit");
|
||||||
|
g_menu_item_a2jmidid_exit = get_gtk_builder_widget("menu_item_a2jmidid_exit");
|
||||||
g_menu_item_jack_configure = get_gtk_builder_widget("menu_item_jack_configure");
|
g_menu_item_jack_configure = get_gtk_builder_widget("menu_item_jack_configure");
|
||||||
g_menu_item_settings = get_gtk_builder_widget("menu_item_settings");
|
g_menu_item_settings = get_gtk_builder_widget("menu_item_settings");
|
||||||
g_menu_item_view_toolbar = get_gtk_builder_widget("menu_item_view_toolbar");
|
g_menu_item_view_toolbar = get_gtk_builder_widget("menu_item_view_toolbar");
|
||||||
|
@ -203,7 +207,9 @@ bool menu_init(void)
|
||||||
g_signal_connect(G_OBJECT(g_menu_item_save_studio), "activate", G_CALLBACK(menu_request_save_studio), NULL);
|
g_signal_connect(G_OBJECT(g_menu_item_save_studio), "activate", G_CALLBACK(menu_request_save_studio), NULL);
|
||||||
g_signal_connect(G_OBJECT(g_menu_item_save_as_studio), "activate", G_CALLBACK(menu_request_save_as_studio), NULL);
|
g_signal_connect(G_OBJECT(g_menu_item_save_as_studio), "activate", G_CALLBACK(menu_request_save_as_studio), NULL);
|
||||||
g_signal_connect(G_OBJECT(g_menu_item_rename_studio), "activate", G_CALLBACK(menu_request_rename_studio), NULL);
|
g_signal_connect(G_OBJECT(g_menu_item_rename_studio), "activate", G_CALLBACK(menu_request_rename_studio), NULL);
|
||||||
g_signal_connect(G_OBJECT(g_menu_item_daemon_exit), "activate", G_CALLBACK(menu_request_daemon_exit), NULL);
|
g_signal_connect(G_OBJECT(g_menu_item_ladishd_exit), "activate", G_CALLBACK(menu_request_ladishd_exit), NULL);
|
||||||
|
g_signal_connect(G_OBJECT(g_menu_item_jackdbus_exit), "activate", G_CALLBACK(menu_request_jackdbus_exit), NULL);
|
||||||
|
g_signal_connect(G_OBJECT(g_menu_item_a2jmidid_exit), "activate", G_CALLBACK(menu_request_a2jmidid_exit), NULL);
|
||||||
g_signal_connect(G_OBJECT(g_menu_item_jack_configure), "activate", G_CALLBACK(menu_request_jack_configure), NULL);
|
g_signal_connect(G_OBJECT(g_menu_item_jack_configure), "activate", G_CALLBACK(menu_request_jack_configure), NULL);
|
||||||
g_signal_connect(G_OBJECT(g_menu_item_settings), "activate", G_CALLBACK(menu_request_settings), NULL);
|
g_signal_connect(G_OBJECT(g_menu_item_settings), "activate", G_CALLBACK(menu_request_settings), NULL);
|
||||||
g_signal_connect(G_OBJECT(g_menu_item_start_app), "activate", G_CALLBACK(menu_request_start_app), NULL);
|
g_signal_connect(G_OBJECT(g_menu_item_start_app), "activate", G_CALLBACK(menu_request_start_app), NULL);
|
||||||
|
|
|
@ -39,7 +39,9 @@ void menu_set_toolbar_visibility(bool visible);
|
||||||
void menu_view_activated(bool room);
|
void menu_view_activated(bool room);
|
||||||
void fill_view_popup_menu(GtkMenu * menu, graph_view_handle view);
|
void fill_view_popup_menu(GtkMenu * menu, graph_view_handle view);
|
||||||
|
|
||||||
void menu_request_daemon_exit(void);
|
void menu_request_ladishd_exit(void);
|
||||||
|
void menu_request_jackdbus_exit(void);
|
||||||
|
void menu_request_a2jmidid_exit(void);
|
||||||
void menu_request_jack_configure(void);
|
void menu_request_jack_configure(void);
|
||||||
void menu_request_settings(void);
|
void menu_request_settings(void);
|
||||||
void menu_request_save_studio(void);
|
void menu_request_save_studio(void);
|
||||||
|
|
|
@ -254,3 +254,14 @@ bool a2j_proxy_stop_bridge(void)
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool a2j_proxy_exit(void)
|
||||||
|
{
|
||||||
|
if (!dbus_call(0, A2J_SERVICE, A2J_OBJECT, A2J_IFACE_CONTROL, "exit", "", ""))
|
||||||
|
{
|
||||||
|
log_error("exit() failed.");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
|
@ -45,4 +45,6 @@ bool a2j_proxy_is_started(void);
|
||||||
bool a2j_proxy_start_bridge(void);
|
bool a2j_proxy_start_bridge(void);
|
||||||
bool a2j_proxy_stop_bridge(void);
|
bool a2j_proxy_stop_bridge(void);
|
||||||
|
|
||||||
|
bool a2j_proxy_exit(void);
|
||||||
|
|
||||||
#endif // #ifndef A2J_PROXY_HPP__24525CB1_8AED_4697_8C56_5C57473839CC__INCLUDED
|
#endif // #ifndef A2J_PROXY_HPP__24525CB1_8AED_4697_8C56_5C57473839CC__INCLUDED
|
||||||
|
|
|
@ -628,3 +628,14 @@ bool jack_reset_all_params(void)
|
||||||
|
|
||||||
return jack_proxy_read_conf_container(address, NULL, reset_callback);
|
return jack_proxy_read_conf_container(address, NULL, reset_callback);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool jack_proxy_exit(void)
|
||||||
|
{
|
||||||
|
if (!dbus_call(0, JACKDBUS_SERVICE_NAME, JACKDBUS_OBJECT_PATH, JACKDBUS_IFACE_CONTROL, "Exit", "", ""))
|
||||||
|
{
|
||||||
|
log_error("Exit() failed.");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
|
@ -135,4 +135,6 @@ jack_proxy_reset_parameter_value(
|
||||||
|
|
||||||
bool jack_reset_all_params(void);
|
bool jack_reset_all_params(void);
|
||||||
|
|
||||||
|
bool jack_proxy_exit(void);
|
||||||
|
|
||||||
#endif /* #ifndef JACK_PROXY_H__88702EEC_4B82_407F_A664_AD70C1E14D02__INCLUDED */
|
#endif /* #ifndef JACK_PROXY_H__88702EEC_4B82_407F_A664_AD70C1E14D02__INCLUDED */
|
||||||
|
|
Loading…
Reference in New Issue