SynthMaker

Messy patch cords. Solution?

Archive · 2004 10 old posts

From the original SynthMaker forum (2004–2014), with its members’ names and dates.

bManic ·

Hi Jorge,

I'd like to see the patch chords get an 'add node' feature. That is, you could add a 'dummy' node anywhere on the patch cord which would then work as a 'bend' in the patchords path. This would make it possible to make very clean and nice modules! 90 degree bends in a chord are often needed to make busy modules clear. A 'multiple node per wire' solution is even more superior, as the user can then make ANY 'bends' and curves to keep the wires nice and tidy!

Another feature would be a "hide green/white/red/blue/etc. wires". This could give the wires a barely seen translusency or hide them completely and just showing a small arrow on the modules connections.

Did I make any sense?

Cheers! bManic

PS. just downloaded v. 079f, I'll get back to you about bugs later. Btw. I just got an ADSL connection home so I can finally work over the net at home now! No more walking to school just to write emails! 🙂

jorge ·

Your ideas make a lot of sense and I like them. Do you prefer the 'Dummy' node feature to a fully vertical/horizontal links with 90 degrees corners as in Digital Circuit editors?

bManic ·

Hmm, good question.

I've got some experience with 90 degree patchcords in Max/MSP and I think the 'dummy' node thing would be more flexible even though it requires some more management. The node has lots of possibilities. You could have a node being created always in the middle of a chord (just keep it small enough), even when having a straight line and then when you drag the node somewhere it bends the chord and automatically creates 2 new nodes on each of the new 'straight lines'.

---0---- to

0------0-------MODULE / / 0 / / MODULE

You need to try different aproaches in a messy module, like a complex filter module or something then you'll see which works best. However, for the 'node' approach to work you really need to implement the normal windows 'drag box to select multiple objects' thing first so that multiple nodes can be moved.

Cheers! bManic

jorge ·

After your suggestion about 'dummy' nodes I have thought about it and came to a similar conclusion of what you're suggesting now.

You'd start with a link from an output connector to an input connector, in the very middle of the link you'd have some indication that you can drag that point to create a new dummy node. When you create that dummy node, you'd have two straight lines each with a new symbol in the middle indicating that you can drag to create new dummy nodes. The only thing I havent decided yet, is how do you delete a dummy node?

Also you'd be able to start a new branch of a link from a point in an existing link.

I'm looking forward to implement this, its not yet highest priority but it will soon. My priorities at the moment are WaveFile and fixing the PolyToMono component so you can connect it to a Pack component.

bManic ·

Well, deleting the nodes must work with a 'drag box around selection' + press DEL key on keyboard. Or simply by right clicking on the node.

I agree that this is low priority. There are much more important basic user interface things you need to get working (like selection tools, basic keyboard shortcuts DEL, CTRL+C, CTRL+V and CTRL+X).

Keep up the good work!

Cheers! bManic

cbit ·

The control nodes is a great idea.

I think the problem with using a drag box to delete nodes would be that i think alot of people would expect that dragging a box like that would select the cables themselves (eg. in order to delete them), id prefer it if you were required to click the node itself and press delete to remove it.

It occured to me that it might also be possible to 'bind' nodes from different wires together. This way you could simulate a cable loom as a way of tidying your workspace. I'm interested if other ppl think this would be a workable idea.

i imagine 'looming' might be something you'd do after you'de made all the connections you needed to, as a final step to 'clean up' your patch.. if you needed to go back and edit the layout again you'd propably delete the loom node to gain access to the individual wires again.

(or would 'hide wires' make the looming idea redundant?)

Justaguy ·

If you want to study automatic orthogonal (90-degree curves) line drawing, check out the paper by Miriyala, Hornick, Tamassia: "An incremental approach to aesthetic graph layout". The paper describes an algorithm "Segment-space-Dijkstra", where orthogonal routes (line paths) between rectangular "nodes" (like in software diagrams) are found using the good old Dijkstra shortest-path algorithm, however *not* searching in grid-space, but so-called SEGMENT space. The entire picture(diagram) consists of orthogonal "segments", i.e. rectangles, and EVERY line in the whole picture must be a part of some rectangle. To make this possible, invisible VIRTUAL segments are added... Check out the paper! It's a great algorithm, and with just a couple of additions, it could work really fine for Synthmaker.

(Later on, you will probably want to implement some special cases, like several consecutive lines going side-by-side between two nodes, like from connectors 1..4 in node A to connectors 2..5 in node B or something. But even by itself, the Miriyala-Hornick-Tamassia thingy works great.)

So check it out: K. Miriyala, S. W. Hornick, and R. Tamassia. An incremental approach to aesthetic graph layout. In Proc. Internat. Workshop on Computer-Aided Software Engineering, 1993. It's not available online, but it's definitely worth ordering from somewhere!

jorge ·

Thanks a lot for your suggestion Justaguy. I'm maturing ideas on how to handle connections between components before I start implementing it. I'll be having a look at "An incremental approach to aesthetic graph layout", at least whatever is available free on the internet based on it. I have already done a search and found very interesting information. An automatic way of orthogonal routing could be very good. I'd be interested in knowing if bManic would still prefer the dummy node bend feature.

bManic ·

Well, the only advantage to a dummy node feature is flexibility but at the cost of time.. So I guess that algorithm based thing might work better, if it's "smart" enough. Maybe some controll could be given to the user?

Btw. Sorry for being away so long.. school and my new band has taken quite a lot of time. I just got thrown out of the living room by my girlfriend (we live in a small 1 room + kitchen flat) into the kitchen because of my nightly music composing sessions 🙂 . So now I can sit up all night and fool around with synthmaker. I see it has progressed nicely. Just downloaded the 0.8.0r version.

Cheers! bManic

jorge ·

Maybe some controll could be given to the user?

One interesting control that could be given to the user would be to be able to change the "cost per bend", "cost per crossing" and "cost per unit length" used for calculating the total cost of a route.

Btw. Sorry for being away so long..

It is very nice to have you back even if it is just to check on synthmaker's progress.

I just got thrown out of the living room by my girlfriend

Can you please tell her I say thanks. 🙂

Wrote something here? To have a post removed or your name hidden, write to [email protected].

Before your first post

A few rules keep this a friendly place. You agree to them once.

Shown next to what you post, here and in the app. It doesn’t have to be your real name: 3–24 lower-case letters, digits or _ (capitals become lower case, spaces become _).

    Then your post goes up straight away.

    Delete this reply?

    Open it in SynthMaker?

    It goes on the track you’re editing there, in place of that track’s sound, and into My sounds. Your other tracks stay as they are.

    Want to keep that track’s sound? Start a new song in SynthMaker first (Song › New song), then open this.

    Report this reply?

    Only the developer reads reports. The person isn’t told who reported them.

    What’s wrong with it?

    Block this person?

    You won’t see their posts and replies here any more. They aren’t told, and you can unblock them at any time.

    People you’ve blocked

    Their posts and replies are hidden from you. Unblock someone to see them again.

    The community rules

    A few rules keep this a friendly place. Everyone agrees to them once, before their first post.