Update codec-quality display when ExportFormat changes
[ardour.git] / gtk2_ardour / latency_gui.cc
index 7558fbeb06231f617396170dd33703c4a70db40d..870fda9282a4735fdfb4b41d655d6d0f1cafd003 100644 (file)
 */
 
 #include <inttypes.h>
-
 #include <iomanip>
-#include "ardour/latent.h"
+
+#include <gtkmm/stock.h>
+
 #include "pbd/convert.h"
-#include <gtkmm2ext/utils.h>
+#include "pbd/error.h"
+#include "ardour/latent.h"
+
+#include "gtkmm2ext/utils.h"
 
 #include "latency_gui.h"
 
-#include "i18n.h"
+#include "pbd/i18n.h"
 
 using namespace PBD;
 using namespace Gtk;
@@ -50,21 +54,22 @@ LatencyBarController::get_label (double&)
        std::stringstream s;
 
        if (nframes < (_latency_gui->sample_rate / 1000.0)) {
-               s << ((framepos_t) rint (nframes)) << " samples";
+               const samplepos_t nf = (samplepos_t) rint (nframes);
+               s << string_compose (P_("%1 sample", "%1 samples", nf), nf);
        } else {
-               s << std::fixed << std::setprecision (2) << (nframes / (_latency_gui->sample_rate / 1000.0)) << " msecs";
+               s << std::fixed << std::setprecision (2) << (nframes / (_latency_gui->sample_rate / 1000.0)) << " ms";
        }
 
        return s.str ();
 }
 
-LatencyGUI::LatencyGUI (Latent& l, framepos_t sr, framepos_t psz)
+LatencyGUI::LatencyGUI (Latent& l, samplepos_t sr, samplepos_t psz)
        : _latent (l),
          initial_value (_latent.user_latency()),
          sample_rate (sr),
          period_size (psz),
          ignored (new PBD::IgnorableControllable()),
-         /* max 1 second, step by frames, page by msecs */
+         /* max 1 second, step by samples, page by msecs */
          adjustment (initial_value, 0.0, sample_rate, 1.0, sample_rate / 1000.0f),
          bc (adjustment, this),
          reset_button (_("Reset"))
@@ -101,9 +106,7 @@ LatencyGUI::LatencyGUI (Latent& l, framepos_t sr, framepos_t psz)
        adjustment.signal_value_changed().connect (sigc::mem_fun (*this, &LatencyGUI::finish));
 
        bc.set_size_request (-1, 25);
-       bc.set_style (BarController::LeftToRight);
-       bc.set_use_parent (true);
-       bc.set_name (X_("PluginSlider"));
+       bc.set_name (X_("ProcessorControlSlider"));
 
        set_spacing (12);
        pack_start (hbox1, true, true);
@@ -113,7 +116,7 @@ LatencyGUI::LatencyGUI (Latent& l, framepos_t sr, framepos_t psz)
 void
 LatencyGUI::finish ()
 {
-       framepos_t new_value = (framepos_t) adjustment.get_value();
+       samplepos_t new_value = (samplepos_t) adjustment.get_value();
        if (new_value != initial_value) {
                _latent.set_user_latency (new_value);
        }
@@ -148,7 +151,7 @@ LatencyGUI::change_latency_from_button (int dir)
        } else {
                fatal << string_compose (_("programming error: %1 (%2)"), X_("illegal string in latency GUI units combo"), unitstr)
                      << endmsg;
-               /*NOTREACHED*/
+               abort(); /*NOTREACHED*/
        }
 
        if (dir > 0) {
@@ -158,7 +161,7 @@ LatencyGUI::change_latency_from_button (int dir)
        }
 }
 
-LatencyDialog::LatencyDialog (const std::string& title, Latent& l, framepos_t sr, framepos_t psz)
+LatencyDialog::LatencyDialog (const std::string& title, Latent& l, samplepos_t sr, samplepos_t psz)
        : ArdourDialog (title, false, true),
          lwidget (l, sr, psz)
 {