← Back to team overview

kicad-developers team mailing list archive

Re: KICAD_PLUGIN for libraries/components (pcbnew)


2012/4/11 Dick Hollenbeck <dick@xxxxxxxxxxx>

> Mike
> If you want to propose some virtual functions, simply Doxygen commented
> function
> prototypes, that can be added to the the PLUGIN API, this will give us a
> chance to see
> your C++ design skills at work.
> It makes sense, and I think it's a good exercise to get in touch a little
bit more with the pcbnew internals :-)

> Please just start with the function prototypes, Doxygen commented, no
> actual code yet.
> There can be private functions also, but the public ones need to handle:
> a) existing legacy libraries using footprint/module load save code already
> in
> LEGACY_PLUGIN so we can automatically scale these legacy modules to
> nanometers.
> b) new s-expression libraries where each footprint is simply a separate
> file, so the
> "library" parameter to any API function is essentially a directory,
> whereas for
> LEGACY_PLUGIN it was a file.


> See if this is do-able from a design standpoint.

Ok :)

> My thinking was to get this work into the testing tree.  Then ask you to
> merge it into
> your scripting tree.  I was planning on using your tree to do the actual
> conversion of all
> the footprint libraries over to new s-expression format, simply by looping
> through
> footprint by footprint, using LEGACY_PLUGIN to load, and KICAD_PLUGIN to
> save the footprints.

That's exactly what I was wanting to do, starting to read and write
libraries from scripting. I've been working the last couple of days to do a
first merge of the current testing branch to the scripting branch (now they
diverged a little bit with all your last work).

> If you cannot get to this conceptual contribution within a week, or have
> other interests
> now, such as HTTP_LIB_SOURCE, that is understandable, just say so.
I really want to start it now, because I find it as a first step to get
into the HTTP libraries/server/etc.

> Thanks,

You're welcome :-)

> Dick


Miguel Angel Ajo Pelayo
+34 636 52 25 69
skype: ajoajoajo