[ptx] Re: [PanoTools-devel] branching libpano
Max Lyons
max.lyons at verizon.net
Tue Jun 20 00:40:06 BST 2006
I think my e-mail account is having problems, because this is the first time
I've seen Daniel's comments!
In any case, it might be interesting to see if patching the PTStitcher binary
would work (I wouldn't know how to do this), but probably isn't the best long
run solution. After all, changing the pano12.dll interface by modifying the
existing structures in the header files can "break" any existing applications
that try to use the new version. This will include the Photoshop plugins, any
other Panorama Tools executables (e.g. PTMorpher, PTInterpolate, etc.) that use
the Image struct, and any GUIs that call pano12.dll as well.
Given this, I think that either branching the code into two versions or rolling
back the changes are the two remaining options. Having two different versions
of Panorama Tools might be fun for developers but I fear will completely
confuse the average user, and I suspect will cause all sorts of angry "I
downloaded the latest version and now my XYZ program is broken" sort of e-mails
to the various developers who (a) work on Panorama Tools or (b) work on
programs that depend on Panorama Tools.
So, I think that the leaves rolling back the code changes as the best option.
I know I wouldn't have coded the cropped TIFF stuff the way I did if I hadn't
been constrained to retain compatibility with previous versions of pano12.dll.
But, I think that living with a little less-than-optimal code may be the least
bad choice of the bunch. Maybe there is a way to retain compatibility, and
tidy the code up as well...I'm certainly open to this approach as well.
That's my vote, but I'm happy to be vetoed by others if there are other
opinions.
Max
> Sorry, I thought I had sent this to the list. I sent it only to
> Max. This addresses the issue that is breaking PTstitcher and other
> tools that use dynamically pano12.
>
> In retrospective patching the binaries is not a long term solution.
>
> dmg
>
>
> ----------------------------------------------------------------------
>
> >> I have made a major change:
> >>
> >> * I added a struct CropInfo to the Image image. When the TIFF is read
> >> this struct is populated.
>
> Max> I agree that this is a much simpler approach than the one I took when adding
> Max> the cropped TIFF logic. And, I really wanted to do this when I added the
> Max> cropped TIFF logic.
>
> Max> However, I decided against it because it "breaks" PTStitcher. The problem is
> Max> that the Image struct is used by PTStitcher as well as the pano12.dll library.
> Max> PTStitcher was compiled with a version of Image struct that looks different
> Max> from the one that now exists in the pano12.dll library. So, PTStitcher no
> Max> longer works with the new version of pano12.dll ( I get an error message when
> Max> trying to stitch a project with the PTStitcher and the new version of
> Max> pano12.dll).
More information about the ptx
mailing list