Introducing Routing Diagrams


#1

New Feature: Routing Diagrams!

This is available now as an early access: download here. It’s build 3581, but for the moment I’ve left it out of the release notes until I’m satisfied it basically works.

I still need to put together a video demonstrating it, but here’s some tips to get you started:

  • There’s two new buttons at the top right of the routing panel to switch between “Table View” and “Diagram View”. There’s also similar commands in the View menu. You can also switch views by Ctrl+Shift+X.
  • The song or rack’s input and output ports appear to the left and right of the main work area.
  • Plugins, racks and media players appear as connectable objects in the center of the work area.
  • Routes are represented as wires between those objects. (MIDI routes are red, audio green)
  • The ports of plugins, racks and media players appear in little panels above (inputs) and below (outputs) the main body of each object.
  • You can click and drag between ports to create new routes, or click an existing route to select it and then use the handles at each end to change the route’s source/target.
  • Routes can be reshaped using the smaller inset handles that appear when a route is selected.
  • Components like to align themselves on a grid and hovering in that grid where a component might appear shows a ghosted Add button that you can use to add new components. (for touch screens which don’t have a concept of hovering like a mouse, just tap and hold to bring up the context menu to add new objects).
  • You can expand/collapse plugins, racks and media players to hide their ports and provide a cleaner routing view by pressing the Tab key (or via the right click menu).
  • When objects ports are collapsed, you can hover over an object to temporarily show the ports so you can drag from them to create a new route. Similarly when dragging the end of a route wire, moving over a collapsed component will temporarily expand it so you can see it’s ports.
  • Settings for the selected object appear in a slot at the bottom of the work area - this reflects very closely how the same object appears in the table view.
  • Cantabile can “auto-arrange” the layout of objects. Press the A key or choose Edit -> Audio Arrange Routing Diagram. This can be handy if you’ve added a bunch of objects using the table view and after switching to the diagram view the layout is weird.
  • Each song/rack will remember it’s current view (table or diagram) but the default for new/unsaved songs racks can be configured in Options -> General -> Preferred Routing View -> Table or Diagram.
  • The input and output ports area can be resized by grabbing the edge of the area and input and output ports can be moved using the little gripper at the edge of each one.

Keen for feedback, let me know what you think!

Brad

PS: The main thing that came out of Mitch’s UX survey late last year was that people really seem to struggle with the table based routing view in Cantabile - hence this new feature.


#2

Ahhhh…the return of VST Host ! :rofl:

It actually looks really good Brad. I can see how it would help newbies, but would also help chase down a routing issue. I would probably have more hair on my head if this was available a few years ago.

Corky


#3

I like the way this looks. It will certainly make Cantabile feel a lot more accessible for newbies but can also help the more weathered Cantabile user get a clearer overview of what they’re doing. To be able to switch backwards and forwards between the table and diagram views is a cool option!


#4

Would be interesting to see @Torsten and @terrybritton’s routing diagrams. Endless scroll, and red and green wiring everywhere. I would suspect a likeness of a Christmas theme :wink:

Hmmm, makes me wonder about binding diagrams…feasible? :thinking:


#5

First pass after a few hours of looking at it I like it but wonder if there a way to indicate a plugin from a rack when in simple view (tab) mode? Other than that triviality this is a great piece of work @brad! I had used VSTHost way back and kind of learned this type of interface, early Logic had something like it too. It only took about 15 minutes to get up to speed with it but it helped that I knew the table way to fit it all together. Will test it for a few days and make some test songs with it from scratch.

Another question is when I open a rack it goes to the table interface, is there a reason that the racks don’t open to a wiring view as well?

Dave


#6

Happy to oblige: here is a simple setup (Piano & Organ):


When expanding the ports, this becomes a bit bigger, but also more useful:


Here’s a more complex example:



The seemingly unconnected “_Second Drumpad” at the bottom is still useful: it is connected to a number of bindings, which are obviously not shown on the routing page. This is related to the two racks above it “Hive_Pad” and “Sampler Sf 1”: these aren’t connected to an input, only output, because they are only triggered via bindings from the drum pad.

In essence: the routing view is extremely useful, but I’d love a couple of additional features built into it, @brad:

  • a zoom function for these big setups (mouse-wheel with a modifier key?)
  • an easy-pan function like in Photoshop (hold space and drag with the mouse)
  • an automatic highlighting of connected routes when clicking on a port in the diagram. Would make it easier to identify routes when there’s a ton of them overlapping like in my last example.

Cheers,

Torsten


#7

Thanks Torsten. Exactly how I pictured it. :wink:

I like the additional features you suggested. A very complex routing could become an entanglement of overlapping wiring, much like many of my gigs.


#8

Great example pictures @Torsten! The more complex the song the more it looks like it would help.

Dave


#9

I haven’t played with this yet, and I certainly understand some of the concerns that have been stated (esp. with complex routing setups), but the feature is very exciting to me. This has always been a struggle when I have used Cantabile, dating back to version 2. I applaud the attempt, and really hope to see this feature in the final “stable” product. Well done!


#10

@Corky Well, I did get a little carried away, and am not sharing my screen shots because unlike Torsten’s 3 screens mine are taking up 27.

Plus, it looks like a fuzzy blur of green and red with all the intersecting lines, that if you stand back far enough it takes on the appearance of Leonardo Da Vinci’s “Mona Lisa” in a strange way. (The smile is spot-on, miraculously!) I’m looking into approaching this routing thing as an art form next. (Well, it already WAS, but you get what I mean.)

Anyway, it was JUST THE THING to show me where the (now obvious) missing connection was. So, thanks Brad!

Terry


#11

27…:rofl::rofl::rofl::rofl::rofl::rofl::rofl::rofl::rofl:


#12

after some dragging around mine have a more more impressionist look … what can I say, it’s a gift… :smirk:


#13

Looks pretty good. The danger with this type of thing is when it ends up separating onto so many screens it actually outgrow its own usefulness.


#14

I just can’t keep up with you guys…mine looks like a preschool stick figure parade. :cry:


#15

Just to be clear my impressionism looks like a preschool stick figure parade …:grin: luckily I can’t open my utility racks in this way or I would get visual overload!


#16

I was hoping for a Christmas scene like Torstens (lots of green and red), but got a facsimile of the Grinch’s ratty Christmas tree. Just sad. :sob:


#17

Seeing as these diagrams can become quite complex, I think it might be helpful to have a zoom in/out function for the diagram as a whole to quickly find that part of the diagram you want to take a closer look at or edit. Preferably not (just) using a mouse wheel because I’m on a laptop with a touchpad.


#18

Cool feature I will be trying out later. Can’t say I have struggled with table based routing, but as an ex electronics engineer used to wiring diagrams (and also LabVIEW programmer) then I can see the attracting of being able to wire on a diagram! :slight_smile:

Will be download to try out now!


#19

Looks great. I’ll have to play with this but certainly looks like a nice addition!


#20

Just adding some more observations and feature asks so here goes

  • selecting an audio output route for a rack does not give access to it’s volume slider that is provided at table mode. The slot at bottom reads “(no selection)”

  • no support for routing inside the racks

  • no indicator for disabled racks or plugins when not selected (and show the table slot at bottom)

  • small graphics artifact on new indicator buttons (thin blue line left on top of the un-selected “Routing” button and new table and wiring buttons)

just wondering on some of these questions because there are no doubt reasons for them …

Dave