Release MyPaint port


keek

Member
Joined
Oct 10, 2008
Messages
45
My first pnd: MyPaint (9 MB)


It is a digital painting application (homepage). I hacked in pressure support for the pandora's touchscreen. So far everything seems to work, even if it is a bit slow. Some brushes work faster than others.


Please let me know if you find anything is broken, or if you have other suggestions. Also, if you painted something nice, show it! :D


Edit: new version 2/27/2011
 
Last edited by a moderator:
Pressure support?


Awesome, first app using this :D


Have to try it when I'm back home :D
 
Oh Yes!!!! :D


This makes me very happy indeed. I guess there's no two ways about it - I'm going to have to get a screen protector because that touch screen is going to see a lot of use from me!


Is there any chance you could post a couple of screenshots? I'm curious to see how 'cramped' the drawing space feels with the Pandora's resolution.


Also, can you hold down a button and drag the canvas around with the stylus?


Can you assign brushes to keyboard shortcuts?
 
Ok, I tested this out. From a preliminary look, it works quite well. Some of those brush effects are quite beautiful. The pressure sensitivity is definitely working.


I have one bug report and one feature request.


Bug report: when you're painting with the stylus, it's all-too-easy to click on the same spot twice and make the color-selection window pop up, whereupon you're likely to accidentally click to change colours. Could you disable that double-clicking function, and assign it to some other button?


Feature request: is there a way to change how much difference the pressure sensitivity makes to the thickness of the line?


P.S. @FaeMinx, do I need a screen protector? I've been sketching/painting without one for a while... I sanded off the tip of the stylus when I got it to make it smoother. If you're interested in things drawn on the Pandora, check out this small animation I recently finished in Pencil: link (might take a while to load). I think you can get some nice detail.
 
Last edited by a moderator:
P.S. @FaeMinx, do I need a screen protector? I've been sketching/painting without one for a while... I sanded off the tip of the stylus when I got it to make it smoother. If you're interested in things drawn on the Pandora, check out this small animation I recently finished in Pencil: link (might take a while to load). I think you can get some nice detail.

If you are lightly tapping the screen, then I *suppose* you would be fine without one.


Applying pressure and dragging the stylus across the screen regularly is going to show wear sooner or later.


I used a screen protector on my pimped HTC P4350 and after years of heavy use the wear is very visible. I would much rather wear out a replaceable piece of plastic than the screen itself.


I want my Pandora to last. :)


That animation is nicely done! Is it at 100% zoom? The lines look very sharp and scratchy - were you drawing with a single pixel diameter? Are you able to soften or anti-alias the brushes in Pencil?
 
So, yeah, this double-click thing is really preventing me from using this program. It happens VERY often.


I can already see that the little palette that pops up when I double-click will be very useful, but please assign it to a special key (maybe a direction on the d-pad?)


Also, please make it easy to drag the canvas while holding a button. To make it fair to both left and right handers, maybe two of the number keys from each side of the Pandora, i.e. 2&9.


Also, there is no documentation file... it could be helpful to make one specifying all the keys/shortcuts that are used.


I've noticed that pressing "1" or "0" will do something to my brush, but I'm not sure what.
 
Last edited by a moderator:
That animation is nicely done! Is it at 100% zoom? The lines look very sharp and scratchy - were you drawing with a single pixel diameter? Are you able to soften or anti-alias the brushes in Pencil?

I think that link shows it miniaturized. If you press "ctrl" on your keyboard and move the scrollwheel of your mouse to make it bigger, you'll see it in its original resolution. It was mostly drawn in about 1/2 the screen estate of the Pandora, although I sometimes zoomed in a bit for some details (i.e. the eyes), or zoomed out for larger details. I like drawing with lots of small, sketchy lines, so I used the brush in Pencil at something like 0.9 with 1.0 feather (although it varied).


The brushes in Pencil will look smoother if you draw while zoomed out a bit and don't use such a small diameter, of course. Zooming out also makes it slower, though; just like MyPaint, Pencil tends to be a bit slow, so if you make strokes quickly sometimes they'll look jagged.


Of course the brushes can be soft, see the colouring? That's also done with the same brush, just at a much larger diameter. Also, it doesn't look nearly as jagged when converted from .swf to .avi with SWF2Video (unfortunately, only the Mac version of Pencil can export directly as a video file, and I don't own a Mac).


Although MyPaint might be a bit faster in Minimenu; I'll have to try that. (Pencil doesn't work in Minimenu because you have to use the L-shoulder-button aka. Shift to drag the screen around since it's taller than the Pandora's resolution - despite that, it's pretty comfy to use, at least if you're right-handed - but Minimenu doesn't allow that)

If you are lightly tapping the screen, then I *suppose* you would be fine without one.
Applying pressure and dragging the stylus across the screen regularly is going to show wear sooner or later.


I used a screen protector on my pimped HTC P4350 and after years of heavy use the wear is very visible. I would much rather wear out a replaceable piece of plastic than the screen itself.


I want my Pandora to last. :)
Hmm, maybe I'll look into one. I've never used one of those things before. Do they hurt accuracy or visibility?
 
Last edited by a moderator:
Hmm, maybe I'll look into one. I've never used one of those things before. Do they hurt accuracy or visibility?

I don't think it would hurt the accuracy at all. In terms of visibility - I guess that all depends on the make. I personally prefer the look of an immaculate new screen, but from my experience it never stays that way. My biggest gripe with a screen protector is you have to be extremely delicate and patient when you apply it - it's possible to trap air bubbles or dust, and that looks really ugly. Removing the screen and re-applying it is not a good idea - it will probably look even worse the second time. Read up on the correct method to get it right first time round.


I think the pros far far outweigh the possible minor cons... and if you really don't like it, you can always peel it off. :)


No harm done.
 
panda1680x1024.png


...created using the windows version of mypaint, the image from openpadora.org as template and mouse as input (waiting for my batch 2 panda...)
 
Heyas, this seems pretty interesting but due to the speed I will have to wait before I try to spend time with it. The slow response just kills the experience for me, since it seems to not respond at all to lighter touches.
 
I don't think it would hurt the accuracy at all. In terms of visibility - I guess that all depends on the make. I personally prefer the look of an immaculate new screen, but from my experience it never stays that way. My biggest gripe with a screen protector is you have to be extremely delicate and patient when you apply it - it's possible to trap air bubbles or dust, and that looks really ugly. Removing the screen and re-applying it is not a good idea - it will probably look even worse the second time. Read up on the correct method to get it right first time round.
I think the pros far far outweigh the possible minor cons... and if you really don't like it, you can always peel it off. :)


No harm done.
What if I just use that cheap one that came with my Pandora? Put it on when I'm drawing with the stylus, pull it off when I'm not (and stick it inside the manual for safekeeping when it's not used - it's just the right size).


Also, I just realized that I lied about never having used a screen protector. I still have on the one than came with my GP32, 7 years ago. It's invisible, so I just never took it off (the one on the Pandora is a lot more visible on the other hand, but, meh, it's only temporary...)
 
Last edited by a moderator:
Thanks for all the comments, and thanks Esn and Korlithiel for testing! Here are some answers:


- The color selection popup can be switched off in the preferences. I will turn it off in the default settings.


- You can change the way that mypaint responds to different levels of pressure in the preferences. The touchscreen is not very sensitive at low pressure, so I very crudely put most resolution at high pressure. You can play with this in the preferences to see if you can improve it.


- I am not sure what to do about the speed. Perhaps an optimized build of numpy? I find that if you do not paint too fast, so mypaint can keep up, it works fine for most brushes. Things like waterpainting are more expensive.


- You can go fullscreen to use every pixel on your screen, and than use the keyboard shortcuts to show/hide the color and brush selection dialogs. You can also bind brushes to the number keys. The dpad and space+mouse drag allow you to easily pan. It pays to look through the menus to see what tools are available and what their keyboard shortcuts are.


I will wait a few more days for more people to test and comment, before I make a new pnd.


About the pressure sensitivity: I read it directly from /dev/input/touchscreen. I wrote a small python class to do this. I can upload it if other people find it useful. I think Pencil is C or C++, so a python class would not help, but something similar could probably be done there.
 
Last edited by a moderator:
I was gonna reply during class that the shortcuts and right click were customizable, but i got caught at class. xD


This app is damn good. I love it! Now theres no more reason for me to carry my NDS for some sketching. I really love this app, if I could only donate I would do it. :D


I'm a big fan of Colors for the NDS, but this thing really just beats it to a pulp. Just a few more tweaks from the interface, shortcuts (wouldnt allow me to assign to shoulder buttons, nubs, face buttons, etc) and code optimization, and I would probably say this alone made the Pandora worth it. :) Again thanks for porting it First. :D


Edit: I actually asked the author of Colors if I could port it to Pandora. He kinda likes the idea, but this really beats the purpose now. :p


Edit2: I just saw the Maemo version. The interface looks quite good on that one :)

https://www.youtube.com/embed/66RBfrBgL2E?feature=oembed
 
Last edited by a moderator:
Thanks for the reply, First! I'll try and configure it. Not counting that problem I had with double-clicking, this app rocks in so many ways. I'll definitely post something or other soon. Also, I noticed something neat - if I use my finger to paint, the paintbrush becomes ENORMOUS. I wonder if it would make sense to buy thicker styluses for some variety (although I know, of course, that paintbrush sizes can be adjusted with D and F - really intuitive assignments, by the way).


Also I tried putting that cheap screen protector that came with my Pandora back on - works very well! It does feel safer to paint with it on.
 
Also, I noticed something neat - if I use my finger to paint, the paintbrush becomes ENORMOUS. I wonder if it would make sense to buy thicker styluses for some variety.

I noticed that too: a finger easily gets the pressure up to 100%, but with the stylus I get at most 95% if I push really hard... It looks like what I thought was 100% pressure was way too low: there are more pressure levels, but you can't get them with the stylus, only with something as big as a finger. We could make a special setting for finger painting :) (or thick styluses).
 
Also, I noticed something neat - if I use my finger to paint, the paintbrush becomes ENORMOUS. I wonder if it would make sense to buy thicker styluses for some variety.

I noticed that too: a finger easily gets the pressure up to 100%, but with the stylus I get at most 95% if I push really hard... It looks like what I thought was 100% pressure was way too low: there are more pressure levels, but you can't get them with the stylus, only with something as big as a finger. We could make a special setting for finger painting :) (or thick styluses).
Its not pressure. What is measured is actually the area of screen that is pressed down. More area -> bigger contact zone -> less electric resistance. I think that is cool. Try a small paintbrush with hard bristles on the screen: BIG blobs. Pandora stylus: Thin lines. You get the idea. On Wacoms, the tip doesn't matter. On pandora, it does ;)


Also, modify the IO-curve in the settings a bit. I found a good setting for me. I set up the curve a bit like a halfpipe. Feels now similar to a real pen when I use the pen-tools.
 
Last edited by a moderator:
Ok, that explains it, thanks. Could you post a screenshot of your pressure mapping, or give the coordinates of the points?
 
Ok, that explains it, thanks. Could you post a screenshot of your pressure mapping, or give the coordinates of the points?
Sure.


settings.json


Put it into:


SDcard/pandora/appdata/mypaint-22515/.mypaint/


It works great with pencil-like brushes (pencil, ballpen, pastel, charcoal, chalk) but also with the markers. Great control with the stylus, fat strokes with fingers. The right quarter in the pressure mapping is important for normal strokes, the flat part from 0 to 0.7 on x-axis is so flat because I wanted more control while scribbling lightly.


Overclocking helps btw.


Content of that file:



Code:
{"brushmanager.selected_groups": ["Deevad"], "saving.scrap_prefix": "~/MyPaint/scrap", "view.default_zoom": 1.0, "input.enable_history_popup": false, "input.global_pressure_mapping": [[0.0, 1.0], [0.34210526315789475, 0.95918367346938771], [0.58552631578947367, 0.91326530612244894], [0.74013157894736847, 0.84693877551020413], [0.83552631578947367, 0.68877551020408168], [0.93421052631578949, 0.38265306122448978], [1.0, 0.0]], "saving.default_format": "openraster", "brushmanager.selected_brush": "deevad/watercolor", "input.device_mode": "screen"}
 
Back
Top