Shuffle order of items in status bar; change behavior per oofus on irc.
authorBen Loftis <ben@harrisonconsoles.com>
Fri, 16 Feb 2018 21:09:28 +0000 (15:09 -0600)
committerBen Loftis <ben@harrisonconsoles.com>
Sat, 17 Feb 2018 15:24:46 +0000 (09:24 -0600)
 ( note: this essentially reverts ed459a )

gtk2_ardour/ardour_ui.cc
gtk2_ardour/ardour_ui_ed.cc
gtk2_ardour/disk_io_gauge.cc
gtk2_ardour/disk_io_gauge.h
gtk2_ardour/disk_space_gauge.cc
gtk2_ardour/dsp_load_gauge.cc

index 9e6fd093b4f41bb00294ee61da2d74bcf4ce4f09..8ad04119e6d2267dcc33ad3c9926808e05f5d7be 100644 (file)
@@ -1719,8 +1719,7 @@ ARDOUR_UI::update_buffer_load ()
 {
        uint32_t const playback = _session ? _session->playback_load () : 100;
        uint32_t const capture = _session ? _session->capture_load () : 100;
-       uint32_t max_load = std::min ( playback, capture );
-       disk_io_gauge.set_disk_io(max_load);
+       disk_io_gauge.set_disk_io(playback, capture);
 }
 
 void
index 67a3f0b58912848ff92737326bd16c568489cf3e..f9c10a777eef4d3305ada06487d60e8e933ca346 100644 (file)
@@ -713,15 +713,15 @@ ARDOUR_UI::build_menu_bar ()
 
 #ifndef __APPLE__
        // OSX provides its own wallclock, thank you very much
-       _status_bar_visibility.add (&wall_clock_label,      X_("WallClock"), _("Wall Clock"), true);
+       _status_bar_visibility.add (&wall_clock_label,      X_("WallClock"), _("Wall Clock"), false);
 #endif
-       _status_bar_visibility.add (&disk_space_gauge,  X_("Disk"),      _("Disk Space"), !Profile->get_small_screen());
-       _status_bar_visibility.add (&dsp_load_gauge,    X_("DSP"),       _("DSP"), true);
        _status_bar_visibility.add (&peak_thread_work_label,X_("Peakfile"),  _("Active Peak-file Work"), false);
-       _status_bar_visibility.add (&disk_io_gauge,     X_("Buffers"),   _("Buffers"), true);
+       _status_bar_visibility.add (&format_label,          X_("Format"),    _("File Format"), false);
+       _status_bar_visibility.add (&timecode_format_label, X_("TCFormat"),  _("Timecode Format"), false);
        _status_bar_visibility.add (&sample_rate_label,     X_("Audio"),     _("Audio"), true);
-       _status_bar_visibility.add (&timecode_format_label, X_("TCFormat"),  _("Timecode Format"), true);
-       _status_bar_visibility.add (&format_label,          X_("Format"),    _("File Format"), true);
+       _status_bar_visibility.add (&disk_io_gauge,     X_("Buffers"),   _("Buffers"), true);
+       _status_bar_visibility.add (&disk_space_gauge,  X_("Disk"),      _("Disk Space"), !Profile->get_small_screen());
+       _status_bar_visibility.add (&dsp_load_gauge,    X_("DSP"),       _("DSP"), true);
 
        ev->signal_button_press_event().connect (sigc::mem_fun (_status_bar_visibility, &VisibilityGroup::button_press_event));
        ev->signal_button_release_event().connect (sigc::mem_fun (*this, &ARDOUR_UI::xrun_button_release));
index 79ccccd9f780c87a13ee718ae90e456e22bc20db..7cced28cca8d9c94fc381fc0a763e400b2ae29ef 100644 (file)
 
 DiskIoGauge::DiskIoGauge ()
        : ArdourGauge ("00.0%")
-       , _disk_io (0)
+       , _disk_play (0)
+       , _disk_capture (0)
 {
 }
 
 void
-DiskIoGauge::set_disk_io (const double load)
+DiskIoGauge::set_disk_io (const double play, const double capture)
 {
-       if (load == _disk_io) {
+       if (play == _disk_play && capture == _disk_capture) {
                return;
        }
-       _disk_io = load;
+       _disk_play = 100.0-play;
+       _disk_capture = 100.0-capture;
 
        char buf[64];
-       snprintf (buf, sizeof (buf), "Dsk: %.1f%%", _disk_io);
+       if ( _disk_play > 1.0 && _disk_play < 10.0 && _disk_capture < 2.0 ) {
+               snprintf (buf, sizeof (buf), "Disk:  %.0f%% / 0%%", _disk_play);
+       } else if ( _disk_play > 1.0 && _disk_capture < 2.0 ) {
+               snprintf (buf, sizeof (buf), "Disk: %.0f%% / 0%%", _disk_play);
+       } else if ( _disk_play > 1.0 && _disk_capture > 1.0 ) {
+               snprintf (buf, sizeof (buf), "Disk: %.0f%% / %.0f%%", _disk_play, _disk_capture);
+       } else {
+               snprintf (buf, sizeof (buf), " ");
+       }
        update (std::string (buf));
 }
 
 float
 DiskIoGauge::level () const {
-       return (_disk_io / 100.f);
+       return min ( _disk_play / 100.f, _disk_capture / 100.f);
 }
 
 bool
@@ -58,9 +68,11 @@ DiskIoGauge::alert () const
 ArdourGauge::Status
 DiskIoGauge::indicator () const
 {
-       if (_disk_io < 50) {
+       float lvl = level();
+       
+       if (lvl > 0.6) {
                return ArdourGauge::Level_CRIT;
-       } else if (_disk_io < 75) {
+       } else if (lvl > 0.4) {
                return ArdourGauge::Level_WARN;
        } else {
                return ArdourGauge::Level_OK;
@@ -70,9 +82,9 @@ DiskIoGauge::indicator () const
 std::string
 DiskIoGauge::tooltip_text ()
 {
-       char buf[64];
+       char buf[128];
 
-       snprintf (buf, sizeof (buf), _("Disk I/O cache: %.1f"), _disk_io);
+       snprintf (buf, sizeof (buf), "Disk Play/Record cache: %.0f%% / %.0f%%", _disk_play, _disk_capture);
 
        return buf;
 }
index f06f610097fda9106d608716fa7b00e8a9d88dfe..ba96833cc84a34839a6a07946ae62cf46ab83a49 100644 (file)
@@ -28,7 +28,7 @@ class DiskIoGauge : public ArdourGauge
 public:
        DiskIoGauge ();
 
-       void set_disk_io (const double load);
+       void set_disk_io (const double playback, const double capture);
 
 protected:
        bool alert () const;
@@ -38,7 +38,8 @@ protected:
 
 private:
 
-       float _disk_io;
+       float _disk_play;
+       float _disk_capture;
 };
 
 #endif
index 9c5d735b8df2eff613d5ed72ec7dfcaf519a9ddb..650eebd2c80a6fec6082208c7f8e613b31d901bb 100644 (file)
@@ -58,10 +58,10 @@ DiskSpaceGauge::set_available_disk_sec (float sec)
 
 float
 DiskSpaceGauge::level () const {
-       static const float lm = 6.f * 3600.f;
-       if (_sec < 0) return 0;
-       if (_sec > lm) return 1.0;
-       return _sec / lm;
+       static const float six_hours = 6.f * 3600.f;
+       if (_sec < 0) return 1.0;
+       if (_sec > six_hours) return 0.0;
+       return (1.0 - (_sec / six_hours));
 }
 
 bool
index 46ff15400bb75ef29f0ed814477a37b8aac2621f..6e3b0d382a74ffeacee4c5dae73bf7ebf15014b0 100644 (file)
@@ -62,7 +62,7 @@ DspLoadGauge::set_dsp_load (const double load)
 
 float
 DspLoadGauge::level () const {
-       return (100.0-_dsp_load) / 100.f;
+       return (_dsp_load / 100.f);
 }
 
 bool
@@ -84,7 +84,7 @@ DspLoadGauge::indicator () const
 {
        if (_dsp_load > 90) {
                return ArdourGauge::Level_CRIT;
-       } else if (_dsp_load > 80) {
+       } else if (_dsp_load > 75) {
                return ArdourGauge::Level_WARN;
        } else {
                return ArdourGauge::Level_OK;