Well, that's fine
(I just didn't want to go looking for where it got installed. This happens occasionally with some VST plugins) (with bad installers)
I'm looking forward to installing it
Well, that's fine
When the about popup is open, the version is displayed at the bottom of the interface.Tj Shredder wrote: ↑Sun May 07, 2023 5:54 am Where can I find out which version I have installed? The where I would expect it (the about panel) doesn‘t show it. It would be also nice if on your site the release dates would be published…
Nobody could possibly expect it there. When there is a popup, it has to be in the popup and not on some arbitrary different place somewhere on the screen… I couldn‘t find it on the popup, that means it wasn‘t there… I would place it right a side of the plugin name…nakst wrote: ↑Sun May 07, 2023 10:06 amWhen the about popup is open, the version is displayed at the bottom of the interface.Tj Shredder wrote: ↑Sun May 07, 2023 5:54 am Where can I find out which version I have installed? The where I would expect it (the about panel) doesn‘t show it. It would be also nice if on your site the release dates would be published…
I'm going to put the version number in the patch display control (the one at the top-left of the interface) when the plugin is first launched. Hopefully that should help people find it! And I'll make the text in the about popup bigger as well.Tj Shredder wrote: ↑Sun May 07, 2023 5:00 pmNobody could possibly expect it there. When there is a popup, it has to be in the popup and not on some arbitrary different place somewhere on the screen… I couldn‘t find it on the popup, that means it wasn‘t there… I would place it right a side of the plugin name…nakst wrote: ↑Sun May 07, 2023 10:06 amWhen the about popup is open, the version is displayed at the bottom of the interface.Tj Shredder wrote: ↑Sun May 07, 2023 5:54 am Where can I find out which version I have installed? The where I would expect it (the about panel) doesn‘t show it. It would be also nice if on your site the release dates would be published…
Oops, I forgot about that. I should probably link that somewhere else...
When you click the "State" button in the corner of some units, it will show you a list of the presets for that unit it finds in the Unit Presets folder. You can also save your own from this menu.
I can't find one anywhere...
Aah thanks - I'll have a look. Maybe this is in the manual?When you click the "State" button in the corner of some units, it will show you a list of the presets for that unit it finds in the Unit Presets folder. You can also save your own from this menu.
Yes, this is the problem, I haven't written a manual It is too much work for a free plugin, unfortunately. But please post any questions you have here or on the Discord and I'll be happy to answer them
well, maybe not
Well, it is the same way for me. I don't think understanding the mathematics behind the sound engine really gives any insight to how a certain parameter change could modify the timbre.
The 3 curves are used to warp the phase passed to a sine oscillator.jbraner wrote: ↑Tue May 09, 2023 3:02 pm For each layer - what exactly do the 3 waveforms do?
They make up a PD "oscillator" - right? but do they modulate each other? ie 1 -> 2 ->3
What is their relationship to each other?
The first one seems to have the most effect on the sound - but I'm damned if I know what I'm doing
Code: Select all
// sample generation
for (int j = 0; j < 2; j++) {
if (p[P_GEN_1_ENABLE + j] < 0.5f) continue;
float p1 = cVoice->phase[j] * (1.0f + p[P_GEN_1_SYNC_AMT + j] * p[P_GEN_1_SYNC_AMT + j] * 7.0f);
uintptr_t p1i = (uintptr_t) (p1 * CURVE_CACHE_LOOKUP_COUNT) & (CURVE_CACHE_LOOKUP_COUNT - 1);
float p1f = p1 * CURVE_CACHE_LOOKUP_COUNT - floorf(p1 * CURVE_CACHE_LOOKUP_COUNT);
float p1l = cState->curveCache[j * 3 + 2].lookupA[p1i] * (1.0f - p1f) + cState->curveCache[j * 3 + 2].lookupB[p1i] * p1f;
float p1c = p1l * p[P_GEN_1_DIST_3 + j] + p1 * (1.0f - p[P_GEN_1_DIST_3 + j]);
float p2 = p1c;
uintptr_t p2i = (uintptr_t) (p2 * CURVE_CACHE_LOOKUP_COUNT) & (CURVE_CACHE_LOOKUP_COUNT - 1);
float p2f = p2 * CURVE_CACHE_LOOKUP_COUNT - floorf(p2 * CURVE_CACHE_LOOKUP_COUNT);
float p2l = cState->curveCache[j * 3 + 1].lookupA[p2i] * (1.0f - p2f) + cState->curveCache[j * 3 + 1].lookupB[p2i] * p2f;
float p2c = p2l * p[P_GEN_1_DIST_2 + j] + p2 * (1.0f - p[P_GEN_1_DIST_2 + j]);
float p3 = p2c;
uintptr_t p3i = (uintptr_t) (p3 * CURVE_CACHE_LOOKUP_COUNT) & (CURVE_CACHE_LOOKUP_COUNT - 1);
float p3f = p3 * CURVE_CACHE_LOOKUP_COUNT - floorf(p3 * CURVE_CACHE_LOOKUP_COUNT);
float p3l = cState->curveCache[j * 3 + 0].lookupA[p3i] * (1.0f - p3f) + cState->curveCache[j * 3 + 0].lookupB[p3i] * p3f;
float p3c = p3l * p[P_GEN_1_DIST_1 + j] + p3 * (1.0f - p[P_GEN_1_DIST_1 + j]);
float smp = EsCRTsinf((p3c + p[P_GEN_1_PHASE + j]) * 6.24f);
cVoice->phase[j] += dp[j];
cVoice->phase[j] -= floorf(cVoice->phase[j]);
sL += smp * panL[j];
sR += smp * panR[j];
}
// lookup table generation
cState->curveCache[i].hash = hash;
for (int j = 0; j < CURVE_CACHE_LOOKUP_COUNT; j++) {
float x = (float) j / CURVE_CACHE_LOOKUP_COUNT;
float y = CurveCompute(state, i, x, false);
cState->curveCache[i].lookupA[j] = y;
}
for (int j = 0; j < CURVE_CACHE_LOOKUP_COUNT; j++) {
int ja = (j + 0) & (CURVE_CACHE_LOOKUP_COUNT - 1);
int jb = (j + 1) & (CURVE_CACHE_LOOKUP_COUNT - 1);
float ya = cState->curveCache[i].lookupA[ja];
float yb = cState->curveCache[i].lookupA[jb];
if (fabsf(ya - yb) <= 0.5f) {
cState->curveCache[i].lookupB[ja] = yb;
} else if (ya < yb) {
cState->curveCache[i].lookupB[ja] = yb - 1.0f;
} else {
cState->curveCache[i].lookupB[ja] = yb + 1.0f;
}
}
you are 100% right!Well, it is the same way for me. I don't think understanding the mathematics behind the sound engine really gives any insight to how a certain parameter change could modify the timbre.
I am not against it, although please bear in mind that I only have limited time I can spend working on free synths!jbraner wrote: ↑Tue May 09, 2023 6:50 pm Could I ask you one more question?
What do you think about adding the Altitude sequencer - in to Regency?
Regency is using the LFO for SEQ type sounds - which just adds to the "hit and miss" adjustability of patches
That sequencer would really work well with this synth
© KVR Audio, Inc. 2000-2024
Submit: News, Plugins, Hosts & Apps | Advertise @ KVR | Developer Account | About KVR / Contact Us | Privacy Statement