2020-06-07 12-56-54 PDTMartin Owens <doctormo@geek-2.com>I think
2020-06-04 10-09-35 PDTMartin Owens <doctormo@geek-2.com>I mean share code as much as possible by importing from a central module if you must. But yes, split it out into 5 extensions.
2020-01-17 19-57-06 PSTMartin Owens <doctormo@geek-2.com>simplstyle doesn't exist any more, it's gone.
2020-09-02 06-46-53 PDTMartin Owens <doctormo@geek-2.com>I see. It's not quite ready for testing with the creator. Can I get in touch with you next week?
2020-06-03 16-58-22 PDTMartin Owens <doctormo@geek-2.com>Run python-black over the code, it'll auto-format it all in one go.
2020-06-08 07-57-22 PDTMartin Owens <doctormo@geek-2.com>Can you point me at the code again and I will show you the fix.
2020-06-07 14-07-17 PDTMartin Owens <doctormo@geek-2.com>In master you can just construct a list of items and get the bounding box. But here you'll have to do it manually.
2020-06-04 02-56-33 PDTMartin Owens <doctormo@geek-2.com>Using python-gobject Gtk / glade. It's a whole process.
2020-06-07 05-45-13 PDTMartin Owens <doctormo@geek-2.com>But there was a recent change because the bounding_box is not transformed.
2020-06-07 14-06-33 PDTMartin Owens <doctormo@geek-2.com>You need the elem
2020-06-07 12-57-06 PDTMartin Owens <doctormo@geek-2.com>The api in master has moved on a bit.
2020-06-04 06-12-38 PDTMartin Owens <doctormo@geek-2.com>Yes split into 5, you will have much fewer headaches.
2020-06-08 07-57-08 PDTMartin Owens <doctormo@geek-2.com>Yes, confirmed, this is the transformation on the parent group.
2020-06-04 04-44-48 PDTMartin Owens <doctormo@geek-2.com>Especially if you split out the sections into their own extensions. So --panel_screw_stroke_width would just be "screw_stroke_width" in the panel extension.
2020-06-07 05-45-36 PDTMartin Owens <doctormo@geek-2.com>(it is now) so for your code, you should make sure you get the transformed bounding box.
2020-06-04 02-45-13 PDTMartin Owens <doctormo@geek-2.com>So where is says "vintage circle" this is really just a star right?
2020-06-04 10-46-54 PDTMartin Owens <doctormo@geek-2.com>That's completely understandable. This is a separate extension so my review is only recommendation.
2020-06-08 10-12-06 PDTMartin Owens <doctormo@geek-2.com>Oh right, yeah knob is now just an element, either take it as a list or take it as an element. Up to your workflow
2020-06-03 17-01-14 PDTMartin Owens <doctormo@geek-2.com>I think it might be hard to split up your functions, all your code is in one method which will make it hard to maintain (or share duplicate code).
2020-06-07 19-21-52 PDTMartin Owens <doctormo@geek-2.com>Sorry for the terse explainations.
2020-06-04 02-42-37 PDTMartin Owens <doctormo@geek-2.com>Unless arg1 and arg2 are sodipodi attributes and I don't understand them.
2020-06-04 02-44-26 PDTMartin Owens <doctormo@geek-2.com>Amplified?
2020-06-03 17-10-58 PDTMartin Owens <doctormo@geek-2.com>I don't think sodipodi:arg1 and sodipodi:arg2 are real arc arguments are they?
2020-06-08 07-55-13 PDTMartin Owens <doctormo@geek-2.com>ok
2020-06-03 17-03-11 PDTMartin Owens <doctormo@geek-2.com>Is this five extensions rolled into one? i.e. could these be split into 5 python files each drawing a different **part**?
2020-01-17 19-59-53 PSTMartin Owens <doctormo@geek-2.com>Best to keep this in the extensions channel though so other people can jump in or learn from it
2020-06-04 04-44-02 PDTMartin Owens <doctormo@geek-2.com>But of course reducing it's size is possible too.
2020-06-07 19-22-49 PDTMartin Owens <doctormo@geek-2.com>Off the top of my head you may want this: `bbox = sum([elem.bounding_box() * elem.composed_transform() for elem in generator])`
2020-06-08 07-15-22 PDTMartin Owens <doctormo@geek-2.com>I don't know why knob would be from selected, I presume this means you intend users to select knobs.
2020-01-17 19-59-31 PSTMartin Owens <doctormo@geek-2.com>Once you have svg in inkscape, use the xml editor to figure out what you have. Which elements have arrived and which ones haven't
2020-06-03 17-22-08 PDTMartin Owens <doctormo@geek-2.com>Have a good night!
2020-06-07 05-37-00 PDTMartin Owens <doctormo@geek-2.com>It sounds like you need to deal with the transformation.
2020-06-04 10-17-19 PDTMartin Owens <doctormo@geek-2.com>https://gitlab.com/inkscape/extension-manager
2020-06-03 17-06-38 PDTMartin Owens <doctormo@geek-2.com>This is the dictionary pattern, it can turn this: ``` if self.options.moog_panel_units == 1: #single moog_units = 53.721 elif self.options.moog_panel_units == 2: #double moog_units = 107.696 elif self.options.moog_panel_units == 4: #quad moog_units = 215.646 elif self.options.moog_panel_units == 8: #octal moog_units = 431.546 ``` into this: ```moog_units = {1: 53.721, 2: 107.696, 4: 215.646, 8: 431.546}[self.options.moog_panel_units]```
2020-09-02 06-05-08 PDTMartin Owens <doctormo@geek-2.com>freesvg extension?
2020-06-04 02-42-14 PDTMartin Owens <doctormo@geek-2.com>No, for the attributes which are sodipodi attributes, those are right (although you don't have to use them as you can just say PathElement.arc(...) as documented yesterday)
2020-06-04 02-44-38 PDTMartin Owens <doctormo@geek-2.com>Yes
2020-06-08 07-15-48 PDTMartin Owens <doctormo@geek-2.com>And if that's the case, yes, knob = self.svg.get_selected() is wrong, as it returns a LIST of items, not a single item.
2020-09-02 06-08-16 PDTMartin Owens <doctormo@geek-2.com>If not, can you link me, I'm still confused
2020-06-08 11-12-20 PDTMartin Owens <doctormo@geek-2.com>Just say `if isinstance(knob, inkex.Group): for child in knob.decendants(): if child.**is color object test**: knob = child`
2020-06-03 16-56-05 PDTMartin Owens <doctormo@geek-2.com>etree isn't being used you can remove that import
2020-06-04 04-43-27 PDTMartin Owens <doctormo@geek-2.com>Black is like any automatic tool, you have to make a decision on it's output.
2020-06-08 07-14-58 PDTMartin Owens <doctormo@geek-2.com>You have to get a list of all the elements that make up the knob. If that's just one group, or if that's a set of items.
2020-06-08 11-11-11 PDTMartin Owens <doctormo@geek-2.com>You could get around that.
2020-06-07 05-47-07 PDTMartin Owens <doctormo@geek-2.com>I don't understand.
2020-07-08 13-42-42 PDTMartin Owens <doctormo@geek-2.com>No, likely they are using the appimage or snap. There's reports of very odd python issues with those.
2020-01-17 19-57-42 PSTMartin Owens <doctormo@geek-2.com>draw_oval_hole is drawing a rectangle
2020-06-04 10-47-13 PDTMartin Owens <doctormo@geek-2.com>It would only be a requirement if you wanted to get your extension into the core repository (i.e. shipped with Inkscape)
2020-06-08 10-18-15 PDTMartin Owens <doctormo@geek-2.com>Just turn it into a list, knob = [knob] if that's the only issue.
2020-06-03 16-57-47 PDTMartin Owens <doctormo@geek-2.com>You don't have to do the argparse stuff, it's done for you.
2020-06-03 16-44-42 PDTMartin Owens <doctormo@geek-2.com>I think it's private, I get 404
2020-06-04 02-45-44 PDTMartin Owens <doctormo@geek-2.com>Then I understand, I was reading 'arc' by mistake.
2020-06-08 09-44-08 PDTMartin Owens <doctormo@geek-2.com>Oh, `from inkex.elements import ShapeElement`
2020-06-03 17-09-13 PDTMartin Owens <doctormo@geek-2.com>`draw_circle_mark` can use `PathElement.arc((cx, cy), r)` instead of manually making arcs
2020-06-04 10-21-19 PDTMartin Owens <doctormo@geek-2.com>Yes, The gtk stuff is highly experimental. Others have used Tk
2020-06-08 07-09-41 PDTMartin Owens <doctormo@geek-2.com>It's an xml element.
2020-06-08 10-18-36 PDTMartin Owens <doctormo@geek-2.com>But decide now if users should be selecting multiple knobs or not.
2020-06-07 01-37-16 PDTMartin Owens <doctormo@geek-2.com>Is it the above issue?
2020-02-04 15-22-04 PSTMartin Owens <doctormo@geek-2.com>I can't right now, I've got a backlog of things. But you should post it to the forums and see if you can get other people to test it, it seems like a really cool extension.
2020-06-03 17-22-03 PDTMartin Owens <doctormo@geek-2.com>Ah I haven't got onto the ui yet, sorry.
2020-06-08 08-13-32 PDTMartin Owens <doctormo@geek-2.com>This is untested: https://gitlab.com/Faselunare/synth-panels-designer/-/merge_requests/2
2020-09-02 06-08-05 PDTMartin Owens <doctormo@geek-2.com>Hang on, your extension is called freesvg?
2020-06-04 04-43-51 PDTMartin Owens <doctormo@geek-2.com>It's fine as it is.
2020-06-07 05-36-45 PDTMartin Owens <doctormo@geek-2.com>:thumbsup:
2020-06-03 17-17-12 PDTMartin Owens <doctormo@geek-2.com>If you have your own data, you should use a different namespace.
2020-06-03 16-49-17 PDTMartin Owens <doctormo@geek-2.com>No code. Am I a guest level?
2020-06-07 05-44-45 PDTMartin Owens <doctormo@geek-2.com>Should be possible with bounding_Box().center
2020-06-04 10-17-12 PDTMartin Owens <doctormo@geek-2.com>Yes, you can have a look at the extension manager:
2020-06-08 07-09-45 PDTMartin Owens <doctormo@geek-2.com>From the svg file.
2020-06-04 10-19-21 PDTMartin Owens <doctormo@geek-2.com>No, it's planned for 1.1
2020-06-03 16-58-08 PDTMartin Owens <doctormo@geek-2.com>No I think the python is actually quite good.
2020-06-03 16-57-02 PDTMartin Owens <doctormo@geek-2.com>The code looks healthy. Although pylint gives a score of -1.64 out of 10. Most of that is just formatting issues. But makes it hard to see real problems (like not having underscore imported from inkex.localisation)
2020-06-08 09-49-52 PDTMartin Owens <doctormo@geek-2.com>:thumbsup:
2020-06-03 17-10-09 PDTMartin Owens <doctormo@geek-2.com>for `draw_knob_scale_arc_complex` do `PathElement.arc((cx, cy), r, start=start, end=end, open=True)`
2020-06-03 17-18-25 PDTMartin Owens <doctormo@geek-2.com>For example you can do `synth:vintage_x` instead of `sodipodi:arg1`
2020-06-03 16-47-30 PDTMartin Owens <doctormo@geek-2.com>doctormo < github
2020-06-03 16-47-38 PDTMartin Owens <doctormo@geek-2.com>doctormo@gmail.com
2020-09-02 06-04-44 PDTMartin Owens <doctormo@geek-2.com>Morning!
2020-06-04 06-12-45 PDTMartin Owens <doctormo@geek-2.com>Tk is fine.
2020-06-07 12-56-48 PDTMartin Owens <doctormo@geek-2.com>From an element, ask for elem.bounding_box(transform=True)
2020-06-03 16-49-47 PDTMartin Owens <doctormo@geek-2.com>devel, I won't edit anything
2020-07-08 13-42-49 PDTMartin Owens <doctormo@geek-2.com>Inkex is here to stay
2020-06-10 13-19-48 PDTMartin Owens <doctormo@geek-2.com>Sounds good!
2020-06-04 16-32-38 PDTurbanspaceman <francesco.mulassano@gmail.com>illustrator.png (https://chat.inkscape.org/file-upload/HRcpkcSWbiQLEDjyG/illustrator.png)
2020-06-06 13-35-19 PDTurbanspaceman <francesco.mulassano@gmail.com>i need to create the scales around the selected knob (we had already talked about it) it's just a limitation that could be mistaken for a bug and cause me a lot of headaches with users
2020-06-04 16-26-18 PDTurbanspaceman <francesco.mulassano@gmail.com>spd_test2.dxf (https://chat.inkscape.org/file-upload/FE3rsqAPBNFpfpFqY/spd_test2.dxf)
2020-06-08 09-49-16 PDTurbanspaceman <francesco.mulassano@gmail.com>ok, no error now but i have to change some logic i think ```To draw a scale, you must first select the corresponding knob. Please select the knob's main color. ```
2020-06-08 01-45-55 PDTurbanspaceman <francesco.mulassano@gmail.com>Knob?
2020-01-22 06-04-34 PSTurbanspaceman <francesco.mulassano@gmail.com>old code (another old extension use this code ``` def draw_knob_arc(self, x, y, angle, offset): start_point_angle = (angle - pi)/2.0 end_point_angle = pi - start_point_angle style = { 'stroke' : '#000000', 'stroke-width' : str(self.options.linewidth), 'fill' : 'none' } ell_attribs = {'style':simplestyle.formatStyle(style), inkex.addNS('cx','sodipodi') :str(self.x_offset), inkex.addNS('cy','sodipodi') :str(self.y_offset), inkex.addNS('rx','sodipodi') :str(offset), inkex.addNS('ry','sodipodi') :str(offset), inkex.addNS('start','sodipodi') :str(end_point_angle), inkex.addNS('end','sodipodi') :str(start_point_angle), inkex.addNS('open','sodipodi') :'true', #all ellipse sectors we will draw are open inkex.addNS('type','sodipodi') :'arc', 'transform' :transform } ell = inkex.etree.SubElement(parent, inkex.addNS('path','svg'), ell_attribs ) ``` but i see in these days that there is less coe to write now
2020-02-04 15-16-53 PSTurbanspaceman <francesco.mulassano@gmail.com>hi @doctormo do you want to test my extension?
2020-06-04 10-11-02 PDTurbanspaceman <francesco.mulassano@gmail.com>:-O I should rethink everything ... question: do you have an extension to recommend that is made with gtk? I want to see the code
2020-06-03 17-03-46 PDTurbanspaceman <francesco.mulassano@gmail.com>yes, is possible panels, knobs, knob scales, sliders, slider scales
2020-01-17 15-18-03 PSTurbanspaceman <francesco.mulassano@gmail.com>hi! on m linux computer it works on mac doesn't works i made some mode... and now i have only one things that works - layer are created - def draw_hole(self, w, h, x, y): works but hole are visible only if i'm in lasercut - panel is not rendered at all - oval hole not rendered - hole center not rendered (i used line)
2020-06-04 02-32-26 PDTurbanspaceman <francesco.mulassano@gmail.com>try this ``` def draw_vintage_circle(self, x, y, radius, radius2, sides): circ = inkex.PathElement() circ.set('spd:type', 'star') circ.set('spd:cx', x) circ.set('spd:cy', y) circ.set('spd:arg1', 0.85) circ.set('spd:arg2', 1.3) circ.set('spd:rounded', 0.5) circ.set('spd:sides', sides) circ.set('spd:r1', radius) circ.set('spd:r2', radius2) return circ ``` but it doesn't works, i used spd instead of sodipodi
2020-06-08 07-16-32 PDTurbanspaceman <francesco.mulassano@gmail.com>but i select only one element, the 'main color' that is a circle
2020-06-08 09-55-05 PDTurbanspaceman <francesco.mulassano@gmail.com>``` is_knob_selected = False if bbox is not None: for node in knob: is_knob_selected = True ```
2020-06-04 16-32-44 PDTurbanspaceman <francesco.mulassano@gmail.com>inkscape.png (https://chat.inkscape.org/file-upload/wp324seaJ5ZmxfQW5/inkscape.png)
2020-01-17 20-01-12 PSTurbanspaceman <francesco.mulassano@gmail.com>ok, I've done it! Now I'm working on the layout of the panel, tomorrow I'll implement the functions thanks a lot!
2020-06-04 06-13-20 PDTurbanspaceman <francesco.mulassano@gmail.com>i always have one UI also with 5 separate py files?
2020-06-07 14-08-12 PDTurbanspaceman <francesco.mulassano@gmail.com>what do you mean by master? and how do I do it manually?
2020-06-08 10-16-31 PDTurbanspaceman <francesco.mulassano@gmail.com>with your code I use it as an element but I can't use it as a list so I have to review everything ... or can I recover the existing code?
2020-06-08 07-41-19 PDTurbanspaceman <francesco.mulassano@gmail.com>please look at the video
2020-06-03 16-57-59 PDTurbanspaceman <francesco.mulassano@gmail.com>my python skills are not very good
2020-06-08 07-17-18 PDTurbanspaceman <francesco.mulassano@gmail.com>yes the workflow is 1) create the knob (or many knobs) 2) select the desired knob and create the scale
2020-06-07 05-18-49 PDTurbanspaceman <francesco.mulassano@gmail.com>If you move the knob and then generate the scales, the two are not aligned
2020-05-16 13-23-05 PDTurbanspaceman <francesco.mulassano@gmail.com>hi! maybe is little error in my code but i get strange behavior
2020-06-04 10-25-39 PDTurbanspaceman <francesco.mulassano@gmail.com>I did a grep in the extensions repo but I didn't find Tk
2020-06-04 02-43-11 PDTurbanspaceman <francesco.mulassano@gmail.com>ahhh ok
2020-06-08 10-19-32 PDTurbanspaceman <francesco.mulassano@gmail.com>(a bit complicated for a normal user)
2020-06-04 02-44-20 PDTurbanspaceman <francesco.mulassano@gmail.com>do you think this can be amplified?
2020-06-08 08-04-14 PDTurbanspaceman <francesco.mulassano@gmail.com>the same 1220/1221 for the slider's scale
2020-06-10 12-40-09 PDTurbanspaceman <francesco.mulassano@gmail.com>I have 3 beta tester now
2020-06-08 09-55-02 PDTurbanspaceman <francesco.mulassano@gmail.com>this part
2020-06-04 06-13-34 PDTurbanspaceman <francesco.mulassano@gmail.com>or you mean 5 separated UI
2020-01-22 06-06-10 PSTurbanspaceman <francesco.mulassano@gmail.com>``` def draw_knob_arc(self, x, y, angle, offset): ```
2020-06-04 02-54-04 PDTurbanspaceman <francesco.mulassano@gmail.com>please remind me what is the other way of writing extensions for inkscape to get custom UI I'd like to take a look at it as soon as I have time
2020-06-04 04-45-46 PDTurbanspaceman <francesco.mulassano@gmail.com>you mean split the main file in 5 files?
2020-06-04 10-25-00 PDTurbanspaceman <francesco.mulassano@gmail.com>maybe I should leave my extension as it is now, otherwise it will take me another 1000 years to get it out. When it becomes clearer how to develop in gtk I could do it again.
2020-06-07 05-44-27 PDTurbanspaceman <francesco.mulassano@gmail.com>But if I select the knob (the main part) why I can't get is center?
2020-06-03 17-15-11 PDTurbanspaceman <francesco.mulassano@gmail.com>Schermata 2020-06-04 alle 02.14.47.png (https://chat.inkscape.org/file-upload/9DwEc4iSCXKDJDLTT/Schermata%202020-06-04%20alle%2002.14.47.png)
2020-07-08 14-36-20 PDTurbanspaceman <francesco.mulassano@gmail.com>i can ask
2020-06-04 16-26-20 PDTurbanspaceman <francesco.mulassano@gmail.com>spd_test.svg (https://chat.inkscape.org/file-upload/obYh7uD2ddzTqxRLH/spd_test.svg)
2020-06-08 01-45-46 PDTurbanspaceman <francesco.mulassano@gmail.com>But elem what is?
2020-05-16 14-14-00 PDTurbanspaceman <francesco.mulassano@gmail.com>but written english is not a problem
2020-06-04 05-44-28 PDTurbanspaceman <francesco.mulassano@gmail.com>tkinter is fine for the UI?
2020-06-03 17-01-03 PDTurbanspaceman <francesco.mulassano@gmail.com>i have to install black... i think
2020-06-04 10-19-08 PDTurbanspaceman <francesco.mulassano@gmail.com>this extension is already present in inkscape 1?
2020-06-03 17-21-13 PDTurbanspaceman <francesco.mulassano@gmail.com>many things to do (and I was unable to install black), I have to go to sleep ... it's very late. tomorrow I will read everything you write to me and I will start fixing the code. have you tried using the extension? do you think there is a clearer way to manage the UI or is it ok?
2020-06-04 02-45-42 PDTurbanspaceman <francesco.mulassano@gmail.com>is this
2020-06-03 16-54-26 PDTurbanspaceman <francesco.mulassano@gmail.com>ciao
2020-06-03 16-49-27 PDTurbanspaceman <francesco.mulassano@gmail.com>yes
2020-06-03 16-50-10 PDTurbanspaceman <francesco.mulassano@gmail.com>ok try
2020-06-03 17-22-36 PDTurbanspaceman <francesco.mulassano@gmail.com>see you tomorrow :-) ciao e grazie!
2020-06-07 05-19-33 PDTurbanspaceman <francesco.mulassano@gmail.com>https://www.synthanatomy.com/2020/06/with-this-free-inkscape-extension-you-become-a-synth-panels-designer.html
2020-06-03 17-18-43 PDTurbanspaceman <francesco.mulassano@gmail.com>i understand
2020-06-04 02-45-28 PDTurbanspaceman <francesco.mulassano@gmail.com>vintage
2020-06-08 10-19-20 PDTurbanspaceman <francesco.mulassano@gmail.com>no, user select only one knob at time and (now) has to select exactly the 'main color' element
2020-01-17 15-18-11 PSTurbanspaceman <francesco.mulassano@gmail.com>https://pad.riseup.net/p/inkscape-extensions-keep
2020-06-09 15-35-28 PDTurbanspaceman <francesco.mulassano@gmail.com>update this bbox_panel = self.svg.get_page_bbox() gives me exactly the center of the page (that is what i want) but the knob is not at this coordinates but on top of the first knob
2020-06-07 14-09-02 PDTurbanspaceman <francesco.mulassano@gmail.com>I'm sorry to waste you time but I want to understand in order to finish the extension
2020-02-04 15-24-46 PSTurbanspaceman <francesco.mulassano@gmail.com>Schermata 2020-02-05 alle 00.23.51.png (https://chat.inkscape.org/file-upload/g2eAXWXvfkmbPnHdb/Schermata%202020-02-05%20alle%2000.23.51.png)
2020-06-09 02-07-47 PDTurbanspaceman <francesco.mulassano@gmail.com>doc, it starts working, now I have the problem that the first knob is draw in the center of the page (and it''s ok) while the second one is draw to the same coordinates as the first and not in the center of the page (i moved the first) ``` bbox_panel = self.svg.get_page_bbox() if self.options.knob_main_style == 2: vintage_knob = self.draw_vintage_circle(x=str(bbox_panel.center_x), y=str(bbox_panel.center_y), radius=str(self.options.knob_vintage_dimension / 2), radius2 = str(self.options.knob_vintage_dimension / 2 + 1 ), sides = 7) mainknob = Circle(cx=str(bbox_panel.center_x), cy=str(bbox_panel.center_y), r=str(self.options.knob_main_dimension / 2)) ```
2020-07-12 16-19-23 PDTurbanspaceman <francesco.mulassano@gmail.com>I understand that if the UI is not defined in the inx file, the default values are taken from the py file I also figured out how to create a small interface with tkiner (2 sliders) what I didn't understand though, is how to pass the values in realtime to the function it draws ``` import sys import inkex import argparse import math import os from inkex.elements import ShapeElement from lxml import etree from inkex.elements import Circle, PathElement, Rectangle, load_svg, Group, TextElement from math import * from tkinter import * master = Tk() options = argparse.ArgumentParser(description='Panel parameters') Orange = '#f6921e' Blue = '#0000FF' White = '#FFFFFF' lasercut_width = '0.01mm' class SynthPanelEffect(inkex.Effect): w1 = Scale(master, from_=0, to=80) w1.pack() w2 = Scale(master, from_=0, to=200, orient=HORIZONTAL) w2.pack() hp = w2.get() ... def effect(self): #euro_hp = self.options.eurorack_panel_hp euro_hp = self.hp <--- THIS ONE for example should change when i move the slider instead the value are applied when i close the tkinter ui ... if __name__ == '__main__': # Create effect instance and apply it. mainloop() SynthPanelEffect().run() ```
2020-06-07 13-53-39 PDTurbanspaceman <francesco.mulassano@gmail.com>so, ``` knob.bounding_box(transform=True) ? ````
2020-02-04 15-23-32 PSTurbanspaceman <francesco.mulassano@gmail.com>thanks, i have a pair of beta friends (user, non dev)I try with them before to understand if the UX is optimal
2020-06-03 17-13-16 PDTurbanspaceman <francesco.mulassano@gmail.com>ah ok, i use it to draw this
2020-09-02 06-07-08 PDTurbanspaceman <francesco.mulassano@gmail.com>then I want to use freesvg as a reference to improve my extension
2020-06-08 08-15-39 PDTurbanspaceman <francesco.mulassano@gmail.com>ok, in the evening I try and let you know if it works thanks
2020-06-08 07-15-44 PDTurbanspaceman <francesco.mulassano@gmail.com>i have a layer for each element and one main layer with all the element layers inside
2020-07-08 12-51-21 PDTurbanspaceman <francesco.mulassano@gmail.com>doc, a user reported this error ```  Traceback (most recent call last): File "SynthPanelsDesigner.py", line 21, in import inkex ModuleNotFoundError: No module named 'inkex' Ubuntu 18.04 vers SPD 1.0.2 (ma lo fa anche con la v1.0) Inkscape 1.1-dev (1:0.92.0+devel+202005110039+9ce7266) ``` is inkscape 1.1-dev the problem? in the next release inkex disappear?
2020-06-04 03-10-16 PDTurbanspaceman <francesco.mulassano@gmail.com>it's ok?
2020-02-04 15-23-35 PSTurbanspaceman <francesco.mulassano@gmail.com>:-)
2020-06-04 03-08-40 PDTurbanspaceman <francesco.mulassano@gmail.com>wow with black now the code has doubled the lines
2020-06-09 02-17-59 PDTurbanspaceman <francesco.mulassano@gmail.com>ok, this is strange while the new knob is drawn at the same coordinates of the knob 1 a new slider is regularly drawn at the center of the page
2020-09-02 06-05-20 PDTurbanspaceman <francesco.mulassano@gmail.com>no the extension manager
2020-06-06 13-34-02 PDTurbanspaceman <francesco.mulassano@gmail.com>doc, i need a workaround for a non-bug on my extension
2020-09-02 06-04-58 PDTurbanspaceman <francesco.mulassano@gmail.com>:-) morning!
2020-06-04 16-26-01 PDTurbanspaceman <francesco.mulassano@gmail.com>i tred to export a simple design to dxf but is not properly rendered... and if i open the svg with illustrator, some parts are missing
2020-09-02 06-47-07 PDTurbanspaceman <francesco.mulassano@gmail.com>yes no problem
2020-09-02 06-09-05 PDTurbanspaceman <francesco.mulassano@gmail.com>i want to test the extension manager and update my extension to add compatibility with extension manager
2020-01-22 06-06-02 PSTurbanspaceman <francesco.mulassano@gmail.com>in my new function for wxample i pass the x, y coordinates to center the circle the offset parameter (the dimension of the circle is n+offset) and the angle
2020-06-03 17-08-48 PDTurbanspaceman <francesco.mulassano@gmail.com>ok
2020-06-04 03-10-08 PDTurbanspaceman <francesco.mulassano@gmail.com>params now look like this ``` class SynthPanelEffect(inkex.Effect): def add_arguments(self, pars): # Parts pars.add_argument( "--part", type=int, default=1, help="Select which part you want to draw" ) # Panel pars.add_argument("--panel_type", default="e3u", help="Panel type") pars.add_argument("--eurorack_panel_hp", type=int, default=1, help="Panel HP?") pars.add_argument("--api_panel_units", type=int, default=1, help="API Units?") pars.add_argument("--moog_panel_units", type=int, default=1, help="Moog Units?") pars.add_argument( "--panel_color", type=inkex.Color, default="#e6e6e6", help="Panel color" ) pars.add_argument( "--panel_custom_width", type=float, default="100", help="Set the panel custom width", ) pars.add_argument( "--panel_custom_height", type=float, default="100", help="Set the panel custom height", ) pars.add_argument( "--panel_holes", type=inkex.Boolean, default="False", help="Want do drill the mounting holes?", ) pars.add_argument( "--panel_centers", type=inkex.Boolean, default="False", help="Mark centers?" ) pars.add_argument( "--panel_oval", type=inkex.Boolean, default="False", help="Oval holes?" ) pars.add_argument( "--panel_lasercut", type=inkex.Boolean, default="False", help="Lasercut style?", ) # Screws pars.add_argument( "--panel_screws", type=inkex.Boolean, default="False", help="Add screws" ) pars.add_argument( "--panel_screw_radius", type=float, default="100", help="Screw radius" ) pars.add_argument("--panel_screw_type", type=int, default=1, help="Screw type") pars.add_argument( "--panel_screw_color", type=inkex.Color, default="#e6e6e6", help="Screw color", ) pars.add_argument( "--panel_screw_stroke_color", type=inkex.Color, default="#e6e6e6", help="Screw stroke color", ) pars.add_argument( "--panel_screw_stroke_width", type=float, default="100", help="Screw stroke width", ) pars.add_argument( "--panel_screw_tick_color", type=inkex.Color, default="#e6e6e6", help="Screw tick color", ) pars.add_argument( "--panel_screw_tick_width", type=float, default="100", help="Screw tick width", ) ```
2020-06-03 16-29-32 PDTurbanspaceman <francesco.mulassano@gmail.com>doc, i've updated e repo https://gitlab.com/Faselunare/synth-panels-designer
2020-06-08 09-13-06 PDTurbanspaceman <francesco.mulassano@gmail.com>``` Traceback (most recent call last): File "SynthPanelsDesign.py", line 1626, in SynthPanelEffect().run() File "/Applications/Inkscape.app/Contents/Resources/share/inkscape/extensions/inkex/base.py", line 123, in run self.save_raw(self.effect()) File "SynthPanelsDesign.py", line 875, in effect bbox = knob.bounding_box(composed_transform(knob)) File "SynthPanelsDesign.py", line 1620, in composed_transform if parent is not None and isinstance(parent, ShapeElement): NameError: name 'ShapeElement' is not defined ```
2020-06-03 16-48-29 PDTurbanspaceman <francesco.mulassano@gmail.com>done!
2020-06-03 17-12-28 PDTurbanspaceman <francesco.mulassano@gmail.com>which line?
2020-06-04 02-45-18 PDTurbanspaceman <francesco.mulassano@gmail.com>i have build this function reading value from the xml editor
2020-06-03 16-54-19 PDTurbanspaceman <francesco.mulassano@gmail.com>I'm going to sleep, let me know what you think
2020-06-08 07-41-11 PDTurbanspaceman <francesco.mulassano@gmail.com>https://streamable.com/q40maw
2020-01-22 06-03-31 PSTurbanspaceman <francesco.mulassano@gmail.com>@doctormo i need to draw an open circle is arc the right function?
2020-02-04 15-24-32 PSTurbanspaceman <francesco.mulassano@gmail.com>in the end, this is the about page
2020-01-17 20-02-55 PSTurbanspaceman <francesco.mulassano@gmail.com>you know if is it possible to load remote file? the idea is to ave a txt file on my server with the extension credits/sponsor and update without touching the extension
2020-06-03 16-46-01 PDTurbanspaceman <francesco.mulassano@gmail.com>:-)
2020-06-03 16-45-12 PDTurbanspaceman <francesco.mulassano@gmail.com>yes, do you know how do i give you access?
2020-06-07 07-21-32 PDTurbanspaceman <francesco.mulassano@gmail.com>I'm not at home in front of my code now and I can't check if I already get the transformed bounding box
2020-06-07 12-09-00 PDTurbanspaceman <francesco.mulassano@gmail.com>i use this ``` knob = self.svg.get_selected() bbox = self.svg.get_selected_bbox() ``` how do i get the transformed bbox?
2020-06-04 02-44-34 PDTurbanspaceman <francesco.mulassano@gmail.com>simpliified sorry
2020-06-03 17-18-38 PDTurbanspaceman <francesco.mulassano@gmail.com>ah ok,
2020-06-10 12-39-49 PDTurbanspaceman <francesco.mulassano@gmail.com>Git updated
2020-06-08 07-13-18 PDTurbanspaceman <francesco.mulassano@gmail.com>ok, let's see if I can understand - I have my knob - the scale must be drawn around this knob (not other elements of the page) - so I have to select this knob before drawing the scale - you tell me that I have to use elem but elem is a generic name or instead of elem goes the name of my knob? I just can't understand. it's probably something that you can solve in 10 minutes by knowing well how inkscape is made is this not valid? ``` knob = self.svg.get_selected() ``` ?
2020-06-08 08-01-28 PDTurbanspaceman <francesco.mulassano@gmail.com>873
2020-06-03 16-49-32 PDTurbanspaceman <francesco.mulassano@gmail.com>which level yoou need?
2020-06-04 02-45-50 PDTurbanspaceman <francesco.mulassano@gmail.com>https://chat.inkscape.org/file-upload/9DwEc4iSCXKDJDLTT/Schermata%202020-06-04%20alle%2002.14.47.png
2020-06-04 02-44-28 PDTurbanspaceman <francesco.mulassano@gmail.com>``` def draw_vintage_circle(self, x, y, radius, radius2, sides): circ = inkex.PathElement() circ.set('sodipodi:type', 'star') circ.set('sodipodi:cx', x) circ.set('sodipodi:cy', y) circ.set('sodipodi:arg1', 0.85) circ.set('sodipodi:arg2', 1.3) circ.set('inkscape:rounded', 0.5) circ.set('sodipodi:sides', sides) circ.set('sodipodi:r1', radius) circ.set('sodipodi:r2', radius2) return circ ```
2020-06-04 10-20-56 PDTurbanspaceman <francesco.mulassano@gmail.com>ok, require some work to be installed on macosx if i read well
2020-06-09 15-47-44 PDTurbanspaceman <francesco.mulassano@gmail.com>now works and i don't know why (!!)
2020-09-02 06-05-35 PDTurbanspaceman <francesco.mulassano@gmail.com>i have this version installed on linux 1.0 (4035a4fb49, 2020-05-01)
2020-06-03 17-15-45 PDTurbanspaceman <francesco.mulassano@gmail.com>in the UI you have to select vintage on the first column of the knob
2020-09-02 06-03-03 PDTurbanspaceman <francesco.mulassano@gmail.com>doc, i want to try the extension manager in which version of inkscape is available? in your freesvg extension i read ``` This Gtk3 extension is designed to be installed and run via the Inkscape Extension Manager. If you're not sure if you have the extension manager installed, you will need to check 'Extension Manager' in your extensions menu and install it first ifit's missing.```
2020-09-02 06-08-39 PDTurbanspaceman <francesco.mulassano@gmail.com>no no my extension is synthpanels designer (www.synthpanels.design)
2020-06-04 02-57-52 PDTurbanspaceman <francesco.mulassano@gmail.com>are there any real benefits or does it make sense to invest time?
2020-06-07 05-46-52 PDTurbanspaceman <francesco.mulassano@gmail.com>I don't have the code now, is not already made I this way?
2020-06-03 17-17-56 PDTurbanspaceman <francesco.mulassano@gmail.com>?
2020-06-03 16-45-39 PDTurbanspaceman <francesco.mulassano@gmail.com>before making it public I would like to be sure I hasn't done stupid things
2020-06-09 02-08-03 PDTurbanspaceman <francesco.mulassano@gmail.com>git is not updated
2020-06-03 16-47-20 PDTurbanspaceman <francesco.mulassano@gmail.com>found it! give me your email please
2020-06-08 09-55-19 PDTurbanspaceman <francesco.mulassano@gmail.com>line 904
2020-06-07 05-19-30 PDTurbanspaceman <francesco.mulassano@gmail.com>The extension si not public available but I've start promoting it on Facebook, people get crazy
2020-06-08 08-01-23 PDTurbanspaceman <francesco.mulassano@gmail.com>line 872
2020-06-04 02-45-22 PDTurbanspaceman <francesco.mulassano@gmail.com>sorry sorry
2020-06-07 13-57-07 PDTurbanspaceman <francesco.mulassano@gmail.com>AttributeError: 'generator' object has no attribute 'bounding_box' Inkscape version 1.0 (4035a4f, 2020-05-01)
2020-06-04 16-26-21 PDTurbanspaceman <francesco.mulassano@gmail.com>spd_test.dxf (https://chat.inkscape.org/file-upload/WkoEm8oyH93WMLSEN/spd_test.dxf)