Changeset 97f4150664c833e181971788d8f58962f4b5e66d

Show
Ignore:
Timestamp:
02/20/10 03:09:37 (5 months ago)
Author:
Nedko Arnaudov <nedko@…>
Children:
44cdd3164cb959ab9418ac310b52388d8cc96ca7
Parents:
0f5da82ae8555ee792aae824333798de930e1f68
git-committer:
Nedko Arnaudov <nedko@arnaudov.name> / 2010-02-20T03:09:37Z+0200
Message:

gui: move rest the status widgets to statusbar

Location:
gui
Files:
2 modified

Legend:

Unmodified
Added
Removed
  • gui/gladish.ui

    r0f5da82 r97f4150  
    388388                <property name="visible">True</property> 
    389389                <property name="sensitive">False</property> 
     390                <property name="label" translatable="yes">Clear XRuns</property> 
    390391                <property name="stock_id">gtk-clear</property> 
    391392              </object> 
     
    396397            </child> 
    397398            <child> 
    398               <object class="GtkToolItem" id="toolitem30"> 
    399                 <property name="visible">True</property> 
    400                 <child> 
    401                   <object class="GtkAlignment" id="alignment3"> 
    402                     <property name="visible">True</property> 
    403                     <property name="yscale">0</property> 
    404                     <child> 
    405                       <object class="GtkProgressBar" id="xrun_progress_bar"> 
    406                         <property name="visible">True</property> 
    407                         <property name="pulse_step">0.10000000149</property> 
    408                         <property name="text" translatable="yes">Stopped</property> 
    409                       </object> 
    410                     </child> 
    411                   </object> 
    412                 </child> 
    413               </object> 
    414               <packing> 
    415                 <property name="expand">False</property> 
    416               </packing> 
    417             </child> 
    418             <child> 
    419               <object class="GtkSeparatorToolItem" id="toolbutton1"> 
    420                 <property name="visible">True</property> 
    421                 <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> 
    422               </object> 
    423               <packing> 
    424                 <property name="expand">False</property> 
    425               </packing> 
    426             </child> 
    427             <child> 
    428               <object class="GtkToolItem" id="toolitem_studio"> 
    429                 <property name="visible">True</property> 
    430                 <property name="border_width">1</property> 
    431                 <child> 
    432                   <object class="GtkViewport" id="viewport1"> 
    433                     <property name="visible">True</property> 
    434                     <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> 
    435                     <property name="resize_mode">queue</property> 
    436                     <child> 
    437                       <object class="GtkLabel" id="studio_status_label"> 
    438                         <property name="width_request">150</property> 
    439                         <property name="visible">True</property> 
    440                         <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> 
    441                         <property name="label" translatable="yes">No studio loaded</property> 
    442                         <property name="use_markup">True</property> 
    443                       </object> 
    444                     </child> 
    445                   </object> 
    446                 </child> 
    447               </object> 
    448               <packing> 
    449                 <property name="expand">False</property> 
    450               </packing> 
    451             </child> 
    452             <child> 
    453               <object class="GtkSeparatorToolItem" id="toolbutton4"> 
    454                 <property name="visible">True</property> 
    455                 <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> 
    456               </object> 
    457               <packing> 
    458                 <property name="expand">False</property> 
    459               </packing> 
    460             </child> 
    461             <child> 
    462399              <object class="GtkToolButton" id="zoom_normal_but"> 
    463400                <property name="visible">True</property> 
     
    475412                <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> 
    476413                <property name="stock_id">gtk-zoom-fit</property> 
    477               </object> 
    478               <packing> 
    479                 <property name="expand">False</property> 
    480                 <property name="homogeneous">True</property> 
    481               </packing> 
    482             </child> 
    483             <child> 
    484               <object class="GtkSeparatorToolItem" id="separatortoolitem1"> 
    485                 <property name="visible">True</property> 
    486               </object> 
    487               <packing> 
    488                 <property name="expand">False</property> 
    489               </packing> 
    490             </child> 
    491             <child> 
    492               <object class="GtkToolItem" id="startstop_item"> 
    493                 <property name="visible">True</property> 
    494                 <child> 
    495                   <object class="GtkImage" id="startstop"> 
    496                     <property name="visible">True</property> 
    497                     <property name="stock">gtk-dialog-warning</property> 
    498                   </object> 
    499                 </child> 
    500414              </object> 
    501415              <packing> 
  • gui/main.c

    r0f5da82 r97f4150  
    5454 
    5555GtkWidget * g_clear_load_button; 
    56 GtkWidget * g_xrun_progress_bar; 
    5756GtkStatusbar * g_statusbar; 
    5857 
     
    8382GtkWidget * g_menu_item_start_app; 
    8483GtkWidget * g_status_image; 
    85 GtkWidget * g_status_tool_item; 
    8684 
    8785GtkWidget * g_name_dialog; 
     
    9290 
    9391GtkWidget * g_latency_label; 
     92GtkWidget * g_dsp_load_label; 
     93GtkWidget * g_xruns_label; 
    9494 
    9595graph_view_handle g_jack_view = NULL; 
     
    226226    { 
    227227      char buf[100]; 
    228       snprintf(buf, sizeof(buf), "Latency: %4.1f ms (%"PRIu32")", (float)size / (float)g_sample_rate * 1000.0f, size); 
     228      snprintf(buf, sizeof(buf), "%4.1f ms (%"PRIu32")", (float)size / (float)g_sample_rate * 1000.0f, size); 
    229229      gtk_label_set_text(GTK_LABEL(g_latency_label), buf); 
    230230    } 
     
    276276  char tmp_buf[100]; 
    277277 
    278   if (!jack_proxy_get_xruns(&xruns) || !jack_proxy_get_dsp_load(&load)) 
    279   { 
    280     gtk_progress_bar_set_text(GTK_PROGRESS_BAR(g_xrun_progress_bar), "error"); 
    281     gtk_progress_bar_set_fraction(GTK_PROGRESS_BAR(g_xrun_progress_bar), 0.0); 
    282   } 
    283  
    284   snprintf(tmp_buf, sizeof(tmp_buf), "%" PRIu32 " Dropouts", xruns); 
    285   gtk_progress_bar_set_text(GTK_PROGRESS_BAR(g_xrun_progress_bar), tmp_buf); 
    286  
    287   load /= 100.0;           // dbus returns it in percents, we use 0..1 
    288  
    289   if (load > g_jack_max_dsp_load) 
    290   { 
    291     g_jack_max_dsp_load = load; 
    292     gtk_progress_bar_set_fraction(GTK_PROGRESS_BAR(g_xrun_progress_bar), load); 
     278  if (jack_proxy_get_xruns(&xruns)) 
     279  { 
     280    snprintf(tmp_buf, sizeof(tmp_buf), "%" PRIu32 " dropouts", xruns); 
     281    gtk_label_set_text(GTK_LABEL(g_xruns_label), tmp_buf); 
     282  } 
     283  else 
     284  { 
     285    gtk_label_set_text(GTK_LABEL(g_xruns_label), "?"); 
     286  } 
     287 
     288  if (jack_proxy_get_dsp_load(&load)) 
     289  { 
     290    if (load > g_jack_max_dsp_load) 
     291    { 
     292      g_jack_max_dsp_load = load; 
     293    } 
     294 
     295    snprintf(tmp_buf, sizeof(tmp_buf), "DSP: %5.1f%% (%5.1f%%)", (float)load, (float)g_jack_max_dsp_load); 
     296    gtk_label_set_text(GTK_LABEL(g_dsp_load_label), tmp_buf); 
     297  } 
     298  else 
     299  { 
     300    gtk_label_set_text(GTK_LABEL(g_xruns_label), "?"); 
    293301  } 
    294302} 
     
    298306  jack_proxy_reset_xruns(); 
    299307  g_jack_max_dsp_load = 0.0; 
    300   gtk_progress_bar_set_fraction(GTK_PROGRESS_BAR(g_xrun_progress_bar), 0.0); 
    301308} 
    302309 
     
    746753  } 
    747754 
    748   gtk_progress_bar_set_text(GTK_PROGRESS_BAR(g_xrun_progress_bar), status); 
     755  //gtk_progress_bar_set_text(GTK_PROGRESS_BAR(g_xrun_progress_bar), status); 
    749756  gtk_label_set_text(GTK_LABEL(g_studio_status_label), name); 
    750757 
     758  log_error("status icon stock id: %s", stock_id); 
    751759  gtk_image_set_from_stock(GTK_IMAGE(g_status_image), stock_id, GTK_ICON_SIZE_SMALL_TOOLBAR); 
    752   gtk_tool_item_set_tooltip_text(GTK_TOOL_ITEM(g_status_tool_item), tooltip); 
    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); 
     760  //gtk_tool_item_set_tooltip_text(GTK_TOOL_ITEM(g_status_tool_item), tooltip); 
     761 
     762  if (g_jack_state == JACK_STATE_STARTED) 
     763  { 
     764    if (jack_proxy_sample_rate(&g_sample_rate)) 
     765    { 
     766      char buf[100]; 
     767 
     768      if (fmod(g_sample_rate, 1000.0) != 0.0) 
     769      { 
     770        snprintf(buf, sizeof(buf), "%.1f kHz", (float)g_sample_rate / 1000.0f); 
     771      } 
     772      else 
     773      { 
     774        snprintf(buf, sizeof(buf), "%u kHz", g_sample_rate / 1000); 
     775      } 
     776 
     777      gtk_label_set_text(GTK_LABEL(g_sample_rate_label), buf); 
    761778    } 
    762779    else 
    763780    { 
    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); 
     781      gtk_label_set_text(GTK_LABEL(g_sample_rate_label), ""); 
     782    } 
    768783  } 
    769784  else 
    770785  { 
    771     gtk_label_set_text(GTK_LABEL(g_sample_rate_label), ""); 
     786    gtk_label_set_text(GTK_LABEL(g_sample_rate_label), g_jack_state == JACK_STATE_NA ? "JACK is sick" : "JACK is stopped"); 
     787    gtk_label_set_text(GTK_LABEL(g_latency_label), ""); 
     788    gtk_label_set_text(GTK_LABEL(g_dsp_load_label), ""); 
     789    gtk_label_set_text(GTK_LABEL(g_xruns_label), ""); 
    772790  } 
    773791 
     
    937955  buffer_size_clear(); 
    938956  gtk_widget_set_sensitive(g_clear_load_button, false); 
    939   gtk_progress_bar_set_fraction(GTK_PROGRESS_BAR(g_xrun_progress_bar), 0.0); 
    940957} 
    941958 
     
    11461163  g_main_win = get_gtk_builder_widget("main_win"); 
    11471164  g_clear_load_button = get_gtk_builder_widget("clear_load_button"); 
    1148   g_xrun_progress_bar = get_gtk_builder_widget("xrun_progress_bar"); 
    11491165  g_menu_item_new_studio = get_gtk_builder_widget("menu_item_new_studio"); 
    11501166  g_menu_item_start_app = get_gtk_builder_widget("menu_item_start_app"); 
     
    11601176  g_menu_item_daemon_exit = get_gtk_builder_widget("menu_item_daemon_exit"); 
    11611177  g_menu_item_jack_configure = get_gtk_builder_widget("menu_item_jack_configure"); 
    1162   g_studio_status_label = get_gtk_builder_widget("studio_status_label"); 
    11631178  g_menu_item_view_toolbar = get_gtk_builder_widget("menu_item_view_toolbar"); 
    11641179  g_toolbar = get_gtk_builder_widget("toolbar"); 
    1165   g_status_image = get_gtk_builder_widget("startstop"); 
    1166   g_status_tool_item = get_gtk_builder_widget("startstop_item"); 
    11671180  g_statusbar = GTK_STATUSBAR(get_gtk_builder_widget("statusbar")); 
    11681181 
     
    11831196  g_menu_item_jack_latency_8192 = GTK_CHECK_MENU_ITEM(get_gtk_builder_widget("menu_item_jack_latency_8192")); 
    11841197 
     1198  g_studio_status_label = gtk_label_new("studioname"); 
     1199  gtk_widget_show(g_studio_status_label); 
     1200  gtk_box_pack_start(GTK_BOX(g_statusbar), g_studio_status_label, FALSE, TRUE, 10); 
     1201  gtk_box_reorder_child(GTK_BOX(g_statusbar), g_studio_status_label, 0); 
     1202 
     1203  g_status_image = gtk_image_new(); 
     1204  gtk_widget_show(g_status_image); 
     1205  gtk_box_pack_start(GTK_BOX(g_statusbar), g_status_image, FALSE, TRUE, 10); 
     1206  gtk_box_reorder_child(GTK_BOX(g_statusbar), g_status_image, 1); 
     1207 
    11851208  g_sample_rate_label = gtk_label_new("srate"); 
    11861209  gtk_widget_show(g_sample_rate_label); 
    11871210  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); 
     1211  gtk_box_reorder_child(GTK_BOX(g_statusbar), g_sample_rate_label, 2); 
    11891212 
    11901213  g_latency_label = gtk_label_new("latency"); 
    11911214  gtk_widget_show(g_latency_label); 
    11921215  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); 
     1216  gtk_box_reorder_child(GTK_BOX(g_statusbar), g_latency_label, 3); 
     1217 
     1218  g_xruns_label = gtk_label_new("xruns"); 
     1219  gtk_widget_show(g_xruns_label); 
     1220  gtk_box_pack_start(GTK_BOX(g_statusbar), g_xruns_label, FALSE, TRUE, 10); 
     1221  gtk_box_reorder_child(GTK_BOX(g_statusbar), g_xruns_label, 4); 
     1222 
     1223  g_dsp_load_label = gtk_label_new("load"); 
     1224  gtk_widget_show(g_dsp_load_label); 
     1225  gtk_box_pack_start(GTK_BOX(g_statusbar), g_dsp_load_label, FALSE, TRUE, 10); 
     1226  gtk_box_reorder_child(GTK_BOX(g_statusbar), g_dsp_load_label, 5); 
    11941227 
    11951228  buffer_size_clear();