Why should you try it?Because this program was not written as someone's lesson in programming, but to solve a real need.
It is used by hundreds of people to do real work, during their day job.
If you just want to try it, without compiling it, then please download the ArahWeave demo, which also contains ArahPaint4.
Why do we need another paint program?
This package contains ArahPaint4, a textile oriented paint program. Textile oriented means that:
This is a pixel pushing program, not a photo retouching program. You should look at Photoshop or GIMP if you need red eye reduction. Or just learn how to use the flash. The user's manual, keyboard shortcuts list and screenshots are available from Arahne's web site
With ArahPaint4, easy things remain easy, while complicated ones remain impossible ;-)
LicenseArahPaint4 is licensed under GPL2, and the libraries it uses are licensed under LGPL.
Compilation instructionsArahPaint4 is usually delivered as a part of ArahWeave CAD/CAM for weaving. Arahne has released ArahPaint4 as open source, together with some custom libraries which ArahPaint4 uses. For this reason, ArahPaint4 uses non-standard build method, since the libraries stay at their place as if it was still part of ArahWeave, to minimize the changes to the code. In this way, it is easier for Arahne to continue the development of open source and non-open source programs in parallel.
To compile ArahPaint4, you will need a C and C++ compiler and development environment for:
After uncompressing the source files with command
You may also change the line
The easiest way to build ArahPaint4 is to type
If all goes well, you should be able to type
If it fails, here are the steps involved: cd into each of the library directories
If you wish, and know how to configure the beast, you can also use Qt designer to compile and debug the program. On OpenSuse 10.3, you can run the Qt designer with command
If ArahPaint4 runs correctly, and you want to use your own version, it is best if you just make a link to the desktop to the script
Due to some strange bug in qt3 library, the qt library shipped with OpenSUSE 11.0 or 11.1, program runs, and mostly works, but drawing operations (draw line, circle, rectangle), do not work. In order to fix this problem, you need to take the qt library from OpenSUSE 10.3, and it will work. Copy the file libqt-mt.so.3 to
Making a stand alone distributionIf you want to make a little stand-alone ArahPaint4 distribution, you will need the following files:
If you wish, you may also put the extra libraries in a different location, but you will need to modify the LD_LIBRARY_PATH in the apaint script, to reflect that change.
ArahPaint4 configuration settings
ArahPaint4 also reads the
If you use ArahWeave DEMO, you will already have it in place and you do not need to worry about anything. Only ArahWeave can write the .arahne configuration file, to avoid confusion of several programs writing settings at the same time. If you wish to configure ArahPaint4 to your defaults, but you do not have ArahWeave, you will need to edit .arahne file by hand. Here is a sample contents of .arahne file, which you need to place at the home directory:
The original ArahWeave's .arahne configuration file contains many more options (about 200), but only the ones listed above are used by ArahPaint4. If you don't want to run ArahWeave in order to make a configuration file automatically by using Files > Save setup from ArahWeave, you can take the
How to contribute and debug?If you wish to contribute to ArahPaint development, or if you find a bug, please contact Arahne at
Please provide the image which manifests the bug, and step by step instructions to reproduce the bug.
If you want to debug a problem more in detail, you can compile a debug version by typing
Then you can run the program in ddd debugger by typing
If you suspect a small memory overwrite or a subtle bug which does not manifest in immediate crash, you can also try running the program with valgrind by typing
Obviously, you need to have ddd or valgrind installed to use the respective tools.
Good luck in compiling,