From 17546c58cd2b4d7693a1b14090f5db43547ae951 Mon Sep 17 00:00:00 2001
From: Jonathan Wilkes <jon.w.wilkes@gmail.com>
Date: Wed, 22 Jul 2015 08:27:26 -0400
Subject: [PATCH] make signal patch cords thicker than control patch cords

---
 pd/nw/pdgui.js    | 10 +++++-----
 pd/nw/todo.txt    |  2 ++
 pd/src/g_editor.c |  8 ++++----
 3 files changed, 11 insertions(+), 9 deletions(-)

diff --git a/pd/nw/pdgui.js b/pd/nw/pdgui.js
index 3549f8f07..53e06a96a 100644
--- a/pd/nw/pdgui.js
+++ b/pd/nw/pdgui.js
@@ -2069,7 +2069,7 @@ function gui_atom_drawborder(cid,tag,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12) {
 }
 
 // draw a patch cord
-function gui_canvas_line(cid,tag,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10) {
+function gui_canvas_line(cid,tag,type,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10) {
     var d_array = ['M', p1 + 0.5, p2 + 0.5,
                    'Q', p3 + 0.5, p4 + 0.5, p5 + 0.5, p6 + 0.5,
                    'Q', p7 + 0.5, p8 + 0.5 ,p9 + 0.5, p10 + 0.5];
@@ -2078,10 +2078,10 @@ function gui_canvas_line(cid,tag,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10) {
         d: d_array.join(" "),
         fill: 'none',
         stroke: 'gray',
-        'stroke-width': 1,
+//        'stroke-width': 1,
         'shape-rendering': 'optimizeSpeed',
         id: tag,
-        'class': 'cord'
+        'class': 'cord ' + type
     });
     svg.appendChild(path);
 }
@@ -2089,7 +2089,7 @@ function gui_canvas_line(cid,tag,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10) {
 function gui_canvas_select_line(cid, tag) {
     var line = get_item(cid, tag);
     if (line !== null) {
-        configure_item(line, { class: 'selected_line' });
+        line.classList.add('selected_line');
     } else {
         gui_post("gui_canvas_select_line: can't find line");
     }
@@ -2098,7 +2098,7 @@ function gui_canvas_select_line(cid, tag) {
 function gui_canvas_deselect_line(cid, tag) {
     var line = get_item(cid, tag);
     if (line !== null) {
-        configure_item(line, { class: '' });
+        line.classList.remove('selected_line');
     } else {
         gui_post("gui_canvas_select_line: can't find line");
     }
diff --git a/pd/nw/todo.txt b/pd/nw/todo.txt
index 4f8c2a7ee..33573ee9f 100644
--- a/pd/nw/todo.txt
+++ b/pd/nw/todo.txt
@@ -214,6 +214,8 @@ Everything else: (A [x] means we've fixed it)
     * sometimes parts of the window aren't rendered
     * sometimes the rendering is buggy (part of a gobj rect
       appears/disappears mysteriously)
+[ ] sometimes straight control cords are pixel-aligned, sometimes they aren't. (If pixel-aligned, try nudging
+    one pixel to the right and they become non-aligned.)
 
 Crashers
 --------
diff --git a/pd/src/g_editor.c b/pd/src/g_editor.c
index 0ae46f51c..8cc9fa06b 100644
--- a/pd/src/g_editor.c
+++ b/pd/src/g_editor.c
@@ -3438,8 +3438,8 @@ void canvas_doclick(t_canvas *x, int xpos, int ypos, int which,
                         //    "$pd_colors(signal_cord_width)" :
                         //    "$pd_colors(control_cord_width)"),
                         //(issignal ? "signal" : "control"));
-                        gui_vmess("gui_canvas_line", "xsiiiiiiiiii",
-                            x, "newcord",
+                        gui_vmess("gui_canvas_line", "xssiiiiiiiiii",
+                            x, "newcord", (issignal ? "signal" : "control"),
                             xpos, ypos, xpos, ypos, xpos, ypos, xpos, ypos, xpos, ypos);
                     }   
                     else
@@ -3892,8 +3892,8 @@ void canvas_drawconnection(t_canvas *x, int lx1, int ly1, int lx2, int ly2,
     //        "$pd_colors(control_cord_width)"), 
     //    tag, (issignal ? "signal" : "control"));
     sprintf(tagbuf, "l%lx", (long unsigned int)tag);
-    gui_vmess("gui_canvas_line", "xsiiiiiiiiii",
-        x, tagbuf, lx1, ly1, lx1, ly1 + yoff,
+    gui_vmess("gui_canvas_line", "xssiiiiiiiiii",
+        x, tagbuf, (issignal ? "signal" : "control"), lx1, ly1, lx1, ly1 + yoff,
         lx1 + halfx, ly1 + halfy, lx2, ly2 - yoff, lx2, ly2);
 }
 
-- 
GitLab