Rack v1 development blog

Some physical Eurorack modules change functionality if a port has a plug inserted, even though the plug is otherwise unconnected. For instance, https://www.muffwiggler.com/forum/viewtopic.php?t=44325 Is this the same thing?

No, it’s not really related to dummy cables, but it’s kind of the opposite. If 0-channel cables and nonexistent cables behaved the same, a module could tell one of its output ports “I want the cable connected to you to pretend that it doesn’t exist.” I honestly can’t find a use case for this, but combining the concepts would simplify the mental model of the cable system.

Never mind. There are a few issues with this idea. E.g. a module may set outputs[...].setChannels() when the output is unconnected, which would invalidate the connected state. It’s better to have 1 byte for the connected state (read-only by Module), and 1 other byte for the output’s number of channels (writable by Module).
The concept works beautifully for inputs, but since inputs and outputs are the same data structure, the outputs ruin it for inputs.

Rack v1 now partially supports Unicode filepaths and text on Windows, including non-ASCII usernames containing the “My Documents” folder. It is still recommended to only use ASCII characters in patch filenames (for users) and all plugin files (for plugin developers).

4 Likes

I have rejected the patch assets proposal for Rack v1. https://github.com/VCVRack/Rack/issues/1175#issuecomment-483119768.

Out of curiosity: what is the VCV Timeline module?

It’s a future module from VCV that offers a traditional timeline interface in a large display with N channels with N inputs and N outputs. You can record-arm channels, record to a tempo-synced (or tempo-free) timeline, play it back, and move the clips around just like in other DAWs.

This module needs to handle assets correctly, and I’ve decided that there is no current need for Rack to help manage a module’s files. Maybe by v2 or v3 the proposal will write itself.

6 Likes

The source for VCV Recorder is available at GitHub - VCVRack/VCV-Recorder

Build as usual. Building - VCV Rack Manual Report issues at Issues · VCVRack/VCV-Recorder · GitHub

8 Likes

Looks great. It’s an audio and video recorder? (wohooo…)

2 Likes

Should I make right-click-drag create Drag*Events? This would allow right-click-drag to be possible at all, but it would trigger existing drag events in custom widgets when users right-click-drag unless you add an explicit if (e.button == GLFW_MOUSE_BUTTON_LEFT) check. Discuss here:

https://github.com/VCVRack/Rack/issues/1248

The event system is now fully-functioned enough to be considered finished for v1. Some changes in the last week were

  • Move events to event:: namespace (again).
  • Add propagating, consumed, and target properties to event::Context along with helpers methods in events.
  • Add button to Drag* events and allow dragging widgets with any mouse button.

I still might make small tweaks and bug fixes later. See https://github.com/VCVRack/Rack/blob/v1/include/event.hpp and https://github.com/VCVRack/Rack/blob/v1/include/widget/Widget.hpp#L138-L169 for details.

1 Like

Added performance improvements when rendering the infinite rack rails. This makes zooming and scrolling much smoother. Also, added an infinite bus board designed by Grayscale. Here is a screenshot of the draft. Will post another screenshot when the design is finalized.

16 Likes

Added module “forcing” movement when holding Ctrl (Cmd on Mac) while dragging a module. This shoves other modules out of the way to make room for the dragged module.

19 Likes

Another reminder: This is not a thread for feature requests. The only reason I’m keeping it open is because the original post says

Feel free to ask any questions for clarification of each task

I might experiment by closing the thread, but I don’t really want to limit discussion about the “blog posts”.

2 Likes

I personally like the design, but it may make sense to align it with the positions of the modules (if possible) and get rid of the parts with the screws, this way it would indicate the space between two modules (like, two plugs in the background = space for a module with a width of two). Could help arranging modules manually without the, very useful, “force” feature.

I have no idea what you’re trying to say.

2 Likes

Lol, sorry. It’s hard to explain, especially if english isn’t your native language. Maybe it’s better to make a picture of what i mean. Will do a.s.a.p.

After taking a look at your screenshot again, my idea may not work. I asumed every module has a fixed width, but that isn’t the case.

Sure. A picture is worth 1000 words.

I know, it´s offtopic and i don´t want to say anything in particular, except that i´m excited and want to share my thought, but : i´ve recognised, that one of the first things i do, when i go online any given day, is to check this thread or only the VCV homepage to see, IF v1 is out or what´s going on. You did a great “hustler job” there Vortico, my VCV addiction is growing and i´m lurking at the (internet) street corners to get the “better fix”. :wink:

4 Likes

I hope this picture can illustrate my idea. It would greatly contribute to the overview of the rack, but as already told…it won’t work, because that would require that:

  • every module has a fixed width with a fixed factor
  • modules can’t be placed everywhere you want

Do you understand what i meant? :smile: