SourceFiles.org - Use the Source, Luke
Home | Register | News | Forums | Guide | MyLinks | Bookmark

Related Sites

Latest News
  General News
  Reviews
  Press Releases
  Software
  Hardware
  Security
  Tutorials
  Off Topic


Back to files

xpcd 2.0

what is xpcd ?

xpcd is an X11-based Program for handling PhotoCD-images. You can select the images with your mouse, preview the image in a small window, and load the image with any of the 5 possible resolutions. You can also select a part of the Image with your mouse and load only the selected part.

what is here ?

test -- some simple test programs for libpcd: svgalib viewer, converter. xpcd -- xpcd source code, a gimp (1.2) plugin (allows xpcd and gimp to

work hand-in-hand, not useful without xpcd).

howto install ?

`./configure && make' should compile the package. The configure script has the usual options (--help lists them).

With `make try' you can test xpcd without installing it.

`make install' installs nearly everything (exception: the xpcd-gate plugin, move this from /usr/bin to the gimp plugins dir).

what do I need to compile xpcd ?

required: X11R5+ client libs (IIRC the XtVa*() functions are new in

R5? xpcd uses them)
optional: Xaw3d - xpcd is tuned for Xaw3d, strongly recommended. optional: the jpeg library if you want to save jpeg images with xpcd

(I use version 6)
optional: the tiff library if you want to save tiff images with xpcd optional: the svgalib for the viewer in the test dir. 1.2.10 works ok,

hav'nt checked older versions.

The configure script should take care about the optional stuff and configure xpcd depending on what is installed on your system.

How can I configure xpcd?

Probably not required, xpcd saves (most) settings automatically. Check the manpage if you want to know how the config file ($HOME/.xpcdrc) works.

I have a bugfix/new feature/something else for xpcd

Just mail it. Please include a description what you did and why. If I think it is useful, I'll include it into the next release.

Please use unified diffs (diff -u). And please don't reformat my sources, it makes the patches hard to read.

what is new...

... in version 2.09

  • fixed segfault (buffer overflow with extra large $HOME).
  • merged gimp 1.2 changes from Edsel Adap
  • fixed some warnings
  • updated autoconf
  • dropped libpcd directory from distribution as it is distributed separately since some time (see http://bytesex.org/libpcd.html).
  • dropped linux directory with prehistoric linux kernel patches.
  • deleted some obsolete documentation
  • 64-bit arch fixes (same goes for libpcd-1.0.1 which should be used to build this xpcd release).

...in version 2.08

  • bugfix in the internal viewer which caused segfaults if the filename had no slash in it.
  • xpcd uses absolute paths now when passing command line arguments to allways running instance.
  • removed fbview from the test directory. This tool is available as separate package now. See http://www.in-berlin.de/User/kraxel/linux.html
  • copyed in a newer version of the TAB-complete code
  • some tweaking of the build proccess (configure, Makefiles, rpm spec file). You can build rpms with "rpm -ta xpcd-2.08.tar.gz" now.
  • removed the configure check for gimp 0.54. Anyone remembers there was such a version? Anyone still using it?

...in version 2.07

  • minor fixes in xpcd (sets WM_CLIENT_LEADER for all windows, icon titles).
  • xpcd-gate displays some help text once it is started, I hope it is easier to get xpcd+gimp working now...
  • fbview can display jpeg too.

...in version 2.06

  • fixed some svgalib problems in pcdview.
  • fbview is much improved.
  • xpcd-gate compile problem fixed.

...in version 2.05

  • added fbview. Small tool to view images. Much like pcdview, but uses a framebuffer device (/dev/fb0) instead of svgalib.
  • manpages for pcdview && pcdtoppm (contributed by Stephan Alexander Suerken <absurd@debian.org>)
  • bugfix (segfaults if compiled without tiff support) from Nicolai Langfeldt <janl@math.uio.no>

...in version 2.04

  • Makefile bug fixed.
  • tiff fixed, added capability to enable/disable compression.

...in version 2.03

  • removed some gnu-stuff from the makefiles, it compiles with bsd-make out-of-the-box
  • danish translation (thanks to Niels Kristian Bech Jensen <nkbj@image.dk>)
  • few typos fixed
  • tiff support (thanks to Bertrand Petit <elrond@phoe.frmug.org>). currently uncompressed files only, compressed files don't work. Don't know yet whenever xpcd or libtiff gets this wrong...
  • click&drag scrolling. Click with the mouse into the viewer (button 1+2) or thumbnails (button 2 only) window and drag the content. Really nice feature. But you don't want to try that with a remote display unless you have a real fast network connection...
  • xpcd's internal viewer and the decoding process pass data using shared memory instead of a pipe.
  • Fixed memory management, malloc errors are catched now. Well, not really all yet, but at least those for big memory blocks.

...in version 2.01 & 2.02 ?

  • few bugfixes
  • included *.xpm files from 1.x (sorry, I just forgot them...)
  • some app-defaults tweaking.
  • xpcd saves the selected viewer to ~/.xpcdrc
  • added a few lines to the README

...in version 2.0 ?

xpcd is mostly rewritten from scratch. There are some new features, others are gone:

new
  • SPEED: xpcd is faster now
  • xpcd uses its own photocd decoding routines, hpcdtoppm is'n required any more.
  • you can access more than one CD, if you open a new one the old is'nt closed. Requires huge screen :-)
  • internal viewer, can save ppm + jpeg (jpeg requires the jpeg lib)
  • more than one externel viewer and switching between them at runtime possible
  • file dialog boxes have filename completion (using tab)
  • better keyboard support (scrolling with cursor keys, close windows with 'q')
  • online help (try the F1 key)
  • if xpcd finds a already running xpcd on startup, it passes the command line args to the already running instance.
  • support for gimp >= 0.99
  • RPM packaging support
  • uses the MIT Shared Memory extention
  • full grayscaled images support
  • .xpcdrc config file, autosave for some options
  • started nls support ("export LANG=de; xpcd" should bring up a german speaking xpcd). All the nls stuff is done using app-defaults.

    If someone wants other languages too: Feel free to translate the strings. Just take the german (Xpcd-de) or english (Xpcd-default) file as template and start your work. Becauce german is my native language, the german messages are a bit slang-ish. For the english messages it should be enougth to understand "computer english", but probably there are some mistakes in. BTW: corrections are welcome too...

gone
  • display while loading for the preview images. Yes, looks nice, but is too slow with fast cdrom drives.
  • The "1" "2", ... buttons. There is a menu now, you get it by clicking with the right mouse button
  • The "dismiss" button too. You can close the windows with your window-manager. Or with 'q'. Exception: Dialogs. But there is a 'cancel' button and the ESC-Key :-)
  • display gamma corretion.
  • gimp support for < 0.99 (there is a old, simple 0.54 plugin in the tests dir. Theoretical it should even compile automatically of you have an old gimp version installed, but I hav'nt tested this)

known bugs:

  • I/O-errors kill xpcd with a SIGBUS (BTW: is there a nice portable way to handle I/O-errors on mmap(2)'ed files?)
  • some errors still catched with "perror(); exit()".
  • you can exit xpcd even if the internal viewer is busy with saving a image. You'll end up with a tuncated file.

known linux kernel bugs (2.0.29, fixed in 2.1.x):

  • you may get I/O-errors, becauce the kernel sometimes tries to read behind EOF, which might be a unreadable sector, and some drives don't like this. This is a isofs bug, and in the linux directory is a fix. The patch produces some anonying error messages sometimes, they can be ignored.
  • If you have a scsi cdrom drive and see the first session of a photocd only, you may want to have a look at the other patches in the linux directory too.

not completely (re)implemented yet:

  • some small not-required-but-nice features like icon-pixmaps

planned / TODO-List:

  • write more documentation for libpcd
  • maybe let talk xpcd and xpcd-gate using Properties/Selections. This would allow them to run on different hosts.

--
Gerd Knorr <kraxel@bytesex.org>


Other Sites

Discussion Groups
  Beginners
  Distributions
  Networking / Security
  Software
  PDAs

About | FAQ | Privacy | Awards | Contact
Comments to the webmaster are welcome.
Copyright 2006 Sourcefiles.org All rights reserved.