mirror of
https://github.com/Ardour/ardour.git
synced 2025-12-11 09:06:33 +01:00
NO-OP: whitespace
This commit is contained in:
parent
63200eab05
commit
6064c75fd5
1 changed files with 174 additions and 170 deletions
|
|
@ -22,9 +22,9 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
|
#include <stdint.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <stdint.h>
|
|
||||||
|
|
||||||
#ifndef COMPILER_MSVC
|
#ifndef COMPILER_MSVC
|
||||||
#include <stdbool.h>
|
#include <stdbool.h>
|
||||||
|
|
@ -148,8 +148,7 @@ adsr_env(RSSynthChannel *sc, const uint8_t note)
|
||||||
const float d = sc->adsr.vol[0] - sc->adsr_amp[note];
|
const float d = sc->adsr.vol[0] - sc->adsr_amp[note];
|
||||||
return sc->adsr_amp[note] + (p / (float)sc->adsr.tme[0]) * d;
|
return sc->adsr_amp[note] + (p / (float)sc->adsr.tme[0]) * d;
|
||||||
}
|
}
|
||||||
}
|
} else if (sc->adsr_cnt[note] < sc->adsr.off[1]) {
|
||||||
else if (sc->adsr_cnt[note] < sc->adsr.off[1]) {
|
|
||||||
// decay
|
// decay
|
||||||
const uint32_t p = ++sc->adsr_cnt[note] - sc->adsr.off[0];
|
const uint32_t p = ++sc->adsr_cnt[note] - sc->adsr.off[0];
|
||||||
if (p == sc->adsr.tme[1]) {
|
if (p == sc->adsr.tme[1]) {
|
||||||
|
|
@ -159,12 +158,10 @@ adsr_env(RSSynthChannel *sc, const uint8_t note)
|
||||||
const float d = sc->adsr.vol[1] - sc->adsr_amp[note];
|
const float d = sc->adsr.vol[1] - sc->adsr_amp[note];
|
||||||
return sc->adsr_amp[note] + (p / (float)sc->adsr.tme[1]) * d;
|
return sc->adsr_amp[note] + (p / (float)sc->adsr.tme[1]) * d;
|
||||||
}
|
}
|
||||||
}
|
} else if (sc->adsr_cnt[note] == sc->adsr.off[1]) {
|
||||||
else if (sc->adsr_cnt[note] == sc->adsr.off[1]) {
|
|
||||||
// sustain
|
// sustain
|
||||||
return sc->adsr.vol[1];
|
return sc->adsr.vol[1];
|
||||||
}
|
} else if (sc->adsr_cnt[note] < sc->adsr.off[2]) {
|
||||||
else if (sc->adsr_cnt[note] < sc->adsr.off[2]) {
|
|
||||||
// release
|
// release
|
||||||
const uint32_t p = ++sc->adsr_cnt[note] - sc->adsr.off[1];
|
const uint32_t p = ++sc->adsr_cnt[note] - sc->adsr.off[1];
|
||||||
if (p == sc->adsr.tme[2]) {
|
if (p == sc->adsr.tme[2]) {
|
||||||
|
|
@ -174,8 +171,7 @@ adsr_env(RSSynthChannel *sc, const uint8_t note)
|
||||||
const float d = 0 - sc->adsr_amp[note];
|
const float d = 0 - sc->adsr_amp[note];
|
||||||
return sc->adsr_amp[note] + (p / (float)sc->adsr.tme[2]) * d;
|
return sc->adsr_amp[note] + (p / (float)sc->adsr.tme[2]) * d;
|
||||||
}
|
}
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
sc->adsr_cnt[note] = 0;
|
sc->adsr_cnt[note] = 0;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
@ -193,7 +189,9 @@ synthesize_sineP (RSSynthChannel* sc,
|
||||||
|
|
||||||
for (i = 0; i < n_samples; ++i) {
|
for (i = 0; i < n_samples; ++i) {
|
||||||
float env = adsr_env (sc, note);
|
float env = adsr_env (sc, note);
|
||||||
if (sc->adsr_cnt[note] == 0) break;
|
if (sc->adsr_cnt[note] == 0) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
const float amp = vol * env;
|
const float amp = vol * env;
|
||||||
if (amp > 1e-10) {
|
if (amp > 1e-10) {
|
||||||
left[i] += amp * sinf (2.0 * M_PI * phase);
|
left[i] += amp * sinf (2.0 * M_PI * phase);
|
||||||
|
|
@ -214,7 +212,8 @@ synthesize_sineP (RSSynthChannel* sc,
|
||||||
} else {
|
} else {
|
||||||
phase += fq;
|
phase += fq;
|
||||||
}
|
}
|
||||||
if (phase > 1.0) phase -= 2.0;
|
if (phase > 1.0)
|
||||||
|
phase -= 2.0;
|
||||||
}
|
}
|
||||||
sc->phase[note] = phase;
|
sc->phase[note] = phase;
|
||||||
}
|
}
|
||||||
|
|
@ -223,7 +222,6 @@ static const ADSRcfg piano_adsr = {{ 5, 800, 100}, { 1.0, 0.0}, {0, 0, 0}};
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
|
|
||||||
/* process note - move through ADSR states, count active keys,.. */
|
/* process note - move through ADSR states, count active keys,.. */
|
||||||
static void
|
static void
|
||||||
process_key (void* synth,
|
process_key (void* synth,
|
||||||
|
|
@ -249,8 +247,7 @@ process_key (void *synth,
|
||||||
sc->phase[note] = 0;
|
sc->phase[note] = 0;
|
||||||
sc->keycomp++;
|
sc->keycomp++;
|
||||||
//printf("[On] Now %d keys active on chn %d\n", sc->keycomp, chn);
|
//printf("[On] Now %d keys active on chn %d\n", sc->keycomp, chn);
|
||||||
}
|
} else if (phase >= -1.0 && phase <= 1.0 && vel > 0) {
|
||||||
else if (phase >= -1.0 && phase <= 1.0 && vel > 0) {
|
|
||||||
// sustain note or re-start note while adsr in progress:
|
// sustain note or re-start note while adsr in progress:
|
||||||
if (sc->adsr_cnt[note] > sc->adsr.off[1] || msg == 3 || msg == 5 || msg == 7) {
|
if (sc->adsr_cnt[note] > sc->adsr.off[1] || msg == 3 || msg == 5 || msg == 7) {
|
||||||
sc->midimsgs[note] &= ~4;
|
sc->midimsgs[note] &= ~4;
|
||||||
|
|
@ -258,8 +255,7 @@ process_key (void *synth,
|
||||||
sc->adsr_amp[note] = adsr_env (sc, note);
|
sc->adsr_amp[note] = adsr_env (sc, note);
|
||||||
sc->adsr_cnt[note] = 0;
|
sc->adsr_cnt[note] = 0;
|
||||||
}
|
}
|
||||||
}
|
} else if (phase >= -1.0 && phase <= 1.0 && vel < 0) {
|
||||||
else if (phase >= -1.0 && phase <= 1.0 && vel < 0) {
|
|
||||||
sc->midimsgs[note] |= 4;
|
sc->midimsgs[note] |= 4;
|
||||||
// note off
|
// note off
|
||||||
if (sc->adsr_cnt[note] <= sc->adsr.off[1] && !sus) {
|
if (sc->adsr_cnt[note] <= sc->adsr.off[1] && !sus) {
|
||||||
|
|
@ -268,12 +264,10 @@ process_key (void *synth,
|
||||||
sc->adsr_amp[note] = adsr_env (sc, note);
|
sc->adsr_amp[note] = adsr_env (sc, note);
|
||||||
}
|
}
|
||||||
sc->adsr_cnt[note] = sc->adsr.off[1] + 1;
|
sc->adsr_cnt[note] = sc->adsr.off[1] + 1;
|
||||||
}
|
} else if (sus && sc->adsr_cnt[note] == sc->adsr.off[1]) {
|
||||||
else if (sus && sc->adsr_cnt[note] == sc->adsr.off[1]) {
|
|
||||||
sc->adsr_cnt[note] = sc->adsr.off[1] + 1;
|
sc->adsr_cnt[note] = sc->adsr.off[1] + 1;
|
||||||
}
|
}
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
//printf("FORCE NOTE OFF: %d %d\n", vel, sus);
|
//printf("FORCE NOTE OFF: %d %d\n", vel, sus);
|
||||||
/* note-on + off in same cycle */
|
/* note-on + off in same cycle */
|
||||||
sc->miditable[note] = 0;
|
sc->miditable[note] = 0;
|
||||||
|
|
@ -310,7 +304,9 @@ synth_fragment (void *synth, const size_t n_samples, float *left, float *right)
|
||||||
|
|
||||||
for (c = 0; c < 16; ++c) {
|
for (c = 0; c < 16; ++c) {
|
||||||
for (k = 0; k < 128; ++k) {
|
for (k = 0; k < 128; ++k) {
|
||||||
if (rs->sc[c].miditable[k] == 0) continue;
|
if (rs->sc[c].miditable[k] == 0) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
process_key (synth, c, k, n_samples, left, right);
|
process_key (synth, c, k, n_samples, left, right);
|
||||||
}
|
}
|
||||||
keycomp += rs->sc[c].keycomp;
|
keycomp += rs->sc[c].keycomp;
|
||||||
|
|
@ -320,6 +316,7 @@ synth_fragment (void *synth, const size_t n_samples, float *left, float *right)
|
||||||
float kctgt = 8.0 / (float)(keycomp + 7.0);
|
float kctgt = 8.0 / (float)(keycomp + 7.0);
|
||||||
if (kctgt < .5) kctgt = .5;
|
if (kctgt < .5) kctgt = .5;
|
||||||
if (kctgt > 1.0) kctgt = 1.0;
|
if (kctgt > 1.0) kctgt = 1.0;
|
||||||
|
|
||||||
const float _w = rs->kcfilt;
|
const float _w = rs->kcfilt;
|
||||||
for (i = 0; i < n_samples; ++i) {
|
for (i = 0; i < n_samples; ++i) {
|
||||||
rs->kcgain += _w * (kctgt - rs->kcgain);
|
rs->kcgain += _w * (kctgt - rs->kcgain);
|
||||||
|
|
@ -456,9 +453,11 @@ synth_sound (void *synth, uint32_t written, const uint32_t nframes, float **out)
|
||||||
static void
|
static void
|
||||||
synth_parse_midi (void* synth, const uint8_t* data, const size_t size)
|
synth_parse_midi (void* synth, const uint8_t* data, const size_t size)
|
||||||
{
|
{
|
||||||
if (size < 2 || size > 3) return;
|
if (size < 2 || size > 3)
|
||||||
|
return;
|
||||||
// All messages need to be 3 bytes; except program-changes: 2bytes.
|
// All messages need to be 3 bytes; except program-changes: 2bytes.
|
||||||
if (size == 2 && (data[0] & 0xf0) != 0xC0) return;
|
if (size == 2 && (data[0] & 0xf0) != 0xC0)
|
||||||
|
return;
|
||||||
|
|
||||||
struct rmidi_event_t ev;
|
struct rmidi_event_t ev;
|
||||||
|
|
||||||
|
|
@ -498,9 +497,11 @@ static void
|
||||||
synth_parse_xmas (void* synth, const uint8_t* data, const size_t size)
|
synth_parse_xmas (void* synth, const uint8_t* data, const size_t size)
|
||||||
{
|
{
|
||||||
RSSynthesizer* rs = (RSSynthesizer*)synth;
|
RSSynthesizer* rs = (RSSynthesizer*)synth;
|
||||||
if (size < 2 || size > 3) return;
|
if (size < 2 || size > 3)
|
||||||
|
return;
|
||||||
// All messages need to be 3 bytes; except program-changes: 2bytes.
|
// All messages need to be 3 bytes; except program-changes: 2bytes.
|
||||||
if (size == 2 && (data[0] & 0xf0) != 0xC0) return;
|
if (size == 2 && (data[0] & 0xf0) != 0xC0)
|
||||||
|
return;
|
||||||
|
|
||||||
struct rmidi_event_t ev;
|
struct rmidi_event_t ev;
|
||||||
|
|
||||||
|
|
@ -510,13 +511,15 @@ synth_parse_xmas(void *synth, const uint8_t *data, const size_t size)
|
||||||
ev.type = NOTE_OFF;
|
ev.type = NOTE_OFF;
|
||||||
ev.d.tone.note = jingle[rs->xmas_off++];
|
ev.d.tone.note = jingle[rs->xmas_off++];
|
||||||
ev.d.tone.velocity = data[2] & 0x7f;
|
ev.d.tone.velocity = data[2] & 0x7f;
|
||||||
if (rs->xmas_off >= sizeof(jingle)) rs->xmas_off = 0;
|
if (rs->xmas_off >= sizeof (jingle))
|
||||||
|
rs->xmas_off = 0;
|
||||||
break;
|
break;
|
||||||
case 0x90:
|
case 0x90:
|
||||||
ev.type = NOTE_ON;
|
ev.type = NOTE_ON;
|
||||||
ev.d.tone.note = jingle[rs->xmas_on++];
|
ev.d.tone.note = jingle[rs->xmas_on++];
|
||||||
ev.d.tone.velocity = data[2] & 0x7f;
|
ev.d.tone.velocity = data[2] & 0x7f;
|
||||||
if (rs->xmas_on >= sizeof(jingle)) rs->xmas_on = 0;
|
if (rs->xmas_on >= sizeof (jingle))
|
||||||
|
rs->xmas_on = 0;
|
||||||
break;
|
break;
|
||||||
case 0xB0:
|
case 0xB0:
|
||||||
ev.type = CONTROL_CHANGE;
|
ev.type = CONTROL_CHANGE;
|
||||||
|
|
@ -541,7 +544,8 @@ synth_parse_xmas(void *synth, const uint8_t *data, const size_t size)
|
||||||
* @param rate sample-rate
|
* @param rate sample-rate
|
||||||
*/
|
*/
|
||||||
static void
|
static void
|
||||||
synth_init(void* synth, double rate) {
|
synth_init (void* synth, double rate)
|
||||||
|
{
|
||||||
RSSynthesizer* rs = (RSSynthesizer*)synth;
|
RSSynthesizer* rs = (RSSynthesizer*)synth;
|
||||||
rs->rate = rate;
|
rs->rate = rate;
|
||||||
rs->boffset = BUFFER_SIZE_SAMPLES;
|
rs->boffset = BUFFER_SIZE_SAMPLES;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue