Looking for feedback

I’m interested in developing Tint further, and have plenty of ideas on possible new features and where to take it, but would like some feedback from people using it before I shoot off at a tangent. If you’ve downloaded Tint and had a play with it, please post a comment here to let me know what you think, how you’re using it, would be great to see some examples of work you’ve done with it even, and let me know what features you might like to see in future. I have plenty of ideas of my own, but will leave them for another time, as I really want to see what other people think for now!

Cheers.

23 responses to “Looking for feedback”

  1. Jim Sabatke

    I’m having trouble compiling tint under SuSE Linux 10.2. First I had to add a link to the wxWidgets config file, then I ran into the following compile error:

    src/indii/tint/gui/ClusterWizard.cpp:67: error: conversion from ‘const char [12]’ to ‘const wxString’ is ambiguous

    Tint looks like an interesting program and I’m anxious to try it.

    Regards,

    Jim

  2. Lawrence

    Hi Jim.

    I’m on SuSE 10.2 as well, so hopefully this one’s easy to sort out. In this case, try going to line 69 of src/indii/tint/gui/ClusterWizard.cpp, and change:


    "Consider..."

    to:


    _T("Consider...")

    If you get similar errors elsewhere do the same. Obviously if this works out I’ll release an update with the changes. And apologies, being brand new software, a few of these compile issues may come up.

  3. Lou

    Hi

    Compiled and it works.
    Neat program. Be
    nice if Gimp or Krita incorporated it.
    Very nice.

    Lou

  4. Johnny

    I got the same error as Jim above. Adding _T(… fixed that. After that, I got it on lines 51 thru 55 in src/indii/tint/gui/Workspace.cpp. Same fix did the trick. I’m on Kubuntu Fiesty, by the way. Also, I had wxWidgets 2.6-0 installed but came up with some errors. I installed 2.8-0, and it compiled right up. Might want to mention versions in the README file. One problem I ran into is if I chose more than 8 clusters (the number that will fit across my screen), I didn’t get a scrollbar. I couldn’t use beyond what would fit on my screen.

    Great program here Lawrence. I’m an amature photographer, so I forsee may uses of this. I also agree with Lou. You should talk with the Gimp team. This would be an excellent feature for it. Or perhaps you can convert it to a Gimp plugin?

    Keep up the good work,

    Johnny..

  5. Jim Sabatke

    Got rid of errors, but I still can’t run tint.

    I used the (_T) fix as detailed above, and tint then compiled to completion and made a binary file. However, there are two problems I’m having after that:

    1. scons install doesn’t seem to work at all. scons reports an error that it doesn’t know what ‘install’ is.

    2. if I try to run tint from the compile directory, I get a really big list of bad references:

    jim@mugsy:~/programs/tint/tint-1.0.0> ./tint
    *** glibc detected *** ./tint: double free or corruption (out): 0×082022d0 ***
    ======= Backtrace: =========
    /lib/libc.so.6[0xb759b6e1]
    /lib/libc.so.6(cfree+0×89)[0xb759cd79]
    /opt/gnome/lib/libglib-2.0.so.0(g_free+0×31)[0xb6d78211]
    /usr/lib/libwx_gtk2u-2.8.so.0[0xb7ac05c0]
    /usr/lib/libwx_gtk2u-2.8.so.0(_ZN8wxButton10SetDefaultEv+0xdb)[0xb7ac0c5b]
    /usr/lib/libwx_gtk2u-2.8.so.0(_ZN8wxWizard8ShowPageEP12wxWizardPageb+0×3a1)[0xb7c46441]
    /usr/lib/libwx_gtk2u-2.8.so.0(_ZN8wxWizard9RunWizardEP12wxWizardPage+0×37)[0xb7c46a37]
    ./tint[0x8053f1b]
    ./tint[0x80631a2]
    ./tint(_ZN12wxAppConsole10CallOnInitEv+0×11)[0x8063251]
    /usr/lib/libwx_gtk2u-2.8.so.0(_Z7wxEntryRiPPw+0×40)[0xb79b43a0]
    /usr/lib/libwx_gtk2u-2.8.so.0(_Z7wxEntryRiPPc+0×37)[0xb79b4477]
    ./tint[0x80630f0]
    /lib/libc.so.6(__libc_start_main+0xdc)[0xb754cf9c]
    ./tint(_ZNK7wxImage8SaveFileERK8wxStringi+0×6d)[0x8053ce1]
    ======= Memory map: ========
    08048000-08070000 r-xp 00000000 08:06 456012 /home/jim/programs/tint/tint-1.0.0/tint
    08070000-08071000 r–p 00028000 08:06 456012 /home/jim/programs/tint/tint-1.0.0/tint
    08071000-08072000 rw-p 00029000 08:06 456012 /home/jim/programs/tint/tint-1.0.0/tint
    08072000-0821a000 rw-p 08072000 00:00 0 [heap]
    b5700000-b5721000 rw-p b5700000 00:00 0
    b5721000-b5800000 —p b5721000 00:00 0
    b586e000-b604a000 r–p 00000000 08:05 772383 /opt/gnome/share/icons/gnome/icon-theme.cache
    b604a000-b62a0000 r–p 00000000 08:05 3231364 /opt/gnome/share/icons/Tango/icon-theme.cache
    b62a0000-b62b3000 r-xp 00000000 08:05 2798484 /usr/lib/libbeagle.so.0.0.0
    b62b3000-b62b5000 rw-p 00012000 08:05 2798484 /usr/lib/libbeagle.so.0.0.0
    b62e0000-b6324000 r–p 00000000 08:05 1664671 /usr/share/fonts/truetype/arial.ttf
    b6324000-b6326000 r-xp 00000000 08:05 966139 /opt/gnome/lib/pango/1.6.0/modules/pango-basic-fc.so
    b6326000-b6327000 r–p 00001000 08:05 966139 /opt/gnome/lib/pango/1.6.0/modules/pango-basic-fc.so
    b6327000-b6328000 rw-p 00002000 08:05 966139 /opt/gnome/lib/pango/1.6.0/modules/pango-basic-fc.so
    b6328000-b632f000 r–s 00000000 08:05 2988106 /var/cache/fontconfig/77e41c5059666d75f92e318d4be8c21e-x86.cache-2
    b632f000-b6332000 r–s 00000000 08:05 2988310 /var/cache/fontconfig/eb6f8dc1763df1b121d74d86b494ef9b-x86.cache-2
    b6332000-b6333000 r–s 00000000 08:05 2988115 /var/cache/fontconfig/b6bbb9f898b73777cfe763014a8c08d3-x86.cache-2
    b6333000-b6379000 r–s 00000000 08:05 2988103 /var/cache/fontconfig/17090aa38d5c6f09fb8c5c354938f1d7-x86.cache-2
    b6379000-b637b000 r–s 00000000 08:05 2988145 /var/cache/fontconfig/d458be102e54cf534d1eef0dcbb02d07-x86.cache-2
    b637b000-b639e000 r–s 00000000 08:05 2988110 /var/cache/fontconfig/8d4af663993b81a124ee82e610bb31f9-x86.cache-2
    b639e000-b63a3000 r–s 00000000 08:05 2988105 /var/cache/fontconfig/d62e99ef547d1d24cdb1bd22ec1a2976-x86.cache-2
    b63a3000-b63e9000 r–s 00000000 08:05 2988102 /var/cache/fontconfig/df311e82a1a24c41a75c2c930223552e-x86.cache-2
    b63e9000-b6405000 r–s 00000000 08:05 2988413 /var/cache/fontconfig/7ef2298fde41cc6eeb7af42e48b7d293-x86.cache-2
    b6405000-b6465000 rw-s 00000000 00:08 106233866 /SYSV00000000 (deleted)
    b6465000-b6476000 r-xp 00000000 08:05 768305 /opt/gnome/lib/gtk-2.0/2.10.0/engines/libclearlooks.so
    b6476000-b6478000 rw-p 00010000 08:05 768305 /opt/gnome/lib/gtk-2.0/2.10.0/engines/libclearlooks.so
    b6478000-b64a1000 r-xp 00000000 08:05 769258 /opt/gnome/lib/libgnomecanvas-2.so.0.1400.0
    b64a1000-b64a3000 rw-p 00028000 08:05 769258 /opt/gnome/lib/libgnomecanvas-2.so.0.1400.0
    b64a3000-b64d9000 r-xp 00000000 08:05 771645 /opt/gnome/lib/libgnomeprintui-2-2.so.0.1.0
    b64d9000-b64db000 rw-p 00035000 08:05 771645 /opt/gnome/lib/libgnomeprintui-2-2.so.0.1.0
    b64db000-b64f0000 r-xp 00000000 08:05 2795103 /usr/lib/libart_lgpl_2.so.2.3.17
    b64f0000-b64f2000 rw-p 00014000 08:05 2795103 /usr/lib/libart_lgpl_2.so.2.3.17
    b64f2000-b6554000 r-xp 00000000 08:05 769334 /opt/gnome/lib/libgnomeprint-2-2.so.0.1.0
    b6554000-b6556000 rw-p 00062000 08:05 769334 /opt/gnome/lib/libgnomeprint-2-2.so.0.1.0
    b6556000-b658b000 r–s 00000000 08:05 2988258 /var/run/nscd/passwd
    b658b000-b659d000 r-xp 00000000 08:05 2382743 /lib/libnsl-2.5.so
    b659d000-b659f000 rw-p 00011000 08:05 2382743 /lib/libnsl-2.5.so
    b659f000-b65a1000 rw-p b659f000 00:00 0
    b65a1000-b65b0000 r-xp 00000000 08:05 2382760 /lib/libresolv-2.5.so
    b65b0000-b65b2000 rw-p 0000e000 08:05 2382760 /lib/libresolv-2.5.so
    b65b2000-b65b4000 rw-p b65b2000 00:00 0
    b65b4000-b66cf000 r-xp 00000000 08:05 2798327 /usr/lib/libcrypto.so.0.9.8
    b66cf000-b66d5000 r–p 0011b000 08:05 2798327 /usr/lib/libcrypto.so.0.9.8
    b66d5000-b66e4000 rw-p 00121000 08:05 2798327 /usr/lib/libcrypto.so.0.9.8
    b66e4000-b66e7000 rw-p b66e4000 00:00 0
    b66e7000-b6720000 r-xp 00000000 08:05 2798328 /usr/lib/libssl.so.0.9.8
    b6720000-b6724000 rw-p 00039000 08:05 2798328 /usr/lib/libssl.so.0.9.8
    b6724000-b6755000 r-xp 00000000 08:05 2798280 /usr/lib/libdbus-1.so.3.2.0
    b6755000-b6757000 rw-p 00030000 08:05 2798280 /usr/lib/libdbus-1.so.3.2.0
    b6757000-b6771000 r-xp 00000000 08:05 2611214 /usr/lib/libdbus-glib-1.so.2.0.0
    b6771000-b6773000 rw-p 00019000 08:05 2611214 /usr/lib/libdbus-glib-1.so.2.0.0
    b6773000-b68a4000 r-xp 00000000 08:05 2795856 /usr/lib/libxml2.so.2.6.26
    b68a4000-b68a6000 r–p 00130000 08:05 2795856 /usr/lib/libxml2.so.2.6.26
    b68a6000-b68ab000 rw-p 00132000 08:05 2795856 /usr/lib/libxml2.so.2.6.26
    b68ab000-b68ac000 rw-p b68ab000 00:00 0
    b68ac000-b68f3000 r-xp 00000000 08:05 769108 /opt/gnome/lib/libORBit-2.so.0.1.0
    b68f3000-b68fa000 r–p 00046000 08:05 769108 /opt/gnome/lib/libORBit-2.so.0.1.0
    b68fa000-b68fd000 rw-p 0004d000 08:05 769108 /opt/gnome/lib/libORBit-2.so.0.1.0
    b68fd000-b692c000 r-xp 00000000 08:05 769511 /opt/gnome/lib/libgconf-2.so.4.1.0
    b692c000-b692f000 rw-p 0002e000 08:05 769511 /opt/gnome/lib/libgconf-2.so.4.1.0
    b692f000-b6983000 rAborted
    jim@mugsy:~/programs/tint/tint-1.0.0>

    Any help for this?? I would probably be able to help myself here if the program was using Makefiles, but I’m really unfamiliar with scons.

    TY,

    Jim

  6. Jim Sabatke

    I think I traced some of the problem to a hand-updated glib where I had dueling versions for the LOCALE problems. However, the program still doesn’t run for me.

    If I run it as a regular user, I simply get a seg fault.

    If I run it as root (probably with a different path) I get (just the top of the errors reported):

    mugsy:/home/jim/programs/tint/tint-1.0.0 # ./tint
    *** glibc detected *** ./tint: double free or corruption (out): 0×081f8590 ***
    ======= Backtrace: =========
    /lib/libc.so.6[0xb75276e1]
    /lib/libc.so.6(cfree+0×89)[0xb7528d79]

    It may be useful to know I updated all the GTK related libs so I could compile and run the new gimp release candidate 2.4 (RC1)

    Jim

  7. Babayasin

    That’s a great thingie! It would be nice to say somewhere in the Linux README that it needs Boost from boost.org :-) i had to figure it out myself.

    Are there chances to see it as a Gimp plugin?

    Also, if you accept feature requests… Adding hue/saturation/brightness controls (or just brighness alone!) for selected tints would make Tint much much more useful as we could build complex color-based masks this way.

  8. Lawrence

    Thanks to everyone for their feedback, much appreciated. I’ve just released a version 1.0.1 that includes fixes for all the issues mentioned here.

    Johnny — I’ve updated the requirements to include wxWidgets 2.8 and added a scrollbar as suggested, cheers.

    Babayasin — Good call about boost, I’ve added that in as well!

    Jim — Shame you’re still having trouble with this! Can I just check, do you have wxWidgets 2.8 installed? Is your wx-config binary working? The scons build script uses this to get header and library information, and it looks as though something is not linking in correctly.

    A Gimp plugin would certainly be great. I might have a look and see what that would involve. If anyone else would like to put together a plugin though, please go for it, the source is all there!

  9. Jim Sabatke

    I do have wxWidgets 2.8 installed and I get the following:

    jim@mugsy:~/programs/tint/tint-1.0.1> wx-config –libs core,base
    -pthread -lwx_gtk2_core-2.8 -lwx_base-2.8
    jim@mugsy:~/programs/tint/tint-1.0.1>

    so, I think all looks good from that standpoint. I get consistent, but different errors if I recompile/install the gtk and related lib updates needed for gimp 2.4. The common thread is that there is almost always a double free or an invalid pointer error. For a while I was getting a segfault error as my user and the big trace dump as root.

    For updated libs I’m using:

    cairo-1.4.10
    gib-2.14.0
    gtk+-2.10.13
    pango-1.17.5
    pycairo-1.4.0
    pygobject-2.13.2
    pygtk-2.10.6

    Next I tried back out those installs with the original SuSE disks and recompiling tint. I get the same errors.

    This is getting pretty frustrating as I know that everyone else is getting it to compile, and I’m normally pretty good at debugging incompatible libraries.

    Jim

  10. Steve

    Tint Photo Editor has been featured at http://www.linuxlinks.com

  11. Jimmy Cederholm

    First, let me say you have done an impressive application. The one feature request I have would be to have the ability to select which region(s) of the image to process, all colors outside the regions should be switched off. I think this would eliminate the need to post-process the image in many cases.

    Jimmy

  12. Jim Sabatke

    OK, this is driving me nuts. I’m used to compiling programs; I used to be a C and assembly coder, but this is not making any sense to me. I’ve tried deleting the SuSE supplied wxGTK libs and compiling them myself and I don’t get anything different. I’ve tried making monolithic and separate lib’s to no avail. The errors are always similar (top of the error list below):

    jim@mugsy:~/programs/tint/tint-1.0.1> ./tint
    *** glibc detected *** ./tint: double free or corruption (out): 0×081efdb0 ***
    ======= Backtrace: =========
    /lib/libc.so.6[0xb75966e1]
    /lib/libc.so.6(cfree+0×89)[0xb7597d79]
    /opt/gnome/lib/libglib-2.0.so.0(g_free+0×31)[0xb6d73211]
    /usr/lib/libwx_gtk2-2.8.so.0[0xb7ab4370]
    /usr/lib/libwx_gtk2-2.8.so.0(_ZN8wxButton10SetDefaultEv+0xdb)[0xb7ab4d1b]
    /usr/lib/libwx_gtk2-2.8.so.0(_ZN8wxWizard8ShowPageEP12wxWizardPageb+0×3a1)[0xb7c3a761]
    /usr/lib/libwx_gtk2-2.8.so.0(_ZN8wxWizard9RunWizardEP12wxWizardPage+0×37)[0xb7c3ad57]
    ./tint(_ZN19wxTopLevelWindowGTK9GtkOnSizeEv+0×2f3)[0x8053f4b]
    ./tint[0x80636f2]
    ./tint(_ZN12wxAppConsole10CallOnInitEv+0×11)[0x80637a1]
    /usr/lib/libwx_gtk2-2.8.so.0(_Z7wxEntryRiPPc+0×40)[0xb79ad0e0]
    ./tint[0x8063640]
    /lib/libc.so.6(__libc_start_main+0xdc)[0xb7547f9c]
    ./tint(_ZNK8wxWindow13GetCharHeightEv+0×49)[0x8053d11]
    ======= Memory map: ========

    ## end error quote

    where it always looks like it dies on the wxWindow GetCharHeight call. I have no idea why. Does anyone else have an idea what could be happening?

    Jim

  13. Larry Armstrong

    I love the software. I’m using the Windows precompiled version.

    My feature request would be to keep the exif information intact.

    Thanks!

  14. Frank

    Very nice application indeed. I compiled it under Linux and after some tinkering it worked. Jim Sabatke, your problem could be caused by linking against a wrong version of libglib or libgobject. ‘Wrong’ meaning that for some reason the scons build system links against a version which differs from the one which your GTK requires. Check if you have multiple versions of these libs or friends. If that does not help, I am afraid you have to compile everything (including libs) with -g and see waht gdb says.

    Frank

  15. Jim Sabatke

    I learned years ago to never mess with glibc. I let it get updated with a new distro or an auto compiler upgrade from a YAST2 known site (and that hasn’t happened). I did find a gobject lib where I had updated the libs, but didn’t update the static lib; but relinking that didn’t help either. I think I’ve backed out everything I needed to update to compile the new gimp 2.4 release candidate and still have the same problems, in any case, they didn’t relate to glibc or libgobjects anyway.

    I probably will have to recompile the world with the debug option, but I’m not looking forward to that as it ends up to be a twisty mess getting everything compiled so the binary will run without a mismatch error.

    My other option is to reload SuSE 10.2 and see if a clean install fixes the problem. I’m somewhat leery of that as I don’t have many changes in place right now.

    Thanks for your advice.

    Jim

  16. Jim Sabatke

    OK, I’ve run it in the debug mode and I get the following error:

    Debug] 03:57:58 AM: ./src/common/gbsizer.cpp(687): assert “wxAssertFailure” failed in Insert(): Insert should not be used with wxGridBagSizer.
    Trace/breakpoint trap
    jim@mugsy:~/programs/tint/tint-1.0.1> ./tint
    [Debug] 04:02:53 AM: ./src/common/gbsizer.cpp(687): assert “wxAssertFailure” failed in Insert(): Insert should not be used with wxGridBagSizer.
    Trace/breakpoint trap
    jim@mugsy:~/programs/tint/tint-1.0.1>

    I’ve scoured the web and don’t find much relating to this. Any help out there?

    TIA

    Jim

  17. Lawrence

    Thanks again for the feedback all. I might see if I can get a forum up to organise this all a bit better: bug reports, feature requests and so forth.

    Jim — I’m at a bit of a loss on this one, so apologies that I haven’t been able to help more. I did get some reports from the alt linux crew about some issues with scons that were causing build problems for them. They have a patch together for scons that they’re sorting out. The particular problem was unrelated to your’s (–as-needed compiler flag), but this does suggest that scons may be the issue in your case too. You could try compiling everything without scons — there are no tricks to it, just compile each file in the src directory and link them all up. The compiler flags that scons is using are in the config.py file.

  18. Jim Sabatke

    More info:

    I compiled in debug mode yesterday and got some consistent errors regarding:

    “wxAssertFailure” failed in Insert()”

    also problems with:

    “wxGridBagSizer”

    I tried updating ‘boost’ and that was a BIG mistake as yast depends on the specific version included with SuSE 10.2; so I spent a few hours finding and getting the proper libs back (I hope … at least yast is working again).

    My next step is to remove scons from the picture, but I’m not convinced that using the same compile args will do anything different.

    Have you considered releasing a Linux binary? Could I get a copy of your SuSE 10.2 binary to see if it works on my box?

    TIA

    Jim

  19. Jim Sabatke

    An obvious question I should have asked a while ago:

    Did you update wxWidgets and wxGTK through pre-made RPMs from the various SuSE sites, or did you compile them yourself?

    I also tried to update boost, but that killed yast dead and I had a heck of a time getting that back.

    Could you list the ‘exact’ versions of lib’s you are using if the minor numbers aren’t included in the README.txt file?

    TIA,

    Jim

  20. Thomas

    Nice tool, gave a great new look to some older and rather not so interesting shots of mine. Thanks for making it open source!

    +1 to Jimmy’s feature request. It might also be helpful to let the user choose which color groups are needed. For example, in some cases I am looking for a detailed separation of the different shades of green in a picture, while in other cases I’d like green to be abolished altogether, regardless of the shade. Maybe a nice color selector component in which the user can place markers where clusters should be located?

    Thomas

  21. Frank

    Jim,

    Further above you wrote: “I also tried to update boost, but that killed yast dead…”.
    Boost is headers only. I think some special parts of boost can actually be compiled as shared libs but even if, yast is most certainly not linked against such a freak. In fact, I even believe yast is statically linked but I am not on SuSE to confirm that
    But I can confirm that tint compiles on recent systems. On my system, I have compiled all relevant libraries (atk, pango, glib, GTK, wx…) myself and that worked. I only had trouble with scons but since I would not use it for anything else, I compiled and linked tint manually without any trouble.

    F.

  22. Jim Sabatke

    Frank,

    This is getting to be a bit off course for this forum, but just a quick note to say that I checked the boost installation files in YaST and there is a package installed that is C++ *.so (shared object) libraries. Then I told YaST to delete the libraries (which I wouldn’t have actually completed), and it did indeed show a number of dependencies for YaST. I’m kind of surprised that YaST would use something that obscure, but there you have it.

    Jim

  23. Lawrence

    Thanks everyone again for their comments. I’m closing off comments here now, as I’ve added a forum where we can better discuss ideas for new features, support issues, bug reports etc. Please join me over there!


Post feeds