X-Authentication-Warning: delorie.com: mail set sender to geda-user-bounces using -f X-Recipient: geda-user AT delorie DOT com Date: Mon, 31 Aug 2015 16:31:52 +0200 (CEST) X-X-Sender: igor2 AT igor2priv To: "Evan Foss (evanfoss AT gmail DOT com) [via geda-user AT delorie DOT com]" X-Debug: to=geda-user AT delorie DOT com from="gedau AT igor2 DOT repo DOT hu" From: gedau AT igor2 DOT repo DOT hu Subject: Re: [geda-user] back annotation proposal (RFC) In-Reply-To: Message-ID: References: <201508301802 DOT t7UI2twS031311 AT envy DOT delorie DOT com> <201508310341 DOT t7V3fcfh022966 AT envy DOT delorie DOT com> User-Agent: Alpine 2.00 (DEB 1167 2008-08-23) MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Reply-To: geda-user AT delorie DOT com Errors-To: nobody AT delorie DOT com X-Mailing-List: geda-user AT delorie DOT com X-Unsubscribes-To: listserv AT delorie DOT com Precedence: bulk On Mon, 31 Aug 2015, Evan Foss (evanfoss AT gmail DOT com) [via geda-user AT delorie DOT com] wrote: > This might be a good place to throw GPMI in again. Like I have said in > other threads scheme needs to be phased out. The most problematic part of my back annotation plans is how to get gschem to do what I want. I was considering using GPMI in "parasite" mode: injecting the whole thing as an LD_PRELOAD lib at the GTK API. Pros: 0 modification in gschem, still can hook init, uninit, the main loop and random gtk API, separate code base. Cons: I can not hook in function calls where gschem code is calling gschem C functions or scheme code calling gschem C functions. One of the minor features I'd need to add would be a way to add an extra mark or highlight on some object, like pins, to mark they are in netlist mismatch due to back annotation. I could easily find the part of the pin drawing code where I'd need to add a 2 or 3 lines. I could easily wrap this function in another that calls it and then does the extra steps for the extra highlighting. But this method wouldn't work for internal gschem->gschem calls. So GPMI alone wouldn't solve my main problem here; once my main problem is solved, the rest could be done in plain C, with or without GPMI. Regards, Igor2