[SCM] phasex/master: Fixed portamento calculation with Osc's 'off' state & in 'MonoRetrig' mode.

alessio at users.alioth.debian.org alessio at users.alioth.debian.org
Mon Feb 28 11:19:41 UTC 2011


The following commit has been merged in the master branch:
commit 6e9912d2eee9e67d676041803d75bfc3484bebe8
Author: Alessio Treglia <alessio at debian.org>
Date:   Mon Feb 28 12:19:25 2011 +0100

    Fixed portamento calculation with Osc's 'off' state & in 'MonoRetrig' mode.

diff --git a/debian/patches/11-fix_portamento.patch b/debian/patches/11-fix_portamento.patch
new file mode 100644
index 0000000..13e0d3d
--- /dev/null
+++ b/debian/patches/11-fix_portamento.patch
@@ -0,0 +1,45 @@
+Description: Fixed portamento calculation with Osc's 'off' state & in
+ 'MonoRetrig' mode.
+Origin: upstream, https://github.com/disabled/phasex-dev/commit/300fc5e99102a7
+Applied-Upstream: yes
+---
+ src/engine.c |    7 +++++--
+ src/midi.c   |    2 +-
+ 2 files changed, 6 insertions(+), 3 deletions(-)
+
+--- phasex.orig/src/engine.c
++++ phasex/src/engine.c
+@@ -658,10 +658,8 @@ engine_thread(void *arg) {
+ 		switch (patch->osc_freq_base[osc]) {
+ 
+ 		case FREQ_BASE_MIDI_KEY:
+-		    /* handle portamento if necessary */
+ 		    if (voice[v].portamento_sample > 0) {
+ 			voice[v].osc_freq[osc] += voice[v].osc_portamento[osc];
+-			voice[v].portamento_sample--;
+ 		    }
+ 		    /* otherwise set frequency directly */
+ 		    else {
+@@ -818,6 +816,11 @@ engine_thread(void *arg) {
+ 
+ 	    }
+ 
++		/* handle portamento if necessary */
++		if (voice[v].portamento_sample > 0) {
++		    voice[v].portamento_sample -= 4;
++		}
++
+ 	    /* oscs are mixed.  now apply AM oscs. */ 
+ 	    for (osc = 0; osc < NUM_OSCS; osc++) {
+ 		if (patch->osc_modulation[osc] == MOD_TYPE_AM) {
+--- phasex.orig/src/midi.c
++++ phasex/src/midi.c
+@@ -918,7 +918,7 @@ midi_thread(void *arg) {
+ 				/* note: patch->osc_transpose[osc] is taken into account every sample in the engine */
+ 				if ((patch->portamento > 0)) {
+ 				    /* in poly, portamento always starts from previous key hit, no matter which voice */
+-				    if (patch->keymode == KEYMODE_POLY) {
++				    if ((patch->keymode == KEYMODE_POLY) || (patch->keymode == KEYMODE_MONO_RETRIGGER)) {
+ 					if (part.prev_key == -1) {
+ 					    voice[v].osc_freq[osc] = freq_table[patch->master_tune_cc][256 + part.last_key + patch->transpose];
+ 					}
diff --git a/debian/patches/series b/debian/patches/series
index 958d3bf..0483020 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,3 +1,4 @@
 01-desktop_file.patch
 02-gcc_flags.patch
 03-binutils_gold.patch
+11-fix_portamento.patch

-- 
phasex packaging



More information about the pkg-multimedia-commits mailing list