| Resources and Support | |
| |
|
| Author | Message |
|
PulkoMandy
Midshipman
Joined: 30 June 2009 Location: France Online Status: Offline Posts: 44 |
![]() Topic: Grafx2 support topicPosted: 31 July 2009 at 12:21pm |
|
Hello !
It seems that some users are using Grafx2 So feel free to ask for help on it or share techniques here. If you write something interesting we may borrow it and add it to our wiki, too. |
|
IP Logged |
|
|
Iron
Midshipman
Joined: 28 July 2009 Online Status: Offline Posts: 46 |
![]() Posted: 31 July 2009 at 12:51pm |
|
This is just more of a question. Is there any type of hot key for quick-adding/removing a color from the stencil selection?
|
|
IP Logged |
|
|
PulkoMandy
Midshipman
Joined: 30 June 2009 Location: France Online Status: Offline Posts: 44 |
![]() Posted: 31 July 2009 at 1:16pm |
|
You can use shift+F6 at any time to bring up the stencil setup window where you can select colors.
What else would you need ? Adding the current foreground color ? something similar to the color grabber ? Also note if you don't like a key shortcut, you can click on it in the helpscreen to change it. Edited by PulkoMandy - 31 July 2009 at 1:16pm |
|
IP Logged |
|
|
Hatch
Admiral
Joined: 05 August 2015 Online Status: Offline Posts: 1387 |
![]() Posted: 31 July 2009 at 7:09pm |
|
Yeah, so I have a question. Is it officially GrafX2 or Grafx2? I see it spelled both ways, even by you guys :U
Also, any chance of a new WIP build for Windoze? :D |
|
IP Logged |
|
|
PulkoMandy
Midshipman
Joined: 30 June 2009 Location: France Online Status: Offline Posts: 44 |
![]() Posted: 01 August 2009 at 2:11am |
|
I think it's meant to be GraFX2 (as in "graphic effects"). But I tend to miss the shift key :)
For the WIP build, you'd have to ask Yves for that as I'm running linux. But right now he's quite busy working on the layer system. |
|
IP Logged |
|
|
grafikimon.com
Seaman
Joined: 27 May 2019 Location: United States Online Status: Offline Posts: 16 |
![]() Posted: 01 August 2009 at 6:15am |
|
How do i get it to work on the mac? I tried both versions and nothing?
|
|
IP Logged |
|
|
PulkoMandy
Midshipman
Joined: 30 June 2009 Location: France Online Status: Offline Posts: 44 |
![]() Posted: 01 August 2009 at 7:11am |
|
The mac version is broken on leopard. We have one for Tiger and one for Snow Leopard but none for Leopard. We are trying to find someone to build it. Unfortunately Apple does not seem very attached to keep compatibility across the versions of their OS.
|
|
IP Logged |
|
|
grafikimon.com
Seaman
Joined: 27 May 2019 Location: United States Online Status: Offline Posts: 16 |
![]() Posted: 01 August 2009 at 7:44am |
|
Ah okay.
I could try to build it for you. I got the developers kit installed. Jay |
|
IP Logged |
|
|
yrizoud
Commander
Joined: 03 May 2021 Location: France Online Status: Offline Posts: 343 |
![]() Posted: 04 August 2009 at 7:33am |
|
I don't know if it helps, but while the stencil window is open, you can click the image directly instead of the palette. left-clicking will tag a color (protect it), and righ-clicking will untag it (unprotect).
|
|
IP Logged |
|
|
yrizoud
Commander
Joined: 03 May 2021 Location: France Online Status: Offline Posts: 343 |
![]() Posted: 04 August 2009 at 7:49am |
|
Windows WIP version: I'll compile and upload it in a few hours. In fact there's also the fixed 2.0 version that I haven't uploaded yet, I also need to rebuild installer...sigh.
About layers, last weeks I spent more time digging for potatoes than coding, sorry. I'll try to speed up.
About the name, the original is "GrafX 2.00 Beta 96.5%", according to the .NFO
Logos are uppercase, which avoid the issue :)
|
|
IP Logged |
|
|
Hatch
Admiral
Joined: 05 August 2015 Online Status: Offline Posts: 1387 |
![]() Posted: 04 August 2009 at 8:10am |
|
Cool! Thanks. I'm keen to test the new shift-locks-to-vertical-or-horizontal-movement thing.
Also: any chance of (partial) PNG-24 support in the near future? I'm guessing the problem is alpha transparency, but I figure it could just accept those files with no alpha. Like, if the image has only fully opaque and fully transparent pixels, and nothing in between, just convert to PNG-8 and load. Continue to reject PNG-24s with real alpha. Of course I have no idea how much of a pain this is to check for. It's just that I do a lot of edits and such on this forum, and it's tedious to have to convert to gif/png-8 all the time, especially when the png-24s are fully opaque. |
|
IP Logged |
|
|
yrizoud
Commander
Joined: 03 May 2021 Location: France Online Status: Offline Posts: 343 |
![]() Posted: 04 August 2009 at 9:16am |
|
PNG24: The problem is not the eventual alpha channel, it's easy to ignore it as it's stored separately. The issue is that it's raw RGB pixels, so Grafx2 has to: (1) find the best 256 colors (2) color-reduce the image to this palette. The original code already has some functions for this, and it's used for loading some 24bit variant of PCX format. But it's slow, even if Pulkomandy has worked on it. On my antique PC it takes about 7 seconds to color-reduce a huge (3000x2000 ?) image. The preview in fileselector is almost as slow, it only skips part (1) by providing a "standard" palette.
I also really don't like the dithering... In my opinion, this makes the resulting image totally unusable for further editing.
Anyway, the conclusion is: PNG24 is not coded because so far I have been to lazy to plug together the two existing pieces of code that could handle it.
But it IS useful (especially when the 24bit image doesn't use more than 256 colors), so we should/will implement it.
|
|
IP Logged |
|
|
Hatch
Admiral
Joined: 05 August 2015 Online Status: Offline Posts: 1387 |
![]() Posted: 07 August 2009 at 10:38am |
|
I was using the latest WIP build today and I realized that every time I encounter a text entry field, my "flow" comes to a grinding halt. They really ought to behave like a normal OS text field widget: don't disable the mouse, tab to next field, etc. It's really hurting usability.
EDIT: Just realized this may have been partially fixed already. I'm getting my builds mixed up. I'll have to mess with it some more when I get home. Edited by Hatch - 07 August 2009 at 10:43am |
|
IP Logged |
|
|
PulkoMandy
Midshipman
Joined: 30 June 2009 Location: France Online Status: Offline Posts: 44 |
![]() Posted: 07 August 2009 at 2:50pm |
|
Yes, the annoying text fields were already fixed in the latest WIP. They annoyed me for quite a long time too. So now, clicking on another button will activate it and clicking somewhere else in the window should just exit the field. I think this is the expected behaviour. Tell me if you find oddities.
|
|
IP Logged |
|
|
Hatch
Admiral
Joined: 05 August 2015 Online Status: Offline Posts: 1387 |
![]() Posted: 07 August 2009 at 3:12pm |
|
*forehead slap*
Sorry, got a bit mixed up.
Anyhow, it's a minor thing, but would it be possible to allow for tabbing to other fields? EDIT: Also, I understand implementing text selection and copy/paste and all that jazz would be waaaaay more trouble than it's worth, but that leaves no obvious way to quickly clear a field. I recently learned of right-click by accident, but I'm thinking a double-click would be more intuitive, since that's how you select all text in a regular text field widget in preparation to delete. Just kinda throwing ideas out there, I'll open a ticket if you want. Edited by Hatch - 07 August 2009 at 3:17pm |
|
IP Logged |
|
|
yrizoud
Commander
Joined: 03 May 2021 Location: France Online Status: Offline Posts: 343 |
![]() Posted: 10 August 2009 at 6:57am |
|
PNG24 is implemented, WIP available.
About field clearing, even though I totally adopted the right-click system, I'm slowly starting to accept the idea...
This leaves the right mouse button available, so we can use it to click and hold the right mouse button over a numeric field, and during this time, horizontal mouse movements increase or reduce the value.
Tabbing fields... will have to see how we can handle it.
|
|
IP Logged |
|
|
PulkoMandy
Midshipman
Joined: 30 June 2009 Location: France Online Status: Offline Posts: 44 |
![]() Posted: 10 August 2009 at 7:12am |
|
Tabbing is quite tricky. If we use it only for text fields I think it can be done. But you will not have access to other widgets (button, sliders) with it. Would that be enough for you ?
|
|
IP Logged |
|
|
Hatch
Admiral
Joined: 05 August 2015 Online Status: Offline Posts: 1387 |
![]() Posted: 10 August 2009 at 7:22am |
|
Originally posted by PulkoMandy
Tabbing is quite tricky. If we use it only for text fields I think it can be done. But you will not have access to other widgets (button, sliders) with it. Would that be enough for you ? Of course, that's all I had in mind. It's funny, it seems like such a simple thing to me, as a layman. I wish I understood programming D: Originally posted by yrizoud
PNG24 is implemented, WIP available. :U Holy cow, that was fast! You guys rock :D |
|
IP Logged |
|
|
PulkoMandy
Midshipman
Joined: 30 June 2009 Location: France Online Status: Offline Posts: 44 |
![]() Posted: 10 August 2009 at 9:41am |
|
Basically the big problem I see with switching to the next field when you press tab is to decide which field is the next one. As our code is not done for that, the fields are put in the window not in the order you see them, but more in the order we added them to the code.
And then, the keyboard reading function is locked inside a field and has no access to the rest of the things, so we have to ask the open window to see if there is another field, close the editing in the current one, and open the new one. Programming works like that, many steps, but really really small ones. On the other hand, png 24bit was not that hard to add because we use libpng, which does almost all the work for us. (still, Yves is amazingly fast :p) |
|
IP Logged |
|
|
Hatch
Admiral
Joined: 05 August 2015 Online Status: Offline Posts: 1387 |
![]() Posted: 12 August 2009 at 11:32am |
|
I have a feeling I already know the answer to this, but is there any way to invoke the standard OS open/close dialogs on platforms that have them? Using the file browser is, by far, the most awkward thing to do in GrafX2.
Dunno if all these GUI streamlining requests are welcome, but it seems to me that making the new user experience less intimidating and more familiar is really important--less intimidation -> more new users become regular users -> GrafX2 becomes premier pixel art app! \o/ |
|
IP Logged |
|
|
PulkoMandy
Midshipman
Joined: 30 June 2009 Location: France Online Status: Offline Posts: 44 |
![]() Posted: 12 August 2009 at 12:58pm |
|
Yes, I think we'll make the OS dialogs available for this in some way. But I can't do it as on linux there is no default thing for that.
The idea is to keep our own in linux, and use the system one where it makes sense: amiga, windows, beos, osX. Now for example in win98 (the one Yves is still running) the fileselctor won't allow you to preview pictures... |
|
IP Logged |
|
|
Hatch
Admiral
Joined: 05 August 2015 Online Status: Offline Posts: 1387 |
![]() Posted: 12 August 2009 at 1:21pm |
|
Cool! Not the answer I expected :D
Do Gnome and KDE really not have standard save/open dialogs? I don't use linux much... Anyway, I went ahead and opened a ticket on the assumption that those are easier for you guys to keep track of. |
|
IP Logged |
|
|
PulkoMandy
Midshipman
Joined: 30 June 2009 Location: France Online Status: Offline Posts: 44 |
![]() Posted: 13 August 2009 at 1:10am |
|
Gnome and KDE have standard dialogs of course, but using them would mean you must have one of them installed on your linux system, and I don't. Also the gp2x port is linux-based and there is no gnome nor kde available. This is the problem with linux, you can't know what the user will have available, and I don't want to add hundred of different codes to display all the possible file loading dialogs under linux. It'd also mean distros (debian, ubuntu) would have to choose one of them when building their packages, and this will only give problems.
|
|
IP Logged |
|
|
Hatch
Admiral
Joined: 05 August 2015 Online Status: Offline Posts: 1387 |
![]() Posted: 17 August 2009 at 6:45am |
|
Hmm, I can't open this image for some reason:
(from here; some of the other images in that thread may be problematic, but I only tried that one.) When I drag it onto GrafX2, it just gets to a black screen and loads forever. I'm using the latest WIP build, I think 990. |
|
IP Logged |
|
|
PulkoMandy
Midshipman
Joined: 30 June 2009 Location: France Online Status: Offline Posts: 44 |
![]() Posted: 17 August 2009 at 11:48am |
|
You just found another bug in the palette reduction algorithm.
I think it's because it's a 24bit image but with less than 256 colors used, making the color reduction system go wrong in some way. [edit] ok, fixed it in r996. I had already fixed the very same bug in another part of the code 10 lines below. I should have fixed this one too. Sorry. Note the palette should also be sorted more correctly when you load a 24bit image now. Edited by PulkoMandy - 17 August 2009 at 12:49pm |
|
IP Logged |
|
|
neota
Commander
Joined: 27 November 2018 Online Status: Offline Posts: 158 |
![]() Posted: 17 August 2009 at 4:10pm |
|
Originally posted by PulkoMandy Gnome and KDE have standard dialogs of course, but using them would mean you must have one of them installed on your linux system, and I don't. Also the gp2x port is linux-based and there is no gnome nor kde available. This is the problem with linux, you can't know what the user will have available, and I don't want to add hundred of different codes to display all the possible file loading dialogs under linux. It'd also mean distros (debian, ubuntu) would have to choose one of them when building their packages, and this will only give problems. Gnome and KDE are beside the point; it is their underlying GUI toolkits, GTK+ and Qt, that are significant. There would not be hundreds of different codes[sic] ; if you supported GTK+ and Qt, that would cover more than 95% of linux systems with X11 support. GTK+ in particular, is virtually a certainty to have installed on a Linux/X11 system, in my experience. Certainly Debian and Ubuntu could both opt for GTK+ interface without any danger at all of missing dependencies. It seems to me that all that would be required for supporting GTK+ is a) a standard interface for getting filenames using a browsing dialog b) automatic compile-time configuration to choose between GTK+ and native implementation. (via a #define, probably) c) actual implementation of the interface for GTK+ |
|
|
absolutely.
|
|
IP Logged |
|
|
PulkoMandy
Midshipman
Joined: 30 June 2009 Location: France Online Status: Offline Posts: 44 |
![]() Posted: 18 August 2009 at 1:52am |
|
There is another problem. I hate the GTK+ API. So I won't ever write this code. And actually I'm quite happy with the current internal fileselector myself.
I plan on adding an external fileselector on amiga, jsut because they have a great fileselector system that is actually better than our internal one. This is a good reason to add a dependancy. Requiring GTK+ under linux to get a not-so-good fileselector, that may or may not work in fulscreen mode, does not seem a really good idea, however. |
|
IP Logged |
|
|
neota
Commander
Joined: 27 November 2018 Online Status: Offline Posts: 158 |
![]() Posted: 18 August 2009 at 6:01am |
|
You should absolutely not add a dependency on GTK+. However, that has f**k-all to do with using GTK+ when available (configuring at compile time). Similarly, there is no reason to add the external dependency on Amiga fileselector. You just configure this stuff automatically when it's time to compile. It's not complex... just the same as only compiling some code on Linux, some other code on Windows, and some other code on Amiga.
While the GTK+ file selector is not as optimized for graphics files as the Gfx2 one, it does notably have internationalized text, path autocompletion (useful when using ctrl+L to jump to an arbitrary path quickly), and drag + drop. Which reminds me.. allowing someone to use their file browser of choice and drop a picture on Grafx2 to load it seems to me a very neat way to sidestep the issue of file dialog non-nativity. |
|
|
absolutely.
|
|
IP Logged |
|
|
PulkoMandy
Midshipman
Joined: 30 June 2009 Location: France Online Status: Offline Posts: 44 |
![]() Posted: 18 August 2009 at 7:26am |
|
Note we don't have any ./configure script in grafx2. Everything is done from the makefile, making optional things quite complicated to manage. On amiga, the fileselector is always available so it makes sense to use it. Under linux there is no way to be sure, even if it's quite usual to have gtk+ installed you may not have the development files to build things for it. Right, it's not complex, we just run a test -f on some gtk+ header and include it if found. But all we get is a fileselector that don't feel more standard for Qt users, and that may not even please gnome guys as I think gnome provide another fileselector system on top of the gtk one. I think linux just will bring us more headaches.
On amiga, if you have a compiler, you necesarily have the OS headers so we can provide the native fileselector without looking if the header is here. We do have a system to find path quickly, jsut type some letters to jump to the dir/file with a name that look like it. Internationalization makes no sense if the other parts of the program are all in english, right ? Drag n drop is not possible in any simple way with SDL. Each OS has its own interpretation of how it should work. And, using SDL makes it a little difficult to access the OS things. So, I won't write the gtk fileselector things because I have no use for it and feel it will bring me more headaches than ease of use. But feel free to submit a patch and I'll apply it :) (yes, that's how opensource software works. I do things for my own use and share them with you. If you give me an idea I think is food, I'll code it for free. If you want a bad idea to be done, do it yourself or pay me (or someone else) to do it.) |
|
IP Logged |
|
|
yrizoud
Commander
Joined: 03 May 2021 Location: France Online Status: Offline Posts: 343 |
![]() Posted: 18 August 2009 at 7:58am |
|
Hmm, determining the OS is much easier than checking what's installed on it.
We're using GNU make, if you can show me a way to have it autodetect GTK+ (without building a second makefile with "make configure" or somesuch), it would indeed help.
Drag-and-drop is also a window-manager-specific thing, so it still raises the issue of X11 (? googled a little) not being available on all unixes/linuxes.
edit (I didn't see Pulkomandy's answer before)
Configure script is not really suitable for Windows, and I'd really prefer if the build system works for all developers of all platforms. So far, GNU Make has worked wonderfully.
I can confirm it's trivial to use things that are native for a platform, but in this case there are too many linuxes/unixes to find a common middle ground that pleases many users.
Internationalization: "I did what I could", so far Edited by yrizoud - 18 August 2009 at 8:20am |
|
IP Logged |
|
|
Hatch
Admiral
Joined: 05 August 2015 Online Status: Offline Posts: 1387 |
![]() Posted: 18 August 2009 at 8:03am |
|
Is there a reason you guys don't want to use a configure script?
I'm dipping into an area I know very little about, so please understand that this is an honest question, not a challenge. |
|
IP Logged |
|
|
yrizoud
Commander
Joined: 03 May 2021 Location: France Online Status: Offline Posts: 343 |
![]() Posted: 18 August 2009 at 9:22am |
|
This thread is more technical than I would have expected :-/ In my experience (as a user), Configure scripts are more complicated than Makefiles, so there are more reasons for things to go wrong, and less people in the world who know how to (and want to) fix them.
At the moment, Grafx2 "only" involves C (not C++)with the standard library and SDL, using gcc and make. These are well-known by many people, so it makes it more likely that someone can give a bit of help, or join, or replace me to build the Windows version when I'm run over by a truck.
|
|
IP Logged |
|
|
PulkoMandy
Midshipman
Joined: 30 June 2009 Location: France Online Status: Offline Posts: 44 |
![]() Posted: 18 August 2009 at 11:10am |
|
The so-called configure script started as a bad hack to make software autodetect configuration and build on first try.
In the old unix days, people would provide just the sourcecode and a makefile as it worked for them, letting other make changes to the software to get it working on some other machine. Then the idea came to create scripts, traditionally called "configure", that would do some tests and edit the makefile (and eventually the sourcecode) automatically. As this is quite complicated to do, A tool to generate such a script was written. It's called "autotool". You provide autotool a set of config file where you list all the stuff you need, all your sourcefiles and so on. And autotool generates itself the ./configure script. then the script generate the makefile. The makefile is again listing your sourcefiles, and dependancies. So you are not even a step further in the compilation work. And the files you have to write to make autotool work are less clear and usually longer than our makefile. The generated makefile is also very complicated and unreadable. The autotool guys also fail to keep compatibility between version of their tools, meaning some project need a very new version of it to build, and some need a somewhat old one. Also, autotool is an unix only thing. It can be made to work under windows with some tricks, but it will be a lot more annoying for amiga, for example. I tried to use it on another project: we ended up with more lines of autotool mess than actual lines of code ! So, our makefile is simple and works everywhere. Yes, it is less configurable, so all GrafX2 builds are made equal and have the same features. But this mean a lot less work for us : less compile-scripts to mess with, less bugs that only occur when you use some specific combination of options, easier to reproduce and to fix. There are quite good alternatives to the autotool mess, for example there is jam and cmake. Both work quite well and are now quite common under linux, but again, not-so-common on some of the other platforms we support. So I prefer a simple makefile that works everywhere. And I think you will find the same spirit in all the sourcecode : solutions that are not universal, but works for what we do. |
|
IP Logged |
|
|
PulkoMandy
Midshipman
Joined: 30 June 2009 Location: France Online Status: Offline Posts: 44 |
![]() Posted: 22 November 2009 at 2:09pm |
|
Hello !
We're working on GrafX2.2 release, and we added layer support. This is an experimental build you may want to test : http://grafx2.googlecode.com/files/grafx2-2.2wip1222-win32.zip As usual, please report any bug you find :) |
|
IP Logged |
|
|
Hatch
Admiral
Joined: 05 August 2015 Online Status: Offline Posts: 1387 |
![]() Posted: 23 November 2009 at 8:50am |
|
Finding layers extremely difficult to work with in the absence of a visual indicator telling me what layer I'm on and what layers I have. I cannot access the layers menu for some reason (I press the hotkey and absolutely nothing happens).
Why does it require Lua to build now? |
|
IP Logged |
|
|
yrizoud
Commander
Joined: 03 May 2021 Location: France Online Status: Offline Posts: 343 |
![]() Posted: 23 November 2009 at 10:28am |
|
Left-clicking the bottom-left "cross" button to bring the Layer toolbar.
(Yes, documentation is lacking) The dedicated menu doesn't exist yet, it will repeat the same actions as the toolbar but with a vertical layout, more room to show preview. Lua is required to provide Lua scripting, like the example script that modifies the brush (no real useful script is available yet). Compile with NOLUA=1 to omit the functionality. |
|
IP Logged |
|
|
Hatch
Admiral
Joined: 05 August 2015 Online Status: Offline Posts: 1387 |
![]() Posted: 23 November 2009 at 5:48pm |
|
Oh, I see, left-click the "HIDE" button. Well, cool, looks great! Perfect for the tiles/mockup I'm working on at the moment.
When I try to save a layered image as a gif, it segfaults. Not familiar with all of the image formats. Which support layers? EDIT: Also, is there a simple way to have two grafx2 installs in the /usr/local prefix on linux? Like, launch one with "grafx2" and the other with "grafx2-unstable"? Edited by Hatch - 23 November 2009 at 5:54pm |
|
IP Logged |
|
|
yrizoud
Commander
Joined: 03 May 2021 Location: France Online Status: Offline Posts: 343 |
![]() Posted: 24 November 2009 at 2:00am |
|
Segfault : argh! GIF is supposed to work.It's the only format where I implemented layering, all others only export the flattened image. For GIF, a layered image is a non-looping "animation" with very short frame duration and where each image does not replace the other, it's overlayed on it with transparency. (indexed color)
About two installs: don't need to install the unstable one, you can run it from the directory where you compiled. Configuration will be shared by all installed versions; if you want separate settings, copy the two configuration files from your $(HOME)/.grafx2 into your unstable directory. |
|
IP Logged |
|
|
Hatch
Admiral
Joined: 05 August 2015 Online Status: Offline Posts: 1387 |
![]() Posted: 24 November 2009 at 3:33pm |
|
Filed a bug report with useful (hopefully) debugging info.
|
|
IP Logged |
|
|
||
Forum Jump |
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot delete your posts in this forum You cannot edit your posts in this forum You cannot create polls in this forum You cannot vote in polls in this forum |
|