[med-svn] [aghermann] 15/34: fix region_dirty_fraction

andrei zavada hmmr-guest at moszumanska.debian.org
Sat Nov 23 00:46:48 UTC 2013


This is an automated email from the git hooks/post-receive script.

hmmr-guest pushed a commit to branch master
in repository aghermann.

commit 923c48b03030af05cd15b84fac7cea660817604d
Author: Andrei Zavada <hmmr at ra>
Date:   Thu Nov 14 01:50:36 2013 +0200

    fix region_dirty_fraction
---
 upstream/src/aghermann/ui/sf/channel.cc        |  3 ++-
 upstream/src/aghermann/ui/sf/d/artifacts_cb.cc |  2 +-
 upstream/src/libsigfile/source-base.cc         | 12 ++++++------
 upstream/src/libsigfile/source-base.hh         |  2 +-
 4 files changed, 10 insertions(+), 9 deletions(-)

diff --git a/upstream/src/aghermann/ui/sf/channel.cc b/upstream/src/aghermann/ui/sf/channel.cc
index 28fd504..fb4b789 100644
--- a/upstream/src/aghermann/ui/sf/channel.cc
+++ b/upstream/src/aghermann/ui/sf/channel.cc
@@ -391,7 +391,8 @@ float
 SScoringFacility::SChannel::
 calculate_dirty_percent()
 {
-        return percent_dirty = 100 * artifacts.region_dirty_fraction( 0., crecording.F().recording_time());
+        percent_dirty = 100 * artifacts.region_dirty_fraction( 0., (double)crecording.F().recording_time());
+        return percent_dirty;
 }
 
 
diff --git a/upstream/src/aghermann/ui/sf/d/artifacts_cb.cc b/upstream/src/aghermann/ui/sf/d/artifacts_cb.cc
index 34d0135..eeb2a7e 100644
--- a/upstream/src/aghermann/ui/sf/d/artifacts_cb.cc
+++ b/upstream/src/aghermann/ui/sf/d/artifacts_cb.cc
@@ -305,7 +305,6 @@ bSFADPreview_toggled_cb(
 
         } else {
                 AD.using_channel->artifacts = AD.artifacts_backup;
-                AD.using_channel->calculate_dirty_percent();
                 for ( auto& H : AD.channels_visible_backup )
                         H.first->hidden = H.second;
                 AD.using_channel->draw_original_signal = AD.orig_signal_visible_backup;
@@ -313,6 +312,7 @@ bSFADPreview_toggled_cb(
         }
 
         SF.using_channel -> get_signal_filtered();
+        AD.using_channel->calculate_dirty_percent();
 
         gtk_label_set_markup(
                 AD.lSFADDirtyPercent,
diff --git a/upstream/src/libsigfile/source-base.cc b/upstream/src/libsigfile/source-base.cc
index 25c5f7b..7a5b398 100644
--- a/upstream/src/libsigfile/source-base.cc
+++ b/upstream/src/libsigfile/source-base.cc
@@ -104,21 +104,21 @@ clear_artifact( const double aa, const double az)
 
 
 
-float
+double
 __attribute__ ((pure))
 SArtifacts::
 region_dirty_fraction( const double ra, const double rz) const
 {
-        size_t  dirty = 0;
+        double  dirty = 0.;
         for ( auto& A : obj ) {
-                if ( ra > A.z )
+                if ( ra >= A.z )
                         continue;
-                if ( rz < A.a )
+                if ( rz <= A.a )
                         break;
 
-                if ( A.a < ra && A.z > rz )
+                if ( A.a <= ra && A.z >= rz )
                         return 1.;
-                if ( A.a > ra && A.z < rz ) {
+                if ( A.a >= ra && A.z <= rz ) {
                         dirty += (A.z - A.a);
                         continue;
                 }
diff --git a/upstream/src/libsigfile/source-base.hh b/upstream/src/libsigfile/source-base.hh
index 1040087..3eadf53 100644
--- a/upstream/src/libsigfile/source-base.hh
+++ b/upstream/src/libsigfile/source-base.hh
@@ -113,7 +113,7 @@ struct SArtifacts {
         void clear_all()
                 { obj.clear(); }
 
-        float
+        double
         region_dirty_fraction( double a, double z) const;
 
         unsigned long

-- 
Alioth's /git/debian-med/git-commit-notice on /srv/git.debian.org/git/debian-med/aghermann.git



More information about the debian-med-commit mailing list