Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Oneshot tail paint (was: Trigger/Reset Inputs on Wavetabel and Window VCOs) #843

Closed
therealkitman opened this issue Feb 15, 2023 · 8 comments · Fixed by #867
Closed

Oneshot tail paint (was: Trigger/Reset Inputs on Wavetabel and Window VCOs) #843

therealkitman opened this issue Feb 15, 2023 · 8 comments · Fixed by #867
Milestone

Comments

@therealkitman
Copy link

V. 2.1.1.0

I'm not sure what the Trigger/Reset inputs are meant to do on these two inputs. At first I thought if the wave was a OneShot the trigger would cause a single sweep through from the current wave frame to the end. Also I thought the reset would push the start to the first frame as set by the Morph position.

But in both cases nothing seems to happen. is there a problem or am I misunderstanding something?

x-2023-02-15_15.31.38.mp4
@therealkitman
Copy link
Author

BTW, I "THINK" I'm seeing something similar on the Surge standalone v 1.1.2 in regard to animated wavetables. But it's a bit hard to sort out as I rely on visual feedback of LFOs etc that the standalone lacks.

@baconpaul
Copy link
Contributor

Here's how it works

The "reset" resets the oscillator. It's the same thing that happens at note on in the vst. It resets phases for unison, restarts the note drift, and a few other things. If you set unison to 2 and rmb to choose "phase from 0" you can see it in a scope.

For a few oscillators there are modes other than reset. String, Twist and Window/WT in one shot mode toggle from "reset" to "trig" to indicate that the init action restarts playback. On string it re-fills the burst buffer, on twist it re-triggers the LPG.

On window/wt in one shot mode it starts the one shot again.

None of these change the modulation or morph mode. So in one shot mode on a trigger the one shot playback will start at the snapped modulated value of morph when hit.

I'll leave this issue open so we can clean this up in the manual, but I hope that answers your question. It matches what I see when I run latest in rack here too, and matches what the code does.

baconpaul added a commit to surge-synthesizer/surge-synthesizer.github.io that referenced this issue Feb 15, 2023
@baconpaul
Copy link
Contributor

https://surge-synthesizer.github.io/rack_xt_manual/#the-resettrigger-input-on-vcos I've added this comment to the manual in a slightly cleaned up form so will close this now. Please do chime in if something isn't clear.

@therealkitman
Copy link
Author

Thanks Paul. The descriptions make sense to me now.
However - there seems to be an issue with the "Pulse - 1 shot". If you arrow left or right then come back to Pulse the last frame in the wavetable changes? Not an issue for me in my case but a bug none the less?

image

image

x-2023-02-16_11.33.48.mp4

@baconpaul
Copy link
Contributor

Oh I fixed that in surge vst but need to get the fix to rack. Lemme reopen this

@baconpaul baconpaul reopened this Feb 16, 2023
@baconpaul baconpaul added this to the Xt 2.1.4 milestone Feb 21, 2023
@baconpaul baconpaul changed the title Trigger/Reset Inputs on Wavetabel and Window VCOs Oneshot tail paint (was: Trigger/Reset Inputs on Wavetabel and Window VCOs) Feb 21, 2023
@baconpaul
Copy link
Contributor

An easy way to see this is to just alternate between blip3 and pulse in the wavetable viewer

@baconpaul
Copy link
Contributor

and the surge vst3 doesn't have the corruption at the end; so i must have missed one trick in the port. (The corruption isn't in the audio either just the graphics)

@baconpaul
Copy link
Contributor

grr maddening. why can't i find this this morning! Ahh well another day.

baconpaul added a commit to baconpaul/surge that referenced this issue Mar 5, 2023
Truncated WT files would silently fill the end of the buffer
with noise. This was actually a problem for oneshot/Pulse
which advertises 3 tables but has 2. Clearly some old
semantic where this would have worked is either ignore the
last or fill with zero, so replace the fixme which was sitting
here with a fill-with-zero. This will also fix
surge-synthesizer/surge-rack#843 when all
merged through.
baconpaul added a commit to baconpaul/surge-rack that referenced this issue Mar 5, 2023
1. Fill frames for truncated tables with 0, fixing a problem
with pulse wavetable in rack. Closes surge-synthesizer#843

2. Invalidate more completely when dirty since background is
dirty dependent. Addresses surge-synthesizer#856 but will await for confirm to
close
baconpaul added a commit that referenced this issue Mar 5, 2023
1. Fill frames for truncated tables with 0, fixing a problem
with pulse wavetable in rack. Closes #843

2. Invalidate more completely when dirty since background is
dirty dependent. Addresses #856 but will await for confirm to
close
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants