freddyz / computerscare-vcv-modules

Modules for VCV Rack
BSD 3-Clause "New" or "Revised" License
41 stars 9 forks source link

Suggestion: Toly Pools Rotate through output channels, instead of all 16. #82

Open rasavell opened 1 year ago

rasavell commented 1 year ago

Cheers, thanks for the hard work! Using these a lot. Would love it if the rotate was on output channels rather than all 16, as I don't think there are often 16 signals to rotate through, so tends to fill up with zeros. But maybe you have a different use case in mind. Anyway, cheers and thanks again!

freddyz commented 3 weeks ago

Okay I finally got around to this. To ensure old patches using Toly Pools still work, I created a new Toly Pools v2 module and deprecated the old one. Opening an old patch will work exactly as before, but when you search the module browser for "Toly Pools" users will only see the new Toly Pools v2. A few improvements:

Petervos2018 commented 3 weeks ago

Hi Adam, there is something not ok with version 2.1.3, i got this error message :

[3.787 fatal adapters/standalone.cpp:49 fatalSignalHandler] Fatal signal 11. Stack trace: 20: 0x0 19: 0x0 18: _C_specific_handler 0x7ffa06167f60 17: _chkstk 0x7ffa07f32360 16: RtlRaiseException 0x7ffa07ee1030 15: KiUserExceptionDispatcher 0x7ffa07f30f60 14: memset 0x7ffa07f341c0 13: RtlFreeHeap 0x7ffa07eb4760 12: free_base 0x7ffa05dcf040 11: ZN28ComputerscareTolyPoolsWidgetC1EP22ComputerscareTolyPools 0x7ff9a18db260 10: ZZN4rack11createModelI22ComputerscareTolyPools28ComputerscareTolyPoolsWidgetEEPNS_6plugin5ModelENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEN6TModel18createModuleWidgetEPNS_6engine6ModuleE 0x7ff9a19a7250 9: ZN4rack3app10RackWidget8fromJsonEP6json_t 0x7ff9a7ab5190 8: ZN4rack5patch7Manager8fromJsonEP6json_t 0x7ff9a7a744b0 7: ZN4rack5patch7Manager12loadAutosaveEv 0x7ff9a7a75050 6: ZN4rack5patch7Manager6launchENSt7cxx1112basic_stringIcSt11char_traitsIcESaIcEEE 0x7ff9a7a77200 5: ZN4rack5patch7Manager6launchENSt7cxx1112basic_stringIcSt11char_traitsIcESaIcEEE 0x7ff9a7a77200 4: ZN4rack5patch7Manager6launchENSt7cxx1112basic_stringIcSt11char_traitsIcESaIcEEE 0x7ff9a7a77200 3: ZN4rack5patch7Manager6launchENSt7cxx1112basic_stringIcSt11char_traitsIcESaIcEEE 0x7ff9a7a77200 2: ZN4rack5patch7Manager6launchENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE 0x7ff9a7a77200 1: BaseThreadInitThunk 0x7ffa06987330 0: RtlUserThreadStart 0x7ffa07ee2690

Is there something in there that could help you ?

Windows10 Rack 2.5.2

Greetings Peter.

freddyz commented 3 weeks ago

Thanks @Petervos2018 I'm firing up my old dumpy Windows machine to attempt to figure this out.

How did you see the error output you posted above? When I run Rack Pro v2.5.2 I can reproduce the crash but I dont see any of that error output in the log.txt or in the windows terminal output (if I launch Rack from the command line)

Petervos2018 commented 3 weeks ago

When you restart after the crash and you choose "NO" it will crash again and it will build a log.txt.

Oh and I try to start a patch that has the "old" TolyPools in it.

freddyz commented 3 weeks ago

Curious @Petervos2018 Are you running Rack Free or Pro? Also when launching Rack do you see that windows dialog warning: "could not move rack user folder...."? I was seeing that, just uninstalled all Rack versions, and manually deleted the whole folder Documents\Rack2 (The old location of the user folder I think) and now I can't reproduce the crash.

If this makes sense and applies, could you try out a new windows build for v2.1.5 and see if you can reproduce the crash? https://github.com/freddyz/computerscare-vcv-modules/releases/tag/v2.1.5

Thanks!

Petervos2018 commented 3 weeks ago

Hi Adam 2.1.5 works without crashing πŸ‘ And yes updating from 2.4.1 to 2.5.2 involves Rack wanting to move the User Folder

afbeelding

Petervos2018 commented 3 weeks ago

EDIT : this does not happen anymore, see next post. πŸ˜ƒ

But removing the input cv from tolypools gives a crash (closes Rack) without an error in the log.txt

afbeelding

Petervos2018 commented 3 weeks ago

Ok made a smaller setup and all is working fineπŸ˜ƒ Probably some ghost in the machine. Thank you again for (fixing) changing the module. Are you in for a FR ? if so, it would be nice to be able to change the rotation up/down with gates/triggers so one port for up one for down and maybe a reset? Wadayousay?

Greetings Peter.

freddyz commented 3 weeks ago

@Petervos2018 Okay I think I've fixed the crash, I was able to reproduce (only on Windows oddly) pretty much every time when disconnecting the input cable, OR when changing the "number of channels" knob if the input was unconnected. If you have a chance I'd be much obliged 2.1.7 release candidate: https://github.com/freddyz/computerscare-vcv-modules/releases/tag/v2.1.7

Thanks a lot for your assistance in finding this bug and helping me understand so I can fix!

Petervos2018 commented 3 weeks ago

Hi Adam, tested 2.1.7. and no crashes, so I think we/you solved it πŸ˜ƒ

Thanks again,

Peter.

freddyz commented 3 weeks ago

Regarding the feature request: check out Stoermelder Pile: https://github.com/stoermelder/vcvrack-packone/blob/v2/docs/Pile.md I think it does exactly what you're asking for. Set the step knob to 0.625 volts and plug it into the Toly Pools rotation cv input and it should work as you described

Petervos2018 commented 3 weeks ago

Haha was already using that, afbeelding

Problem is when you reach "the end" (-16/+16) you can't go up/down any further

afbeelding

Carousel keeps looping but only has 8 inputs.

Thanks for your time and suggestions,

Greetings Peter.

Petervos2018 commented 3 weeks ago

Hi Adam, it's me the centr......

All is well when I set Pile to unbound πŸ˜ƒ

afbeelding

Just to let you know, (or maybe you already did). Thanks again and have a nice weekend,

Greetings Peter.

freddyz commented 3 weeks ago

Oh interesting, I just pushed a change to make sure this use case functions as intended, and also to limit the displayed knob value between -maxRotation and +maxRotation so that it doesn't start displaying all weird. Also more useful this way, a rotation of +9180 doesn't really tell you how much the signal is rotated.