[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