'clear xruns and dsp load' is now also available from the menu

This commit is contained in:
Nedko Arnaudov 2010-02-21 22:24:39 +02:00
parent 44cdd3164c
commit fa67487ea8
4 changed files with 32 additions and 11 deletions

View File

@ -244,6 +244,14 @@
<object class="GtkMenu" id="menu1"> <object class="GtkMenu" id="menu1">
<property name="visible">True</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="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<child>
<object class="GtkImageMenuItem" id="menu_item_jack_clear">
<property name="visible">True</property>
<property name="related_action">clear_xruns_and_max_dsp_load_action</property>
<property name="use_action_appearance">True</property>
<property name="use_stock">True</property>
</object>
</child>
<child> <child>
<object class="GtkImageMenuItem" id="menu_item_jack_configure"> <object class="GtkImageMenuItem" id="menu_item_jack_configure">
<property name="label">_Configure JACK</property> <property name="label">_Configure JACK</property>
@ -386,9 +394,9 @@
<child> <child>
<object class="GtkToolButton" id="clear_load_button"> <object class="GtkToolButton" id="clear_load_button">
<property name="visible">True</property> <property name="visible">True</property>
<property name="sensitive">False</property> <property name="related_action">clear_xruns_and_max_dsp_load_action</property>
<property name="use_action_appearance">True</property>
<property name="label" translatable="yes">Clear XRuns</property> <property name="label" translatable="yes">Clear XRuns</property>
<property name="stock_id">gtk-clear</property>
</object> </object>
<packing> <packing>
<property name="expand">False</property> <property name="expand">False</property>
@ -1142,4 +1150,10 @@ along with LADI Session Handler; if not, write to the Free Software Foundation,
<action-widget response="2">button2</action-widget> <action-widget response="2">button2</action-widget>
</action-widgets> </action-widgets>
</object> </object>
<object class="GtkAction" id="clear_xruns_and_max_dsp_load_action">
<property name="label">Clear XRuns and Max DSP Load</property>
<property name="short_label">Clear</property>
<property name="stock_id">gtk-clear</property>
<property name="is_important">True</property>
</object>
</interface> </interface>

View File

@ -80,11 +80,11 @@ void uninit_gtk_builder(void)
g_object_unref(g_builder); g_object_unref(g_builder);
} }
GtkWidget * get_gtk_builder_widget(const char * name) GObject * get_gtk_builder_object(const char * name)
{ {
GtkWidget * ptr; GObject * ptr;
ptr = GTK_WIDGET(gtk_builder_get_object(g_builder, name)); ptr = gtk_builder_get_object(g_builder, name);
if (ptr == NULL) if (ptr == NULL)
{ {
@ -94,3 +94,8 @@ GtkWidget * get_gtk_builder_widget(const char * name)
return ptr; return ptr;
} }
GtkWidget * get_gtk_builder_widget(const char * name)
{
return GTK_WIDGET(get_gtk_builder_object(name));
}

View File

@ -30,5 +30,6 @@
bool init_gtk_builder(void); bool init_gtk_builder(void);
void uninit_gtk_builder(void); void uninit_gtk_builder(void);
GtkWidget * get_gtk_builder_widget(const char * name); GtkWidget * get_gtk_builder_widget(const char * name);
GObject * get_gtk_builder_object(const char * name);
#endif /* #ifndef GTK_BUILDER_H__E2BF7CFC_1B04_4160_9165_A1B433C6B3C2__INCLUDED */ #endif /* #ifndef GTK_BUILDER_H__E2BF7CFC_1B04_4160_9165_A1B433C6B3C2__INCLUDED */

View File

@ -52,7 +52,7 @@
GtkWidget * g_main_win; GtkWidget * g_main_win;
GtkWidget * g_clear_load_button; GtkAction * g_clear_load_and_max_dsp_action;
GtkStatusbar * g_statusbar; GtkStatusbar * g_statusbar;
GtkWidget * g_menu_item_new_studio; GtkWidget * g_menu_item_new_studio;
@ -345,7 +345,7 @@ static void update_load(void)
} }
} }
static void clear_load(void) static void clear_load_and_max_dsp(void)
{ {
jack_proxy_reset_xruns(); jack_proxy_reset_xruns();
g_jack_max_dsp_load = 0.0; g_jack_max_dsp_load = 0.0;
@ -989,7 +989,7 @@ void jack_started(void)
set_latency_items_sensivity(true); set_latency_items_sensivity(true);
update_buffer_size(true); update_buffer_size(true);
gtk_widget_set_sensitive(g_clear_load_button, true); gtk_action_set_sensitive(g_clear_load_and_max_dsp_action, true);
g_jack_poll_source_tag = g_timeout_add(100, poll_jack, NULL); g_jack_poll_source_tag = g_timeout_add(100, poll_jack, NULL);
} }
@ -1008,7 +1008,7 @@ void jack_stopped(void)
set_latency_items_sensivity(false); set_latency_items_sensivity(false);
buffer_size_clear(); buffer_size_clear();
gtk_widget_set_sensitive(g_clear_load_button, false); gtk_action_set_sensitive(g_clear_load_and_max_dsp_action, false);
} }
void jack_appeared(void) void jack_appeared(void)
@ -1209,7 +1209,7 @@ int main(int argc, char** argv)
} }
g_main_win = get_gtk_builder_widget("main_win"); g_main_win = get_gtk_builder_widget("main_win");
g_clear_load_button = get_gtk_builder_widget("clear_load_button"); g_clear_load_and_max_dsp_action = GTK_ACTION(get_gtk_builder_object("clear_xruns_and_max_dsp_load_action"));
g_menu_item_new_studio = get_gtk_builder_widget("menu_item_new_studio"); g_menu_item_new_studio = get_gtk_builder_widget("menu_item_new_studio");
g_menu_item_start_app = get_gtk_builder_widget("menu_item_start_app"); g_menu_item_start_app = get_gtk_builder_widget("menu_item_start_app");
g_menu_item_start_studio = get_gtk_builder_widget("menu_item_start_studio"); g_menu_item_start_studio = get_gtk_builder_widget("menu_item_start_studio");
@ -1301,7 +1301,6 @@ int main(int argc, char** argv)
g_signal_connect(G_OBJECT(g_main_win), "destroy", G_CALLBACK(gtk_main_quit), NULL); g_signal_connect(G_OBJECT(g_main_win), "destroy", G_CALLBACK(gtk_main_quit), NULL);
g_signal_connect(G_OBJECT(get_gtk_builder_widget("menu_item_quit")), "activate", G_CALLBACK(gtk_main_quit), NULL); g_signal_connect(G_OBJECT(get_gtk_builder_widget("menu_item_quit")), "activate", G_CALLBACK(gtk_main_quit), NULL);
g_signal_connect(G_OBJECT(g_clear_load_button), "clicked", G_CALLBACK(clear_load), NULL);
g_signal_connect(G_OBJECT(get_gtk_builder_widget("menu_item_view_arrange")), "activate", G_CALLBACK(arrange), NULL); g_signal_connect(G_OBJECT(get_gtk_builder_widget("menu_item_view_arrange")), "activate", G_CALLBACK(arrange), NULL);
g_signal_connect(G_OBJECT(g_menu_item_view_toolbar), "activate", G_CALLBACK(toggle_toolbar), NULL); g_signal_connect(G_OBJECT(g_menu_item_view_toolbar), "activate", G_CALLBACK(toggle_toolbar), NULL);
g_signal_connect(G_OBJECT(g_menu_item_new_studio), "activate", G_CALLBACK(new_studio), NULL); g_signal_connect(G_OBJECT(g_menu_item_new_studio), "activate", G_CALLBACK(new_studio), NULL);
@ -1326,6 +1325,8 @@ int main(int argc, char** argv)
g_signal_connect(G_OBJECT(g_menu_item_jack_latency_4096), "toggled", G_CALLBACK(buffer_size_change_request), (gpointer)4096); g_signal_connect(G_OBJECT(g_menu_item_jack_latency_4096), "toggled", G_CALLBACK(buffer_size_change_request), (gpointer)4096);
g_signal_connect(G_OBJECT(g_menu_item_jack_latency_8192), "toggled", G_CALLBACK(buffer_size_change_request), (gpointer)8192); g_signal_connect(G_OBJECT(g_menu_item_jack_latency_8192), "toggled", G_CALLBACK(buffer_size_change_request), (gpointer)8192);
g_signal_connect(G_OBJECT(g_clear_load_and_max_dsp_action), "activate", G_CALLBACK(clear_load_and_max_dsp), NULL);
gtk_widget_show(g_main_win); gtk_widget_show(g_main_win);
//_about_win->set_transient_for(*_main_win); //_about_win->set_transient_for(*_main_win);