What about ArtPaint?

Have never heard of this add-on. Is it included in art paint? Would be for my art paint tips and tricks page on the besly.

http://besly.de/menu/search/archiv/gfx/artpaint_tips-tricks_eng.html

Would like to describe more such things but know me with art paint and what it all can not be so.

That looks in any case already times very well.

I have meant that when I invite a picture in corel’s photopaint, I can reduce the colors to the colors that are contained in the picture. In a gray scale image it can be there already times 2-6 colors. For my tutorials on the besly I use this often to reduce the images, which accelerates the load of the page, even if many mean that one does not need today.

It’s included in v2.1.2, though it was missing in Haiku versions before that. 2.1.2 has unfortunately not made it to the depot yet. It is available on my site artpaint, and on BeShare.

I’m glad you have a “tips” page for ArtPaint on besly. I was thinking something like that would be very useful.

Hmm, I wonder exactly what that involves. A 32-bit/pixel image isn’t going to be affected by the actual number of colours present, but I noticed that when I used ImageMagick for colour reduction it generated an appropriate colourmap, rather than just repopulating the 32-bit version (as ArtPaint does). Just checked – yes the IM file is about half the size! So for your needs ImageMagick would probably be the choice.

1 Like

Ok i will take the package and test the colorreducer for my tips page on besly.
Then i can put this ArtPaint version on our repository server.

Any other nice tips for ArtPaint?

I’m sure there are – once I get my wits together…:slight_smile: I had some thoughts while working on the updates, but they’ve sort of faded right now.

One thing that misleads people a bit right now is that they think the initial ‘white’ background is actually (opaque) white, when it is actually fully transparent. If there’s uncertainty, the Color Selector tool will show the actual alpha at any point. As I said a while back I’d like to fix this, but I’ve hit a blank wall so far.

You inspired me to go look up BeTips again [which seems to be pretty dormant; I need to ask Scot] and saw one ArtPaint tip that was a total surprise. I’ve always zoomed the image using the menu, which is a bit tedious. I never knew that the “Mag:” field in the Status Bar pops up a slider if you click on it that allows immediate zooming to any size! Definitely worth publicizing. (Hah! Just actually read the manual page, and it is documented… Pays to RTFM – carefully!)

Well, at HaikuPorts the recipe for 2.1.1 is based on the source code at GitHub - HaikuArchives/ArtPaint: ArtPaint is a painting and image processing program.. It will surely be difficult for users to differenciate with the ArtPaint hosted at artpaint.

Could you use a different name? Otherwise we’ll have to change the name at HaikuPorts. Thanks!

You do not need to fear, haiku servers have priority as it seems.

https://dev.haiku-os.org/ticket/13507

Pete’s package is also not available on a repository server, now available from the site. And ArtPaint is ArtPaint.

I was pretty sure to get such an answer, but I tried anyway. Good luck!

This was not insulting or degrading, much more to draw attention to the one must look how to regulate the future. If someone has a newer (better be times out put before) version has, this should be synonymous under the same name to be found.

How, in your opinion, should such a package be called? Have already thought about it but I have come to no really meaningful solution.

The Debian way would be possible: add a suffix to the version.

Something like artpaint-2.1~haiku1 (or ~pete1 or …)

But we are a small team, it should be possible to collaborate on these things and have a single version around? Maybe let Pete commit directly to the ArtPaint git repo at HaikuArchives if he wants to take care of the software?

2 Likes

I would appreciate it more, if all available packages would be displayed, also double. Then the user can decide which version he wants to install.

To round off the whole would be great if in an additional column to the respective package the reference point, so repository server would be indicated.

1 Like

Sorry – there’s a misunderstanding here. The 2.1.2 is exactly from the current source at GitHub - HaikuArchives/ArtPaint: ArtPaint is a painting and image processing program.. I didn’t release it until the archive was updated. It’s just that HaikuPorts hasn’t quite caught up yet. When HaikuPorts has a 2.1.2 it will be indentical to my release.

The ArtPaint revision confusion should now be resolved. Humdinger has submitted the recipe for 2.1.2 to HaikuPorts, so I guess it should now get built and added to the depot. Many thanks, Humdinger!

1 Like

Ok i remove the ArtPaint package out of our repository server list.

Hi, sorry to revive this old thread - but does anyone monitor the ArtPaint repo? I made a pull request and I know all the devs are pretty busy with Haiku itself - wondering if anyone would have time to look at my ArtPaint changes if I hack on it some more?

Also there is an issue where it renders the canvas completely black on x86_64 - it seems to be related to some compile-time options in the code. If I compile with __INTEL__ it renders just fine. Wondering if anyone would still compile ArtPaint for PowerPC, and/or if Intel should be the default?

Thanks!
Dale

Hi Dale,
You seem to be hard to find an email address for! I got email that seemed to be diectly from you to me, until I noticed the return address was ‘discuss.haiku-os.org’! So I’ll just repost the response I typed up for email!

Yeah, I have to confess to slacking considerably on Haiku (and probably everything else!) for the past year or so. (:-/) I seem to have gotten into the habit of following my nose on the news, until I suddenly find it’s 4 O’Clock, and I haven’t stirred from my chair!
I think I’ve burnt out on Haiku rather – I still use almost nothing else, but if I need something new it’s a script, not a program. I did update some pages on my Website yesterday, but that’s the first time in a couple of years.

I did see your posts on ArtPaint, though, and I gather you fixed an important lack! If I have it right, you eliminated the ‘black selection area’ that cropped up due to some change in the OS a couple of years ago, by changing ‘POWERPC’ to ‘INTEL’. That’s been irritating the hell out of me since it happened!

I’m assuming that’s the same issue I have with the 32-bit version, where any selection goes completely black, rather than just an outline as it should be. If that simple change fixes it, it definitely should become the default, I think.
Would be nice to find out the basic reason eventually, though. I should buckle down and do some programming again (!), but meanwhile you might get in contact with Humdinger; I think he was the last to do any work on ArtPaint.

4 Likes

Usually it goes like this, some BeOS programs have code that looks like:

#ifdef __INTEL__
    // Do something for little endian machines
#else
    // Do something for big endian machines
#endif

In this specific case I assume accessing the alpha byte in rgb_color, which will be in a different place in memory in each case (first or last byte of each word).

This worked fine on BeOS where only x86 and PowerPC architectures were available, but on Haiku, __INTEL__ is only defined for 32bit x86 systems. And so everything else ends up in the “else” case.

Ideally the code would be changed to actually use endiannsess check macros (for example the ones defined in ByteOrder.h,
B_HOST_IS_LENDIAN and B_HOST_IS_BENDIAN). Then the code will work on more architectures, not only 32 and 64bit x86, but also ARM, RISC-V, SPARC, etc.

A less intrusive patch would be to use something like #if __INTEL__ || __x86_64__. But then it will need to be adjusted again and again everytime a new CPU architecture is supported.

5 Likes

I’m glad to see you’re still about :slight_smile:. I had noticed your absence and was concerned you would not return! Welcome back!

4 Likes

yes, I think the problem here is that the layer rendering code is like:

#ifdef __POWERPC__
   ...
#elif __INTEL__
   ...
#endif

so if neither is defined it doesn’t handle the alpha at all.

I don’t think it would be a big deal to fix the places these are used to use endianness-macros.

haha, sorry, didn’t know it would ping you directly - I just meant for the post to show up here. Anyway, I’ve had an on-again-off-again relationship with Haiku myself. It happens that I’ve been working as an engineering manager for a few years now and finding that I really miss coding. Also I seem to have time to work on it lately too!

1 Like

Heh, yeah. It seems that because I started the thread, I get an email of every post! OK with me – in fact it was quite useful in this instance :grinning: