X-Authentication-Warning: delorie.com: mail set sender to geda-user-bounces using -f X-Recipient: geda-user AT delorie DOT com Message-ID: <56934D26.3020607@xs4all.nl> Date: Mon, 11 Jan 2016 07:35:18 +0100 From: "Bert Timmerman (bert DOT timmerman AT xs4all DOT nl) [via geda-user AT delorie DOT com]" User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1.19) Gecko/20110429 Fedora/2.0.14-1.fc13 SeaMonkey/2.0.14 MIME-Version: 1.0 To: geda-user AT delorie DOT com Subject: Re: [geda-user] A new PCB file format - modular system References: <5692CBD5 DOT 3020101 AT prochac DOT sk> In-Reply-To: <5692CBD5.3020101@prochac.sk> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Reply-To: geda-user AT delorie DOT com Milan Prochac (milan AT prochac DOT sk) [via geda-user AT delorie DOT com] wrote: > After reading long discussions about the new PCB file format I tried > to implement support for multiple file formats. > > You can download it here: > http://static.bastl.sk/pcb/Modular-file-formats.gz It is also > available on launchpad: https://bugs.launchpad.net/pcb/+bug/1532611 > > The patch implements modular system to support multiple PCB file > formats. Attached is also the template of the file-format plugin with > instructions. > > The patch is not too big, but it touches various parts of PCB, so it > is possible that some corner cases are not handled properly. Comments > and bug reports are welcome. > > The modular system utilizes existing plugin system; new type of plugin > is added to support various file formats. This approach allows > implementation of additional file formats as independent shared > library with minimal effort. The whole implementation of new file > format is reduced to serialization and de-serialization of PCBType > data structure, no PCB tweaking is necessary. The template with > instructions is provided, as mentioned above. > > - modular system is available for all layout operations (Load, Save, > Save As, Load to buffer, Revert, auto-backup); the element operations > will be added later. > - action "SaveTo(LayoutAs..." was extended by 3rd argument, specifying > file format; if omitted, current (or default) format is used > - GUI (GTK only at the moment) was adjusted to allow select file > format; for "save" operations it specifies desired format, for "open" > operations it is used as filter > - file format is detected automatically by modular framework > - the versioning system (based on PCB file version #defines) is > available - each plugin should confirm it's capability to save data of > required version (like 20110603); if not, the file format cannot be used > - load-only and save-only formats are supported. If save-only format > is used, the layout is not marked as "saved". > - the current PCB format is converted to built-in plugin. > > With this enhancement it should be very easy to implement new file > formats. If more of them will be available, the most successful can > become new standard PCB format and - hopefully - the data model > modifications will be not blocked by hard-to-extend file format > anymore... > > Regards > Milan > Hi Milan, Your file formats patch is now pushed to "home/bert/LP1532611" for review. Thanks and kind regards, Bert Timmerman.