URL:
  <http://gna.org/bugs/?18759>

                 Summary: Color Palette support needed
                 Project: MyPaint
            Submitted by: achadwick
            Submitted on: Thu Sep 29 21:07:31 2011
                Severity: 1 - Wish
                Priority: 3 - Low
                  Status: Wish
                 Privacy: Public
             Assigned to: None
        Originator Email: 
             Open/Closed: Open
         Discussion Lock: Any
                 Release: git 3dc791afc
         Planned Release: None
        Operating System: all

    _______________________________________________________

Details:

MyPaint should support colour palettes loaded from a central app-specific
cache, and also support a concept of "the palette for a particular (.ORA)
file". See also bug #17646.

*Use cases and integration considerations*

Artists frequently choose their palettes _very_ carefully for a particular
painting, carefully mixing colour strings before starting painting. See the
video at
http://gurneyjourney.blogspot.com/2011/09/part-3-gamut-masking-method.html for
an example (youtube link: http://www.youtube.com/watch?v=qfE4E5goEIc). In
addition to this, they may build up palettes created in this way over time, or
wish to import or export ones made by others from their set.

The current proposal for saving palettes in .ora files may be found at
http://create.freedesktop.org/wiki/OpenRaster/Palette . It is quite terse and
incomplete, but we may be able to provide a reference implementation for part
of it.

The simplest implementation would be to use GIMP palette files only since
MyPaint is not colorspace-aware (or rather, it assumes your hardware and that
of everyone else in the world is making a decent stab at sRGB...! :)

*Implementation proposal*

The user has a set of palettes saved in their MyPaint config folder, under
the directory "palettes". File names end with .gpl and must be limited to a
set of characters suitable for POSIX, MS Windows, and Max OS X systems.

For each .ORA file, a new virtual palette named "[Current File]" should be
created on New; an existing one loaded, or a new one defaulted on Open; and
the working one saved to the file on Save or Save As. If this virtual palette
was present in an "Open"ed file, or the working document was created with
"New", it is presented as the current palette on first viewing the file, if
the palette UI is open. "[Current File]" is a virtual palette list entry at a
(nominal) position 0 in the list, and does not exist on disk anywhere other
than in .ORA files.

If the user modifies the "[Current File]" palette, and then tries to save to
a non-ORA file, some sort of data loss dialog should be presented; perhaps
with the option to save as a .ora file instead.

It is probably only useful to display one palette at any time.

ASCII sketch of the UI, which should initially take the form of a dockable
tool:


[←]   Current Palette Name    [→]

+-------------------------------+    * Context menu:
|                              ||       - Remove This Color
|                              ||       - Add/Delete Column
|                              ||    * Click to choose colour
|                              ||    * Double click = GTK editor
|   Scrollable Palette Grid*   ||    * Tooltip shows:
|                              ||       - hovered colour name
|                              ||       - info re context menu
|                              ||    * Accept dragged colours
+-------------------------------+    * Internal drags = reordering

[Add Current Colour]
[Export Palette]
[Import Palette]
[Delete Palette]                     ← Some sort of nice table
[Copy Palette]                         layout for these buttons.
[Rename Palette]


Palettes should be loaded and saved automatically, either whenever a colour
or its ordering and layout is modified, when copied or imported, or when
MyPaint exits normally.

When MyPaint starts, a default set of palette files should be loaded from the
central install location, but not written to the user's personal palette
folder in ~/.mypaint. It is probably sufficient to not support editing or
deletion of built-in palettes: "Delete Palette" and similar should be greyed,
the grid tooltip modified to explain uneditability, dragging disabled, and the
context menu disabled.

Perhaps the operations which affect the whole current palette could be placed
on a dropdown menu to the right of the palette flipper.





    _______________________________________________________

Reply to this item at:

  <http://gna.org/bugs/?18759>

_______________________________________________
  Message sent via/by Gna!
  http://gna.org/


_______________________________________________
Mypaint-bugs mailing list
[email protected]
https://mail.gna.org/listinfo/mypaint-bugs

Reply via email to