After a recent upgrade of ImageMagick, many new "deprecated" warnings have been showing up. Even the most basic function, "InitializeMagick," is now a deprecated part of the API.
Maintaining support in Xastir for all the various versions of ImageMagick that have broken API time and again has lead to code that is unbelievably ugly. Throughout map_geo.c there are tests of the preprocessor symbol MagickLibVersion where we check to see which broken API we have to deal with, and then do different things depending on how old or new ImageMagick is. Now, some distros are starting to ship ImageMagick with the "HDRI" (High Dynamic Range Image) option turned on. Even the ImageMagick documentation calls this an "experimental" feature. It causes the data type of the Quantum (pixel value) to be a double instead of an integer, breaking our bit-fiddling and requiring that we hack in additional special cases --- special cases that will almost certainly be broken again when the "experiment" calls for a change in API. I say it's time that we declare ImageMagick too unstable an external library for us to support. GraphicsMagick, the stable fork of ImageMagick, has been much better and provides all the features we actually use. Now that the 8-bit quantum bug in Xastir is fixed, GraphicsMagick is a viable alternative for all platforms. I propose that following our next stable release (which should happen very soon), support for ImageMagick be dropped completely. The code for maintaining backward compatibility with all old versions of ImageMagick would be removed. Configure macros for probing ImageMagick would be removed. All features currently requiring either ImageMagick or GraphicsMagick would change to requiring GraphicsMagick. I think it is high time that we did this, as ImageMagick has been a thorn in our sides ever since it was introduced as a dependency for Xastir. Ideally, even GraphicsMagick should not be required --- what we use of that library is so small a set that there should be something less elaborate that would serve the purpose. But for now, GraphicsMagick is at least stable and functional, and doesn't require bizarre coding circumlocutions just to keep it going. Discussion? -- Tom Russo KM5VY SAR502 DM64ux http://www.swcp.com/~russo/ Tijeras, NM QRPL#1592 K2#398 SOC#236 http://kevan.org/brain.cgi?DDTNM In some cultures what I do would be considered normal. -- Ineffective daily affirmation _______________________________________________ Xastir-dev mailing list [email protected] http://lists.xastir.org/cgi-bin/mailman/listinfo/xastir-dev
