Dodeqaa's mypaintings

Study of a detail from a Repin painting.

@briend brushes rock <3

IS it possible to have stylus rotation work with these paintbrushes?

3 Likes

This looks great! Glad someone is enjoying those brushes! You have an Art Pen w/ barrel rotation? Good news. . . I’ve already tested barrel rotation with these brushes and it is awesome. You can really do some expressive linework by twisting shifting from thick to thin on the fly. The bad news, the code is not quite ready and I need to have 2 versions of the brush pack-- one for regular styluses and one for the elite band of Art Pen holders.

There’s one thing you could do right now, though, that might help a bit. You can switch from directional based offsets to Ascension based offsets. That will let you have some variation but is not quite as nice as twisting the barrel. Go into the brush editor and find this setting (Angular Offset: Direction), and set “Custom” to 0 by clicking the erase icon:

Then go to this setting (Angular Offset: Ascension) and drag “Custom” to about the same spot, 38-39 or so:

Might want to save that as a new brush though, because it can be annoying. There’s no replacing a true barrel rotation. Post some more paintings!

Thank you! Repin is inspirational and im just clinging on the shoulder of a giant there :slight_smile:

I’ve not tried the other brushes much since that preset pretty much does everything! Really appreciate the work you’ve done on this brush!

Hoorah! for barrel rotation, Im using the OG Intuos 3 6d Artpen and it is awesome MAX.

Thanks for the settings, I’ll give them a try.

Eagerly awaiting Barrel Rotation! Also, will there be a indicator cursor? Right now the size of the cursor is pretty much a memory game (which is fine) but with rotation, it would be really handy to have a flattened ellipse that tracks the rotation of the brush tip.

1 Like

Here is vid of the cursor tracking in photoshop BarrelRotate.flv - Google Drive

The cursor actually doesn’t update rotation if you twist the barrel during a stroke, it only updates once the stylus is lifted, but whilst hovering the rotation tracking is realtime.

Hello, I was wondering what operating system this is being used with. Also what drawing tablet and model is being used. If this is on linux please give the details of the driver and distribution you are using as well. Thanks.

The cursor size and shape are both a bit problematic since they can be affected by 10,000 different things that are more or less unknowns to the GUI. However, try running the gtk3-demo application (should be in the mypaint folder for windows or already included in linux). Run the “Touch and Drawing Tablets” demo from the list. You can verify rotation is working and see how the gui display the barrel rotation. We might be able to do something like this pretty easily (copy/paste some of that code!)

1 Like

@dodeqaa I have just posted a new version that includes the barrel rotation support:
https://github.com/mypaint/mypaint/releases
There is a link there to a special version of my brush pack
You better make some more paintings now! :wink:

The main trick for using barrel rotation is to use Ascension-based directional offsets, but apply the barrel rotation input to the Angular Offsets Adjustment setting. No GUI indicator yet, that’s tricky. Once you’re painting it is pretty natural, but if you start a stroke and it’s not quite right I keep a finger on Z to undo or just live with the happy accident.

1 Like

@briend Thanks for putting this out its amazing! Defo gonna paint! Its really working! :smiley:

Is there a way to reverse the orientation? Right now the broad stroke of the artpen is making the thin mark and the thin stroke of the artpen is making the broad mark :stuck_out_tongue:

1 Like

I am using win 10 and wacom intuous 3 tablet with 6d artpen :slight_smile:

Ah, I think I know what’s going on. I had added a 90 degree offset and was trying to avoid the issues of left vs right handed pens. I’m thinking I will have to default to right handed and add a preference to flip it for left handed folks. I had gotten used to this and didn’t really think about it. Please try this windows installer as soon as it’s done building:
https://ci.appveyor.com/project/achadwick/mypaint/builds/22248206/job/9dv2vdkbncr3tmrq/artifacts

Thanks for testing!

1 Like

Hey @briend!

Thanks for the update! I had it installed and the rotation works well!

I think I broke it :sweat_smile: I was trying to adjust some smudge settings when it crashed, then when I started up mypaint again the rotation correction stopped working.
Might just be me but I feel the smudge attribute seems to be weaker when it was working for some reason?

I tried deleting settings in Appdata/Local and reinstalling brushes but that didn’t work.

I also got a bug detection log

Mypaint version: 2.0.0-alpha+git.0cbde6c8
System information: Windows-10-10.0.17134-SP0
Using: Python 2.7.15, GTK 3.24.5, GdkPixbuf 2.38.0, Cairo 1.16.0, GLib 2.58.3
Traceback (most recent call last):
  File "C:/Program Files/mypaint-git-w64/mingw64/lib/mypaint/gui/drawwindow.py", line 671, quit_cb(self=<drawwindow.DrawWindow object at 0x00000000030c5dc0 (MyPaintDrawWindow at 0x0000000015f6d000)>, *junk=(<drawwindow.DrawWindow object at 0x00000000030c5dc0 (MyPaintDrawWindow at 0x0000000015f6d000)>, <Gdk.Event object at 0x0000000019671db8 (GdkEven...30) type=<enum GDK_DELETE of type Gdk.EventType>>))
            self.app.doc.model.sync_pending_changes()
            self.app.save_gui_config()  # FIXME: should do this periodically
            ok_to_quit = self.app.filehandler.confirm_destructive_action(
  variables: {'self.app.save_gui_config': ('local', <bound method Application.save_gui_config of <gui.application.Application object at 0x000000000328ab10>>)}
  File "C:/Program Files/mypaint-git-w64/mingw64/lib/mypaint/gui/application.py", line 670, save_gui_config(self=<gui.application.Application object>)
            self.preferences["workspace.layout"] = wkspace.get_layout()
            self.save_settings()
  variables: {'self.save_settings': ('local', <bound method Application.save_settings of <gui.application.Application object at 0x000000000328ab10>>)}
  File "C:/Program Files/mypaint-git-w64/mingw64/lib/mypaint/gui/application.py", line 450, save_settings(self=<gui.application.Application object>)
            """Saves the current settings to persistent storage."""
            self.brushmanager.save_brushes_for_devices()
            self.brushmanager.save_brush_history()
  variables: {'self.brushmanager.save_brushes_for_devices': ('local', <bound method BrushManager.save_brushes_for_devices of <gui.brushmanager.BrushManager object at 0x0000000016283410>>)}
  File "C:/Program Files/mypaint-git-w64/mingw64/lib/mypaint/gui/brushmanager.py", line 961, save_brushes_for_devices(self=<gui.brushmanager.BrushManager object>)
                if devbrush is not None:
                    devbrush.save()
  variables: {'devbrush.save': ('local', <bound method ManagedBrush.save of <ManagedBrush u'devbrush_3dff094e-4236-57f7-8f65-cf1848e85541' p=Dieterle/WateryFlatbrush>>)}
  File "C:/Program Files/mypaint-git-w64/mingw64/lib/mypaint/gui/brushmanager.py", line 1369, save(self=<ManagedBrush u'devbrush_3dff094e-4236-57f7-8f65-cf1848e85541' p=Dieterle/WateryFlatbrush>)
            logger.debug("Saving brush preview to %r", preview_filename)
            lib.pixbuf.save(self.preview, preview_filename, "png")
            # Save brush settings
  variables: {'preview_filename': ('local', u'C:\\Users\\dodeqaa\\AppData\\Local/mypaint/brushes/devbrush_3dff094e-4236-57f7-8f65-cf1848e85541_prev.png'), 'lib.pixbuf.save': ('global', <function save at 0x0000000016455320>), 'self.preview': ('local', <GdkPixbuf.Pixbuf object at 0x0000000017de8a00 (GdkPixbuf at 0x0000000019891f00)>)}
  File "C:/Program Files/mypaint-git-w64/mingw64/lib/mypaint/lib/pixbuf.py", line 63, save(pixbuf=<GdkPixbuf.Pixbuf object at 0x0000000017de8a00 (GdkPixbuf at 0x0000000019891f00)>, filename=u'C:\\Users\\dodeqaa\\AppData\\Local/mypaint/bru...sh_3dff094e-4236-57f7-8f65-cf1848e85541_prev.png', type='png', **kwargs={})
        """
        with open(filename, 'wb') as fp:
            try:
  variables: {'fp': (None, []), 'open': ('builtin', <built-in function open>), 'filename': ('local', u'C:\\Users\\dodeqaa\\AppData\\Local/mypaint/brushes/devbrush_3dff094e-4236-57f7-8f65-cf1848e85541_prev.png')}
IOError: [Errno 2] No such file or directory: u'C:\\Users\\dodeqaa\\AppData\\Local/mypaint/brushes/devbrush_3dff094e-4236-57f7-8f65-cf1848e85541_prev.png'

Haha, well I’m glad it was working! I have just made a few more updates but nothing I’ve done lately should have affected the smudge strength at all. You can download from the appveyor link or click here for this latest update.

So is mypaint totally broken? Did you delete just the brushes, or the entire mypaint folder under %appdata%\local? If you only removed brushes but left the config, MyPaint will try to load your last brush (in this case, a “dev brush” that was being worked on. So it will complain one time but shouldn’t keep doing it.

If you have more problems, try just renaming (or deleting if you don’t care) the entire mypaint folder under %appdata%\local. Let me know if that helps!

1 Like

Haha I’m glad too!

Oh no its not totally broken, just the rotation went back to being “flipped”

Im normally deleting the whole folder from appdata\local and I’ve tried reinstalling Mypaint too.

I’ll give this new build a spin, Thanks for your help!

I did a fresh install of Mypaint and reimported the special version of your brushes and still no dice, the barrel rotation is there but still misaligned. Any ideas? No Hurry!

I’m not really sure what’s going on, but I do know I had a few things screwy with brush packs and stuff that should be all fixed as of this morning. So, just to make sure everything is in the right state, can you do the following?

  1. Uninstall MyPaint from the Add/Remove programs control panel thingy (this might be important)
  2. Download and install the newest release (453 at the moment) https://github.com/mypaint/mypaint/releases
  3. Download the special rotation brushpack (updated): https://github.com/briend/Brushes/raw/rotation/Dieterle-Brushes.zip
  4. Run MyPaint and from the brushes menu select Import Brushes, and select the Dieterle-Brushes.zip file. Overwrite any brushes if it prompts.

I know these are overly verbose but I just want to make sure we’re on the same page :slight_smile:

1 Like

Overly verbose is just fine :smiley:

Thanks for clearing things up, I’ve installed and tried it out and it is working at last! Still not sure what was messing it up, could it be that I’ve been renaming all the brushes as a new set as opposed to replacing them?

Thanks for getting this capability working! I can only imagine the work :open_mouth:

Needa get to work but I’ll paint up something during lunch!

Thanks again!

1 Like

Study of Sorolla’s beach figures, with that Dieterle/WateryFlatBrush :star:

@briend I think I’m jinxing the setting haha, I got home and its not working again unfortunately, the setting seems to revert back to being misaligned. Deleting the preferences folder, restarting mypaint and reimporting doesn’t seem to clear it up. Ill investigate more this weekend!

2 Likes

Nice brushwork! Glad you like that brush so much. I’m more partial to the Fan brush though :slight_smile:
So… some bad news…

Did you ever run that gtk3-demo application in the MyPaint folder? I finally setup my tablet on my Windows machine. … . and although tilt and pressure work fine, I cannot get barrel rotation to work! I think it is a bug in the GTK libraries, and might take quite a while to get fixed. Please try to run that and see if it reports the rotation.

So, sadly, I think you’ll have to install Ubuntu or some other linux if you really want that barrel rotation. Ironically there is a patch for MacOS that is almost ready that might make that a good platform too.

1 Like

Thank you! Sorolla’s brushstrokes are the bomb mm! Im curious and wanna give that fan a spin, haven’t worked with that one at all :smile:

I was opening up that gtk3 to test previously and
I couldn’t scroll down the list to get to the rotation, I also couldn’t make the window larger. Was going to report it but you updated the build already so I forgot :stuck_out_tongue:
Ill try it at work but you must be right and I’m actually relieved that there is a probable cause to it :smile:

Is it a lot of code to look through? Would you be able to estimate how many hours it’ll take a programmer to debug it?

Thanks for taking the time to test it out on windows, you saved me a tonne of second guessing!

@briend I checked the gtk3-demo app and Rotation is not reported as you say.

As for the windows not scaling, I didn’t realize that I had to close the preview screen before I could access
the menu screen and run something else. So its working fine.