VCV Rack and mouse/keyboard event recorder

(Beginner here, and probably a Windows-only question) Is it possible or workable to record mouse and keyboard events in the VCV Rack window and then play them back successfully to the same exact patch to replay a session? Similar to what can be done for MIDI events? A VCV Rack utility module would be best, and maybe cross-platform as well, but I haven’t found one.

Barring a module with this functionality, I know there are Windows programs that are claimed to be able to do this; I think Microsoft even includes a macro recording program for this. But obviously precise timing of the record and playback would be important, as well as resolution. Has this been tried? If so, with any success?

Even if the timing weren’t accurate, it seems like it would be useful for capturing cabling, which knob is turned when and by how much, what buttons were pressed, etc. Seems like it could be useful just to have a record of the sequence and magnitude of events.

I only found one thread related here from 2019 but I didn’t see anything definitive. tia…

Edit, added: I looked over the API a little bit, and seeing the classes dealing with events, etc., I realized there’s an event history of some kind that allows the actions to be undone/redone via the Edit drop down, so it would seem that a module might be possible, don’t know how much is exposed to the API tho…

It’s technically possible, but would be a huge effort for a limited audience and benefit. Making such a recording edutable would be even more challenging. Without an editable result you might as well just record the performance as a video.

2 Likes

Thinking this through more and thinking about what you say, I see what you mean. I’d thought because I’d find it useful, it might be generally useful. But about every patch I’ve seen that I can think of are generative or controlled with MIDI or for processing audio, and if designed to be interacted with at all, only in very clear ways. Save your patch, whether it’s in work or finished, and you have everything you need.

What I’ve been exploring so far with VCV Rack is, with a lot of feedback and cross-cabling of modules and using lots of audio for CV, to try to find fairly chaotic systems that have some interesting sounds, and see if it’s playable at all kind of like no input mixing board or maybe something like the Lyra-8. Some patches like that I’ve found can have extremely non-linear responses to knob tweaks, where it’s not really possible to anticipate what a tweak will do to the sound.

Given that, my thought is I’d like to be able to listen to an audio playback of a session experimenting like this, and at some second where I hear something I like, I’d like to know the exact configuration of the patch at that moment and what was being tweaked, with full numerical precision. It would be a luxury you can’t get with something like a no input mixing board. You’re right, a video would go a long way towards that – obviously the cabling and switch positions would be clear. But knobs and sliders seem like they’d be harder. I’d have approximations from the video but when the knob response is highly non-linear, if all knobs/sliders were right on except one, that one could just be dialed in. But if two or more are slightly off it could be pretty hard to find the right spots.

So my use case wouldn’t need to have it editable. And might not be that difficult. It appears that the history is kept for undo/redo; saving that out into a file with time stamps might be enough to figure out the exact state of the patch at any given time and what was being done, given there’s one mouse and only one action that can be taken at a time…

But agreed, probably hardly anyone would find it of much use. Well, I’ll start taking videos, maybe will come back to this another day.

you can do this in TouchDesigner (that works well with Rack via OSC messages) but unfortunately it outputs the mouse coordinates and clicks only when hovering on its window, not on other ones :expressionless:

1 Like

Thanks Alessandro, I’ll check it out!