Feed Advanced Search

May 26 2017

allenmarshall committed R37:7e463e69b39d: Merge from master (authored by allenmarshall).
Merge from master
May 26 2017, 10:25 PM
allenmarshall committed R37:0550d5a7446c: Minor UI changes (authored by allenmarshall).
Minor UI changes
May 26 2017, 10:25 PM
allenmarshall committed R37:8ade4422d94f: Line tool now ignores elapsed stroke time when constructing its… (authored by allenmarshall).
Line tool now ignores elapsed stroke time when constructing its…
May 26 2017, 10:25 PM
allenmarshall committed R37:f508ae3507ad: Added option for pressure/curve-based timed spacing rate (authored by allenmarshall).
Added option for pressure/curve-based timed spacing rate
May 26 2017, 10:25 PM
allenmarshall committed R37:11d87c6a2756: Timed spacing now works at the beginning of a stroke even if the cursor hasn't… (authored by allenmarshall).
Timed spacing now works at the beginning of a stroke even if the cursor hasn't…
May 26 2017, 10:25 PM
allenmarshall committed R37:bec237ccedbe: Timed spacing option is now hidden for hairy paintop's autobrush selection (authored by allenmarshall).
Timed spacing option is now hidden for hairy paintop's autobrush selection
May 26 2017, 10:25 PM
allenmarshall committed R37:0eb2bb7007be: Stroke smoothing functionality now works with timed spacing (authored by allenmarshall).
Stroke smoothing functionality now works with timed spacing
May 26 2017, 10:25 PM
allenmarshall committed R37:2eb5a7491ea3: Added support for timed spacing to some brush factory classes (authored by allenmarshall).
Added support for timed spacing to some brush factory classes
May 26 2017, 10:25 PM
allenmarshall committed R37:ecf2c06aa559: Fixed build errors (authored by allenmarshall).
Fixed build errors
May 26 2017, 10:25 PM
allenmarshall committed R37:fdf39e46dfab: Missed a file in previous commit (authored by allenmarshall).
Missed a file in previous commit
May 26 2017, 10:25 PM
allenmarshall committed R37:5a7f81fb5509: Changed some subclasses of KisPaintOpSettings to conform to the modified API… (authored by allenmarshall).
Changed some subclasses of KisPaintOpSettings to conform to the modified API…
May 26 2017, 10:25 PM
allenmarshall committed R37:2ebbf89cd508: Added support for timed spacing in brush-based paintops (authored by allenmarshall).
Added support for timed spacing in brush-based paintops
May 26 2017, 10:25 PM
allenmarshall committed R37:078164124581: Adding ability for freehand tool helper to detect timed spacing and act… (authored by allenmarshall).
Adding ability for freehand tool helper to detect timed spacing and act…
May 26 2017, 10:25 PM
allenmarshall committed R37:d4e6559ef948: Added support for timed spacing to the brush API (authored by allenmarshall).
Added support for timed spacing to the brush API
May 26 2017, 10:25 PM
allenmarshall committed R37:3426ab19edd5: Adding widgets for timed spacing brush settings (authored by allenmarshall).
Adding widgets for timed spacing brush settings
May 26 2017, 10:25 PM

May 25 2017

allenmarshall added a comment to D5845: Movable Airbrush Feature.

I was able to reproduce the KisPaintInformation::drawingDistance() warning message. It seems to happen whenever certain curve options, including Size and Rate, are set to depend on Distance. I think the problem comes from my separation of the painting code from the spacing update code. I believe the distance info is registered with the KisPaintInformation when calling doPaintAt, but not when calling doUpdateSpacing. Therefore, spacing updates that depend on the distance information being registered encounter problems.

May 25 2017, 7:11 PM · Krita

May 24 2017

allenmarshall added a comment to D5845: Movable Airbrush Feature.

The reason I added paintPointOrLine was because of a weird problem I was having where KisToolFreehandHelper::paintLine wouldn't seem to paint anything (when airbrushing) until KisToolFreehandHelper::paintAt had been called at least once. So I added it to make sure KisToolFreehandHelper::paintAt would get called at the start of the stroke. I will study the code more and try to come up with a better solution, as paintPointOrLine was really just a workaround for a problem I didn't fully understand.

May 24 2017, 3:54 AM · Krita
allenmarshall added inline comments to D5845: Movable Airbrush Feature.
May 24 2017, 3:45 AM · Krita

May 23 2017

allenmarshall added a comment to D5845: Movable Airbrush Feature.

I guess my changes could potentially cause a performance problem with the high frequency of tablet events. Maybe I should change it so that the spacing information doesn't update on every tablet event, but instead every x milliseconds?

May 23 2017, 4:39 PM · Krita
allenmarshall added a comment to D5845: Movable Airbrush Feature.

@dkazakov:
Now that you mention it, I think we could remove KisPaintOp::paintAt. KisPaintOp::updateSpacing is used in KisPaintOpUtils::paintLine to allow for updating the spacing between dabs. I needed to include the ability to update spacing information between dabs because otherwise, if the user has regular spacing disabled and the airbrush rate temporarily goes to zero due to the pressure curve, no more dabs will be painted until the spacing information changes. Without spacing updates between dabs, this causes the stroke to get stuck and not paint any more dabs.

May 23 2017, 3:31 PM · Krita

May 21 2017

allenmarshall updated the summary of D5845: Movable Airbrush Feature.
May 21 2017, 5:39 AM · Krita
allenmarshall updated the summary of D5845: Movable Airbrush Feature.
May 21 2017, 5:37 AM · Krita
allenmarshall updated the diff for D5845: Movable Airbrush Feature.

This new patch removes the existing airbrush feature and replaces it with the new movable airbrush feature. The timed spacing settings have been moved into the Airbrush tab. An option to disable the regular distance-based spacing when airbrushing has also been added to the Airbrush tab.

May 21 2017, 5:31 AM · Krita

May 18 2017

allenmarshall added inline comments to D5845: Movable Airbrush Feature.
May 18 2017, 5:13 PM · Krita
allenmarshall added a comment to D5845: Movable Airbrush Feature.

I think I have fixed the bad logic in KisDistanceInformation::getNextPointPositionTimed now, but the timing stability issue is still present. I am experiencing some level of trouble even with the existing airbrush tool, as shown in the attached screenshot. The problem seems to be less noticeable when a slower airbrush rate is used, as the regular distance-based spacing can then "take over" for fast-moving strokes. I noticed that GIMP's airbrush tool limits the rate to 15 dabs per second, while MyPaint limits it to 80. Maybe we just need to set a lower limit on the rate? I will try to get on IRC to discuss this when I can.
I think I have found the cause of the bug where the Size slider would get disabled. I have submitted a fix in D5907: Fix disabling of Size and Flow sliders.

May 18 2017, 1:48 AM · Krita
allenmarshall updated the diff for D5845: Movable Airbrush Feature.

Fixed faulty logic in KisDistanceInformation::getNextPointPositionTimed

May 18 2017, 1:42 AM · Krita
allenmarshall created D5907: Fix disabling of Size and Flow sliders.
May 18 2017, 12:55 AM · Krita

May 17 2017

allenmarshall added a comment to D5845: Movable Airbrush Feature.

Thanks for the feedback. I will look into the issues you mentioned. I agree with the invariant "With any settings of Spacing (SP) and Timed spacing (TSP) the dabs should be painted either on every 1/TSP ms or every SP pixels, whatever happens first." If that isn't happening, there is something wrong with my code. I will try to get on IRC soon, though IRC communication may be a bit difficult, as I am in the UTC-5 time zone.

May 17 2017, 12:59 PM · Krita

May 15 2017

allenmarshall updated the diff for D5845: Movable Airbrush Feature.

Removed an accidental change that had removed the "override" keyword from a destructor declaration.

May 15 2017, 11:14 AM · Krita
allenmarshall added inline comments to D5845: Movable Airbrush Feature.
May 15 2017, 10:50 AM · Krita

May 13 2017

allenmarshall created D5845: Movable Airbrush Feature.
May 13 2017, 9:39 PM · Krita