JoepVanlier / JSFX

A bundle of JSFX and scripts for reaper.
MIT License
396 stars 18 forks source link

Dusk Verb inconsistent output when stopping and playing #81

Closed Someone65 closed 1 year ago

Someone65 commented 1 year ago

I have an issue with Dusk Verb where the granular effect is inconsistent every single time I press play and I'm not even sure how to get it to trigger at the louder and softer volume consistently.

Here's a link to a video of it happening.

JoepVanlier commented 1 year ago

Sorry I didn't notice this issue earlier. The link to the video seems to be dead.

The granular effect is random, so some variability is expected. I could consider adding a feature where a fixed seed is used and the random sequence is restarted each time if that would help you.

Someone65 commented 1 year ago

Reupload of the Streamable vid (lol hopefully it doesn't get archived again since I logged in before uploading this time)

The problem here is not that it's a bit random, it's that it's seemingly SO random in a very specific manner that it becomes twice as loud as normal sometimes. That's a little drastic. A fixed seed feature would be really nice but I have a feeling what's going on isn't quite right regardless of the variability.

JoepVanlier commented 1 year ago

Yep. You were absolutely correct. Excellent catch and thank you very much for reporting it.

What was happening is that when transport was stopped at exactly a beat, it kept firing grains (since we land on the beat transition continuously). The reason for this is that the granular algorithm kept looking for beat transition, but while there, it kept resetting the position (since it was reading it from the host). Since there is a limited number of grains in the pool, this in turn leads to them all being occupied. As a result, when playback is resumed, very few grains are available for playback.

To fix it, now, when transport is stopped, the plugin switches to its own internal clock for maintaining synchronization.

The fix is in commit 0897bb5 and released as part of version 0.09 (8b04b93).

I hope you didn't lose any work due to this bug. Sorry for the inconvenience.

JoepVanlier commented 1 year ago

Closing this issue as resolved. Please feel free to open a new one if you encounter a different bug.