Iportnovs en

From MyPaint

Jump to: navigation, search

File:Portnov_Branch_Header.png

I have added some new features to MyPaint, and enhaced others. Here is an overview. Git repo is available at http://gitorious.org/~iportnov/mypaint/iportnovs-clone .

Contents

[edit] How to get/build/install

To get it:

   git clone git://gitorious.org/~iportnov/mypaint/iportnovs-clone.git

New dependency have been introduced: python-configobj. In Debian/Ubuntu, simply 'apt-get install python-configobj'.

To build, run 'scons'. To install, type

  sudo scons install

or

  sudo scons install prefix=/your/prefix/here

if you want to install in non-standart location.

NB: Config format is changed. It reads old configs, but 0.7.1 cannot read new configs.

[edit] Internationalization

MyPaint can now be localized in any language, using gettext infrastructure. I created russian translation.

[edit] Palette

Based on palette work by Jon Nordby, but i fully rewrote almost all code.

palette screenshot

Slots marked by small circle are user chosen, others are generated automatically. To put current color to palette, press right mouse button on selected slot. To select color from palette, left-click it. To mark/unmark color as user chosen, press middle mouse button on it. (mouse buttons are configurable here, see below). You can also drag-and-drop colors in palette, or from/to palette and other applications such as GColor2 or Agave.

Palette is saved in Gimp .gpl format in ~/.mypaint/palette.gpl. It's also saved when saving as OpenRaster with the document, so you can load palette from current document (menu Color -> Load palette from document).

You can save/load palettes in .gpl format, using corresponding menu commands. You can also export current palette as .png.

UPD: Now I use XML format for palette, based on draft of color swatches standart format. `Old' .gpl palettes are also supported.

Now, palette window has two modes: locked(default) and edit, this is toggled by the button in upper left corner. In locked mode, user can only pick colors from palette.

[edit] Masks

This is first implementation. You can mark any layer as `mask'. Also there is new input for brushes - mask. You can, for example, make brush opacity depend on `mask' input. It's like stencil (in my mind). `Mask` value is calculated as summ of alpha values (opacity) of all `mask' layers. It's good working now with brushes that draws small dabs, with small (or zero) jitter. With big dabs, it's looking... humm... funny.

[edit] Autosave

MyPaint is not very stable now, so autosave is needed. `Save as scrap' is fully orthogonal to autosave.

I have never ever managed to crash it while painting... better fix that bug instead that you are having! If we don't find it soon, please fill a bugreport, so it doesn't get forgotten. maxy 16:33, 14 August 2009 (UTC)

[edit] Layers dialog

Current layers dialog

This dialog allows you to set each layer's name (which is saved in .ora), opacity, visibility and mask mode. TODO: save layers visibility and mask mode in .ora.

Layers can be moved in stack with drag-and-drop in dialog. Also, you can drag an image from filemanager to layers dialog to add it as a layer or drag a layer from the dialog to filemanager to save it as transparent .png.

[edit] Brush groups

Current brush selection window

Each brush have an 'group' attribute, which is set in the brush settings dialog. In the brush list window, brushes are grouped by this attribute. By default, all brushes belongs to 'Default' group. To move the brush from one group to another:

1) set 'Group:' attribute in brush settings
2) save brush settings,
3) press 'Refresh' button at the bottom of brush list window (in 'Edit:' expander). Or simply drag a brush to another group.

With ctrl-drag, you can `copy' brush to another group (so, make it belong to several groups). Simple drag-n-drop will `move' brush.

At the top of brush selection window there is a box with recently used brushes (4 by default, may be configured). It's updated each time you select a brush and saved on exit/restart.

Also there is now simple support for 'brush packages', which is simply .zip files with brush sets. You can import brush package with 'Import brush package...' item in the 'Brushes' menu.

[edit] Stylus tilt support

This adds two inputs for brushes: tilt_declination and tilt_ascension (I got names from astronomy). Declination is 90 when stylus is perpendicular to tablet and 0 when it's parallel to tablet. `Right ascension' is 0 when stylus nib points to you and changes clockwise from -180 to +180.

[edit] Example brushes

I made a set of brushes, which have some parameters dependent on stylus tilt. You can get it: http://iportnov.ru/files/tilt_brushes.zip and install - simply unpack .zip to ~/.mypaint/brushes/ or using menu Brushes -> Import brush package.

[edit] Settings

Many things are customizable now in Edit -> Settings.

My current workspace

[edit] Popolon improvement suggestion for palette

the + are to insert between columns/rows, it would be clearer at the intersections.
The - are for removing columns/rows, they should keep at their place.

This allow to reorg them for a more compact palette shape.

[edit] SeanJM's Modification/Suggestions

[edit] Neutral Gray and Gaps between colors (why?)

File:Neutral_gray_gaps_explained.png

[edit] Color Selector

File:Gtk_on_roids_harmony_wheel_color_central_expanded.png

[edit] Gray Zone Padding

File:Gtk_on_roids_harmony_wheel_color_central_padding.png

Based on request from tobi on IRC--I agree. --SeanJM 13:18, 8 November 2009 (UTC)

[edit] Inner Saturation Lightness Selector Options

File:Gtk_on_roids_harmony_wheel_color_central_SL_options.png

Based on comments from n-pigeon and maxy on IRC. --SeanJM 12:46, 8 November 2009 (UTC)

[edit] Harmony Wheel

We haven't yet decided on the optimal path to head to in regards to displaying the harmony swatches to the user. So what I have done is put up 3 options to begin a conversation. Included are pros and cons to each.

[edit] Labels

File:Wheel_ways_harmony_labels.png

[edit] Isolated Swatches

File:Wheel_ways_harmony_isolate.png

[edit] Filled Swatches

File:Wheel_ways_harmony_fill.png --SeanJM 15:07, 27 October 2009 (UTC)

[edit] Older Mockup of Color Central

File:Gtk_on_roids_harmony_wheel.png

[edit] Color Rules Mixed

File:Gtk_on_roids_harmony_wheel_explained_2.png

[edit] The Swatch option, the harmony option and the none option

File:Gtk_on_roids_harmony_wheel_explained_4.png

[edit] Current colorsampler implementation (in Git)

Currently, standart `color harmonies' are indicated on 12-sector color ring. Complementary colors are indicated with small circles, `triangle' harmony - with triangles, etc. One can press `Palette from harmonies' button to obtain palette of basic tones/shades of currently selected harmonic colors.

Simple harmonies (such as `triangle', 'square' etc) are very basic and are not enough/fine in many cases. So, there is a way to get simple harmony as a basis and adjust it more or less, using palette.

When auto-generating a palette, colors are automatically grouped, so you can delete/rename/drag-n-drop that groups.

Note that background color and view of widgets depend on your GTK theme. Expanded/enrolled state of expanders is saved on exit/restart.

Portnov

[edit] Palette

File:Palette_1.png

--SeanJM 15:11, 22 September 2009 (UTC) Removed the "Edit Mode" button in favor of a clearer more traditional right click menu

The Icons

Clear Color: File:Clear_Color.png Add Column: File:Add_Column.png Delete Column: File:Delete_Column.png Add Row: File:Add_Row.png Delete Row: File:Delete_Row.png New Group: File:New_Group.png

[edit] Right Click Menu

File:Right_click_window.png --SeanJM 11:26, 25 September 2009 (UTC)

[edit] Docking Zone

File:Docking_Zone.png

[edit] Layers Window

File:Layers.png --SeanJM 14:54, 29 October 2009 (UTC)

[edit] Maxy's thoughts

A big issue for me is the tiny saturation/value selector that is currently in the center of the hue selector. One idea is to separate it, or even make the center of the hue selector clickable to popup a normal-sized saturation/value selector (click and drag, release = select). This also would make space to show several hue rings (but admittedly this looks a bit crowded and does not make the choice simpler). maxy 13:11, 19 September 2009 (UTC)
An optically less confusing alternative if the saturation/value selector is removed. maxy 13:47, 19 September 2009 (UTC)
Update: The full-disc saturation/value selector proposed by Sean makes this quite a bit better already. maxy 18:38, 23 September 2009 (UTC)

[edit] Upcoming 0.8.0 Release

see Release Worklist
Personal tools