New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New replace color selection system hinders palette editing for animations in RGB mode #1741

Open
KashouC opened this Issue May 31, 2018 · 20 comments

Comments

Projects
None yet
4 participants
@KashouC

KashouC commented May 31, 2018

It's not uniquely the replace color system, but rather the layer/frame selection system in any of the color tools. I can't select a layer or any number of frames greater than the one I'm currently looking at and then select colors in the palette to edit without losing the selection.

So for example, say I have 10 frames, I'm working in RGB mode, and I want to edit only specific colors in the animation. Normally you can just add the colors to the palette, select them, and edit them with say the Hue/Saturation tool, but there's no way to select multiple frames now while selecting multiple colors, without applying the changes to all layers and frames, so the end result is that only one cel gets edited.

Aseprite v1.2.8-x64
Windows 7

@oceanhahn

This comment has been minimized.

oceanhahn commented May 31, 2018

Aa, I have encountered this issue and would also like to see this fixed. It was a side effect I forgot to mention in #1549 as well. :1

@dacap

This comment has been minimized.

Member

dacap commented May 31, 2018

This is sadly true. I'm not sure how to solve this, but something to think about it (the simplest solution would be a padlock to just lock the timeline or colorbar selection, or a way to change how the selection works/disable automatic-disappearance)

@dacap dacap added this to the v1.2 milestone May 31, 2018

@dacap dacap self-assigned this May 31, 2018

@KashouC

This comment has been minimized.

KashouC commented May 31, 2018

Not knowing the back end situation, seeing as I'd like to see the color tool windows have the timeline unlocked for better control when trying to edit multiple cels (it's annoying when maybe you want to pick colors from the middle frame in a selection but you're stuck with picking them from the end or beginning due to how selections work), I'd say maybe selecting multiple colors and opening up a color editing tool would lock in the currently selected color range and keep the timeline operable, if my previous suggestion is doable.

@KasumiArai

This comment has been minimized.

KasumiArai commented Jun 1, 2018

How's control click sound? If there's an active color selection, control click the timeline. If there's an active timeline selection, control click the palette.

Control+Click is already how you select non contiguous frames, and it does have history as adding something to an existing selection without getting rid of it. (As in Windows explorer)

@KashouC

This comment has been minimized.

KashouC commented Jun 1, 2018

I don't think that sounds very intuitive, but I guess neither is my solution. Personally I'll still support my suggestion, as I feel like if you want to change a range of colors in the palette you'll pick those before you open up the tool, while in the timeline the issue is that you don't have proper control, so sometimes you simply can't select a color because it happens to not be present in the frame selection, while using the replace color tool.

But I also feel like each section could be a bit more self-contained. For example I don't think it matters much whether a color selection range lingers in the palette when you click within the canvas, as long as all that we're storing is the cel range and pressing the delete button when the canvas is active just deletes whatever is in the canvas, not the cel range. Kind of like how you can select cels 1-7 in the timeline and are still able to move the canvas around with mouse 3, and then if you press delete after that it deletes the current active cel, not the entire cel selection.

That way we could just be able to select a color range, select a timeline range, both while Replace Color or the Hue/Saturation windows are open, while still locking the canvas, if necessary.

But I'm sure this requires some overhauling, so not sure how difficult all this is to do in practice. ^^

@dacap

This comment has been minimized.

Member

dacap commented Jun 1, 2018

I like both solutions actually. I think it does make sense this kind of behavior (as "Ctrl+click" actually is already to keep the selection, it could be combined between timeline + color bar). Anyway I guess filters dialogs should be semi non-modal, i.e. make the timeline available for clicking/selecting too.

@dacap

This comment has been minimized.

Member

dacap commented Jun 1, 2018

Also I'm thinking that maybe an "Apply" button would be great, so we can change color bar and/or timeline selection and continue modifying hue/saturation/replace color/etc.

@KashouC

This comment has been minimized.

KashouC commented Jun 1, 2018

Sounds good to me. Only addition I'd like to make (but I guess it's semi-off topic) is to be able to change frame without losing the selection. For example, lets say you have an 8 frame long animation, and you brightened it up a bit on one frame, but noticed that you did it on like frame 3 or something, it becomes really difficult to swap between frame 3 and 2 to pick the old color and pick the new color to change it all. Since you have to go to 3, pick the old color, go to 2, pick the new color, make a selection in the timeline, Ctrl+R, and repeat the entire process for every color.

Workaround is to add each color to the palette and change it via that, so it's doable, but this is just from the point of view of my workflow. ^^

@dacap

This comment has been minimized.

Member

dacap commented Jun 1, 2018

I see that there are a lot of interesting use cases to think about here. I guess for v1.2 I'll try to implement @KasumiArai solution as it might be the easiest one (anyway I have to tested it, I'm not completely aware of the internal implications of having both selections (colorbar+timeline) enabled).

@dacap

This comment has been minimized.

Member

dacap commented Jun 1, 2018

I'm thinking in a possible solution for the future:

  1. There is an menu option View > Duplicate View which could be called View > New View in the future
  2. If we select a range in the Timeline and use View > New View we could see only the selected layers/frames/cels, this means that "New View" should create a subset sprite of the original one (everything linked from the original sprite, you modify the subset and you're modifying the original sprite in fact)
  3. All the filters could be used with the "All" option to replace colors in the current subset

A problem with this: You don't see colors in context of the whole sprite 😢

@KashouC

This comment has been minimized.

KashouC commented Jun 1, 2018

(Started typing this out in Discord so just copying it over) But in regards to being able to change frames after a selection has been made in the timeline, maybe the selection could persist while we're only operating within the current selection, that way it would be simple to move between the frames, especially if we unlock the timeline while a color tool window is up. It would also make it easier to check a frame within the selection after lets say using the move tool to move the content of multiple frames without having to reselect them.

The main issue with this is if you select the entire timeline, you won't be able to deselect it without using the keyboard or painting something in the canvas or pressing some arbitrary button, but not sure that's a real issue.

@oceanhahn

This comment has been minimized.

oceanhahn commented Jun 1, 2018

I know this is an issue specifically related to RGB mode but it might be worth considering how a revised control scheme might relate to any future per-frame palette feature..

If we are eventually given the ability to modify palettes on a per-frame basis, then "Replace Colour" would need to be revised in a way that considers whether colours are replaced/altered by-index (changing whatever colour is in a given index slot to the new value), or by-value (replacing a specific colour-- "Red", "#a566c0", "(255,0,255)", et cetera-- with the new one, regardless of index value).

Anyway, I do not expect the solution to this issue to include the per-frame palette option. It just may be worth considering this bit of extensibility. ^^

@dacap

This comment has been minimized.

Member

dacap commented Jun 5, 2018

This is a possibility for v1.2.9: https://imgur.com/parmUzb (maybe in this case the palette shouldn't be modified at the end, only the colors in the pixels of the selected range in the timeline)

@oceanhahn

This comment has been minimized.

oceanhahn commented Jun 5, 2018

This is kind of an aside but if we have specific-layer and specific-frame selections, perhaps the Timeline could be altered so that all relevant cels have a different background colour? The light-grey background and dark-grey current layer/frame setup is good for now, but it would be nice if intersecting cels were made some third thing; a dark red, maybe?

This is not strictly necessary; it would just make it more obvious which cels are actually included in whatever operations we perform, which would speed things up and perhaps help avoid errors in complicated documents.

@dacap

This comment has been minimized.

Member

dacap commented Jun 5, 2018

relevant cels have a different background colour

Yeah, it will be much better if we show the selection only for the cels that will be changed by a filter like Hue/saturation or replace color, etc.

@oceanhahn

This comment has been minimized.

oceanhahn commented Jun 5, 2018

In truth, it is something I kind of wish I had right now, even outside the context of multi-cel operations. XD

@dacap

This comment has been minimized.

Member

dacap commented Jun 5, 2018

@oceanhahn contact me at support@aseprite.org, I might prepare an alpha version with this change just to get some feedback, the same for @KashouC and @KasumiArai

@dacap

This comment has been minimized.

Member

dacap commented Jun 5, 2018

I'll put the beta in Steam's beta branch

dacap added a commit that referenced this issue Jun 8, 2018

Bring back the old timeline style (#1741, #1744)
We've added a new shade to show the focused cel (active layer/frame)
inside the selected range of the timeline when multiple cels are
selected.
@KashouC

This comment has been minimized.

KashouC commented Jun 11, 2018

I find the addition of Shift+Clicking a frame an acceptable solution to move between selected frames for sure. Only change I'd like to see is to be able to freely move between cels in the same fashion, simply to make it more intuitive. I find myself wanting to click the next cel instead of the frame number a lot and it just feels awkward, especially when you have to click the layer name to move down a cel which is like half the screen away from the frame sometimes. Now just having it unlocked with a color tool dialogue open would be good enough for me.

I also don't think you can remove a frame from the selection in the same fashion that you can add them with Shift+Click.

@dacap

This comment has been minimized.

Member

dacap commented Jun 11, 2018

I find myself wanting to click the next cel instead of the frame number

Same feeling here 👍

@aseprite aseprite deleted a comment Jun 22, 2018

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment