Your message dated Fri, 5 Dec 2014 18:47:19 +0100
with message-id <20141205174718.gb16...@ugent.be>
and subject line Re: Bug#772146: unblock: ardour3/3.5.403~dfsg-3
has caused the Debian Bug report #772146,
regarding unblock: ardour3/3.5.403~dfsg-3
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact ow...@bugs.debian.org
immediately.)


-- 
772146: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=772146
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems
--- Begin Message ---
Package: release.debian.org
Severity: normal
User: release.debian....@packages.debian.org
Usertags: unblock

Please unblock package ardour3

Only difference between new and old version is a backported fix for a severe
bug that causes data to be permanently lost:

  grave: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=772118


Debdiff (well, git diff):

diff --git a/debian/changelog b/debian/changelog
index 4b7f32c..c3f1b26 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+ardour3 (3.5.403~dfsg-3) unstable; urgency=medium
+
+  * Fix MIDI data loss when editing (Closes: #772118)
+
+ -- Adrian Knoth <a...@drcomp.erfurt.thur.de>  Thu, 04 Dec 2014 19:34:45 +0100
+
 ardour3 (3.5.403~dfsg-2) unstable; urgency=high
 
   * Reupload with waf fixes from 3.5.380~dfsg-2 and -3 
diff --git a/debian/control b/debian/control
index cae0ad1..69b6728 100644
--- a/debian/control
+++ b/debian/control
@@ -49,7 +49,7 @@ Build-Depends:
  python-isodate,
  libpcre3-dev,
  python-rdflib
-Standards-Version: 3.9.5
+Standards-Version: 3.9.6
 Homepage: http://www.ardour.org/
 Vcs-Git: git://anonscm.debian.org/pkg-multimedia/ardour3.git
 Vcs-Browser: http://anonscm.debian.org/gitweb/?p=pkg-multimedia/ardour3.git
diff --git a/debian/control.in b/debian/control.in
index c3d37e4..c1c9c51 100644
--- a/debian/control.in
+++ b/debian/control.in
@@ -7,7 +7,7 @@ Uploaders:
  Jaromír Mikeš <mira.mi...@seznam.cz>
 Build-Depends:
  @cdbs@
-Standards-Version: 3.9.5
+Standards-Version: 3.9.6
 Homepage: http://www.ardour.org/
 Vcs-Git: git://anonscm.debian.org/pkg-multimedia/ardour3.git
 Vcs-Browser: http://anonscm.debian.org/gitweb/?p=pkg-multimedia/ardour3.git
diff --git a/debian/patches/midi-data-loss.patch 
b/debian/patches/midi-data-loss.patch
new file mode 100644
index 0000000..9f7e8b6
--- /dev/null
+++ b/debian/patches/midi-data-loss.patch
@@ -0,0 +1,62 @@
+From: David Robillard <d...@drobilla.net>
+Description: Fix MIDI data loss when editing
+Forwarded: not-needed
+Last-Update: 2014-12-04
+Bug-Vendor: http://tracker.ardour.org/view.php?id=5669
+Applied-Upstream: 3.5.404; 
https://github.com/Ardour/ardour/commit/94954f852ead97bcda7afa548d543222733228ef
+--- ardour3.orig/libs/ardour/smf_source.cc
++++ ardour3/libs/ardour/smf_source.cc
+@@ -393,10 +393,22 @@ SMFSource::append_event_unlocked_beats (
+                name().c_str(), ev.id(), ev.time(), ev.size());
+              for (size_t i = 0; i < ev.size(); ++i) printf("%X ", 
ev.buffer()[i]); printf("\n");*/
+ 
+-      if (ev.time() < _last_ev_time_beats) {
+-              warning << string_compose(_("Skipping event with unordered time 
%1"), ev.time())
+-                      << endmsg;
+-              return;
++      double time = ev.time();
++      if (time < _last_ev_time_beats) {
++              const double difference = _last_ev_time_beats - time;
++              if (difference / (double)ppqn() < 1.0) {
++                      /* Close enough.  This problem occurs because Sequence 
is not
++                         actually ordered due to fuzzy time comparison.  I'm 
pretty sure
++                         this is inherently a bad idea which causes problems 
all over the
++                         place, but tolerate it here for now anyway. */
++                      time = _last_ev_time_beats;
++              } else {
++                      /* Out of order by more than a tick. */
++                      warning << string_compose(_("Skipping event with 
unordered beat time %1 < %2 (off by %3 beats, %4 ticks)"),
++                                                ev.time(), 
_last_ev_time_beats, difference, difference / (double)ppqn())
++                              << endmsg;
++                      return;
++              }
+       }
+ 
+       Evoral::event_id_t event_id;
+@@ -411,13 +423,13 @@ SMFSource::append_event_unlocked_beats (
+               _model->append (ev, event_id);
+       }
+ 
+-      _length_beats = max(_length_beats, ev.time());
++      _length_beats = max(_length_beats, time);
+ 
+-      const double delta_time_beats   = ev.time() - _last_ev_time_beats;
++      const double delta_time_beats   = time - _last_ev_time_beats;
+       const uint32_t delta_time_ticks = (uint32_t)lrint(delta_time_beats * 
(double)ppqn());
+ 
+       Evoral::SMF::append_event_delta(delta_time_ticks, ev.size(), 
ev.buffer(), event_id);
+-      _last_ev_time_beats = ev.time();
++      _last_ev_time_beats = time;
+       _flags = Source::Flag (_flags & ~Empty);
+ }
+ 
+@@ -434,7 +446,8 @@ SMFSource::append_event_unlocked_frames
+       // for (size_t i=0; i < ev.size(); ++i) printf("%X ", ev.buffer()[i]); 
printf("\n");
+ 
+       if (ev.time() < _last_ev_time_frames) {
+-              warning << string_compose(_("Skipping event with unordered time 
%1"), ev.time())
++              warning << string_compose(_("Skipping event with unordered 
frame time %1 < %2"),
++                                        ev.time(), _last_ev_time_frames)
+                       << endmsg;
+               return;
+       }
diff --git a/debian/patches/series b/debian/patches/series
index c8a0a54..d258483 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,3 +1,4 @@
 waf.patch
 wscript.patch
 log-stdout.patch
+midi-data-loss.patch


unblock ardour3/3.5.403~dfsg-3

-- System Information:
Debian Release: 7.7
  APT prefers stable-updates
  APT policy: (500, 'stable-updates'), (500, 'stable')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.32-5-amd64 (SMP w/2 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

--- End Message ---
--- Begin Message ---
Hi,

On Fri, Dec 05, 2014 at 03:42:30PM +0100, Adrian Knoth wrote:
> Please unblock package ardour3

Unblocked.

> Only difference between new and old version is a backported fix for a severe
> bug that causes data to be permanently lost:

You also changed the standards-version (without documenting this in the
changelog).

Cheers,

Ivo

--- End Message ---

Reply via email to