Changeset 0f5da82ae8555ee792aae824333798de930e1f68
- Timestamp:
- 02/20/10 01:52:49 (3 years ago)
- Author:
- Nedko Arnaudov <nedko@…>
- Children:
- 97f4150664c833e181971788d8f58962f4b5e66d
- Parents:
- 42429315c5e0fc08b65a7fd8c942ec869de639ae
- git-committer:
- Nedko Arnaudov <nedko@arnaudov.name> / 2010-02-20T01:52:49Z+0200
- Message:
-
sample rate and latency display in statusbar
- Location:
- gui
- Files:
-
Legend:
- Unmodified
- Added
- Removed
-
|
r4242931
|
r0f5da82
|
|
| 385 | 385 | <property name="icon_size_set">True</property> |
| 386 | 386 | <child> |
| 387 | | <object class="GtkToolItem" id="toolitem28"> |
| 388 | | <property name="visible">True</property> |
| 389 | | <property name="visible_vertical">False</property> |
| 390 | | <child> |
| 391 | | <object class="GtkHBox" id="hbox4"> |
| 392 | | <property name="visible">True</property> |
| 393 | | <child> |
| 394 | | <object class="GtkLabel" id="sample_rate_label"> |
| 395 | | <property name="visible">True</property> |
| 396 | | <property name="label" translatable="yes">48</property> |
| 397 | | </object> |
| 398 | | <packing> |
| 399 | | <property name="expand">False</property> |
| 400 | | <property name="fill">False</property> |
| 401 | | <property name="padding">1</property> |
| 402 | | <property name="position">0</property> |
| 403 | | </packing> |
| 404 | | </child> |
| 405 | | <child> |
| 406 | | <object class="GtkLabel" id="label9"> |
| 407 | | <property name="visible">True</property> |
| 408 | | <property name="xpad">1</property> |
| 409 | | <property name="label" translatable="yes">kHz</property> |
| 410 | | </object> |
| 411 | | <packing> |
| 412 | | <property name="expand">False</property> |
| 413 | | <property name="fill">False</property> |
| 414 | | <property name="position">1</property> |
| 415 | | </packing> |
| 416 | | </child> |
| 417 | | </object> |
| 418 | | </child> |
| 419 | | </object> |
| 420 | | <packing> |
| 421 | | <property name="expand">False</property> |
| 422 | | </packing> |
| 423 | | </child> |
| 424 | | <child> |
| 425 | | <object class="GtkSeparatorToolItem" id="separatortoolitem3"> |
| 426 | | <property name="visible">True</property> |
| 427 | | <property name="border_width">8</property> |
| 428 | | </object> |
| 429 | | <packing> |
| 430 | | <property name="expand">False</property> |
| 431 | | </packing> |
| 432 | | </child> |
| 433 | | <child> |
| 434 | 387 | <object class="GtkToolButton" id="clear_load_button"> |
| 435 | 388 | <property name="visible">True</property> |
-
|
r4242931
|
r0f5da82
|
|
| 55 | 55 | GtkWidget * g_clear_load_button; |
| 56 | 56 | GtkWidget * g_xrun_progress_bar; |
| | 57 | GtkStatusbar * g_statusbar; |
| 57 | 58 | |
| 58 | 59 | GtkWidget * g_menu_item_new_studio; |
| … |
… |
|
| 87 | 88 | GtkWidget * g_app_dialog; |
| 88 | 89 | |
| | 90 | GtkWidget * g_sample_rate_label; |
| | 91 | uint32_t g_sample_rate; |
| | 92 | |
| | 93 | GtkWidget * g_latency_label; |
| | 94 | |
| 89 | 95 | graph_view_handle g_jack_view = NULL; |
| 90 | 96 | graph_view_handle g_studio_view = NULL; |
| … |
… |
|
| 167 | 173 | { |
| 168 | 174 | set_latency_items_sensivity(false); |
| | 175 | gtk_label_set_text(GTK_LABEL(g_latency_label), ""); |
| 169 | 176 | } |
| 170 | 177 | |
| 171 | 178 | static bool latency_changing = false; |
| 172 | 179 | |
| 173 | | static void buffer_size_set(uint32_t size) |
| | 180 | static void buffer_size_set(uint32_t size, bool force) |
| 174 | 181 | { |
| 175 | 182 | GtkCheckMenuItem * item_ptr; |
| … |
… |
|
| 210 | 217 | } |
| 211 | 218 | |
| 212 | | if (!item_ptr->active) |
| | 219 | if (force || !item_ptr->active) |
| 213 | 220 | { |
| 214 | 221 | log_info("JACK latency changed: %"PRIu32" samples", size); |
| … |
… |
|
| 216 | 223 | gtk_check_menu_item_set_active(item_ptr, TRUE); |
| 217 | 224 | latency_changing = false; |
| | 225 | |
| | 226 | { |
| | 227 | char buf[100]; |
| | 228 | snprintf(buf, sizeof(buf), "Latency: %4.1f ms (%"PRIu32")", (float)size / (float)g_sample_rate * 1000.0f, size); |
| | 229 | gtk_label_set_text(GTK_LABEL(g_latency_label), buf); |
| | 230 | } |
| 218 | 231 | } |
| 219 | 232 | } |
| … |
… |
|
| 243 | 256 | } |
| 244 | 257 | |
| 245 | | static void update_buffer_size(void) |
| | 258 | static void update_buffer_size(bool force) |
| 246 | 259 | { |
| 247 | 260 | uint32_t size; |
| … |
… |
|
| 249 | 262 | if (jack_proxy_get_buffer_size(&size)) |
| 250 | 263 | { |
| 251 | | buffer_size_set(size); |
| | 264 | buffer_size_set(size, force); |
| 252 | 265 | } |
| 253 | 266 | else |
| … |
… |
|
| 632 | 645 | { |
| 633 | 646 | update_load(); |
| 634 | | update_buffer_size(); |
| | 647 | update_buffer_size(false); |
| 635 | 648 | |
| 636 | 649 | return TRUE; |
| … |
… |
|
| 739 | 752 | gtk_tool_item_set_tooltip_text(GTK_TOOL_ITEM(g_status_tool_item), tooltip); |
| 740 | 753 | |
| | 754 | if (g_jack_state == JACK_STATE_STARTED && jack_proxy_sample_rate(&g_sample_rate)) |
| | 755 | { |
| | 756 | char buf[100]; |
| | 757 | |
| | 758 | if (fmod(g_sample_rate, 1000.0) != 0.0) |
| | 759 | { |
| | 760 | snprintf(buf, sizeof(buf), "Sample rate: %.1f kHz", (float)g_sample_rate / 1000.0f); |
| | 761 | } |
| | 762 | else |
| | 763 | { |
| | 764 | snprintf(buf, sizeof(buf), "Sample rate: %u kHz", g_sample_rate / 1000); |
| | 765 | } |
| | 766 | |
| | 767 | gtk_label_set_text(GTK_LABEL(g_sample_rate_label), buf); |
| | 768 | } |
| | 769 | else |
| | 770 | { |
| | 771 | gtk_label_set_text(GTK_LABEL(g_sample_rate_label), ""); |
| | 772 | } |
| | 773 | |
| 741 | 774 | if (buffer == NULL) |
| 742 | 775 | { |
| … |
… |
|
| 883 | 916 | |
| 884 | 917 | set_latency_items_sensivity(true); |
| | 918 | update_buffer_size(true); |
| 885 | 919 | gtk_widget_set_sensitive(g_clear_load_button, true); |
| 886 | 920 | |
| … |
… |
|
| 1131 | 1165 | g_status_image = get_gtk_builder_widget("startstop"); |
| 1132 | 1166 | g_status_tool_item = get_gtk_builder_widget("startstop_item"); |
| | 1167 | g_statusbar = GTK_STATUSBAR(get_gtk_builder_widget("statusbar")); |
| 1133 | 1168 | |
| 1134 | 1169 | g_name_dialog = get_gtk_builder_widget("name_dialog"); |
| … |
… |
|
| 1147 | 1182 | g_menu_item_jack_latency_4096 = GTK_CHECK_MENU_ITEM(get_gtk_builder_widget("menu_item_jack_latency_4096")); |
| 1148 | 1183 | g_menu_item_jack_latency_8192 = GTK_CHECK_MENU_ITEM(get_gtk_builder_widget("menu_item_jack_latency_8192")); |
| | 1184 | |
| | 1185 | g_sample_rate_label = gtk_label_new("srate"); |
| | 1186 | gtk_widget_show(g_sample_rate_label); |
| | 1187 | gtk_box_pack_start(GTK_BOX(g_statusbar), g_sample_rate_label, FALSE, TRUE, 10); |
| | 1188 | gtk_box_reorder_child(GTK_BOX(g_statusbar), g_sample_rate_label, 0); |
| | 1189 | |
| | 1190 | g_latency_label = gtk_label_new("latency"); |
| | 1191 | gtk_widget_show(g_latency_label); |
| | 1192 | gtk_box_pack_start(GTK_BOX(g_statusbar), g_latency_label, FALSE, TRUE, 10); |
| | 1193 | gtk_box_reorder_child(GTK_BOX(g_statusbar), g_latency_label, 1); |
| 1149 | 1194 | |
| 1150 | 1195 | buffer_size_clear(); |