MarcBoule / ImpromptuModular

Virtual Eurorack Modules for VCV Rack
Other
95 stars 10 forks source link

Gate_Seq_64/Foundry #51

Closed LeHearse closed 2 years ago

LeHearse commented 2 years ago

I'm using Foundry to switch patterns on the Gate_Seq, When I switch patterns the first beat of the new sequence is always dropped.

MarcBoule commented 2 years ago

Ok, I'll take a look

MarcBoule commented 2 years ago

Unfortunately, given the way the sequencers are designed, changing the SEQ CV input must be done before the next clock edge in which we want the change to take effect (or exactly at the same time, but not after). So we have to ensure the routing will make this happen, by slightly delaying the clock that goes into the GS64 (but not the one that goes into Foundry). This can be done using a sample delay module like this:

https://library.vcvrack.com/GrandeModular/SampleDelays

But as the code is now, it needs too many delays for it to be practical. Although we can use

https://library.vcvrack.com/GrandeModular/VarSampleDelays

to get more delays, it's not really elegant. So I tried a small modification in the code to make the SEQ CV input more responsive, and it now works well with only one sample delay, which can be done with any passthrough module. Here is an example with VCV Mutes just to show the idea, but it can definitely be done with fewer HP using one of the modules shown above (or others).

image

If you want to try out this new version, please let me know which platform you use and will post a build for you.

LeHearse commented 2 years ago

Well done! Thanks!

LeHearse commented 2 years ago

Oh... right. I can read! lol... I implemented a delay of 0.00072289 and that did the trick. I'd be happy to use your build to. I'm using VCV rack 2 and I can just wait until your ready to do an update on the platform. I'm new to edges rising and falling, so your explanation was a HUGE help and so we can chalk this up to you making your program work better AND making your user work better :)

On Sun, Apr 24, 2022 at 1:49 PM Marc Boulé @.***> wrote:

Unfortunately, given the way the sequencers are designed, changing the SEQ CV input must be done right before the next clock edge in which we want the change to take effect (not after). So we have to ensure the routing will make this happen, by slightly delaying the clock that goes into the GS64 (but not the one that goes into Foundry). This can be done using a sample delay module like this:

https://library.vcvrack.com/GrandeModular/SampleDelays

But as the code is now, it needs too many delays for it to be practical. Although we can use

https://library.vcvrack.com/GrandeModular/VarSampleDelays

to get more delays, it's not really elegant. So I tried a small modification in the code to make that SEQ CV input more responsive, and it now works well with only one sample delay, which can be done with any passthrough module. Here is an example with VCV Mutes just to show the idea, but it can be done with fewer HP.

[image: image] https://user-images.githubusercontent.com/33604154/164991750-4ced7cd1-6789-4c41-a0b5-b756cf1d3a09.png

If you want to try out this new version, please let me know which platform you use and will post a build for you.

— Reply to this email directly, view it on GitHub https://github.com/MarcBoule/ImpromptuModular/issues/51#issuecomment-1107896558, or unsubscribe https://github.com/notifications/unsubscribe-auth/ASY5LCDPKY6UFRQGZQ3HYODVGWJTFANCNFSM5UFNK2CA . You are receiving this because you authored the thread.Message ID: @.***>

MarcBoule commented 2 years ago

so we can chalk this up to you making your program work better AND making your user work better :)

Well said! :-)

I put up recent builds here if ever you want to try, since I'll likely wait until I have more changes before sending an update.

https://github.com/MarcBoule/ImpromptuModular/releases/tag/v2.1.0b