Re: gEDA-user: Working on a tiny schematics editor
On Mon, Dec 27, 2010 at 4:23 PM, Andrzej ndrwr...@googlemail.com wrote: On Fri, Oct 8, 2010 at 2:31 AM, Stefan Salewski m...@ssalewski.de wrote: Some weeks ago I started working on a very basic schematics editor, compatible with current gschem file format. I am writing it in Ruby, using GTK/Cairo. I while ago I started my own schematics editor - pschem: Stefan, I've added a screenshot displaying the same schematic as one in your example: http://code.google.com/p/pschem/wiki/Screenshots It was taken on Windows but Linux version is just as functional. As you can see the gEDA import filter is still far from perfect. Many gschem constructs an still unsupported (I've been using it mostly for getting the design into Pschem so I can debug other functions). It's probably more interesting to look at capabilities of the underlying framework. Some key features: - Pschem is built on top of a design database (think of it being a database editor rather than a vector graphics tool). Contrary to many commercial packages the database format is to be as open and as human readable as possible (probably xml, albeit the backend is not yet implemented), - Scriptable with access to a design database API (and essentially all other functions too, as at least for now Pschem is fully implemented in Python), - Supports design hierarchy, - (Planned) support for parametrized cells and attributes, - Uses a canvas based MVC framework (from Qt) for efficient rendering. - Potential for extending to a PCB/layout tool (not planned for now). Andrzej ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: Working on a tiny schematics editor
On Dec 26, 2010, at 3:28 PM, Stefan Salewski wrote: I do not think that this really proves that a gschem rewrite is obsolete. There are so many similar problems, wishful improvements. All big task currently, no one really does it. What many pcb users really seem to want is a HID for schematics. If such a thing existed, we could hope that most of the pressure to damage gEDA in order to specifically serve pcb would abate. And if it used the .sch format, they could still move into the wider world of gEDA when they find the need. John Doty Noqsi Aerospace, Ltd. http://www.noqsi.com/ j...@noqsi.com ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: Working on a tiny schematics editor
On Dec 26, 2010, at 5:41 PM, Stephan Boettcher boettc...@physik.uni-kiel.de wrote: Stefan Salewski m...@ssalewski.de writes: OK, shame on me for missing that option. But I do not think that this really proves that a gschem rewrite is obsolete. I may believe that writing a second gschem editor is worse use of your time than improving the existing one, but it is not up to me to judge how you use your time. For your stated purpose, writing this graphical editor seems wrong, but now that it exists, it is interesing to try to put it to good use. It may start as a new netlister with integrated graphical viewer. The viewer may be the best verification that your parser works correctly. There are so many similar problems, wishful improvements. All big task currently, no one really does it. Such an improvement should take at most some hours in Ruby. A really useful result will be a parser with a clean, documented netlisting API, that people can use to write netlisters who do not want to use/learn guile. Maybe I should try to do the same for python :-) I would work on a python netlister in geda. Yes I could pick up scheme again, but I didn't enjoy it when I used it before. And this example unfortunately shows one weak point of gEDA: The initial authors and experts have retired, functionality may be already there, but most of us do not know or understand it. ... documentation, again. -- Stephan ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: Working on a tiny schematics editor
On Thu, 2010-10-07 at 19:31 +0200, Stefan Salewski wrote: Some weeks ago I started working on a very basic schematics editor, compatible with current gschem file format. I am writing it in Ruby, using GTK/Cairo. No, the project is not death... I just managed to draw to a GTK drawing area, with zooming/panning/scrolling support. So very friendly people may already consider it a viewer for gschem schematics :-) See bottom of this page: http://www.ssalewski.de/PetEd-Demo.html.en I think one reason for start writing it was my desire to assign attributes/classes to subnets, to transfer this information to PCB to support manually- and auto-routing with already specified parameters for traces. I think, even if Anthonys Toporouter is in deep coma currently, such an application makes still some sense. So I can not promise that I will NOT continue this effort. I would be interested how many people can run the demo script (peted.rb) from the top of the above page. Are the needed rcairo bindings shipped with distributions like Ubuntu? If not, then it may be easier for people to install the whole gEDA package than to get such a short ruby script running. :-( Best wishes for the new year, Stefan Salewski ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: Working on a tiny schematics editor
Ran without any user intervention on Fedora 13. Installed Ruby some time ago without knowing if I would ever use it. Depending on the window sizing, either the top/bottom horizontal line heights or the left/right vertical line widths do not display fully. George On 12/26/2010 08:48 AM, Stefan Salewski wrote: On Thu, 2010-10-07 at 19:31 +0200, Stefan Salewski wrote: Some weeks ago I started working on a very basic schematics editor, compatible with current gschem file format. I am writing it in Ruby, using GTK/Cairo. No, the project is not death... I just managed to draw to a GTK drawing area, with zooming/panning/scrolling support. So very friendly people may already consider it a viewer for gschem schematics :-) See bottom of this page: http://www.ssalewski.de/PetEd-Demo.html.en I think one reason for start writing it was my desire to assign attributes/classes to subnets, to transfer this information to PCB to support manually- and auto-routing with already specified parameters for traces. I think, even if Anthonys Toporouter is in deep coma currently, such an application makes still some sense. So I can not promise that I will NOT continue this effort. I would be interested how many people can run the demo script (peted.rb) from the top of the above page. Are the needed rcairo bindings shipped with distributions like Ubuntu? If not, then it may be easier for people to install the whole gEDA package than to get such a short ruby script running. :-( Best wishes for the new year, Stefan Salewski ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: Working on a tiny schematics editor
On Sun, 2010-12-26 at 09:28 -0500, George M. Gallant, Jr. wrote: Ran without any user intervention on Fedora 13. Installed Ruby some time ago without knowing if I would ever use it. Fine! Depending on the window sizing, either the top/bottom horizontal line heights or the left/right vertical line widths do not display fully. Yes, I think that is the intended behavour for this demo: I draw the outer rectangle exactly on the bounding box of my world, so the half thickness of the outer lines are clipped. When the aspect ratio of the rectangles world is not the same as that of the GTK window, then the GTK window is padded, so we can see full thickness either at left/right or top/bottom. For real applications we will generally increase the bounding box of our world a bit, at least so width that line thickness is not clipped. Intentionally I do allow only zoom in, not zoom out. So we can zoom to 1:1 full view fast with a few turns of the mouse wheel. I like this. If we need additional space in our world, we can always increase the bounding box. Some space we already have if the aspect ratio of world/window differs. I may support full zooming out, but for this some modifications of the behaviour of scrollbars/adjustments is necessary, and then we will need a special action to get 1/1 full view again. ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: Working on a tiny schematics editor
Hi Stefan, -Original Message- From: geda-user-boun...@moria.seul.org [mailto:geda-user-boun...@moria.seul.org] On Behalf Of Stefan Salewski Sent: Sunday, December 26, 2010 2:49 PM To: gEDA user mailing list Subject: Re: gEDA-user: Working on a tiny schematics editor On Thu, 2010-10-07 at 19:31 +0200, Stefan Salewski wrote: Some weeks ago I started working on a very basic schematics editor, compatible with current gschem file format. I am writing it in Ruby, using GTK/Cairo. No, the project is not death... I just managed to draw to a GTK drawing area, with zooming/panning/scrolling support. So very friendly people may already consider it a viewer for gschem schematics :-) See bottom of this page: http://www.ssalewski.de/PetEd-Demo.html.en I think one reason for start writing it was my desire to assign attributes/classes to subnets, to transfer this information to PCB to support manually- and auto-routing with already specified parameters for traces. I think, even if Anthonys Toporouter is in deep coma currently, such an application makes still some sense. So I can not promise that I will NOT continue this effort. I would be interested how many people can run the demo script (peted.rb) from the top of the above page. Are the needed rcairo bindings shipped with distributions like Ubuntu? If not, then it may be easier for people to install the whole gEDA package than to get such a short ruby script running. :-( Best wishes for the new year, Stefan Salewski Congrats, Works like a charm on Fedora 13 (after ÿum install ruby-gtk2 which includes rcairo as adependancy). Kind regards, Bert Timmerman. ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: Working on a tiny schematics editor
I would be interested how many people can run the demo script (peted.rb) from the top of the above page. Are the needed rcairo bindings shipped with distributions like Ubuntu? If not, then it may be easier for people to install the whole gEDA package than to get such a short ruby script running. :-( Under Gentoo I get this, and rcairo is installed: ruby peted.rb peted.rb:206:in `paint': undefined method `create_cairo_context' for #Gdk::Window:0x7fda529d2f90 ptr=0xcd7840 from peted.rb:122:in `darea_configure_callback' from peted.rb:69:in `initialize' from peted.rb:231:in `call' from peted.rb:231:in `show_all' from peted.rb:231:in `initialize' from peted.rb:268:in `new' from peted.rb:268 ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: Working on a tiny schematics editor
On Sun, 2010-12-26 at 11:30 -0500, Bob Paddock wrote: I would be interested how many people can run the demo script (peted.rb) from the top of the above page. Are the needed rcairo bindings shipped with distributions like Ubuntu? If not, then it may be easier for people to install the whole gEDA package than to get such a short ruby script running. :-( Under Gentoo I get this, and rcairo is installed: ruby peted.rb peted.rb:206:in `paint': undefined method `create_cairo_context' for #Gdk::Window:0x7fda529d2f90 ptr=0xcd7840 from peted.rb:122:in `darea_configure_callback' from peted.rb:69:in `initialize' from peted.rb:231:in `call' from peted.rb:231:in `show_all' from peted.rb:231:in `initialize' from peted.rb:268:in `new' from peted.rb:268 Great! I really need some support for my open Gentoo Bugzilla Bugs related to this: http://bugs.gentoo.org/show_bug.cgi?id=302943 http://bugs.gentoo.org/show_bug.cgi?id=338512 Please try to execute /usr/share/doc/ruby-pango-0.19.4/sample/pango_cairo.rb If that fails, please add some comment to above bug reports. Then I can increase the pressure on Gentoo people fixing that. If you will, you can fix this bug manually, as explained in the bug reports. Thanks Stefan Salewski ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: Working on a tiny schematics editor
On Sun, Dec 26, 2010 at 11:47 AM, Stefan Salewski m...@ssalewski.de wrote: On Sun, 2010-12-26 at 11:30 -0500, Bob Paddock wrote: I would be interested how many people can run the demo script (peted.rb) from the top of the above page. Are the needed rcairo bindings shipped with distributions like Ubuntu? If not, then it may be easier for people to install the whole gEDA package than to get such a short ruby script running. :-( Under Gentoo I get this, and rcairo is installed: ruby peted.rb peted.rb:206:in `paint': undefined method `create_cairo_context' for #Gdk::Window:0x7fda529d2f90 ptr=0xcd7840 from peted.rb:122:in `darea_configure_callback' from peted.rb:69:in `initialize' from peted.rb:231:in `call' from peted.rb:231:in `show_all' from peted.rb:231:in `initialize' from peted.rb:268:in `new' Please try to execute /usr/share/doc/ruby-pango-0.19.4/sample/pango_cairo.rb Results in: This sample requires Pango 1.0.0 or later and cairo support. Which is odd considering that the installed version is: 1.28.1 I'll take a look the bug reports. BTW, have you tried to cross compile gEDA with minipack? The Gentoo cross compiler can't seem to find the minipack package *.pkg files. Wondered if you had any insights. ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: Working on a tiny schematics editor
On Sun, 2010-12-26 at 17:47 +0100, Stefan Salewski wrote: Please try to execute /usr/share/doc/ruby-pango-0.19.4/sample/pango_cairo.rb If that fails, please add some comment to above bug reports. Or try /usr/share/doc/ruby-gtk2-0.19.4/sample/misc/cairo-pong.rb Should fail too, with the same message as my script. All related to the missing rb_cairo.h -- some Gentoo people seem to think that it is obsolete, but it seems to be needed on some boxes. ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: Working on a tiny schematics editor
Or try /usr/share/doc/ruby-gtk2-0.19.4/sample/misc/cairo-pong.rb Should fail too, with the same message as my script. All related to the missing rb_cairo.h -- some Gentoo people seem to think that it is obsolete, but it seems to be needed on some boxes. /usr/share/doc/ruby-gtk2-0.19.4/sample/misc/cairo-pong.rb: 16: GTK+ 2.8.0 or later and cairo support are required. (RuntimeError) x11-libs/wxGTK Installed versions: 2.8.11.0(2.8)(11:07:20 12/14/10)(X opengl tiff -debug -doc -gnome -gstreamer -odbc -pch -sdl) 2.9.1(2.9)(22:45:15 12/11/10)(X opengl tiff -debug -doc -gnome -gstreamer -pch -sdl) Homepage:http://wxwidgets.org/ Description: GTK+ version of wxWidgets, a cross-platform C++ GUI toolkit. Available wxWidgets profiles: [1] gtk2-unicode-2.9 [2] gtk2-unicode-release-2.8 * x11-libs/cairo Installed versions: 1.8.10!t(19:16:33 12/11/10)(X opengl svg -aqua -cleartype -debug -directfb -doc -glitz -lcdfilter -xcb) ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: Working on a tiny schematics editor
Stephan, this project is interesting. I'll try it on Ubuntu when I get back to Noqsi. I think I'll pass on trying it on a Mac for now (all I have here in Cambridge). I am puzzled, however, by your motivation: On Dec 26, 2010, at 8:48 AM, Stefan Salewski wrote: I think one reason for start writing it was my desire to assign attributes/classes to subnets, to transfer this information to PCB to support manually- and auto-routing with already specified parameters for traces. Semantics like this are the responsibility of gnetlist back ends, not gschem. Indeed, the limits of our ability to continue to extend gEDA seem primarily to derive from semantics inappropriately wired in to the gnetlist front end, and to a lesser extent in gschem. The kludginess of some back ends derives from the same problem. There is nothing in gschem that prevents attaching arbitrary attributes to net segments. Unfortunately, the gnetlist front end insists on digesting the data according to rigid (and sometimes wrong!) theories of its semantics before handing it to the back end. In most cases the digested data is just what the back end writer needs (that's why simple back ends are easy to write with just a tiny bit of Scheme knowledge), but if it's not things become difficult. In this case, there appears to be no way to access net segments or their attributes from a gnetlist back end. John Doty Noqsi Aerospace, Ltd. http://www.noqsi.com/ j...@noqsi.com ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: Working on a tiny schematics editor
Stefan Salewski m...@ssalewski.de writes: I think one reason for start writing it was my desire to assign attributes/classes to subnets, to transfer this information to PCB to support manually- and auto-routing with already specified parameters for traces. Why do you need a gschem replacement for that? I'd think all you need is a new netlister. -- Stephan ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: Working on a tiny schematics editor
On Sun, 2010-12-26 at 12:38 -0500, John Doty wrote: Stephan, this project is interesting. I'll try it on Ubuntu when I get back to Noqsi. I think I'll pass on trying it on a Mac for now (all I have here in Cambridge). I am puzzled, however, by your motivation: I wrote something about it in my initial post: http://archives.seul.org/geda/user/Oct-2010/msg00122.html On Dec 26, 2010, at 8:48 AM, Stefan Salewski wrote: I think one reason for start writing it was my desire to assign attributes/classes to subnets, to transfer this information to PCB to support manually- and auto-routing with already specified parameters for traces. Semantics like this are the responsibility of gnetlist back ends, not gschem. Indeed, the limits of our ability to continue to extend gEDA seem primarily to derive from semantics inappropriately wired in to the gnetlist front end, and to a lesser extent in gschem. The kludginess of some back ends derives from the same problem. There is nothing in gschem that prevents attaching arbitrary attributes to net segments. Unfortunately, the gnetlist front end insists on digesting the data according to rigid (and sometimes wrong!) theories of its semantics before handing it to the back end. In most cases the digested data is just what the back end writer needs (that's why simple back ends are easy to write with just a tiny bit of Scheme knowledge), but if it's not things become difficult. In this case, there appears to be no way to access net segments or their attributes from a gnetlist back end. I know all this from earlier discussions. For me there were three ways: 1. Accept current state. 2. Learn some scheme/guile, dig into the gschem/gnetlist code, try to improve it, hope that is accepted by Ales and others. 3. Write from scratch 1. is what I did for some years. I think that gschem/gnetlist works ok, with Peter C.'s cairo drawings it looks not bad. But we all see that there is no more active development. Older developers with guile knowledge retire, so simple fixes and extensions become nearly impossible. New developers are rare, and they do not like to crawl all that old mixed c/guile code. 2. is what I should have done -- maybe? 3. is the most fun. Early after starting with gEDA, my feeling was that a complete rewrite would be a good idea. The problems: Much work. The questions: Which language, which GUI Toolkit. My current feeling is: Writing a basic schematic editor, with PCB netlist export, can be done in 1k hours from a smart person, so it is not impossible. I don't think that I am really smart, and I am currently still learning GTK, so I have no good chances to get something powerful as gschem in 1000 hours. But on the other hand, now, after about 200 hours of work, I have already a very basic viewer for schematics. In only 1000 lines of Ruby code. Printing, saving the file again, moving symbols around, that all should be very easy. Netlist generation for PCB: I guess it should be not too difficult and fun. I have to admit that I have no clue about hierarchical design at the moment, I have never done that with gschem. Adding all that dialogs, storing/loading configuration, and all the other details will consume much time, but is very easy. Of course, Ales H. has done fine work in old days. When he started in 1998 -- most computers where driven by relays or vacuum tubes, with tape storage and teletyper output ;-) -- mixing guile and C may have been a good idea. Today we have GTK with Cairo and nice OO languages like Ruby. That makes writing schematics editors and netlist generation much easier. And Ruby is really a friendly language, so that the project should become more open. I guess the total code base will not be more than 10k lines. Collaboration is of course limited by all the different languages and GUI toolkits. Some may prefer Python/C ++/C#/D/Java/Vala/Lua and other, or QT/FLTK/wxWidgets. And maybe OpenGL. All that is true for PCB also -- a complete rewrite would be not a fully stupid idea. But I think there is not so much benefit of OO languages and modern toolkits for PCB. Gerber generation, polygon handling, DRC, Autorouter, all that is very difficult, it has not become easier in the last 10 years. And for performance reasons interpreted languages are of course no option anyway. Best regards Stefan Salewski ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: Working on a tiny schematics editor
On Sun, 2010-12-26 at 18:57 +0100, Stephan Boettcher wrote: Stefan Salewski m...@ssalewski.de writes: I think one reason for start writing it was my desire to assign attributes/classes to subnets, to transfer this information to PCB to support manually- and auto-routing with already specified parameters for traces. Why do you need a gschem replacement for that? I'd think all you need is a new netlister. I have to modify the netlister and gschem -- gschem tries to be smart and makes one single net when multiple net segments are in a straight line. We have discussed all that long time ago -- some people said that all that is easy to do, and I really believe that it is possible. But there are so many small, easy and useful fixes for gschem, but nobody does it. Kai-Martin tried something, I think related to netlist, but failed. Maybe not so easy at all? ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: Working on a tiny schematics editor
On Sun, 2010-12-26 at 14:01 -0500, Bob Paddock wrote: Is your box also AMD64 no multilib profile? I did not recall what I'd installed, and it looks like no specific profile is set, which might be the problem in itself: Interesting. For me no-multilib is marked with the star, and I do not really like to change it. As soon as you have added some comments to the Bugzilla reports I will contact some smart gentoo developers, they should manage to fix it. ste...@amd64x2 ~ $ eselect profile list Available profile symlink targets: [1] default/linux/amd64/10.0 [2] default/linux/amd64/10.0/desktop [3] default/linux/amd64/10.0/desktop/gnome [4] default/linux/amd64/10.0/desktop/kde [5] default/linux/amd64/10.0/developer [6] default/linux/amd64/10.0/no-multilib * [7] default/linux/amd64/10.0/server [8] hardened/linux/amd64 [9] hardened/linux/amd64/no-multilib [10] selinux/2007.0/amd64 [11] selinux/2007.0/amd64/hardened [12] selinux/v2refpolicy/amd64 [13] selinux/v2refpolicy/amd64/desktop [14] selinux/v2refpolicy/amd64/developer [15] selinux/v2refpolicy/amd64/hardened [16] selinux/v2refpolicy/amd64/server ste...@amd64x2 ~ $ ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: Working on a tiny schematics editor
I did not recall what I'd installed, and it looks like no specific profile is set, which might be the problem in itself: Interesting. For me no-multilib is marked with the star Yes, the selected profile is indicated with star. and I do not really like to change it. Me either, however I know that have no profile selected breaks things in strange ways. System is now rebuilding about 200 items. ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: Working on a tiny schematics editor
On Sun, 2010-12-26 at 14:33 -0500, John Doty wrote: On Dec 26, 2010, at 2:10 PM, Stefan Salewski wrote: I have to modify the netlister and gschem -- gschem tries to be smart and makes one single net when multiple net segments are in a straight line. Doesn't putting: (net-consolidate disabled) in gschemrc fix that for your purpose in gschem? I have no doubt that gnetlist needs work here. Indeed, it works fine. I really wonder why we all missed that option when we discussed that subnet topic last summer. http://archives.seul.org/geda/user/Aug-2010/msg00470.html http://ssalewski.de/gEDA-Netclass.html.en Still some extents for gschem may be useful, i.e fast attribute assignment, and maybe different visible appearance (colors) of different net segments. But it really works without modification, great. The more difficult part may be still netlist generation without discarding the net-attributes for segments. I do not know, but I can remember that someone with guile/gnetlist experience told us in our discussion last summer that it is possible to modify gnetlist, but that it would take some time for him. OK, shame on me for missing that option. But I do not think that this really proves that a gschem rewrite is obsolete. There are so many similar problems, wishful improvements. All big task currently, no one really does it. Such an improvement should take at most some hours in Ruby. And this example unfortunately shows one weak point of gEDA: The initial authors and experts have retired, functionality may be already there, but most of us do not know or understand it. Best regards Stefan Salewski ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: Working on a tiny schematics editor
Stefan Salewski m...@ssalewski.de writes: OK, shame on me for missing that option. But I do not think that this really proves that a gschem rewrite is obsolete. I may believe that writing a second gschem editor is worse use of your time than improving the existing one, but it is not up to me to judge how you use your time. For your stated purpose, writing this graphical editor seems wrong, but now that it exists, it is interesing to try to put it to good use. It may start as a new netlister with integrated graphical viewer. The viewer may be the best verification that your parser works correctly. There are so many similar problems, wishful improvements. All big task currently, no one really does it. Such an improvement should take at most some hours in Ruby. A really useful result will be a parser with a clean, documented netlisting API, that people can use to write netlisters who do not want to use/learn guile. Maybe I should try to do the same for python :-) And this example unfortunately shows one weak point of gEDA: The initial authors and experts have retired, functionality may be already there, but most of us do not know or understand it. ... documentation, again. -- Stephan ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: Working on a tiny schematics editor
On Fri, Oct 8, 2010 at 2:31 AM, Stefan Salewski m...@ssalewski.de wrote: Some weeks ago I started working on a very basic schematics editor, compatible with current gschem file format. I am writing it in Ruby, using GTK/Cairo. I while ago I started my own schematics editor - pschem: http://code.google.com/p/pschem/ Its development has stalled but there might be some bits and pieces for you to pick up or, if you're interested, to help me out with it. It looks like your goals are pretty much inline with mine (minus some minor differences in tools and frameworks choices we've made). Cheers, Andrzej ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: Working on a tiny schematics editor
On 10/07/2010 09:36 PM, Steve Morss wrote: Go for it! I think your idea is really neat. I'm a hard core Ruby programmer and have had similar experiences - you can say a lot in a little bit of space, the code is very readable, and coding goes quickly. On 10/7/10 1:31 PM, Stefan Salewski wrote: Some weeks ago I started working on a very basic schematics editor, compatible with current gschem file format. I am writing it in Ruby, using GTK/Cairo. . . . So chances are not too bade that I will continue working on it in the next months -- it is really easy and fun. A basic GUI and export of PCB netlist should be not too difficult. I am not sure if I will ever support hierachical design and other netlist formats -- that may be really complicated? A copy of the Ruby source text, and the png output is here. http://www.ssalewski.de/tmp/pet.rb http://www.ssalewski.de/tmp/out.png To use it with a web server/web browser does sound like a great tool for collaboration. It goes right around any install difficulties on odd platforms the full gschem has. John Griessen ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
gEDA-user: Working on a tiny schematics editor
Some weeks ago I started working on a very basic schematics editor, compatible with current gschem file format. I am writing it in Ruby, using GTK/Cairo. You may ask: Do we really need one? No, gschem works fine. You may say: That is wasting of your time. Maybe... You may say: You should better use QT, C++, Java, Python, OpenGL... Maybe... So why I started that task, and why do I write this text? Some weeks ago there was a discussion about subnet support for gschem. The conclusion was, that I have to learn some guile to implement it. OK, some day I may do that, but currently my motivation is not really great. On the other hand, I am currently learning Ruby and GTK/Cairo, and I do not really love programming in C. So I started a Ruby parser for gschem schematic files, just for fun, and progress was really fast. Current state, after only 150 hours of work, is that I can read in most basic shapes and write a cairo PNG file. (OK, currently only embedded symbols work...) So chances are not too bade that I will continue working on it in the next months -- it is really easy and fun. A basic GUI and export of PCB netlist should be not too difficult. I am not sure if I will ever support hierachical design and other netlist formats -- that may be really complicated? A copy of the Ruby source text, and the png output is here. http://www.ssalewski.de/tmp/pet.rb http://www.ssalewski.de/tmp/out.png Please note, I am NOT looking for support. Smart programmer should better support PCB and gEDA development, that is much more useful. But of course, if someone is really interested in this project, he may contact me. Can you remember, some years ago someone wrote about a Python editor on this list, I never have heard about it again. Maybe the same for my stupid idea. Best regards Stefan Salewski ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: Working on a tiny schematics editor
Go for it! I think your idea is really neat. I'm a hard core Ruby programmer and have had similar experiences - you can say a lot in a little bit of space, the code is very readable, and coding goes quickly. I can think of some other useful applications for a Ruby version of gschem. A small, highly portable version of gschem that works without the user having to deal with Makefiles and such (if you've got Ruby and the needed gems, it just works). And the second idea: Ruby/Rails is a popular framework for building websites. It might be possible to use your gschem core and a different front end (javascript) to make a web version of gschem (so anyone could run it from any web enabled device) - I have a need for something like this today. Steve On 10/7/10 1:31 PM, Stefan Salewski wrote: Some weeks ago I started working on a very basic schematics editor, compatible with current gschem file format. I am writing it in Ruby, using GTK/Cairo. You may ask: Do we really need one? No, gschem works fine. You may say: That is wasting of your time. Maybe... You may say: You should better use QT, C++, Java, Python, OpenGL... Maybe... So why I started that task, and why do I write this text? Some weeks ago there was a discussion about subnet support for gschem. The conclusion was, that I have to learn some guile to implement it. OK, some day I may do that, but currently my motivation is not really great. On the other hand, I am currently learning Ruby and GTK/Cairo, and I do not really love programming in C. So I started a Ruby parser for gschem schematic files, just for fun, and progress was really fast. Current state, after only 150 hours of work, is that I can read in most basic shapes and write a cairo PNG file. (OK, currently only embedded symbols work...) So chances are not too bade that I will continue working on it in the next months -- it is really easy and fun. A basic GUI and export of PCB netlist should be not too difficult. I am not sure if I will ever support hierachical design and other netlist formats -- that may be really complicated? A copy of the Ruby source text, and the png output is here. http://www.ssalewski.de/tmp/pet.rb http://www.ssalewski.de/tmp/out.png Please note, I am NOT looking for support. Smart programmer should better support PCB and gEDA development, that is much more useful. But of course, if someone is really interested in this project, he may contact me. Can you remember, some years ago someone wrote about a Python editor on this list, I never have heard about it again. Maybe the same for my stupid idea. Best regards Stefan Salewski ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user