Your message dated Mon, 25 Mar 2019 19:52:31 +0100 with message-id <5b04bf70-6ee1-5ef1-cc2b-b5b6bf8ccfb6@debian.org> and subject line Re: Bug#925242: unblock: csound/1:6.12.2~dfsg-3.1 has caused the Debian Bug report #925242, regarding unblock: csound/1:6.12.2~dfsg-3.1 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 owner@bugs.debian.org immediately.) -- 925242: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=925242 Debian Bug Tracking System Contact owner@bugs.debian.org with problems
--- Begin Message ---
- To: Debian Bug Tracking System <submit@bugs.debian.org>
- Subject: unblock: csound/1:6.12.2~dfsg-3.1
- From: Sam Hartman <hartmans@debian.org>
- Date: Thu, 21 Mar 2019 12:28:34 -0400
- Message-id: <[🔎] 155318571447.27081.2976115135007399578.reportbug@mount-peerless>
Package: release.debian.org Severity: normal User: release.debian.org@packages.debian.org Usertags: unblock Please unblock package csound Upstream csound introduces a regression over stretch. If you're using the synchronous granular synthesis opcodes and the sample rate of your samples differs from the sample rate you're playing at, it is impossible to make things sound right in buster. So, for one synthesis technique that worked in stretch, you get into situations where it doesn't work in buster and there is no work around. The upstream fix is simple: scale the pointer read rate along with pitch scaling that upstream already introduced. #924260 includes details and a pointer to the upstream issue which includes even more detailed analysis and upstream's fix. This is just a backport of the two upstream patches. I've confirmed the fix with my DJ software. I have received permission to upload an NMU from the maintainer (again see #924260 ) and will upload once I get a confirmation from the release team that this looks good. diff --git a/debian/changelog b/debian/changelog index 84a4831..41d2499 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,11 @@ +csound (1:6.12.2~dfsg-3.1) unstable; urgency=medium + + * Non-maintainer upload. + * Fix diskgrain, syncgrain and syncloop when sample rate of sample + differs from orchestra, Closes: 924260 + + -- Sam Hartman <hartmans@debian.org> Thu, 21 Mar 2019 10:31:29 -0400 + csound (1:6.12.2~dfsg-3) unstable; urgency=medium * Fix FTBFS on mips by avoiding a deadlock diff --git a/debian/patches/applied-diskgrain-fix-to-syncgrain-andsyncloop.patch b/debian/patches/applied-diskgrain-fix-to-syncgrain-andsyncloop.patch new file mode 100644 index 0000000..d5f3033 --- /dev/null +++ b/debian/patches/applied-diskgrain-fix-to-syncgrain-andsyncloop.patch @@ -0,0 +1,58 @@ +From: veplaini <victor.lazzarini@nuim.ie> +Date: Mon, 11 Mar 2019 09:11:40 +0000 +Subject: applied diskgrain fix to syncgrain andsyncloop + +--- + Opcodes/syncgrain.c | 11 ++++++----- + 1 file changed, 6 insertions(+), 5 deletions(-) + +diff --git a/Opcodes/syncgrain.c b/Opcodes/syncgrain.c +index cb0b2bd..1dc1973 100644 +--- a/Opcodes/syncgrain.c ++++ b/Opcodes/syncgrain.c +@@ -96,15 +96,16 @@ static int32_t syncgrain_process(CSOUND *csound, syncgrain *p) + int32_t numstreams = p->numstreams, olaps = p->olaps; + int32_t count = p->count, j, newstream; + int32_t datasize = p->datasize, envtablesize = p->envtablesize; ++ MYFLT pscale = p->sfunc->gen01args.sample_rate/CS_ESR; + +- pitch = *p->pitch * p->sfunc->gen01args.sample_rate/CS_ESR; ++ pitch = *p->pitch * pscale; + fperiod = FABS(p->sfunc->gen01args.sample_rate/(*p->fr)); + //if (UNLIKELY(fperiod < 0)) fperiod = -fperiod; + amp = *p->amp; + grsize = p->sfunc->gen01args.sample_rate * *p->grsize; + if (UNLIKELY(grsize<1)) goto err1; + envincr = envtablesize/grsize; +- prate = *p->prate; ++ prate = *p->prate * pscale; + + if (UNLIKELY(offset)) memset(output, '\0', offset*sizeof(MYFLT)); + if (UNLIKELY(early)) { +@@ -249,7 +250,7 @@ static int32_t syncgrainloop_process(CSOUND *csound, syncgrainloop *p) + int32_t loopsize; + int32_t firsttime = p->firsttime; + MYFLT sr = p->sfunc->gen01args.sample_rate; +- ++ MYFLT pscale = sr/CS_ESR; + /* loop points & checks */ + loop_start = (int32_t) (*p->loop_start*sr); + loop_end = (int32_t) (*p->loop_end*sr); +@@ -260,7 +261,7 @@ static int32_t syncgrainloop_process(CSOUND *csound, syncgrainloop *p) + /*csound->Message(csound, "st:%d, end:%d, loopsize=%d\n", + loop_start, loop_end, loopsize); */ + +- pitch = *p->pitch * sr/CS_ESR;; ++ pitch = *p->pitch * pscale; + fperiod = FABS(sr/(*p->fr)); + //if (UNLIKELY(fperiod < 0)) fperiod = -fperiod; + amp = *p->amp; +@@ -268,7 +269,7 @@ static int32_t syncgrainloop_process(CSOUND *csound, syncgrainloop *p) + if (UNLIKELY(grsize<1)) goto err1; + if (loopsize <= 0) loopsize = grsize; + envincr = envtablesize/grsize; +- prate = *p->prate; ++ prate = *p->prate * pscale; + + if (UNLIKELY(offset)) memset(output, '\0', offset*sizeof(MYFLT)); + if (UNLIKELY(early)) { diff --git a/debian/patches/diskgrain-prate-scaling.patch b/debian/patches/diskgrain-prate-scaling.patch new file mode 100644 index 0000000..9f21a6e --- /dev/null +++ b/debian/patches/diskgrain-prate-scaling.patch @@ -0,0 +1,30 @@ +From: veplaini <victor.lazzarini@nuim.ie> +Date: Sat, 9 Mar 2019 14:03:22 +0000 +Subject: diskgrain prate scaling + +--- + Opcodes/syncgrain.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/Opcodes/syncgrain.c b/Opcodes/syncgrain.c +index d7c461e..cb0b2bd 100644 +--- a/Opcodes/syncgrain.c ++++ b/Opcodes/syncgrain.c +@@ -455,7 +455,7 @@ static int32_t filegrain_init(CSOUND *csound, filegrain *p) + p->pscale = p->sr/CS_ESR; + + if (*p->ioff >= 0) +- sf_seek(p->sf,*p->ioff * CS_ESR, SEEK_SET); ++ sf_seek(p->sf,*p->ioff * p->sr, SEEK_SET); + + if (LIKELY(sf_read_MYFLT(p->sf,buffer,p->dataframes*p->nChannels/2) != 0)) { + p->read1 = 1; +@@ -518,7 +518,7 @@ static int32_t filegrain_process(CSOUND *csound, filegrain *p) + if (UNLIKELY(grsize<1)) goto err1; + if (grsize > hdataframes) grsize = hdataframes; + envincr = envtablesize/grsize; +- prate = *p->prate; ++ prate = *p->prate * p->pscale; + + if (UNLIKELY(offset)) memset(output, '\0', offset*sizeof(MYFLT)); + if (UNLIKELY(early)) { diff --git a/debian/patches/series b/debian/patches/series index 2af9652..8d460a0 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -3,3 +3,5 @@ fix-n-and-m-in-score-strings.patch debian-specific/lua-link.diff ctcsound-import-the-SOVERSIONed-library.patch csPerfThread-stop-the-recording-thread-before-the-perf-th.patch +diskgrain-prate-scaling.patch +applied-diskgrain-fix-to-syncgrain-andsyncloop.patch To compare two paths outside a working tree: usage: git diff [--no-index] <path> <path> unblock csound/1:6.12.2~dfsg-3.1 -- System Information: Debian Release: buster/sid APT prefers unstable-debug APT policy: (500, 'unstable-debug'), (500, 'testing'), (500, 'stable'), (200, 'unstable') Architecture: amd64 (x86_64) Kernel: Linux 4.19.0-1-amd64 (SMP w/4 CPU cores) Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE=en_US.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Init: systemd (via /run/systemd/system) LSM: AppArmor: enabled
--- End Message ---
--- Begin Message ---
- To: 925242-done@bugs.debian.org
- Subject: Re: Bug#925242: unblock: csound/1:6.12.2~dfsg-3.1
- From: Paul Gevers <elbrus@debian.org>
- Date: Mon, 25 Mar 2019 19:52:31 +0100
- Message-id: <5b04bf70-6ee1-5ef1-cc2b-b5b6bf8ccfb6@debian.org>
- In-reply-to: <[🔎] 02be38ed-6e98-2101-a870-a847013c1dfa@debian.org>
- References: <[🔎] 155318571447.27081.2976115135007399578.reportbug@mount-peerless> <[🔎] 02be38ed-6e98-2101-a870-a847013c1dfa@debian.org> <[🔎] 02be38ed-6e98-2101-a870-a847013c1dfa@debian.org>
On Fri, 22 Mar 2019 21:01:00 +0100 Paul Gevers <elbrus@debian.org> wrote: > On 21-03-2019 17:28, Sam Hartman wrote: > > Please unblock package csound > > I am not seeing the version you reference in the archive. Is this a > request for pre-approval? In that case, if you upload with the changes > in your report in a timely manner, I'll unblock it. Please remove the > moreinfo tag once the package is uploaded and installed. This happened, so unblocked. Thanks PaulAttachment: signature.asc
Description: OpenPGP digital signature
--- End Message ---