From bf1d82af08bfc4b3c62bd273185644b750eaac4b Mon Sep 17 00:00:00 2001 From: Ivan Mahonin Date: Aug 04 2017 03:31:50 +0000 Subject: MyPaint brushes for OpenToonz raster levels (#1124) close #417 --- diff --git a/README.md b/README.md index 3ea6787..a71915e 100644 --- a/README.md +++ b/README.md @@ -36,11 +36,13 @@ Older versions and unstable nightly build are also available at +License: CC0-1.0 + +Files: tanda/* +Copyright: Author: Marcelo "Tanda" Cerviño +License: CC0-1.0 + +Files: deevad/* +Copyright: Author: David Revoy +License: CC0-1.0 + +Files: kaerhon_v1/* +Copyright: Author: Guillaume Loussarévian +License: CC0-1.0 + +See also CC0-1.0 license at creativecommons.org +https://creativecommons.org/publicdomain/zero/1.0/ \ No newline at end of file diff --git a/stuff/library/mypaint brushes/classic/blend+paint.myb b/stuff/library/mypaint brushes/classic/blend+paint.myb new file mode 100644 index 0000000..b6ce32f --- /dev/null +++ b/stuff/library/mypaint brushes/classic/blend+paint.myb @@ -0,0 +1,199 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "parent_brush_name": "", + "settings": { + "anti_aliasing": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.0, + "inputs": {} + }, + "color_s": { + "base_value": 0.0, + "inputs": {} + }, + "color_v": { + "base_value": 0.0, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 6.0, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 54.45, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 90.0, + "inputs": {} + }, + "elliptical_dab_ratio": { + "base_value": 1.0, + "inputs": {} + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 0.69, + "inputs": {} + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 0.85, + "inputs": {} + }, + "opaque_linearize": { + "base_value": 0.9, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.222222, + 0.0 + ], + [ + 0.324074, + 1.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 2.6, + "inputs": {} + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 0.9, + "inputs": {} + }, + "smudge_length": { + "base_value": 0.12, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 4.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 0.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} \ No newline at end of file diff --git a/stuff/library/mypaint brushes/classic/blend+paint_prev.png b/stuff/library/mypaint brushes/classic/blend+paint_prev.png new file mode 100644 index 0000000..309433a Binary files /dev/null and b/stuff/library/mypaint brushes/classic/blend+paint_prev.png differ diff --git a/stuff/library/mypaint brushes/classic/blending_knife.myb b/stuff/library/mypaint brushes/classic/blending_knife.myb new file mode 100644 index 0000000..141b6a1 --- /dev/null +++ b/stuff/library/mypaint brushes/classic/blending_knife.myb @@ -0,0 +1,263 @@ +{ + "comment": "MyPaint brush file", + "group": "oil", + "parent_brush_name": "classic/blending_knife", + "settings": { + "anti_aliasing": { + "base_value": 1.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.0, + "inputs": {} + }, + "color_s": { + "base_value": 0.0, + "inputs": {} + }, + "color_v": { + "base_value": 0.0, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 5.51, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 0.44, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 0.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 90.0, + "inputs": { + "tilt_ascension": [ + [ + -180.0, + -180.0 + ], + [ + 180.0, + 180.0 + ] + ] + } + }, + "elliptical_dab_ratio": { + "base_value": 5.02, + "inputs": {} + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 0.8, + "inputs": {} + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 0.9, + "inputs": { + "speed1": [ + [ + 0.0, + 0.028571 + ], + [ + 4.0, + -0.2 + ] + ] + } + }, + "opaque_linearize": { + "base_value": 1.04, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.046296, + 0.71875 + ], + [ + 0.154321, + 1.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.1, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 3.15, + "inputs": { + "pressure": [ + [ + 0.0, + 0.958333 + ], + [ + 1.0, + 2.0 + ] + ], + "speed1": [ + [ + 0.0, + -0.916667 + ], + [ + 3.7, + -2.0 + ] + ] + } + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 2.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 1.0, + "inputs": {} + }, + "smudge_length": { + "base_value": 0.21, + "inputs": { + "pressure": [ + [ + 0.0, + -0.326667 + ], + [ + 1.0, + 0.49 + ] + ], + "tilt_declination": [ + [ + 0.0, + 0.0 + ], + [ + 90.0, + 0.49 + ] + ] + } + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 5.5, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 10.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} \ No newline at end of file diff --git a/stuff/library/mypaint brushes/classic/blending_knife_prev.png b/stuff/library/mypaint brushes/classic/blending_knife_prev.png new file mode 100644 index 0000000..bbaf671 Binary files /dev/null and b/stuff/library/mypaint brushes/classic/blending_knife_prev.png differ diff --git a/stuff/library/mypaint brushes/classic/blur.myb b/stuff/library/mypaint brushes/classic/blur.myb new file mode 100644 index 0000000..518ed4d --- /dev/null +++ b/stuff/library/mypaint brushes/classic/blur.myb @@ -0,0 +1,223 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "parent_brush_name": "classic/blur", + "settings": { + "anti_aliasing": { + "base_value": 1.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.0, + "inputs": {} + }, + "color_s": { + "base_value": 0.0, + "inputs": {} + }, + "color_v": { + "base_value": 0.0, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 5.0, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 5.0, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 0.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 90.0, + "inputs": {} + }, + "elliptical_dab_ratio": { + "base_value": 1.0, + "inputs": {} + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 0.6, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + -0.4 + ] + ] + } + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 0.7, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + -0.4 + ] + ], + "speed1": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 0.2 + ] + ] + } + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 0.4, + "inputs": {} + }, + "opaque_linearize": { + "base_value": 0.0, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 2.0, + "inputs": {} + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 1.0, + "inputs": {} + }, + "smudge_length": { + "base_value": 0.0, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": -6.69, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 4.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 0.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} \ No newline at end of file diff --git a/stuff/library/mypaint brushes/classic/blur_prev.png b/stuff/library/mypaint brushes/classic/blur_prev.png new file mode 100644 index 0000000..9fd4f31 Binary files /dev/null and b/stuff/library/mypaint brushes/classic/blur_prev.png differ diff --git a/stuff/library/mypaint brushes/classic/brush.myb b/stuff/library/mypaint brushes/classic/brush.myb new file mode 100644 index 0000000..f18af68 --- /dev/null +++ b/stuff/library/mypaint brushes/classic/brush.myb @@ -0,0 +1,245 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "parent_brush_name": "classic/brush", + "settings": { + "anti_aliasing": { + "base_value": 1.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.0, + "inputs": {} + }, + "color_s": { + "base_value": 0.0, + "inputs": {} + }, + "color_v": { + "base_value": 0.0, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 5.82, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 0.51, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 70.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 90.0, + "inputs": {} + }, + "elliptical_dab_ratio": { + "base_value": 1.0, + "inputs": {} + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 0.89, + "inputs": {} + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 1.0, + "inputs": { + "pressure": [ + [ + 0.0, + -0.989583 + ], + [ + 0.38253, + -0.59375 + ], + [ + 0.656627, + 0.041667 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "opaque_linearize": { + "base_value": 0.44, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.015, + 0.0 + ], + [ + 0.069277, + 0.9375 + ], + [ + 0.25, + 1.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 1.01, + "inputs": { + "pressure": [ + [ + 0.0, + -1.86375 + ], + [ + 0.237952, + -1.42 + ], + [ + 0.5, + -0.355 + ], + [ + 0.76506, + 1.42 + ], + [ + 1.0, + 2.13 + ] + ] + } + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 4.47, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 2.48, + "inputs": {} + }, + "smudge": { + "base_value": 0.0, + "inputs": {} + }, + "smudge_length": { + "base_value": 0.5, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 2.87, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 4.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 0.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} \ No newline at end of file diff --git a/stuff/library/mypaint brushes/classic/brush_prev.png b/stuff/library/mypaint brushes/classic/brush_prev.png new file mode 100644 index 0000000..e81c052 Binary files /dev/null and b/stuff/library/mypaint brushes/classic/brush_prev.png differ diff --git a/stuff/library/mypaint brushes/classic/bulk.myb b/stuff/library/mypaint brushes/classic/bulk.myb new file mode 100644 index 0000000..7db1a63 --- /dev/null +++ b/stuff/library/mypaint brushes/classic/bulk.myb @@ -0,0 +1,210 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "parent_brush_name": "classic/bulk", + "settings": { + "anti_aliasing": { + "base_value": 1.37, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.0, + "inputs": {} + }, + "color_s": { + "base_value": 0.0, + "inputs": {} + }, + "color_v": { + "base_value": 0.0, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 2.0, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 0.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 90.0, + "inputs": {} + }, + "elliptical_dab_ratio": { + "base_value": 1.0, + "inputs": {} + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 0.19, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 1.38, + "inputs": {} + }, + "opaque_linearize": { + "base_value": 0.9, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.052469, + 0.625 + ], + [ + 0.166667, + 1.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 3.59, + "inputs": {} + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 0.0, + "inputs": {} + }, + "smudge_length": { + "base_value": 0.5, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 4.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 0.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} \ No newline at end of file diff --git a/stuff/library/mypaint brushes/classic/bulk_prev.png b/stuff/library/mypaint brushes/classic/bulk_prev.png new file mode 100644 index 0000000..391cef6 Binary files /dev/null and b/stuff/library/mypaint brushes/classic/bulk_prev.png differ diff --git a/stuff/library/mypaint brushes/classic/calligraphy.myb b/stuff/library/mypaint brushes/classic/calligraphy.myb new file mode 100644 index 0000000..3cd1441 --- /dev/null +++ b/stuff/library/mypaint brushes/classic/calligraphy.myb @@ -0,0 +1,241 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "parent_brush_name": "classic/calligraphy", + "settings": { + "anti_aliasing": { + "base_value": 3.53, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.0, + "inputs": {} + }, + "color_s": { + "base_value": 0.0, + "inputs": {} + }, + "color_v": { + "base_value": 0.0, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 2.2, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 0.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 45.92, + "inputs": {} + }, + "elliptical_dab_ratio": { + "base_value": 5.46, + "inputs": {} + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 0.74, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 0.05 + ] + ], + "speed1": [ + [ + 0.0, + -0.0 + ], + [ + 1.0, + -0.09 + ] + ] + } + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 1.0, + "inputs": {} + }, + "opaque_linearize": { + "base_value": 0.0, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.015, + 0.0 + ], + [ + 0.015, + 1.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 2.02, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 0.5 + ] + ], + "speed1": [ + [ + 0.0, + -0.0 + ], + [ + 1.0, + -0.21 + ] + ] + } + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 0.65, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.8, + "inputs": {} + }, + "smudge": { + "base_value": 0.0, + "inputs": {} + }, + "smudge_length": { + "base_value": 0.5, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 2.87, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 4.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 0.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} \ No newline at end of file diff --git a/stuff/library/mypaint brushes/classic/calligraphy_prev.png b/stuff/library/mypaint brushes/classic/calligraphy_prev.png new file mode 100644 index 0000000..49c4e3e Binary files /dev/null and b/stuff/library/mypaint brushes/classic/calligraphy_prev.png differ diff --git a/stuff/library/mypaint brushes/classic/charcoal.myb b/stuff/library/mypaint brushes/classic/charcoal.myb new file mode 100644 index 0000000..f4d9df8 --- /dev/null +++ b/stuff/library/mypaint brushes/classic/charcoal.myb @@ -0,0 +1,213 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "parent_brush_name": "", + "settings": { + "anti_aliasing": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.6354166666666666, + "inputs": {} + }, + "color_s": { + "base_value": 0.8807339449541285, + "inputs": {} + }, + "color_v": { + "base_value": 0.42745098039215684, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 5.0, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 0.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 90.0, + "inputs": {} + }, + "elliptical_dab_ratio": { + "base_value": 1.0, + "inputs": {} + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 0.2, + "inputs": {} + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 1.6, + "inputs": { + "pressure": [ + [ + 0, + 0 + ], + [ + 1.0, + -1.4 + ] + ] + } + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 0.4, + "inputs": { + "pressure": [ + [ + 0, + 0 + ], + [ + 1.0, + 0.4 + ] + ] + } + }, + "opaque_linearize": { + "base_value": 0.0, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0, + 0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 0.7, + "inputs": {} + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 2.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 0.0, + "inputs": {} + }, + "smudge_length": { + "base_value": 0.5, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 4.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 0.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} \ No newline at end of file diff --git a/stuff/library/mypaint brushes/classic/charcoal_prev.png b/stuff/library/mypaint brushes/classic/charcoal_prev.png new file mode 100644 index 0000000..24a020f Binary files /dev/null and b/stuff/library/mypaint brushes/classic/charcoal_prev.png differ diff --git a/stuff/library/mypaint brushes/classic/coarse_bulk_1.myb b/stuff/library/mypaint brushes/classic/coarse_bulk_1.myb new file mode 100644 index 0000000..ebf414e --- /dev/null +++ b/stuff/library/mypaint brushes/classic/coarse_bulk_1.myb @@ -0,0 +1,191 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "parent_brush_name": "classic/coarse_bulk_1", + "settings": { + "anti_aliasing": { + "base_value": 1.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.0, + "inputs": {} + }, + "color_s": { + "base_value": 0.0, + "inputs": {} + }, + "color_v": { + "base_value": 0.0, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 6.0, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 6.0, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 50.42, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 90.0, + "inputs": {} + }, + "elliptical_dab_ratio": { + "base_value": 1.0, + "inputs": {} + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 0.52, + "inputs": {} + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 10.0, + "inputs": {} + }, + "offset_by_speed": { + "base_value": 0.66, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 0.59, + "inputs": {} + }, + "opaque_linearize": { + "base_value": 0.0, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "radius_by_random": { + "base_value": 1.5, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 0.95, + "inputs": {} + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 0.0, + "inputs": {} + }, + "smudge_length": { + "base_value": 0.5, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 4.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 0.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} \ No newline at end of file diff --git a/stuff/library/mypaint brushes/classic/coarse_bulk_1_prev.png b/stuff/library/mypaint brushes/classic/coarse_bulk_1_prev.png new file mode 100644 index 0000000..85b0e09 Binary files /dev/null and b/stuff/library/mypaint brushes/classic/coarse_bulk_1_prev.png differ diff --git a/stuff/library/mypaint brushes/classic/coarse_bulk_2.myb b/stuff/library/mypaint brushes/classic/coarse_bulk_2.myb new file mode 100644 index 0000000..7c00b33 --- /dev/null +++ b/stuff/library/mypaint brushes/classic/coarse_bulk_2.myb @@ -0,0 +1,202 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "parent_brush_name": "classic/coarse_bulk_2", + "settings": { + "anti_aliasing": { + "base_value": 1.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.0, + "inputs": {} + }, + "color_s": { + "base_value": 0.0, + "inputs": {} + }, + "color_v": { + "base_value": 0.0, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 2.6, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 80.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 90.0, + "inputs": {} + }, + "elliptical_dab_ratio": { + "base_value": 1.0, + "inputs": {} + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 0.59, + "inputs": {} + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 10.0, + "inputs": {} + }, + "offset_by_speed": { + "base_value": 0.66, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 0.99, + "inputs": {} + }, + "opaque_linearize": { + "base_value": 0.9, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 1.55, + "inputs": { + "random": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 0.95 + ] + ] + } + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 0.0, + "inputs": {} + }, + "smudge_length": { + "base_value": 0.5, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 4.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 0.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} \ No newline at end of file diff --git a/stuff/library/mypaint brushes/classic/coarse_bulk_2_prev.png b/stuff/library/mypaint brushes/classic/coarse_bulk_2_prev.png new file mode 100644 index 0000000..e410a1a Binary files /dev/null and b/stuff/library/mypaint brushes/classic/coarse_bulk_2_prev.png differ diff --git a/stuff/library/mypaint brushes/classic/coarse_bulk_3.myb b/stuff/library/mypaint brushes/classic/coarse_bulk_3.myb new file mode 100644 index 0000000..9e8f6c1 --- /dev/null +++ b/stuff/library/mypaint brushes/classic/coarse_bulk_3.myb @@ -0,0 +1,191 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "parent_brush_name": "classic/coarse_bulk_3", + "settings": { + "anti_aliasing": { + "base_value": 1.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.0, + "inputs": {} + }, + "color_s": { + "base_value": 0.0, + "inputs": {} + }, + "color_v": { + "base_value": 0.0, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 3.32, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 15.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 90.0, + "inputs": {} + }, + "elliptical_dab_ratio": { + "base_value": 1.0, + "inputs": {} + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 0.45, + "inputs": {} + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 1.09, + "inputs": {} + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 1.0, + "inputs": {} + }, + "opaque_linearize": { + "base_value": 0.9, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.63, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 2.5, + "inputs": {} + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 0.0, + "inputs": {} + }, + "smudge_length": { + "base_value": 0.5, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 4.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 0.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} \ No newline at end of file diff --git a/stuff/library/mypaint brushes/classic/coarse_bulk_3_prev.png b/stuff/library/mypaint brushes/classic/coarse_bulk_3_prev.png new file mode 100644 index 0000000..da2acf0 Binary files /dev/null and b/stuff/library/mypaint brushes/classic/coarse_bulk_3_prev.png differ diff --git a/stuff/library/mypaint brushes/classic/dry_brush.myb b/stuff/library/mypaint brushes/classic/dry_brush.myb new file mode 100644 index 0000000..c3dd829 --- /dev/null +++ b/stuff/library/mypaint brushes/classic/dry_brush.myb @@ -0,0 +1,224 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "parent_brush_name": "", + "settings": { + "anti_aliasing": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.0, + "inputs": {} + }, + "color_s": { + "base_value": 0.0, + "inputs": {} + }, + "color_v": { + "base_value": 0.0, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 6.0, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 6.0, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 0.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 90.0, + "inputs": {} + }, + "elliptical_dab_ratio": { + "base_value": 1.0, + "inputs": {} + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 0.2, + "inputs": {} + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 1.4 + ] + ] + } + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 0.8, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 0.2 + ] + ] + } + }, + "opaque_linearize": { + "base_value": 0.0, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.1, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 0.6, + "inputs": { + "speed2": [ + [ + 0.0, + 0.042857 + ], + [ + 4.0, + -0.3 + ] + ] + } + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 2.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 0.0, + "inputs": {} + }, + "smudge_length": { + "base_value": 0.5, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 4.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 0.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} \ No newline at end of file diff --git a/stuff/library/mypaint brushes/classic/dry_brush_prev.png b/stuff/library/mypaint brushes/classic/dry_brush_prev.png new file mode 100644 index 0000000..c554a3a Binary files /dev/null and b/stuff/library/mypaint brushes/classic/dry_brush_prev.png differ diff --git a/stuff/library/mypaint brushes/classic/imp_blending.myb b/stuff/library/mypaint brushes/classic/imp_blending.myb new file mode 100644 index 0000000..16aa0bb --- /dev/null +++ b/stuff/library/mypaint brushes/classic/imp_blending.myb @@ -0,0 +1,359 @@ +{ + "comment": "MyPaint brush file", + "group": "smudge", + "parent_brush_name": "classic/imp_blending", + "settings": { + "anti_aliasing": { + "base_value": 0.64, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": { + "custom": [ + [ + -2.0, + -0.04 + ], + [ + 2.0, + 0.04 + ] + ] + } + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": { + "stroke": [ + [ + 0.0, + 0.0 + ], + [ + 0.87963, + 0.02 + ], + [ + 1.0, + 0.0 + ] + ] + } + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.0, + "inputs": {} + }, + "color_s": { + "base_value": 0.0, + "inputs": {} + }, + "color_v": { + "base_value": 0.0, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": { + "random": [ + [ + 0.0, + -10.0 + ], + [ + 1.0, + 10.0 + ] + ] + } + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": { + "tilt_declination": [ + [ + 0.0, + 4.41 + ], + [ + 90.0, + 0.0 + ] + ] + } + }, + "dabs_per_actual_radius": { + "base_value": 6.0, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 6.0, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 80.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 0.0, + "inputs": { + "direction": [ + [ + 0.0, + 0.0 + ], + [ + 180.0, + 180.0 + ] + ] + } + }, + "elliptical_dab_ratio": { + "base_value": 7.1, + "inputs": { + "speed1": [ + [ + 0.0, + -0.668571 + ], + [ + 4.0, + 4.68 + ] + ], + "stroke": [ + [ + 0.0, + -0.4 + ], + [ + 1.0, + 0.4 + ] + ], + "tilt_declination": [ + [ + 0.0, + 3.636875 + ], + [ + 90.0, + -7.59 + ] + ] + } + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 0.8, + "inputs": {} + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 0.6, + "inputs": { + "tilt_declination": [ + [ + 0.0, + 0.0 + ], + [ + 45.0, + 0.0 + ], + [ + 90.0, + 0.63 + ] + ] + } + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 1.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.166667, + 0.75 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "opaque_linearize": { + "base_value": 0.9, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.067901, + 0.78125 + ], + [ + 0.185185, + 1.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 2.0, + "inputs": { + "pressure": [ + [ + 0.0, + -2.0 + ], + [ + 0.401235, + 0.0 + ], + [ + 1.0, + 0.0 + ] + ], + "tilt_declination": [ + [ + 0.0, + 0.0 + ], + [ + 45.0, + 0.0 + ], + [ + 90.0, + -1.6 + ] + ] + } + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 1.0, + "inputs": {} + }, + "smudge_length": { + "base_value": 0.0, + "inputs": { + "stroke": [ + [ + 0.0, + 1.0 + ], + [ + 1.0, + -1.0 + ] + ] + } + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 6.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 10.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.2, + "inputs": {} + } + }, + "version": 3 +} \ No newline at end of file diff --git a/stuff/library/mypaint brushes/classic/imp_blending_prev.png b/stuff/library/mypaint brushes/classic/imp_blending_prev.png new file mode 100644 index 0000000..6f39b81 Binary files /dev/null and b/stuff/library/mypaint brushes/classic/imp_blending_prev.png differ diff --git a/stuff/library/mypaint brushes/classic/imp_details.myb b/stuff/library/mypaint brushes/classic/imp_details.myb new file mode 100644 index 0000000..aaf3a1f --- /dev/null +++ b/stuff/library/mypaint brushes/classic/imp_details.myb @@ -0,0 +1,398 @@ +{ + "comment": "MyPaint brush file", + "group": "impressionism", + "parent_brush_name": "classic/imp_details", + "settings": { + "anti_aliasing": { + "base_value": 0.48, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": { + "custom": [ + [ + -2.0, + -0.02 + ], + [ + 2.0, + 0.02 + ] + ] + } + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": { + "stroke": [ + [ + 0.0, + 0.0 + ], + [ + 0.87963, + 0.02 + ], + [ + 1.0, + 0.0 + ] + ] + } + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.0, + "inputs": {} + }, + "color_s": { + "base_value": 0.0, + "inputs": {} + }, + "color_v": { + "base_value": 0.0, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": { + "random": [ + [ + 0.0, + -10.0 + ], + [ + 1.0, + 10.0 + ] + ] + } + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": { + "tilt_declination": [ + [ + 0.0, + 4.41 + ], + [ + 90.0, + 0.0 + ] + ] + } + }, + "dabs_per_actual_radius": { + "base_value": 6.0, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 6.0, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 80.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 0.0, + "inputs": { + "direction": [ + [ + 0.0, + 0.0 + ], + [ + 180.0, + 180.0 + ] + ] + } + }, + "elliptical_dab_ratio": { + "base_value": 7.1, + "inputs": { + "speed1": [ + [ + 0.0, + -0.668571 + ], + [ + 4.0, + 4.68 + ] + ], + "stroke": [ + [ + 0.0, + -0.4 + ], + [ + 1.0, + 0.4 + ] + ], + "tilt_declination": [ + [ + 0.0, + 3.636875 + ], + [ + 90.0, + -7.59 + ] + ] + } + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 0.8, + "inputs": {} + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 0.09, + "inputs": { + "pressure": [ + [ + 0.0, + -0.653333 + ], + [ + 0.379268, + -0.459375 + ], + [ + 0.747561, + 0.18375 + ], + [ + 1.0, + 0.98 + ] + ], + "tilt_declination": [ + [ + 0.0, + 0.0 + ], + [ + 45.0, + 0.0 + ], + [ + 90.0, + 0.63 + ] + ] + } + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 1.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.166667, + 0.75 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "opaque_linearize": { + "base_value": 0.9, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.067901, + 0.78125 + ], + [ + 0.185185, + 1.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 2.0, + "inputs": { + "pressure": [ + [ + 0.0, + -2.0 + ], + [ + 0.401235, + 0.0 + ], + [ + 1.0, + 0.0 + ] + ], + "tilt_declination": [ + [ + 0.0, + 0.0 + ], + [ + 45.0, + 0.0 + ], + [ + 90.0, + -1.6 + ] + ] + } + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 0.9, + "inputs": { + "pressure": [ + [ + 0.0, + 0.510417 + ], + [ + 1.0, + -1.0 + ] + ], + "stroke": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "smudge_length": { + "base_value": 0.0, + "inputs": { + "stroke": [ + [ + 0.0, + 1.0 + ], + [ + 1.0, + -1.0 + ] + ] + } + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 6.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 10.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.2, + "inputs": {} + } + }, + "version": 3 +} \ No newline at end of file diff --git a/stuff/library/mypaint brushes/classic/imp_details_prev.png b/stuff/library/mypaint brushes/classic/imp_details_prev.png new file mode 100644 index 0000000..89453b3 Binary files /dev/null and b/stuff/library/mypaint brushes/classic/imp_details_prev.png differ diff --git a/stuff/library/mypaint brushes/classic/impressionism.myb b/stuff/library/mypaint brushes/classic/impressionism.myb new file mode 100644 index 0000000..68f16e3 --- /dev/null +++ b/stuff/library/mypaint brushes/classic/impressionism.myb @@ -0,0 +1,380 @@ +{ + "comment": "MyPaint brush file", + "group": "impressionism", + "parent_brush_name": "classic/impressionism", + "settings": { + "anti_aliasing": { + "base_value": 0.66, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": { + "custom": [ + [ + -2.0, + -0.04 + ], + [ + 2.0, + 0.04 + ] + ] + } + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": { + "stroke": [ + [ + 0.0, + 0.0 + ], + [ + 0.87963, + 0.02 + ], + [ + 1.0, + 0.0 + ] + ] + } + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.0, + "inputs": {} + }, + "color_s": { + "base_value": 0.0, + "inputs": {} + }, + "color_v": { + "base_value": 0.0, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": { + "random": [ + [ + 0.0, + -10.0 + ], + [ + 1.0, + 10.0 + ] + ] + } + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": { + "tilt_declination": [ + [ + 0.0, + 4.41 + ], + [ + 90.0, + 0.0 + ] + ] + } + }, + "dabs_per_actual_radius": { + "base_value": 6.0, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 6.0, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 80.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 0.0, + "inputs": { + "direction": [ + [ + 0.0, + 0.0 + ], + [ + 180.0, + 180.0 + ] + ] + } + }, + "elliptical_dab_ratio": { + "base_value": 7.1, + "inputs": { + "speed1": [ + [ + 0.0, + -0.668571 + ], + [ + 4.0, + 4.68 + ] + ], + "stroke": [ + [ + 0.0, + -0.4 + ], + [ + 1.0, + 0.4 + ] + ], + "tilt_declination": [ + [ + 0.0, + 3.636875 + ], + [ + 90.0, + -7.59 + ] + ] + } + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 0.8, + "inputs": {} + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 0.6, + "inputs": { + "tilt_declination": [ + [ + 0.0, + 0.0 + ], + [ + 45.0, + 0.0 + ], + [ + 90.0, + 0.63 + ] + ] + } + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 1.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.166667, + 0.75 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "opaque_linearize": { + "base_value": 0.9, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.067901, + 0.78125 + ], + [ + 0.185185, + 1.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 2.0, + "inputs": { + "pressure": [ + [ + 0.0, + -2.0 + ], + [ + 0.401235, + 0.0 + ], + [ + 1.0, + 0.0 + ] + ], + "tilt_declination": [ + [ + 0.0, + 0.0 + ], + [ + 45.0, + 0.0 + ], + [ + 90.0, + -1.6 + ] + ] + } + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 0.9, + "inputs": { + "pressure": [ + [ + 0.0, + 0.510417 + ], + [ + 1.0, + -1.0 + ] + ], + "stroke": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "smudge_length": { + "base_value": 0.0, + "inputs": { + "stroke": [ + [ + 0.0, + 1.0 + ], + [ + 1.0, + -1.0 + ] + ] + } + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 6.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 10.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.2, + "inputs": {} + } + }, + "version": 3 +} \ No newline at end of file diff --git a/stuff/library/mypaint brushes/classic/impressionism_prev.png b/stuff/library/mypaint brushes/classic/impressionism_prev.png new file mode 100644 index 0000000..e4d9fa1 Binary files /dev/null and b/stuff/library/mypaint brushes/classic/impressionism_prev.png differ diff --git a/stuff/library/mypaint brushes/classic/ink_blot.myb b/stuff/library/mypaint brushes/classic/ink_blot.myb new file mode 100644 index 0000000..aa84316 --- /dev/null +++ b/stuff/library/mypaint brushes/classic/ink_blot.myb @@ -0,0 +1,191 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "parent_brush_name": "classic/ink_blot", + "settings": { + "anti_aliasing": { + "base_value": 1.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.0, + "inputs": {} + }, + "color_s": { + "base_value": 0.0, + "inputs": {} + }, + "color_v": { + "base_value": 0.0, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 3.32, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 15.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 90.0, + "inputs": {} + }, + "elliptical_dab_ratio": { + "base_value": 1.0, + "inputs": {} + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 0.28, + "inputs": {} + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 0.17, + "inputs": {} + }, + "offset_by_speed": { + "base_value": 0.13, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 1.0, + "inputs": {} + }, + "opaque_linearize": { + "base_value": 0.9, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.63, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 2.5, + "inputs": {} + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 0.0, + "inputs": {} + }, + "smudge_length": { + "base_value": 0.5, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 4.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 0.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} \ No newline at end of file diff --git a/stuff/library/mypaint brushes/classic/ink_blot_prev.png b/stuff/library/mypaint brushes/classic/ink_blot_prev.png new file mode 100644 index 0000000..5f8f68c Binary files /dev/null and b/stuff/library/mypaint brushes/classic/ink_blot_prev.png differ diff --git a/stuff/library/mypaint brushes/classic/ink_eraser.myb b/stuff/library/mypaint brushes/classic/ink_eraser.myb new file mode 100644 index 0000000..e8527ba --- /dev/null +++ b/stuff/library/mypaint brushes/classic/ink_eraser.myb @@ -0,0 +1,241 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "parent_brush_name": "", + "settings": { + "anti_aliasing": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.0, + "inputs": {} + }, + "color_s": { + "base_value": 0.0, + "inputs": {} + }, + "color_v": { + "base_value": 0.0, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 2.2, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 0.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 90.0, + "inputs": {} + }, + "elliptical_dab_ratio": { + "base_value": 1.0, + "inputs": {} + }, + "eraser": { + "base_value": 1.0, + "inputs": {} + }, + "hardness": { + "base_value": 0.5, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 0.05 + ] + ], + "speed1": [ + [ + 0.0, + -0.0 + ], + [ + 1.0, + -0.09 + ] + ] + } + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 1.0, + "inputs": {} + }, + "opaque_linearize": { + "base_value": 0.0, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.015, + 0.0 + ], + [ + 0.025, + 1.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 2.16, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 0.5 + ] + ], + "speed1": [ + [ + 0.0, + -0.0 + ], + [ + 1.0, + -0.21 + ] + ] + } + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 0.65, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.8, + "inputs": {} + }, + "smudge": { + "base_value": 0.0, + "inputs": {} + }, + "smudge_length": { + "base_value": 0.5, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 2.87, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 4.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 0.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} \ No newline at end of file diff --git a/stuff/library/mypaint brushes/classic/ink_eraser_prev.png b/stuff/library/mypaint brushes/classic/ink_eraser_prev.png new file mode 100644 index 0000000..1325e99 Binary files /dev/null and b/stuff/library/mypaint brushes/classic/ink_eraser_prev.png differ diff --git a/stuff/library/mypaint brushes/classic/kabura.myb b/stuff/library/mypaint brushes/classic/kabura.myb new file mode 100644 index 0000000..499f273 --- /dev/null +++ b/stuff/library/mypaint brushes/classic/kabura.myb @@ -0,0 +1,266 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "parent_brush_name": "classic/kabura", + "settings": { + "anti_aliasing": { + "base_value": 0.93, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.0, + "inputs": {} + }, + "color_s": { + "base_value": 0.0, + "inputs": {} + }, + "color_v": { + "base_value": 0.0, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 2.0, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 3.24, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 48.87, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 90.0, + "inputs": {} + }, + "elliptical_dab_ratio": { + "base_value": 1.0, + "inputs": {} + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 0.43, + "inputs": {} + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 1.29, + "inputs": { + "pressure": [ + [ + 0.0, + -0.989583 + ], + [ + 0.38253, + -0.59375 + ], + [ + 0.656627, + 0.041667 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "opaque_linearize": { + "base_value": 0.29, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.015, + 0.0 + ], + [ + 0.069277, + 0.9375 + ], + [ + 0.25, + 1.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 0.92, + "inputs": { + "pressure": [ + [ + 0.0, + -0.7875 + ], + [ + 0.237952, + -0.6 + ], + [ + 0.5, + -0.15 + ], + [ + 0.76506, + 0.6 + ], + [ + 1.0, + 0.9 + ] + ] + } + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 10.0, + "inputs": { + "speed1": [ + [ + 0.0, + -1.428571 + ], + [ + 4.0, + 10.0 + ] + ], + "speed2": [ + [ + 0.0, + -1.428571 + ], + [ + 4.0, + 10.0 + ] + ] + } + }, + "smudge": { + "base_value": 0.0, + "inputs": {} + }, + "smudge_length": { + "base_value": 0.5, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 2.87, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 4.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 0.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} \ No newline at end of file diff --git a/stuff/library/mypaint brushes/classic/kabura_prev.png b/stuff/library/mypaint brushes/classic/kabura_prev.png new file mode 100644 index 0000000..17335f9 Binary files /dev/null and b/stuff/library/mypaint brushes/classic/kabura_prev.png differ diff --git a/stuff/library/mypaint brushes/classic/knife.myb b/stuff/library/mypaint brushes/classic/knife.myb new file mode 100644 index 0000000..126e25a --- /dev/null +++ b/stuff/library/mypaint brushes/classic/knife.myb @@ -0,0 +1,202 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "parent_brush_name": "classic/knife", + "settings": { + "anti_aliasing": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.0, + "inputs": {} + }, + "color_s": { + "base_value": 0.0, + "inputs": {} + }, + "color_v": { + "base_value": 0.0, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 5.75, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 0.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.99, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 90.0, + "inputs": { + "direction": [ + [ + 0.0, + 0.0 + ], + [ + 180.0, + 180.0 + ] + ] + } + }, + "elliptical_dab_ratio": { + "base_value": 6.52, + "inputs": {} + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 0.8, + "inputs": {} + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 1.0, + "inputs": {} + }, + "opaque_linearize": { + "base_value": 0.9, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 2.9, + "inputs": {} + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 0.0, + "inputs": {} + }, + "smudge_length": { + "base_value": 0.26, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 4.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 0.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} \ No newline at end of file diff --git a/stuff/library/mypaint brushes/classic/knife_prev.png b/stuff/library/mypaint brushes/classic/knife_prev.png new file mode 100644 index 0000000..535976c Binary files /dev/null and b/stuff/library/mypaint brushes/classic/knife_prev.png differ diff --git a/stuff/library/mypaint brushes/classic/long_grass.myb b/stuff/library/mypaint brushes/classic/long_grass.myb new file mode 100644 index 0000000..d492355 --- /dev/null +++ b/stuff/library/mypaint brushes/classic/long_grass.myb @@ -0,0 +1,358 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "parent_brush_name": "classic/long_grass", + "settings": { + "anti_aliasing": { + "base_value": 5.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": { + "random": [ + [ + 0.0, + -0.05 + ], + [ + 1.0, + 0.05 + ] + ], + "stroke": [ + [ + 0.0, + -0.004687 + ], + [ + 1.0, + 0.004792 + ] + ] + } + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": { + "random": [ + [ + 0.0, + -0.01 + ], + [ + 1.0, + 0.01 + ] + ] + } + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + -0.173333 + ], + [ + 1.0, + 0.26 + ] + ] + } + }, + "change_color_v": { + "base_value": 0.0, + "inputs": { + "random": [ + [ + 0.0, + -0.09 + ], + [ + 1.0, + 0.09 + ] + ], + "stroke": [ + [ + 0.0, + -0.13 + ], + [ + 0.5, + 0.13 + ], + [ + 1.0, + -0.128646 + ] + ] + } + }, + "color_h": { + "base_value": 0.0, + "inputs": {} + }, + "color_s": { + "base_value": 0.0, + "inputs": {} + }, + "color_v": { + "base_value": 0.0, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 1.06, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 24.08, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 90.0, + "inputs": { + "direction": [ + [ + 0.0, + 0.0 + ], + [ + 78.896104, + 21.41 + ], + [ + 102.272727, + -21.41 + ], + [ + 180.0, + 0.0 + ] + ], + "random": [ + [ + 0.0, + -13.31 + ], + [ + 0.11039, + -1.525104 + ], + [ + 0.899351, + 1.66375 + ], + [ + 1.0, + 13.31 + ] + ] + } + }, + "elliptical_dab_ratio": { + "base_value": 3.81, + "inputs": { + "random": [ + [ + 0.0, + 2.575 + ], + [ + 0.092593, + 4.345313 + ], + [ + 1.0, + 5.15 + ] + ] + } + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 0.8, + "inputs": {} + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 1.74, + "inputs": { + "pressure": [ + [ + 0.0, + -0.0 + ], + [ + 1.0, + -1.78 + ] + ], + "speed1": [ + [ + 0.0, + 0.0 + ], + [ + 4.0, + 0.2 + ] + ] + } + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 1.1, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 0.4 + ] + ] + } + }, + "opaque_linearize": { + "base_value": 0.83, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.083333, + 0.68 + ], + [ + 1.0, + 0.68 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 2.8, + "inputs": { + "random": [ + [ + 0.0, + -0.11 + ], + [ + 1.0, + 0.11 + ] + ] + } + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 2.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 0.2, + "inputs": {} + }, + "smudge_length": { + "base_value": 0.5, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 5.96, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 0.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} \ No newline at end of file diff --git a/stuff/library/mypaint brushes/classic/long_grass_prev.png b/stuff/library/mypaint brushes/classic/long_grass_prev.png new file mode 100644 index 0000000..cd5a4a3 Binary files /dev/null and b/stuff/library/mypaint brushes/classic/long_grass_prev.png differ diff --git a/stuff/library/mypaint brushes/classic/marker_fat.myb b/stuff/library/mypaint brushes/classic/marker_fat.myb new file mode 100644 index 0000000..509c7c2 --- /dev/null +++ b/stuff/library/mypaint brushes/classic/marker_fat.myb @@ -0,0 +1,236 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "parent_brush_name": "classic/marker_fat", + "settings": { + "anti_aliasing": { + "base_value": 0.78, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.0, + "inputs": {} + }, + "color_s": { + "base_value": 0.0, + "inputs": {} + }, + "color_v": { + "base_value": 0.0, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 2.0, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 1.5, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 0.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 113.08, + "inputs": { + "tilt_ascension": [ + [ + -180.0, + -180.0 + ], + [ + 180.0, + 180.0 + ] + ] + } + }, + "elliptical_dab_ratio": { + "base_value": 10.0, + "inputs": { + "tilt_declination": [ + [ + 0.0, + -0.0 + ], + [ + 68.042169, + -9.0 + ], + [ + 90.0, + -9.0 + ] + ] + } + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 1.0, + "inputs": {} + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "opaque": { + "base_value": 1.0, + "inputs": {} + }, + "opaque_linearize": { + "base_value": 0.9, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.060241, + 1.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 2.48, + "inputs": { + "tilt_declination": [ + [ + 20.0, + -0.0 + ], + [ + 50.0, + -0.0 + ], + [ + 80.0, + -1.0 + ] + ] + } + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 3.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 0.0, + "inputs": {} + }, + "smudge_length": { + "base_value": 0.5, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 4.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 0.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} \ No newline at end of file diff --git a/stuff/library/mypaint brushes/classic/marker_fat_prev.png b/stuff/library/mypaint brushes/classic/marker_fat_prev.png new file mode 100644 index 0000000..5d99b17 Binary files /dev/null and b/stuff/library/mypaint brushes/classic/marker_fat_prev.png differ diff --git a/stuff/library/mypaint brushes/classic/marker_small.myb b/stuff/library/mypaint brushes/classic/marker_small.myb new file mode 100644 index 0000000..281d2c4 --- /dev/null +++ b/stuff/library/mypaint brushes/classic/marker_small.myb @@ -0,0 +1,236 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "parent_brush_name": "classic/marker_small", + "settings": { + "anti_aliasing": { + "base_value": 1.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.0, + "inputs": {} + }, + "color_s": { + "base_value": 0.0, + "inputs": {} + }, + "color_v": { + "base_value": 0.0, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 2.0, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 0.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 113.08, + "inputs": { + "tilt_ascension": [ + [ + -180.0, + -180.0 + ], + [ + 180.0, + 180.0 + ] + ] + } + }, + "elliptical_dab_ratio": { + "base_value": 8.0, + "inputs": { + "tilt_declination": [ + [ + 0.0, + -0.0 + ], + [ + 68.042169, + -9.0 + ], + [ + 90.0, + -9.0 + ] + ] + } + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 0.8, + "inputs": {} + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "opaque": { + "base_value": 1.0, + "inputs": {} + }, + "opaque_linearize": { + "base_value": 0.9, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.060241, + 1.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 1.0, + "inputs": { + "tilt_declination": [ + [ + 20.0, + -0.0 + ], + [ + 50.0, + -0.0 + ], + [ + 80.0, + -0.8 + ] + ] + } + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 3.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 0.0, + "inputs": {} + }, + "smudge_length": { + "base_value": 0.5, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 4.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 0.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} \ No newline at end of file diff --git a/stuff/library/mypaint brushes/classic/marker_small_prev.png b/stuff/library/mypaint brushes/classic/marker_small_prev.png new file mode 100644 index 0000000..3834028 Binary files /dev/null and b/stuff/library/mypaint brushes/classic/marker_small_prev.png differ diff --git a/stuff/library/mypaint brushes/classic/modelling.myb b/stuff/library/mypaint brushes/classic/modelling.myb new file mode 100644 index 0000000..348f93e --- /dev/null +++ b/stuff/library/mypaint brushes/classic/modelling.myb @@ -0,0 +1,260 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "parent_brush_name": "classic/modelling", + "settings": { + "anti_aliasing": { + "base_value": 1.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.0, + "inputs": {} + }, + "color_s": { + "base_value": 0.0, + "inputs": {} + }, + "color_v": { + "base_value": 0.0, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 4.02, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 0.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 90.0, + "inputs": {} + }, + "elliptical_dab_ratio": { + "base_value": 1.0, + "inputs": {} + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 0.71, + "inputs": {} + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 0.8, + "inputs": { + "speed2": [ + [ + 0.0, + 0.28 + ], + [ + 0.518519, + 0.032083 + ], + [ + 1.888889, + -0.16625 + ], + [ + 4.0, + -0.28 + ] + ] + } + }, + "opaque_linearize": { + "base_value": 0.9, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 0.52 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 1.1, + "inputs": { + "pressure": [ + [ + 0.0, + 0.326667 + ], + [ + 1.0, + -0.49 + ] + ], + "speed1": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 0.75 + ] + ], + "speed2": [ + [ + 0.0, + -0.15 + ], + [ + 4.0, + 1.05 + ] + ] + } + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 0.25, + "inputs": { + "pressure": [ + [ + 0.0, + -0.0 + ], + [ + 0.290123, + -0.0375 + ], + [ + 0.645062, + -0.15 + ], + [ + 1.0, + -0.4 + ] + ] + } + }, + "smudge_length": { + "base_value": 0.3, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 1.24, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.1, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.61, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 4.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 0.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} \ No newline at end of file diff --git a/stuff/library/mypaint brushes/classic/modelling2.myb b/stuff/library/mypaint brushes/classic/modelling2.myb new file mode 100644 index 0000000..3e08e75 --- /dev/null +++ b/stuff/library/mypaint brushes/classic/modelling2.myb @@ -0,0 +1,373 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "parent_brush_name": "", + "settings": { + "anti_aliasing": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.1836514917, + "inputs": {} + }, + "color_s": { + "base_value": 0.721940404399, + "inputs": {} + }, + "color_v": { + "base_value": 0.860303654536, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 3.67, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 0.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 90.0, + "inputs": {} + }, + "elliptical_dab_ratio": { + "base_value": 1.0, + "inputs": {} + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 0.79, + "inputs": { + "pressure": [ + [ + 0.0, + -0.25 + ], + [ + 0.133929, + -0.195312 + ], + [ + 0.223214, + -0.109375 + ], + [ + 0.342262, + -0.028646 + ], + [ + 0.5, + 0.0 + ], + [ + 1.0, + 0.0 + ] + ] + } + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 0.0, + "inputs": { + "random": [ + [ + 0.0, + 0.0 + ], + [ + 0.164336, + 0.0 + ], + [ + 0.213287, + 0.19 + ], + [ + 0.265734, + 0.0 + ], + [ + 1.0, + 0.0 + ] + ] + } + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 0.43, + "inputs": {} + }, + "opaque_linearize": { + "base_value": 0.0, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + -0.78 + ], + [ + 0.02381, + 0.0 + ], + [ + 0.061728, + 0.2275 + ], + [ + 0.732143, + 0.706875 + ], + [ + 1.0, + 0.78 + ] + ], + "speed1": [ + [ + 0.0, + -0.27 + ], + [ + 3.0, + -0.2475 + ] + ], + "speed2": [ + [ + 0.0, + -0.37 + ], + [ + 0.357143, + -0.23125 + ], + [ + 0.845238, + -0.131042 + ], + [ + 1.77381, + -0.034687 + ], + [ + 2.77381, + 0.0 + ], + [ + 4.0, + 0.0 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 0.2, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.404321, + -0.0875 + ], + [ + 1.0, + -0.42 + ] + ], + "speed1": [ + [ + 0.0, + -0.201429 + ], + [ + 4.0, + 1.41 + ] + ], + "speed2": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 0.42 + ] + ] + } + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 0.53, + "inputs": { + "pressure": [ + [ + 0.0, + -0.0 + ], + [ + 0.299383, + -0.0125 + ], + [ + 0.5, + -0.0375 + ], + [ + 0.790123, + -0.110417 + ], + [ + 1.0, + -0.2 + ] + ], + "stroke": [ + [ + 0.0, + -0.65 + ], + [ + 0.132716, + -0.561979 + ], + [ + 0.358025, + -0.473958 + ], + [ + 0.648148, + -0.24375 + ], + [ + 0.87037, + 0.067708 + ], + [ + 1.0, + 0.446875 + ] + ] + } + }, + "smudge_length": { + "base_value": 0.5, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 4.63, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 0.98, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 5.22, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 10.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} \ No newline at end of file diff --git a/stuff/library/mypaint brushes/classic/modelling2_prev.png b/stuff/library/mypaint brushes/classic/modelling2_prev.png new file mode 100644 index 0000000..179c84d Binary files /dev/null and b/stuff/library/mypaint brushes/classic/modelling2_prev.png differ diff --git a/stuff/library/mypaint brushes/classic/modelling_prev.png b/stuff/library/mypaint brushes/classic/modelling_prev.png new file mode 100644 index 0000000..5ec6c93 Binary files /dev/null and b/stuff/library/mypaint brushes/classic/modelling_prev.png differ diff --git a/stuff/library/mypaint brushes/classic/pen.myb b/stuff/library/mypaint brushes/classic/pen.myb new file mode 100644 index 0000000..6057896 --- /dev/null +++ b/stuff/library/mypaint brushes/classic/pen.myb @@ -0,0 +1,241 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "parent_brush_name": "classic/pen", + "settings": { + "anti_aliasing": { + "base_value": 1.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.0, + "inputs": {} + }, + "color_s": { + "base_value": 0.0, + "inputs": {} + }, + "color_v": { + "base_value": 0.0, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 2.2, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 0.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 90.0, + "inputs": {} + }, + "elliptical_dab_ratio": { + "base_value": 1.0, + "inputs": {} + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 0.9, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 0.05 + ] + ], + "speed1": [ + [ + 0.0, + -0.0 + ], + [ + 1.0, + -0.09 + ] + ] + } + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 1.0, + "inputs": {} + }, + "opaque_linearize": { + "base_value": 0.9, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.015, + 0.0 + ], + [ + 0.015, + 1.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 0.96, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 0.5 + ] + ], + "speed1": [ + [ + 0.0, + -0.0 + ], + [ + 1.0, + -0.21 + ] + ] + } + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 0.65, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.8, + "inputs": {} + }, + "smudge": { + "base_value": 0.0, + "inputs": {} + }, + "smudge_length": { + "base_value": 0.5, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 2.87, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 4.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 0.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} \ No newline at end of file diff --git a/stuff/library/mypaint brushes/classic/pen_prev.png b/stuff/library/mypaint brushes/classic/pen_prev.png new file mode 100644 index 0000000..b87e248 Binary files /dev/null and b/stuff/library/mypaint brushes/classic/pen_prev.png differ diff --git a/stuff/library/mypaint brushes/classic/pencil.myb b/stuff/library/mypaint brushes/classic/pencil.myb new file mode 100644 index 0000000..2878434 --- /dev/null +++ b/stuff/library/mypaint brushes/classic/pencil.myb @@ -0,0 +1,213 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "parent_brush_name": "classic/pencil", + "settings": { + "anti_aliasing": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.0, + "inputs": {} + }, + "color_s": { + "base_value": 0.0, + "inputs": {} + }, + "color_v": { + "base_value": 0.0, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 4.0, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 0.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 90.0, + "inputs": {} + }, + "elliptical_dab_ratio": { + "base_value": 1.0, + "inputs": {} + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 0.1, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 0.3 + ] + ] + } + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 0.5, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + -0.3 + ] + ] + } + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 0.7, + "inputs": {} + }, + "opaque_linearize": { + "base_value": 0.9, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 0.2, + "inputs": {} + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 1.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 0.0, + "inputs": {} + }, + "smudge_length": { + "base_value": 0.5, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 4.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 0.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} \ No newline at end of file diff --git a/stuff/library/mypaint brushes/classic/pencil_prev.png b/stuff/library/mypaint brushes/classic/pencil_prev.png new file mode 100644 index 0000000..6e618eb Binary files /dev/null and b/stuff/library/mypaint brushes/classic/pencil_prev.png differ diff --git a/stuff/library/mypaint brushes/classic/pointy_ink.myb b/stuff/library/mypaint brushes/classic/pointy_ink.myb new file mode 100644 index 0000000..d6e77be --- /dev/null +++ b/stuff/library/mypaint brushes/classic/pointy_ink.myb @@ -0,0 +1,267 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "parent_brush_name": "classic/pointy_ink", + "settings": { + "anti_aliasing": { + "base_value": 1.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.0, + "inputs": {} + }, + "color_s": { + "base_value": 0.0, + "inputs": {} + }, + "color_v": { + "base_value": 0.0, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 2.2, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 0.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 90.0, + "inputs": {} + }, + "elliptical_dab_ratio": { + "base_value": 1.0, + "inputs": {} + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 0.8, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 0.65 + ] + ], + "speed1": [ + [ + 0.0, + 0.064687 + ], + [ + 1.0, + -0.09 + ] + ] + } + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 1.0, + "inputs": {} + }, + "opaque_linearize": { + "base_value": 0.9, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.015, + 0.0 + ], + [ + 0.015, + 1.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 0.96, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 3.36 + ] + ], + "speed1": [ + [ + 0.0, + 0.14875 + ], + [ + 1.0, + -0.21 + ] + ], + "stroke": [ + [ + 0.0, + -0.62 + ], + [ + 0.157407, + -0.393958 + ], + [ + 0.29321, + -0.238958 + ], + [ + 0.5, + -0.148542 + ], + [ + 0.700617, + -0.064583 + ], + [ + 1.0, + 0.0 + ] + ] + } + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 0.0, + "inputs": {} + }, + "smudge_length": { + "base_value": 0.5, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 2.87, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 1.18, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 10.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} \ No newline at end of file diff --git a/stuff/library/mypaint brushes/classic/pointy_ink_prev.png b/stuff/library/mypaint brushes/classic/pointy_ink_prev.png new file mode 100644 index 0000000..1b0aafa Binary files /dev/null and b/stuff/library/mypaint brushes/classic/pointy_ink_prev.png differ diff --git a/stuff/library/mypaint brushes/classic/puantilism.myb b/stuff/library/mypaint brushes/classic/puantilism.myb new file mode 100644 index 0000000..dd6db48 --- /dev/null +++ b/stuff/library/mypaint brushes/classic/puantilism.myb @@ -0,0 +1,346 @@ +{ + "comment": "MyPaint brush file", + "group": "oil", + "parent_brush_name": "classic/puantilism", + "settings": { + "anti_aliasing": { + "base_value": 1.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": { + "custom": [ + [ + -2.0, + -0.04 + ], + [ + 2.0, + 0.04 + ] + ] + } + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": { + "stroke": [ + [ + 0.0, + 0.0 + ], + [ + 0.87963, + 0.02 + ], + [ + 1.0, + 0.0 + ] + ] + } + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.0, + "inputs": {} + }, + "color_s": { + "base_value": 0.0, + "inputs": {} + }, + "color_v": { + "base_value": 0.0, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": { + "random": [ + [ + 0.0, + -10.0 + ], + [ + 1.0, + 10.0 + ] + ] + } + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": { + "tilt_declination": [ + [ + 0.0, + 4.41 + ], + [ + 90.0, + 0.0 + ] + ] + } + }, + "dabs_per_actual_radius": { + "base_value": 6.0, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 6.0, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 80.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 0.0, + "inputs": { + "direction": [ + [ + 0.0, + 0.0 + ], + [ + 180.0, + 180.0 + ] + ] + } + }, + "elliptical_dab_ratio": { + "base_value": 1.0, + "inputs": { + "tilt_declination": [ + [ + 0.0, + 6.11 + ], + [ + 90.0, + 0.0 + ] + ] + } + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 0.8, + "inputs": {} + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 2.0, + "inputs": { + "tilt_declination": [ + [ + 0.0, + -0.0 + ], + [ + 45.0, + -0.0 + ], + [ + 90.0, + -0.83 + ] + ] + } + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 1.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.166667, + 0.75 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "opaque_linearize": { + "base_value": 0.9, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.067901, + 0.78125 + ], + [ + 0.185185, + 1.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 1.42, + "inputs": { + "pressure": [ + [ + 0.0, + -2.0 + ], + [ + 0.401235, + 0.0 + ], + [ + 1.0, + 0.0 + ] + ] + } + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 0.9, + "inputs": { + "pressure": [ + [ + 0.0, + 0.510417 + ], + [ + 1.0, + -1.0 + ] + ], + "stroke": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "smudge_length": { + "base_value": 0.0, + "inputs": { + "stroke": [ + [ + 0.0, + 1.0 + ], + [ + 1.0, + -1.0 + ] + ] + } + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 6.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 10.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.2, + "inputs": {} + } + }, + "version": 3 +} \ No newline at end of file diff --git a/stuff/library/mypaint brushes/classic/puantilism2.myb b/stuff/library/mypaint brushes/classic/puantilism2.myb new file mode 100644 index 0000000..5fc0029 --- /dev/null +++ b/stuff/library/mypaint brushes/classic/puantilism2.myb @@ -0,0 +1,382 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "parent_brush_name": "classic/puantilism2", + "settings": { + "anti_aliasing": { + "base_value": 1.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": { + "custom": [ + [ + -2.0, + -0.04 + ], + [ + 2.0, + 0.04 + ] + ] + } + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": { + "random": [ + [ + 0.0, + -0.21 + ], + [ + 1.0, + 0.21 + ] + ] + } + }, + "change_color_l": { + "base_value": 0.0, + "inputs": { + "stroke": [ + [ + 0.0, + 0.0 + ], + [ + 0.87963, + 0.02 + ], + [ + 1.0, + 0.0 + ] + ] + } + }, + "change_color_v": { + "base_value": 0.0, + "inputs": { + "random": [ + [ + 0.0, + -0.1 + ], + [ + 1.0, + 0.1 + ] + ] + } + }, + "color_h": { + "base_value": 0.0, + "inputs": {} + }, + "color_s": { + "base_value": 0.0, + "inputs": {} + }, + "color_v": { + "base_value": 0.0, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": { + "random": [ + [ + 0.0, + -10.0 + ], + [ + 1.0, + 10.0 + ] + ] + } + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": { + "tilt_declination": [ + [ + 0.0, + 4.41 + ], + [ + 90.0, + 0.0 + ] + ] + } + }, + "dabs_per_actual_radius": { + "base_value": 2.0, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 80.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 0.0, + "inputs": { + "tilt_ascension": [ + [ + -180.0, + -180.0 + ], + [ + 180.0, + 180.0 + ] + ] + } + }, + "elliptical_dab_ratio": { + "base_value": 1.0, + "inputs": { + "tilt_declination": [ + [ + 0.0, + 4.6 + ], + [ + 90.0, + -0.0 + ] + ] + } + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 0.8, + "inputs": {} + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 1.06, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.57561, + 0.428958 + ], + [ + 1.0, + 1.42 + ] + ], + "tilt_declination": [ + [ + 0.0, + -0.0 + ], + [ + 45.0, + -0.0 + ], + [ + 90.0, + -0.83 + ] + ] + } + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 1.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.166667, + 0.75 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "opaque_linearize": { + "base_value": 0.9, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.067901, + 0.78125 + ], + [ + 0.185185, + 1.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 2.02, + "inputs": { + "pressure": [ + [ + 0.0, + -2.0 + ], + [ + 0.401235, + 0.0 + ], + [ + 1.0, + 0.0 + ] + ] + } + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 0.9, + "inputs": { + "pressure": [ + [ + 0.0, + 0.510417 + ], + [ + 1.0, + -1.0 + ] + ], + "stroke": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "smudge_length": { + "base_value": 0.0, + "inputs": { + "stroke": [ + [ + 0.0, + 1.0 + ], + [ + 1.0, + -1.0 + ] + ] + } + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 6.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 10.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.2, + "inputs": {} + } + }, + "version": 3 +} \ No newline at end of file diff --git a/stuff/library/mypaint brushes/classic/puantilism2_prev.png b/stuff/library/mypaint brushes/classic/puantilism2_prev.png new file mode 100644 index 0000000..399c093 Binary files /dev/null and b/stuff/library/mypaint brushes/classic/puantilism2_prev.png differ diff --git a/stuff/library/mypaint brushes/classic/puantilism_prev.png b/stuff/library/mypaint brushes/classic/puantilism_prev.png new file mode 100644 index 0000000..306b4dd Binary files /dev/null and b/stuff/library/mypaint brushes/classic/puantilism_prev.png differ diff --git a/stuff/library/mypaint brushes/classic/rounded.myb b/stuff/library/mypaint brushes/classic/rounded.myb new file mode 100644 index 0000000..5295d7e --- /dev/null +++ b/stuff/library/mypaint brushes/classic/rounded.myb @@ -0,0 +1,221 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "parent_brush_name": "", + "settings": { + "anti_aliasing": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.116482286819, + "inputs": {} + }, + "color_s": { + "base_value": 1.0, + "inputs": {} + }, + "color_v": { + "base_value": 1.0, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 6.0, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 0.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 167.14, + "inputs": {} + }, + "elliptical_dab_ratio": { + "base_value": 1.0, + "inputs": {} + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 1.0, + "inputs": { + "custom": [ + [ + -2.0, + 0.0 + ], + [ + -0.703704, + 0.007292 + ], + [ + 0.469136, + 0.027083 + ], + [ + 2.0, + 0.1 + ] + ] + } + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 0.69, + "inputs": {} + }, + "opaque_linearize": { + "base_value": 2.0, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 3.3, + "inputs": {} + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 0.08, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 0.0, + "inputs": {} + }, + "smudge_length": { + "base_value": 0.5, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 4.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 0.06, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} \ No newline at end of file diff --git a/stuff/library/mypaint brushes/classic/rounded_prev.png b/stuff/library/mypaint brushes/classic/rounded_prev.png new file mode 100644 index 0000000..6c706a7 Binary files /dev/null and b/stuff/library/mypaint brushes/classic/rounded_prev.png differ diff --git a/stuff/library/mypaint brushes/classic/short_grass.myb b/stuff/library/mypaint brushes/classic/short_grass.myb new file mode 100644 index 0000000..1521fbe --- /dev/null +++ b/stuff/library/mypaint brushes/classic/short_grass.myb @@ -0,0 +1,289 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "parent_brush_name": "classic/short_grass", + "settings": { + "anti_aliasing": { + "base_value": 1.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": { + "random": [ + [ + 0.0, + -0.05 + ], + [ + 1.0, + 0.05 + ] + ], + "stroke": [ + [ + 0.0, + -0.004687 + ], + [ + 1.0, + 0.004792 + ] + ] + } + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": { + "random": [ + [ + 0.0, + -0.01 + ], + [ + 1.0, + 0.01 + ] + ] + } + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": { + "random": [ + [ + 0.0, + -0.28 + ], + [ + 1.0, + 0.28 + ] + ], + "stroke": [ + [ + 0.0, + -0.23 + ], + [ + 0.5, + 0.23 + ], + [ + 1.0, + -0.227604 + ] + ] + } + }, + "color_h": { + "base_value": 0.0, + "inputs": {} + }, + "color_s": { + "base_value": 0.0, + "inputs": {} + }, + "color_v": { + "base_value": 0.0, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 3.24, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 0.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 90.0, + "inputs": { + "random": [ + [ + 0.0, + -36.46 + ], + [ + 0.11039, + -4.177708 + ], + [ + 0.899351, + 4.5575 + ], + [ + 1.0, + 36.46 + ] + ] + } + }, + "elliptical_dab_ratio": { + "base_value": 3.91, + "inputs": {} + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 0.91, + "inputs": {} + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 1.79, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + -1.4 + ] + ] + } + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 0.78, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 0.4 + ] + ] + } + }, + "opaque_linearize": { + "base_value": 0.56, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 2.5, + "inputs": {} + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 2.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 0.0, + "inputs": {} + }, + "smudge_length": { + "base_value": 0.5, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 5.96, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 0.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} \ No newline at end of file diff --git a/stuff/library/mypaint brushes/classic/short_grass_prev.png b/stuff/library/mypaint brushes/classic/short_grass_prev.png new file mode 100644 index 0000000..181375d Binary files /dev/null and b/stuff/library/mypaint brushes/classic/short_grass_prev.png differ diff --git a/stuff/library/mypaint brushes/classic/slow_ink.myb b/stuff/library/mypaint brushes/classic/slow_ink.myb new file mode 100644 index 0000000..7452fa8 --- /dev/null +++ b/stuff/library/mypaint brushes/classic/slow_ink.myb @@ -0,0 +1,241 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "parent_brush_name": "classic/slow_ink", + "settings": { + "anti_aliasing": { + "base_value": 1.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.0, + "inputs": {} + }, + "color_s": { + "base_value": 0.0, + "inputs": {} + }, + "color_v": { + "base_value": 0.0, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 2.0, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 0.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 90.0, + "inputs": {} + }, + "elliptical_dab_ratio": { + "base_value": 1.0, + "inputs": {} + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 0.8, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 0.06 + ] + ], + "speed1": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + -0.1 + ] + ] + } + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 1.0, + "inputs": {} + }, + "opaque_linearize": { + "base_value": 0.9, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.191358, + 0.0 + ], + [ + 0.200617, + 1.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 1.37, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 0.5 + ] + ], + "speed1": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + -0.3 + ] + ] + } + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 8.64, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 1.44, + "inputs": {} + }, + "smudge": { + "base_value": 0.0, + "inputs": {} + }, + "smudge_length": { + "base_value": 0.5, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.11, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 4.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 0.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} \ No newline at end of file diff --git a/stuff/library/mypaint brushes/classic/slow_ink_prev.png b/stuff/library/mypaint brushes/classic/slow_ink_prev.png new file mode 100644 index 0000000..29dbeb9 Binary files /dev/null and b/stuff/library/mypaint brushes/classic/slow_ink_prev.png differ diff --git a/stuff/library/mypaint brushes/classic/smudge+paint.myb b/stuff/library/mypaint brushes/classic/smudge+paint.myb new file mode 100644 index 0000000..bf747b6 --- /dev/null +++ b/stuff/library/mypaint brushes/classic/smudge+paint.myb @@ -0,0 +1,263 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "parent_brush_name": "", + "settings": { + "anti_aliasing": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.0, + "inputs": {} + }, + "color_s": { + "base_value": 0.0, + "inputs": {} + }, + "color_v": { + "base_value": 0.0, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 2.66, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 0.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 90.0, + "inputs": {} + }, + "elliptical_dab_ratio": { + "base_value": 1.0, + "inputs": {} + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 0.32, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 0.4 + ] + ] + } + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 0.64, + "inputs": { + "speed1": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + -0.2 + ] + ] + } + }, + "opaque_linearize": { + "base_value": 0.0, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.077381, + 0.197917 + ], + [ + 0.229167, + 0.385417 + ], + [ + 0.589286, + 0.510417 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 2.2, + "inputs": { + "pressure": [ + [ + 0.0, + 0.4 + ], + [ + 1.0, + -0.6 + ] + ] + } + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 1.0 + ], + [ + 0.219136, + 1.0 + ], + [ + 0.333333, + 0.895833 + ], + [ + 0.5, + 0.510417 + ], + [ + 0.759259, + 0.15625 + ], + [ + 1.0, + -0.0 + ] + ] + } + }, + "smudge_length": { + "base_value": 0.28, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 4.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 0.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} \ No newline at end of file diff --git a/stuff/library/mypaint brushes/classic/smudge+paint_prev.png b/stuff/library/mypaint brushes/classic/smudge+paint_prev.png new file mode 100644 index 0000000..261ef9a Binary files /dev/null and b/stuff/library/mypaint brushes/classic/smudge+paint_prev.png differ diff --git a/stuff/library/mypaint brushes/classic/smudge.myb b/stuff/library/mypaint brushes/classic/smudge.myb new file mode 100644 index 0000000..876fdd1 --- /dev/null +++ b/stuff/library/mypaint brushes/classic/smudge.myb @@ -0,0 +1,213 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "parent_brush_name": "classic/smudge", + "settings": { + "anti_aliasing": { + "base_value": 1.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.0, + "inputs": {} + }, + "color_s": { + "base_value": 0.0, + "inputs": {} + }, + "color_v": { + "base_value": 0.0, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 2.0, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 0.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 90.0, + "inputs": {} + }, + "elliptical_dab_ratio": { + "base_value": 1.0, + "inputs": {} + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 0.2, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 0.4 + ] + ] + } + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 1.0, + "inputs": { + "speed1": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + -0.2 + ] + ] + } + }, + "opaque_linearize": { + "base_value": 0.0, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 1.6, + "inputs": {} + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 1.0, + "inputs": {} + }, + "smudge_length": { + "base_value": 0.35, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 4.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 0.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} \ No newline at end of file diff --git a/stuff/library/mypaint brushes/classic/smudge_prev.png b/stuff/library/mypaint brushes/classic/smudge_prev.png new file mode 100644 index 0000000..e9e08ee Binary files /dev/null and b/stuff/library/mypaint brushes/classic/smudge_prev.png differ diff --git a/stuff/library/mypaint brushes/classic/textured_ink.myb b/stuff/library/mypaint brushes/classic/textured_ink.myb new file mode 100644 index 0000000..30588b5 --- /dev/null +++ b/stuff/library/mypaint brushes/classic/textured_ink.myb @@ -0,0 +1,228 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "parent_brush_name": "classic/textured_ink", + "settings": { + "anti_aliasing": { + "base_value": 0.61, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.0, + "inputs": {} + }, + "color_s": { + "base_value": 0.0, + "inputs": {} + }, + "color_v": { + "base_value": 0.0, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 6.0, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 6.0, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 0.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 90.0, + "inputs": {} + }, + "elliptical_dab_ratio": { + "base_value": 1.0, + "inputs": {} + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 1.0, + "inputs": {} + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 1.4 + ] + ] + } + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 1.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 0.2 + ] + ] + } + }, + "opaque_linearize": { + "base_value": 0.0, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.055556, + 0.895833 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.1, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 0.9, + "inputs": { + "speed2": [ + [ + 0.0, + 0.042857 + ], + [ + 4.0, + -0.3 + ] + ] + } + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 2.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 0.0, + "inputs": {} + }, + "smudge_length": { + "base_value": 0.5, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 4.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 0.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} \ No newline at end of file diff --git a/stuff/library/mypaint brushes/classic/textured_ink_prev.png b/stuff/library/mypaint brushes/classic/textured_ink_prev.png new file mode 100644 index 0000000..2affba5 Binary files /dev/null and b/stuff/library/mypaint brushes/classic/textured_ink_prev.png differ diff --git a/stuff/library/mypaint brushes/classic/wet_knife.myb b/stuff/library/mypaint brushes/classic/wet_knife.myb new file mode 100644 index 0000000..dfafb98 --- /dev/null +++ b/stuff/library/mypaint brushes/classic/wet_knife.myb @@ -0,0 +1,221 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "parent_brush_name": "classic/wet_knife", + "settings": { + "anti_aliasing": { + "base_value": 1.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.0, + "inputs": {} + }, + "color_s": { + "base_value": 0.0, + "inputs": {} + }, + "color_v": { + "base_value": 0.0, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "custom_input_slowness": { + "base_value": 0.71, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 5.75, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 0.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.99, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 90.0, + "inputs": { + "direction": [ + [ + 0.0, + 0.0 + ], + [ + 180.0, + 180.0 + ] + ] + } + }, + "elliptical_dab_ratio": { + "base_value": 6.52, + "inputs": {} + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 0.8, + "inputs": {} + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 1.0, + "inputs": {} + }, + "opaque_linearize": { + "base_value": 0.9, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.117284, + 0.635417 + ], + [ + 0.330247, + 0.9375 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 2.3, + "inputs": {} + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 1.0, + "inputs": {} + }, + "smudge_length": { + "base_value": 0.5, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 4.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 0.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} \ No newline at end of file diff --git a/stuff/library/mypaint brushes/classic/wet_knife_prev.png b/stuff/library/mypaint brushes/classic/wet_knife_prev.png new file mode 100644 index 0000000..2e3e641 Binary files /dev/null and b/stuff/library/mypaint brushes/classic/wet_knife_prev.png differ diff --git a/stuff/library/mypaint brushes/deevad/2B_pencil.myb b/stuff/library/mypaint brushes/deevad/2B_pencil.myb new file mode 100644 index 0000000..5743745 --- /dev/null +++ b/stuff/library/mypaint brushes/deevad/2B_pencil.myb @@ -0,0 +1,230 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "description": "A digital pencil soft 2B", + "notes": "A brush preset part of the Brushkit v0.6 \n created in october 2012 by David Revoy ( aka Deevad ) \n source: http://www.davidrevoy.com/article142/ressource-mypaint-brushes \n license: CC-Zero/Public-Domain", + "parent_brush_name": "", + "settings": { + "anti_aliasing": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.02525252525252525, + "inputs": {} + }, + "color_s": { + "base_value": 1.0, + "inputs": {} + }, + "color_v": { + "base_value": 0.0, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 4.0, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 0.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 90.0, + "inputs": {} + }, + "elliptical_dab_ratio": { + "base_value": 1.0, + "inputs": {} + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 0.2, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 0.3 + ] + ] + } + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 0.5, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + -0.3 + ] + ] + } + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 0.15000000000027122, + "inputs": {} + }, + "opaque_linearize": { + "base_value": 0.0, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 0.75, + "inputs": { + "pressure": [ + [ + 0.0, + -0.687917 + ], + [ + 0.752976, + 0.236471 + ], + [ + 1.0, + 0.286632 + ] + ] + } + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 1.03, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 1.5, + "inputs": {} + }, + "smudge": { + "base_value": 0.0, + "inputs": {} + }, + "smudge_length": { + "base_value": 0.5, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 4.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 0.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} diff --git a/stuff/library/mypaint brushes/deevad/2B_pencil_prev.png b/stuff/library/mypaint brushes/deevad/2B_pencil_prev.png new file mode 100644 index 0000000..73d3a99 Binary files /dev/null and b/stuff/library/mypaint brushes/deevad/2B_pencil_prev.png differ diff --git a/stuff/library/mypaint brushes/deevad/4H_pencil.myb b/stuff/library/mypaint brushes/deevad/4H_pencil.myb new file mode 100644 index 0000000..4020e5a --- /dev/null +++ b/stuff/library/mypaint brushes/deevad/4H_pencil.myb @@ -0,0 +1,230 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "description": "A digital pencil hard 4H", + "notes": "A brush preset part of the Brushkit v0.6 \n created in october 2012 by David Revoy ( aka Deevad ) \n source: http://www.davidrevoy.com/article142/ressource-mypaint-brushes \n license: CC-Zero/Public-Domain", + "parent_brush_name": "", + "settings": { + "anti_aliasing": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.0, + "inputs": {} + }, + "color_s": { + "base_value": 0.0, + "inputs": {} + }, + "color_v": { + "base_value": 0.370962081331, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 4.0, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 0.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 90.0, + "inputs": {} + }, + "elliptical_dab_ratio": { + "base_value": 1.0, + "inputs": {} + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 0.2, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 0.3 + ] + ] + } + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 0.5, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + -0.3 + ] + ] + } + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 0.0257201646091, + "inputs": {} + }, + "opaque_linearize": { + "base_value": 0.0, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 0.75, + "inputs": { + "pressure": [ + [ + 0.0, + -0.687917 + ], + [ + 0.752976, + 0.236471 + ], + [ + 1.0, + 0.286632 + ] + ] + } + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 0.0, + "inputs": {} + }, + "smudge_length": { + "base_value": 0.5, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 4.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 0.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} diff --git a/stuff/library/mypaint brushes/deevad/4H_pencil_prev.png b/stuff/library/mypaint brushes/deevad/4H_pencil_prev.png new file mode 100644 index 0000000..1a5b4e7 Binary files /dev/null and b/stuff/library/mypaint brushes/deevad/4H_pencil_prev.png differ diff --git a/stuff/library/mypaint brushes/deevad/airbrush.myb b/stuff/library/mypaint brushes/deevad/airbrush.myb new file mode 100644 index 0000000..cf2dc1e --- /dev/null +++ b/stuff/library/mypaint brushes/deevad/airbrush.myb @@ -0,0 +1,234 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "description": "An airbrush", + "notes": "A brush preset part of the Brushkit v0.6 \n created in october 2012 by David Revoy ( aka Deevad ) \n source: http://www.davidrevoy.com/article142/ressource-mypaint-brushes \n license: CC-Zero/Public-Domain", + "parent_brush_name": "", + "settings": { + "anti_aliasing": { + "base_value": 1.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.08902229845626071, + "inputs": {} + }, + "color_s": { + "base_value": 1.0, + "inputs": {} + }, + "color_v": { + "base_value": 0.0, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "custom_input_slowness": { + "base_value": 0.71, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 5.75, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 0.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.99, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 90.0, + "inputs": { + "direction": [ + [ + 0.0, + 0.0 + ], + [ + 180.0, + 180.0 + ] + ] + } + }, + "elliptical_dab_ratio": { + "base_value": 1.0, + "inputs": {} + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 0.48, + "inputs": {} + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 0.52, + "inputs": {} + }, + "opaque_linearize": { + "base_value": 2.0, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.111111, + 0.5 + ], + [ + 0.308642, + 0.833333 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 4.7, + "inputs": { + "custom": [ + [ + -2.0, + 0.45 + ], + [ + 2.0, + -0.45 + ] + ] + } + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 0.0, + "inputs": {} + }, + "smudge_length": { + "base_value": 0.5, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 4.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 0.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} diff --git a/stuff/library/mypaint brushes/deevad/airbrush_prev.png b/stuff/library/mypaint brushes/deevad/airbrush_prev.png new file mode 100644 index 0000000..188ebaa Binary files /dev/null and b/stuff/library/mypaint brushes/deevad/airbrush_prev.png differ diff --git a/stuff/library/mypaint brushes/deevad/ballpen.myb b/stuff/library/mypaint brushes/deevad/ballpen.myb new file mode 100644 index 0000000..9977957 --- /dev/null +++ b/stuff/library/mypaint brushes/deevad/ballpen.myb @@ -0,0 +1,236 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "description": "A ballpen", + "notes": "A brush preset part of the Brushkit v0.6 \n created in october 2012 by David Revoy ( aka Deevad ) \n source: http://www.davidrevoy.com/article142/ressource-mypaint-brushes \n license: CC-Zero/Public-Domain", + "parent_brush_name": "", + "settings": { + "anti_aliasing": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.0, + "inputs": {} + }, + "color_s": { + "base_value": 0.0, + "inputs": {} + }, + "color_v": { + "base_value": 0.0, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 4.0, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 0.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 90.0, + "inputs": {} + }, + "elliptical_dab_ratio": { + "base_value": 1.0, + "inputs": {} + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 0.2, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 0.3 + ] + ] + } + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.354167 + ], + [ + 1.0, + -0.0 + ] + ] + } + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 0.2, + "inputs": {} + }, + "opaque_linearize": { + "base_value": 0.0, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 0.8, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 0.17 + ] + ], + "speed2": [ + [ + 0.0, + -0.0 + ], + [ + 4.0, + -0.04 + ] + ] + } + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 0.0, + "inputs": {} + }, + "smudge_length": { + "base_value": 0.5, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 4.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 0.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} diff --git a/stuff/library/mypaint brushes/deevad/ballpen_prev.png b/stuff/library/mypaint brushes/deevad/ballpen_prev.png new file mode 100644 index 0000000..d74140f Binary files /dev/null and b/stuff/library/mypaint brushes/deevad/ballpen_prev.png differ diff --git a/stuff/library/mypaint brushes/deevad/basic_digital_brush.myb b/stuff/library/mypaint brushes/deevad/basic_digital_brush.myb new file mode 100644 index 0000000..4c54a14 --- /dev/null +++ b/stuff/library/mypaint brushes/deevad/basic_digital_brush.myb @@ -0,0 +1,273 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "description": "A basic rounded digital brush", + "notes": "A brush preset part of the Brushkit v0.6 \n created in october 2012 by David Revoy ( aka Deevad ) \n source: http://www.davidrevoy.com/article142/ressource-mypaint-brushes \n license: CC-Zero/Public-Domain", + "parent_brush_name": "", + "settings": { + "anti_aliasing": { + "base_value": 2.3, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.02525252525252525, + "inputs": {} + }, + "color_s": { + "base_value": 1.0, + "inputs": {} + }, + "color_v": { + "base_value": 0.0, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 2.0, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 4.63, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 0.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 90.0, + "inputs": {} + }, + "elliptical_dab_ratio": { + "base_value": 1.0, + "inputs": {} + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 0.8, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 2.54152805533e-05, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.2875, + 0.0625 + ], + [ + 0.645, + 0.19791666666666663 + ], + [ + 0.875, + 0.65625 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "opaque_linearize": { + "base_value": 0.9, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.080645, + 0.072917 + ], + [ + 0.154839, + 0.291667 + ], + [ + 0.21129, + 0.458333 + ], + [ + 0.285484, + 0.760417 + ], + [ + 0.348387, + 0.947917 + ], + [ + 0.416129, + 1.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 3.02, + "inputs": {} + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 1.0 + ], + [ + 1.0, + -1.0 + ] + ] + } + }, + "smudge_length": { + "base_value": 0.5, + "inputs": { + "stroke": [ + [ + 0.0, + 1.0 + ], + [ + 1.0, + -1.0 + ] + ] + } + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 4.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 10.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} diff --git a/stuff/library/mypaint brushes/deevad/basic_digital_brush_prev.png b/stuff/library/mypaint brushes/deevad/basic_digital_brush_prev.png new file mode 100644 index 0000000..75a6a40 Binary files /dev/null and b/stuff/library/mypaint brushes/deevad/basic_digital_brush_prev.png differ diff --git a/stuff/library/mypaint brushes/deevad/basic_digital_brush_smudging.myb b/stuff/library/mypaint brushes/deevad/basic_digital_brush_smudging.myb new file mode 100644 index 0000000..1030200 --- /dev/null +++ b/stuff/library/mypaint brushes/deevad/basic_digital_brush_smudging.myb @@ -0,0 +1,257 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "description": "A basic rounded brush able to smudge color", + "notes": "A brush preset part of the Brushkit v0.6 \n created in october 2012 by David Revoy ( aka Deevad ) \n source: http://www.davidrevoy.com/article142/ressource-mypaint-brushes \n license: CC-Zero/Public-Domain", + "parent_brush_name": "", + "settings": { + "anti_aliasing": { + "base_value": 1.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.020849858356940493, + "inputs": {} + }, + "color_s": { + "base_value": 0.9613289760348583, + "inputs": {} + }, + "color_v": { + "base_value": 1.0, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 6.0, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 6.0, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 0.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 0.87, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 90.0, + "inputs": { + "direction": [ + [ + 0.0, + 0.0 + ], + [ + 180.0, + 180.0 + ] + ] + } + }, + "elliptical_dab_ratio": { + "base_value": 1.0, + "inputs": {} + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 0.48, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 1.0, + "inputs": { + "pressure": [ + [ + 0.0, + -1.0 + ], + [ + 0.61129, + -0.916667 + ], + [ + 0.825806, + -0.614583 + ], + [ + 0.958065, + 0.166667 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "opaque_linearize": { + "base_value": 0.0, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.052469, + 0.625 + ], + [ + 0.166667, + 1.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 2.9000000000000012, + "inputs": {} + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 0.91, + "inputs": { + "pressure": [ + [ + 0.0, + 0.286667 + ], + [ + 1.0, + -0.43 + ] + ] + } + }, + "smudge_length": { + "base_value": 0.5, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 4.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 0.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} diff --git a/stuff/library/mypaint brushes/deevad/basic_digital_brush_smudging_prev.png b/stuff/library/mypaint brushes/deevad/basic_digital_brush_smudging_prev.png new file mode 100644 index 0000000..dfc1f03 Binary files /dev/null and b/stuff/library/mypaint brushes/deevad/basic_digital_brush_smudging_prev.png differ diff --git a/stuff/library/mypaint brushes/deevad/basic_digital_knife.myb b/stuff/library/mypaint brushes/deevad/basic_digital_knife.myb new file mode 100644 index 0000000..650dd5b --- /dev/null +++ b/stuff/library/mypaint brushes/deevad/basic_digital_knife.myb @@ -0,0 +1,273 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "description": "A flat brush attempting to emulate a paint-knife", + "notes": "A brush preset part of the Brushkit v0.6 \n created in october 2012 by David Revoy ( aka Deevad ) \n source: http://www.davidrevoy.com/article142/ressource-mypaint-brushes \n license: CC-Zero/Public-Domain", + "parent_brush_name": "", + "settings": { + "anti_aliasing": { + "base_value": 2.3, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.07983276469913346, + "inputs": {} + }, + "color_s": { + "base_value": 0.8515061518879932, + "inputs": {} + }, + "color_v": { + "base_value": 1.0, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 2.0, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 4.63, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 0.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 159.91, + "inputs": {} + }, + "elliptical_dab_ratio": { + "base_value": 3.61, + "inputs": {} + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 0.8, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 2.54152805533e-05, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.2875, + 0.0625 + ], + [ + 0.645, + 0.19791666666666663 + ], + [ + 0.875, + 0.65625 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "opaque_linearize": { + "base_value": 0.9, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.080645, + 0.072917 + ], + [ + 0.154839, + 0.291667 + ], + [ + 0.21129, + 0.458333 + ], + [ + 0.285484, + 0.760417 + ], + [ + 0.348387, + 0.947917 + ], + [ + 0.416129, + 1.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 3.02, + "inputs": {} + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 1.0 + ], + [ + 1.0, + -1.0 + ] + ] + } + }, + "smudge_length": { + "base_value": 0.5, + "inputs": { + "stroke": [ + [ + 0.0, + 1.0 + ], + [ + 1.0, + -1.0 + ] + ] + } + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 4.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 10.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} diff --git a/stuff/library/mypaint brushes/deevad/basic_digital_knife_prev.png b/stuff/library/mypaint brushes/deevad/basic_digital_knife_prev.png new file mode 100644 index 0000000..3b06ffe Binary files /dev/null and b/stuff/library/mypaint brushes/deevad/basic_digital_knife_prev.png differ diff --git a/stuff/library/mypaint brushes/deevad/basic_digital_knife_smudging.myb b/stuff/library/mypaint brushes/deevad/basic_digital_knife_smudging.myb new file mode 100644 index 0000000..31b1b3e --- /dev/null +++ b/stuff/library/mypaint brushes/deevad/basic_digital_knife_smudging.myb @@ -0,0 +1,246 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "description": "A flat brush attempting to emulate a paint-knife with smudging", + "notes": "A brush preset part of the Brushkit v0.6 \n created in october 2012 by David Revoy ( aka Deevad ) \n source: http://www.davidrevoy.com/article142/ressource-mypaint-brushes \n license: CC-Zero/Public-Domain", + "parent_brush_name": "", + "settings": { + "anti_aliasing": { + "base_value": 4.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.07983276469913346, + "inputs": {} + }, + "color_s": { + "base_value": 0.0, + "inputs": {} + }, + "color_v": { + "base_value": 1.0, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 6.0, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 6.0, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 0.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 159.91, + "inputs": {} + }, + "elliptical_dab_ratio": { + "base_value": 3.61, + "inputs": {} + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 0.48, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 1.0, + "inputs": { + "pressure": [ + [ + 0.0, + -1.0 + ], + [ + 0.61129, + -0.916667 + ], + [ + 0.825806, + -0.614583 + ], + [ + 0.958065, + 0.166667 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "opaque_linearize": { + "base_value": 0.0, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.052469, + 0.625 + ], + [ + 0.166667, + 1.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 3.25, + "inputs": {} + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 0.91, + "inputs": { + "pressure": [ + [ + 0.0, + 0.286667 + ], + [ + 1.0, + -0.43 + ] + ] + } + }, + "smudge_length": { + "base_value": 0.5, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 4.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 0.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} diff --git a/stuff/library/mypaint brushes/deevad/basic_digital_knife_smudging_prev.png b/stuff/library/mypaint brushes/deevad/basic_digital_knife_smudging_prev.png new file mode 100644 index 0000000..626abe4 Binary files /dev/null and b/stuff/library/mypaint brushes/deevad/basic_digital_knife_smudging_prev.png differ diff --git a/stuff/library/mypaint brushes/deevad/blending.myb b/stuff/library/mypaint brushes/deevad/blending.myb new file mode 100644 index 0000000..d06a937 --- /dev/null +++ b/stuff/library/mypaint brushes/deevad/blending.myb @@ -0,0 +1,215 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "description": "A brush to blend colors on canvas", + "notes": "A brush preset part of the Brushkit v0.6 \n created in october 2012 by David Revoy ( aka Deevad ) \n source: http://www.davidrevoy.com/article142/ressource-mypaint-brushes \n license: CC-Zero/Public-Domain", + "parent_brush_name": "", + "settings": { + "anti_aliasing": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.07582697201017817, + "inputs": {} + }, + "color_s": { + "base_value": 0.13795282224094355, + "inputs": {} + }, + "color_v": { + "base_value": 0.5172113289760348, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 4.04, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 0.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 90.0, + "inputs": {} + }, + "elliptical_dab_ratio": { + "base_value": 1.0, + "inputs": {} + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 0.58, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 0.4 + ] + ] + } + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 0.558, + "inputs": { + "speed1": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + -0.2 + ] + ] + } + }, + "opaque_linearize": { + "base_value": 0.0, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 2.95, + "inputs": {} + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 1.0, + "inputs": {} + }, + "smudge_length": { + "base_value": 0.54, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 4.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 0.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} diff --git a/stuff/library/mypaint brushes/deevad/blending_prev.png b/stuff/library/mypaint brushes/deevad/blending_prev.png new file mode 100644 index 0000000..8b05d04 Binary files /dev/null and b/stuff/library/mypaint brushes/deevad/blending_prev.png differ diff --git a/stuff/library/mypaint brushes/deevad/brush.myb b/stuff/library/mypaint brushes/deevad/brush.myb new file mode 100644 index 0000000..2c37c30 --- /dev/null +++ b/stuff/library/mypaint brushes/deevad/brush.myb @@ -0,0 +1,231 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "description": "A brush changing diameters depending on pressure", + "notes": "A brush preset part of the Brushkit v0.6 \n created in october 2012 by David Revoy ( aka Deevad ) \n source: http://www.davidrevoy.com/article142/ressource-mypaint-brushes \n license: CC-Zero/Public-Domain", + "parent_brush_name": "", + "settings": { + "anti_aliasing": { + "base_value": 1.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.0, + "inputs": {} + }, + "color_s": { + "base_value": 1.0, + "inputs": {} + }, + "color_v": { + "base_value": 1.0, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 4.43, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 0.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 90.0, + "inputs": {} + }, + "elliptical_dab_ratio": { + "base_value": 1.0, + "inputs": {} + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 0.8, + "inputs": { + "pressure": [ + [ + 0.0, + -0.69125 + ], + [ + 0.453947, + -0.576042 + ], + [ + 0.723684, + -0.156354 + ], + [ + 1.0, + 0.090521 + ] + ] + } + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 1.0, + "inputs": {} + }, + "opaque_linearize": { + "base_value": 0.0, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.015, + 0.0 + ], + [ + 0.015, + 1.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 1.52, + "inputs": { + "pressure": [ + [ + 0.0, + -0.859375 + ], + [ + 1.0, + 1.5 + ] + ] + } + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 0.0, + "inputs": {} + }, + "smudge_length": { + "base_value": 0.5, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 4.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 10.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} diff --git a/stuff/library/mypaint brushes/deevad/brush_prev.png b/stuff/library/mypaint brushes/deevad/brush_prev.png new file mode 100644 index 0000000..17725ba Binary files /dev/null and b/stuff/library/mypaint brushes/deevad/brush_prev.png differ diff --git a/stuff/library/mypaint brushes/deevad/chalk.myb b/stuff/library/mypaint brushes/deevad/chalk.myb new file mode 100644 index 0000000..c3e8d95 --- /dev/null +++ b/stuff/library/mypaint brushes/deevad/chalk.myb @@ -0,0 +1,250 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "description": "A chalk brush attempt, using many tiny particles on canvas to simulate grain", + "notes": "A brush preset part of the Brushkit v0.6 \n created in october 2012 by David Revoy ( aka Deevad ) \n source: http://www.davidrevoy.com/article142/ressource-mypaint-brushes \n license: CC-Zero/Public-Domain", + "parent_brush_name": "", + "settings": { + "anti_aliasing": { + "base_value": 1.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.0, + "inputs": {} + }, + "color_s": { + "base_value": 0.0, + "inputs": {} + }, + "color_v": { + "base_value": 0.0, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.69, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 3.93, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 5.07, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 0.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 90.0, + "inputs": {} + }, + "elliptical_dab_ratio": { + "base_value": 1.0, + "inputs": {} + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 0.67, + "inputs": { + "pressure": [ + [ + 0.0, + -0.4 + ], + [ + 0.667722, + -0.0625 + ], + [ + 1.0, + 0.6 + ] + ] + } + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 2.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + -2.0 + ] + ], + "speed1": [ + [ + 0.0, + -0.25 + ], + [ + 4.0, + 1.75 + ] + ], + "speed2": [ + [ + 0.0, + -0.25 + ], + [ + 4.0, + 1.75 + ] + ] + } + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 0.2, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 0.4 + ] + ] + } + }, + "opaque_linearize": { + "base_value": 0.0, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 0.58, + "inputs": {} + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 2.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 0.0, + "inputs": {} + }, + "smudge_length": { + "base_value": 0.5, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 4.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 0.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} diff --git a/stuff/library/mypaint brushes/deevad/chalk_prev.png b/stuff/library/mypaint brushes/deevad/chalk_prev.png new file mode 100644 index 0000000..a4927ba Binary files /dev/null and b/stuff/library/mypaint brushes/deevad/chalk_prev.png differ diff --git a/stuff/library/mypaint brushes/deevad/detail_brush_large.myb b/stuff/library/mypaint brushes/deevad/detail_brush_large.myb new file mode 100644 index 0000000..19c4f89 --- /dev/null +++ b/stuff/library/mypaint brushes/deevad/detail_brush_large.myb @@ -0,0 +1,239 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "description": "Part of a subset of detailing brush: large one", + "notes": "A brush preset part of the Brushkit v0.6 \n created in october 2012 by David Revoy ( aka Deevad ) \n source: http://www.davidrevoy.com/article142/ressource-mypaint-brushes \n license: CC-Zero/Public-Domain", + "parent_brush_name": "", + "settings": { + "anti_aliasing": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.0, + "inputs": {} + }, + "color_s": { + "base_value": 0.0, + "inputs": {} + }, + "color_v": { + "base_value": 0.9958605664488018, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 5.24, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 0.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 178.09, + "inputs": {} + }, + "elliptical_dab_ratio": { + "base_value": 1.0, + "inputs": {} + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 1.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.12 + ], + [ + 1.0, + -0.18 + ] + ] + } + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 0.09, + "inputs": {} + }, + "opaque_linearize": { + "base_value": 0.0, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.302469, + 0.104167 + ], + [ + 0.546296, + 0.333333 + ], + [ + 0.688272, + 0.729167 + ], + [ + 0.814815, + 0.927083 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 1.21, + "inputs": { + "pressure": [ + [ + 0.0, + -0.5 + ], + [ + 0.228395, + 0.054687 + ], + [ + 0.574074, + 0.515625 + ], + [ + 1.0, + 0.75 + ] + ] + } + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 0.0, + "inputs": {} + }, + "smudge_length": { + "base_value": 0.5, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 4.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 0.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} diff --git a/stuff/library/mypaint brushes/deevad/detail_brush_large_glazing.myb b/stuff/library/mypaint brushes/deevad/detail_brush_large_glazing.myb new file mode 100644 index 0000000..48fcc1b --- /dev/null +++ b/stuff/library/mypaint brushes/deevad/detail_brush_large_glazing.myb @@ -0,0 +1,239 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "description": "Part of a subset of detailing brush: large glazing one", + "notes": "A brush preset part of the Brushkit v0.6 \n created in october 2012 by David Revoy ( aka Deevad ) \n source: http://www.davidrevoy.com/article142/ressource-mypaint-brushes \n license: CC-Zero/Public-Domain", + "parent_brush_name": "", + "settings": { + "anti_aliasing": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.0, + "inputs": {} + }, + "color_s": { + "base_value": 0.0, + "inputs": {} + }, + "color_v": { + "base_value": 0.9958605664488018, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 5.24, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 0.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 178.09, + "inputs": {} + }, + "elliptical_dab_ratio": { + "base_value": 1.0, + "inputs": {} + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 1.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.12 + ], + [ + 1.0, + -0.18 + ] + ] + } + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 0.0277777777778, + "inputs": {} + }, + "opaque_linearize": { + "base_value": 0.0, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.302469, + 0.104167 + ], + [ + 0.546296, + 0.333333 + ], + [ + 0.688272, + 0.729167 + ], + [ + 0.814815, + 0.927083 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 1.21, + "inputs": { + "pressure": [ + [ + 0.0, + -0.5 + ], + [ + 0.228395, + 0.054687 + ], + [ + 0.574074, + 0.515625 + ], + [ + 1.0, + 0.75 + ] + ] + } + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 0.0, + "inputs": {} + }, + "smudge_length": { + "base_value": 0.5, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 4.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 0.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} diff --git a/stuff/library/mypaint brushes/deevad/detail_brush_large_glazing_prev.png b/stuff/library/mypaint brushes/deevad/detail_brush_large_glazing_prev.png new file mode 100644 index 0000000..be79809 Binary files /dev/null and b/stuff/library/mypaint brushes/deevad/detail_brush_large_glazing_prev.png differ diff --git a/stuff/library/mypaint brushes/deevad/detail_brush_large_prev.png b/stuff/library/mypaint brushes/deevad/detail_brush_large_prev.png new file mode 100644 index 0000000..a075e4e Binary files /dev/null and b/stuff/library/mypaint brushes/deevad/detail_brush_large_prev.png differ diff --git a/stuff/library/mypaint brushes/deevad/detail_brush_thin.myb b/stuff/library/mypaint brushes/deevad/detail_brush_thin.myb new file mode 100644 index 0000000..a61adfa --- /dev/null +++ b/stuff/library/mypaint brushes/deevad/detail_brush_thin.myb @@ -0,0 +1,239 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "description": "Part of a subset of detailing brush: thin one", + "notes": "A brush preset part of the Brushkit v0.6 \n created in october 2012 by David Revoy ( aka Deevad ) \n source: http://www.davidrevoy.com/article142/ressource-mypaint-brushes \n license: CC-Zero/Public-Domain", + "parent_brush_name": "", + "settings": { + "anti_aliasing": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.2870959298521136, + "inputs": {} + }, + "color_s": { + "base_value": 0.8021541950113379, + "inputs": {} + }, + "color_v": { + "base_value": 0.2422522316319524, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 5.24, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 0.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 178.09, + "inputs": {} + }, + "elliptical_dab_ratio": { + "base_value": 1.0, + "inputs": {} + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 1.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.12 + ], + [ + 1.0, + -0.18 + ] + ] + } + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 0.09, + "inputs": {} + }, + "opaque_linearize": { + "base_value": 0.0, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.302469, + 0.104167 + ], + [ + 0.546296, + 0.333333 + ], + [ + 0.688272, + 0.729167 + ], + [ + 0.814815, + 0.927083 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 0.42, + "inputs": { + "pressure": [ + [ + 0.0, + -0.5 + ], + [ + 0.228395, + 0.054687 + ], + [ + 0.574074, + 0.515625 + ], + [ + 1.0, + 0.75 + ] + ] + } + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 0.0, + "inputs": {} + }, + "smudge_length": { + "base_value": 0.5, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 4.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 0.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} diff --git a/stuff/library/mypaint brushes/deevad/detail_brush_thin_glazing.myb b/stuff/library/mypaint brushes/deevad/detail_brush_thin_glazing.myb new file mode 100644 index 0000000..795460d --- /dev/null +++ b/stuff/library/mypaint brushes/deevad/detail_brush_thin_glazing.myb @@ -0,0 +1,239 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "description": "Part of a subset of detailing brush: thin glazing one", + "notes": "A brush preset part of the Brushkit v0.6 \n created in october 2012 by David Revoy ( aka Deevad ) \n source: http://www.davidrevoy.com/article142/ressource-mypaint-brushes \n license: CC-Zero/Public-Domain", + "parent_brush_name": "", + "settings": { + "anti_aliasing": { + "base_value": 1.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.0, + "inputs": {} + }, + "color_s": { + "base_value": 1.0, + "inputs": {} + }, + "color_v": { + "base_value": 0.0, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 5.24, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 0.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 178.09, + "inputs": {} + }, + "elliptical_dab_ratio": { + "base_value": 1.0, + "inputs": {} + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 1.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.12 + ], + [ + 1.0, + -0.18 + ] + ] + } + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 0.03, + "inputs": {} + }, + "opaque_linearize": { + "base_value": 0.0, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.302469, + 0.104167 + ], + [ + 0.546296, + 0.333333 + ], + [ + 0.688272, + 0.729167 + ], + [ + 0.814815, + 0.927083 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 0.43, + "inputs": { + "pressure": [ + [ + 0.0, + -0.5 + ], + [ + 0.228395, + 0.054687 + ], + [ + 0.574074, + 0.515625 + ], + [ + 1.0, + 0.75 + ] + ] + } + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 0.0, + "inputs": {} + }, + "smudge_length": { + "base_value": 0.5, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 4.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 0.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} diff --git a/stuff/library/mypaint brushes/deevad/detail_brush_thin_glazing_prev.png b/stuff/library/mypaint brushes/deevad/detail_brush_thin_glazing_prev.png new file mode 100644 index 0000000..546ac3a Binary files /dev/null and b/stuff/library/mypaint brushes/deevad/detail_brush_thin_glazing_prev.png differ diff --git a/stuff/library/mypaint brushes/deevad/detail_brush_thin_prev.png b/stuff/library/mypaint brushes/deevad/detail_brush_thin_prev.png new file mode 100644 index 0000000..d6d45a1 Binary files /dev/null and b/stuff/library/mypaint brushes/deevad/detail_brush_thin_prev.png differ diff --git a/stuff/library/mypaint brushes/deevad/fill.myb b/stuff/library/mypaint brushes/deevad/fill.myb new file mode 100644 index 0000000..1482ad7 --- /dev/null +++ b/stuff/library/mypaint brushes/deevad/fill.myb @@ -0,0 +1,223 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "description": "A big flat brush to fill color areas", + "notes": "A brush preset part of the Brushkit v0.6 \n created in october 2012 by David Revoy ( aka Deevad ) \n source: http://www.davidrevoy.com/article142/ressource-mypaint-brushes \n license: CC-Zero/Public-Domain", + "parent_brush_name": "", + "settings": { + "anti_aliasing": { + "base_value": 1.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.0, + "inputs": {} + }, + "color_s": { + "base_value": 0.0, + "inputs": {} + }, + "color_v": { + "base_value": 0.0, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 2.0, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 80.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 90.0, + "inputs": {} + }, + "elliptical_dab_ratio": { + "base_value": 1.0, + "inputs": {} + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 0.8, + "inputs": { + "pressure": [ + [ + 0.0, + -0.013542 + ], + [ + 1.0, + 0.13 + ] + ] + } + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 1.0, + "inputs": {} + }, + "opaque_linearize": { + "base_value": 0.0, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.015, + 0.0 + ], + [ + 0.025, + 1.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 2.7, + "inputs": { + "pressure": [ + [ + 0.0, + -0.68 + ], + [ + 1.0, + 1.02 + ] + ] + } + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 0.65, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.8, + "inputs": {} + }, + "smudge": { + "base_value": 0.0, + "inputs": {} + }, + "smudge_length": { + "base_value": 0.5, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 2.87, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 4.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 0.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} diff --git a/stuff/library/mypaint brushes/deevad/fill_prev.png b/stuff/library/mypaint brushes/deevad/fill_prev.png new file mode 100644 index 0000000..beb79e5 Binary files /dev/null and b/stuff/library/mypaint brushes/deevad/fill_prev.png differ diff --git a/stuff/library/mypaint brushes/deevad/grainy_blending.myb b/stuff/library/mypaint brushes/deevad/grainy_blending.myb new file mode 100644 index 0000000..99d97c1 --- /dev/null +++ b/stuff/library/mypaint brushes/deevad/grainy_blending.myb @@ -0,0 +1,204 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "description": "A blending tool with particles to simulate the grain of paper.", + "notes": "A brush preset part of the Brushkit v0.6 \n created in october 2012 by David Revoy ( aka Deevad ) \n source: http://www.davidrevoy.com/article142/ressource-mypaint-brushes \n license: CC-Zero/Public-Domain", + "parent_brush_name": "grainy_blending", + "settings": { + "anti_aliasing": { + "base_value": 1.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.0, + "inputs": {} + }, + "color_s": { + "base_value": 1.0, + "inputs": {} + }, + "color_v": { + "base_value": 1.0, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 6.0, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 5.49, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 42.38, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 90.0, + "inputs": {} + }, + "elliptical_dab_ratio": { + "base_value": 1.0, + "inputs": {} + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 0.15, + "inputs": {} + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 1.62, + "inputs": {} + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 1.17, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 0.4 + ] + ] + } + }, + "opaque_linearize": { + "base_value": 0.0, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.05, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 1.6, + "inputs": {} + }, + "restore_color": { + "base_value": 1.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 2.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 1.0, + "inputs": {} + }, + "smudge_length": { + "base_value": 0.95, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 1.45, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 4.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 0.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} diff --git a/stuff/library/mypaint brushes/deevad/grainy_blending_prev.png b/stuff/library/mypaint brushes/deevad/grainy_blending_prev.png new file mode 100644 index 0000000..2aa178e Binary files /dev/null and b/stuff/library/mypaint brushes/deevad/grainy_blending_prev.png differ diff --git a/stuff/library/mypaint brushes/deevad/kneaded_eraser.myb b/stuff/library/mypaint brushes/deevad/kneaded_eraser.myb new file mode 100644 index 0000000..7858f9c --- /dev/null +++ b/stuff/library/mypaint brushes/deevad/kneaded_eraser.myb @@ -0,0 +1,239 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "description": "A soft eraser", + "notes": "A brush preset part of the Brushkit v0.6 \n created in october 2012 by David Revoy ( aka Deevad ) \n source: http://www.davidrevoy.com/article142/ressource-mypaint-brushes \n license: CC-Zero/Public-Domain", + "parent_brush_name": "", + "settings": { + "anti_aliasing": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.0, + "inputs": {} + }, + "color_s": { + "base_value": 0.0, + "inputs": {} + }, + "color_v": { + "base_value": 0.0, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 5.24, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 0.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 178.09, + "inputs": {} + }, + "elliptical_dab_ratio": { + "base_value": 2.32, + "inputs": {} + }, + "eraser": { + "base_value": 1.0, + "inputs": {} + }, + "hardness": { + "base_value": 1.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.12 + ], + [ + 1.0, + -0.18 + ] + ] + } + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 0.09, + "inputs": {} + }, + "opaque_linearize": { + "base_value": 0.0, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.302469, + 0.104167 + ], + [ + 0.546296, + 0.333333 + ], + [ + 0.688272, + 0.729167 + ], + [ + 0.814815, + 0.927083 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 1.32, + "inputs": { + "pressure": [ + [ + 0.0, + -0.5 + ], + [ + 0.228395, + 0.054687 + ], + [ + 0.574074, + 0.515625 + ], + [ + 1.0, + 0.75 + ] + ] + } + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 0.0, + "inputs": {} + }, + "smudge_length": { + "base_value": 0.5, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 4.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 0.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} diff --git a/stuff/library/mypaint brushes/deevad/kneaded_eraser_large.myb b/stuff/library/mypaint brushes/deevad/kneaded_eraser_large.myb new file mode 100644 index 0000000..98d30f8 --- /dev/null +++ b/stuff/library/mypaint brushes/deevad/kneaded_eraser_large.myb @@ -0,0 +1,239 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "description": "A large and soft eraser", + "notes": "A brush preset part of the Brushkit v0.6 \n created in october 2012 by David Revoy ( aka Deevad ) \n source: http://www.davidrevoy.com/article142/ressource-mypaint-brushes \n license: CC-Zero/Public-Domain", + "parent_brush_name": "", + "settings": { + "anti_aliasing": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.0, + "inputs": {} + }, + "color_s": { + "base_value": 0.0, + "inputs": {} + }, + "color_v": { + "base_value": 0.0, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 5.24, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 0.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 178.09, + "inputs": {} + }, + "elliptical_dab_ratio": { + "base_value": 2.32, + "inputs": {} + }, + "eraser": { + "base_value": 1.0, + "inputs": {} + }, + "hardness": { + "base_value": 1.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.12 + ], + [ + 1.0, + -0.18 + ] + ] + } + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 0.09, + "inputs": {} + }, + "opaque_linearize": { + "base_value": 0.0, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.302469, + 0.104167 + ], + [ + 0.546296, + 0.333333 + ], + [ + 0.688272, + 0.729167 + ], + [ + 0.814815, + 0.927083 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 3.72, + "inputs": { + "pressure": [ + [ + 0.0, + -0.5 + ], + [ + 0.228395, + 0.054687 + ], + [ + 0.574074, + 0.515625 + ], + [ + 1.0, + 0.75 + ] + ] + } + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 0.0, + "inputs": {} + }, + "smudge_length": { + "base_value": 0.5, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 4.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 0.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} diff --git a/stuff/library/mypaint brushes/deevad/kneaded_eraser_large_prev.png b/stuff/library/mypaint brushes/deevad/kneaded_eraser_large_prev.png new file mode 100644 index 0000000..cff0037 Binary files /dev/null and b/stuff/library/mypaint brushes/deevad/kneaded_eraser_large_prev.png differ diff --git a/stuff/library/mypaint brushes/deevad/kneaded_eraser_prev.png b/stuff/library/mypaint brushes/deevad/kneaded_eraser_prev.png new file mode 100644 index 0000000..0d83136 Binary files /dev/null and b/stuff/library/mypaint brushes/deevad/kneaded_eraser_prev.png differ diff --git a/stuff/library/mypaint brushes/deevad/large_hard_eraser.myb b/stuff/library/mypaint brushes/deevad/large_hard_eraser.myb new file mode 100644 index 0000000..5e8ad48 --- /dev/null +++ b/stuff/library/mypaint brushes/deevad/large_hard_eraser.myb @@ -0,0 +1,224 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "description": "A rubber eraser", + "notes": "A brush preset part of the Brushkit v0.6 \n created in october 2012 by David Revoy ( aka Deevad ) \n source: http://www.davidrevoy.com/article142/ressource-mypaint-brushes \n license: CC-Zero/Public-Domain", + "parent_brush_name": "", + "settings": { + "anti_aliasing": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.0, + "inputs": {} + }, + "color_s": { + "base_value": 0.0, + "inputs": {} + }, + "color_v": { + "base_value": 0.0, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 2.0, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 80.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 90.0, + "inputs": {} + }, + "elliptical_dab_ratio": { + "base_value": 1.0, + "inputs": {} + }, + "eraser": { + "base_value": 1.0, + "inputs": {} + }, + "hardness": { + "base_value": 0.8, + "inputs": {} + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 1.0, + "inputs": {} + }, + "opaque_linearize": { + "base_value": 0.0, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.015, + 0.0 + ], + [ + 0.025, + 1.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 3.31, + "inputs": { + "pressure": [ + [ + 0.0, + -0.255937 + ], + [ + 0.544304, + 0.060938 + ], + [ + 0.857595, + 0.402187 + ], + [ + 0.939873, + 0.743438 + ], + [ + 1.0, + 1.17 + ] + ] + } + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 0.65, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.8, + "inputs": {} + }, + "smudge": { + "base_value": 0.0, + "inputs": {} + }, + "smudge_length": { + "base_value": 0.5, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 2.87, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 4.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 0.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} diff --git a/stuff/library/mypaint brushes/deevad/large_hard_eraser_prev.png b/stuff/library/mypaint brushes/deevad/large_hard_eraser_prev.png new file mode 100644 index 0000000..b8d8d68 Binary files /dev/null and b/stuff/library/mypaint brushes/deevad/large_hard_eraser_prev.png differ diff --git a/stuff/library/mypaint brushes/deevad/large_watercolor_fringe.myb b/stuff/library/mypaint brushes/deevad/large_watercolor_fringe.myb new file mode 100644 index 0000000..cc02d99 --- /dev/null +++ b/stuff/library/mypaint brushes/deevad/large_watercolor_fringe.myb @@ -0,0 +1,230 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "description": "A brush attempt to simulate the fringe of watercolor diffusion", + "notes": "A brush preset part of the Brushkit v0.6 \n created in october 2012 by David Revoy ( aka Deevad ) \n source: http://www.davidrevoy.com/article142/ressource-mypaint-brushes \n license: CC-Zero/Public-Domain", + "parent_brush_name": "large_watercolor_fringe", + "settings": { + "anti_aliasing": { + "base_value": 1.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.041632116586268926, + "inputs": {} + }, + "color_s": { + "base_value": 1.0, + "inputs": {} + }, + "color_v": { + "base_value": 1.0, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 6.0, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 4.39, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 6.99, + "inputs": {} + }, + "direction_filter": { + "base_value": 1.68, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 90.0, + "inputs": { + "random": [ + [ + 0.0, + -180.0 + ], + [ + 1.0, + 180.0 + ] + ] + } + }, + "elliptical_dab_ratio": { + "base_value": 10.0, + "inputs": { + "random": [ + [ + 0.0, + -1.9 + ], + [ + 1.0, + 1.9 + ] + ] + } + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 0.9, + "inputs": {} + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 0.17146776406, + "inputs": { + "pressure": [ + [ + 0.0, + 0.81 + ], + [ + 1.0, + 0.81 + ] + ] + } + }, + "opaque_linearize": { + "base_value": 0.9, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.058642, + 0.604167 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 3.8000000000000007, + "inputs": {} + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 0.75, + "inputs": {} + }, + "smudge_length": { + "base_value": 0.7, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": -0.8, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.9, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 4.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 0.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} diff --git a/stuff/library/mypaint brushes/deevad/large_watercolor_fringe_prev.png b/stuff/library/mypaint brushes/deevad/large_watercolor_fringe_prev.png new file mode 100644 index 0000000..624e127 Binary files /dev/null and b/stuff/library/mypaint brushes/deevad/large_watercolor_fringe_prev.png differ diff --git a/stuff/library/mypaint brushes/deevad/liner.myb b/stuff/library/mypaint brushes/deevad/liner.myb new file mode 100644 index 0000000..5290851 --- /dev/null +++ b/stuff/library/mypaint brushes/deevad/liner.myb @@ -0,0 +1,201 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "description": "A small brush to trace regular lines", + "notes": "A brush preset part of the Brushkit v0.6 \n created in october 2012 by David Revoy ( aka Deevad ) \n source: http://www.davidrevoy.com/article142/ressource-mypaint-brushes \n license: CC-Zero/Public-Domain", + "parent_brush_name": "", + "settings": { + "anti_aliasing": { + "base_value": 2.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.1289192800566187, + "inputs": {} + }, + "color_s": { + "base_value": 1.0, + "inputs": {} + }, + "color_v": { + "base_value": 0.0, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 4.43, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 0.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 90.0, + "inputs": {} + }, + "elliptical_dab_ratio": { + "base_value": 1.0, + "inputs": {} + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 0.8, + "inputs": {} + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 1.0, + "inputs": {} + }, + "opaque_linearize": { + "base_value": 0.0, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.015, + 0.0 + ], + [ + 0.015, + 1.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 0.7999999999999998, + "inputs": {} + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 0.0, + "inputs": {} + }, + "smudge_length": { + "base_value": 0.5, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 2.87, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 1.18, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 10.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} diff --git a/stuff/library/mypaint brushes/deevad/liner_prev.png b/stuff/library/mypaint brushes/deevad/liner_prev.png new file mode 100644 index 0000000..d308434 Binary files /dev/null and b/stuff/library/mypaint brushes/deevad/liner_prev.png differ diff --git a/stuff/library/mypaint brushes/deevad/only_water_fringe.myb b/stuff/library/mypaint brushes/deevad/only_water_fringe.myb new file mode 100644 index 0000000..9d13534 --- /dev/null +++ b/stuff/library/mypaint brushes/deevad/only_water_fringe.myb @@ -0,0 +1,230 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "description": "A brush attempt to simulate the fringe of watercolor diffusion, only smudging", + "notes": "A brush preset part of the Brushkit v0.6 \n created in october 2012 by David Revoy ( aka Deevad ) \n source: http://www.davidrevoy.com/article142/ressource-mypaint-brushes \n license: CC-Zero/Public-Domain", + "parent_brush_name": "", + "settings": { + "anti_aliasing": { + "base_value": 1.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.9782674701892076, + "inputs": {} + }, + "color_s": { + "base_value": 1.0, + "inputs": {} + }, + "color_v": { + "base_value": 0.0, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 6.0, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 4.39, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 6.99, + "inputs": {} + }, + "direction_filter": { + "base_value": 1.68, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 90.0, + "inputs": { + "random": [ + [ + 0.0, + -180.0 + ], + [ + 1.0, + 180.0 + ] + ] + } + }, + "elliptical_dab_ratio": { + "base_value": 10.0, + "inputs": { + "random": [ + [ + 0.0, + -1.9 + ], + [ + 1.0, + 1.9 + ] + ] + } + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 0.9, + "inputs": {} + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 0.17146776406, + "inputs": { + "pressure": [ + [ + 0.0, + 0.81 + ], + [ + 1.0, + 0.81 + ] + ] + } + }, + "opaque_linearize": { + "base_value": 0.9, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.058642, + 0.604167 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 3.8000000000000007, + "inputs": {} + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 1.0, + "inputs": {} + }, + "smudge_length": { + "base_value": 0.7, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": -0.8, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.9, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 4.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 0.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} diff --git a/stuff/library/mypaint brushes/deevad/only_water_fringe_prev.png b/stuff/library/mypaint brushes/deevad/only_water_fringe_prev.png new file mode 100644 index 0000000..19563bd Binary files /dev/null and b/stuff/library/mypaint brushes/deevad/only_water_fringe_prev.png differ diff --git a/stuff/library/mypaint brushes/deevad/pen-note.myb b/stuff/library/mypaint brushes/deevad/pen-note.myb new file mode 100644 index 0000000..5ccd659 --- /dev/null +++ b/stuff/library/mypaint brushes/deevad/pen-note.myb @@ -0,0 +1,243 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "description": "A pen to write notes", + "notes": "A brush preset part of the Brushkit v0.6 \n created in october 2012 by David Revoy ( aka Deevad ) \n source: http://www.davidrevoy.com/article142/ressource-mypaint-brushes \n license: CC-Zero/Public-Domain", + "parent_brush_name": "deevad/pen", + "settings": { + "anti_aliasing": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.1289192800566187, + "inputs": {} + }, + "color_s": { + "base_value": 1.0, + "inputs": {} + }, + "color_v": { + "base_value": 0.0, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 2.2, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 0.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 90.0, + "inputs": {} + }, + "elliptical_dab_ratio": { + "base_value": 1.0, + "inputs": {} + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 0.39, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 0.05 + ] + ], + "speed1": [ + [ + 0.0, + -0.0 + ], + [ + 1.0, + -0.07 + ] + ] + } + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 1.0, + "inputs": {} + }, + "opaque_linearize": { + "base_value": 0.0, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.015, + 0.0 + ], + [ + 0.015, + 1.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 0.6699999999999999, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 0.5 + ] + ], + "speed1": [ + [ + 0.0, + -0.0 + ], + [ + 1.0, + -0.21 + ] + ] + } + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 0.65, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.8, + "inputs": {} + }, + "smudge": { + "base_value": 0.0, + "inputs": {} + }, + "smudge_length": { + "base_value": 0.5, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 2.87, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 4.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 0.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} diff --git a/stuff/library/mypaint brushes/deevad/pen-note_prev.png b/stuff/library/mypaint brushes/deevad/pen-note_prev.png new file mode 100644 index 0000000..1846938 Binary files /dev/null and b/stuff/library/mypaint brushes/deevad/pen-note_prev.png differ diff --git a/stuff/library/mypaint brushes/deevad/pen.myb b/stuff/library/mypaint brushes/deevad/pen.myb new file mode 100644 index 0000000..0f23bab --- /dev/null +++ b/stuff/library/mypaint brushes/deevad/pen.myb @@ -0,0 +1,239 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "description": "A pen to draw and sketch", + "notes": "A brush preset part of the Brushkit v0.6 \n created in october 2012 by David Revoy ( aka Deevad ) \n source: http://www.davidrevoy.com/article142/ressource-mypaint-brushes \n license: CC-Zero/Public-Domain", + "parent_brush_name": "", + "settings": { + "anti_aliasing": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.0, + "inputs": {} + }, + "color_s": { + "base_value": 0.0, + "inputs": {} + }, + "color_v": { + "base_value": 0.0, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 5.24, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 0.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 178.09, + "inputs": {} + }, + "elliptical_dab_ratio": { + "base_value": 1.0, + "inputs": {} + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 1.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.12 + ], + [ + 1.0, + -0.18 + ] + ] + } + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 0.0899999999998, + "inputs": {} + }, + "opaque_linearize": { + "base_value": 0.0, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.302469, + 0.104167 + ], + [ + 0.546296, + 0.333333 + ], + [ + 0.688272, + 0.729167 + ], + [ + 0.814815, + 0.927083 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 0.72, + "inputs": { + "pressure": [ + [ + 0.0, + -0.5 + ], + [ + 0.326923, + -0.320312 + ], + [ + 0.717949, + 0.046875 + ], + [ + 1.0, + 0.75 + ] + ] + } + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 1.03, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 1.52, + "inputs": {} + }, + "smudge": { + "base_value": 0.0, + "inputs": {} + }, + "smudge_length": { + "base_value": 0.5, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 4.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 0.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} diff --git a/stuff/library/mypaint brushes/deevad/pen_prev.png b/stuff/library/mypaint brushes/deevad/pen_prev.png new file mode 100644 index 0000000..660a32c Binary files /dev/null and b/stuff/library/mypaint brushes/deevad/pen_prev.png differ diff --git a/stuff/library/mypaint brushes/deevad/readme.txt b/stuff/library/mypaint brushes/deevad/readme.txt new file mode 100644 index 0000000..ca68ce3 --- /dev/null +++ b/stuff/library/mypaint brushes/deevad/readme.txt @@ -0,0 +1,24 @@ + __//| +/oo | +\mm\_ . . . . . . . D E E V A D brushkit V6 . . . . . . . . . . . . . . . . . . . . . . + +This is Deevad's brushset version 6 done for Mypaint version 1.1.0 +This brush kit is released in public domain, so feel free to create +what you want with it. + +If you accept this license, a new brush group named 'deevad-v6' will +be created. More infos on the brushes on my blog, or my deviant-art +account , under the ressources category. + +Released in end october 2012 + + +########################################### +### WARNING ! INCOMPATIBLE WITH MYPAINT 1.0.0 AND BEFORE ### +########################################### + +Creative Commons Zero +Public Domain + +Website and blog : http://www.davidrevoy.com +deviantART : http://deevad.deviantart.com/ \ No newline at end of file diff --git a/stuff/library/mypaint brushes/deevad/rigger_brush.myb b/stuff/library/mypaint brushes/deevad/rigger_brush.myb new file mode 100644 index 0000000..624c4b9 --- /dev/null +++ b/stuff/library/mypaint brushes/deevad/rigger_brush.myb @@ -0,0 +1,239 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "description": "A brush for small details", + "notes": "A brush preset part of the Brushkit v0.6 \n created in october 2012 by David Revoy ( aka Deevad ) \n source: http://www.davidrevoy.com/article142/ressource-mypaint-brushes \n license: CC-Zero/Public-Domain", + "parent_brush_name": "", + "settings": { + "anti_aliasing": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.0, + "inputs": {} + }, + "color_s": { + "base_value": 1.0, + "inputs": {} + }, + "color_v": { + "base_value": 0.0, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 5.24, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 0.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 178.09, + "inputs": {} + }, + "elliptical_dab_ratio": { + "base_value": 1.0, + "inputs": {} + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 1.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.12 + ], + [ + 1.0, + -0.18 + ] + ] + } + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 0.2916, + "inputs": {} + }, + "opaque_linearize": { + "base_value": 0.0, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.302469, + 0.104167 + ], + [ + 0.546296, + 0.333333 + ], + [ + 0.688272, + 0.729167 + ], + [ + 0.814815, + 0.927083 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 0.36, + "inputs": { + "pressure": [ + [ + 0.0, + -0.5 + ], + [ + 0.228395, + 0.054687 + ], + [ + 0.574074, + 0.515625 + ], + [ + 1.0, + 0.75 + ] + ] + } + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 0.0, + "inputs": {} + }, + "smudge_length": { + "base_value": 0.5, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 4.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 0.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} diff --git a/stuff/library/mypaint brushes/deevad/rigger_brush_prev.png b/stuff/library/mypaint brushes/deevad/rigger_brush_prev.png new file mode 100644 index 0000000..6db91b1 Binary files /dev/null and b/stuff/library/mypaint brushes/deevad/rigger_brush_prev.png differ diff --git a/stuff/library/mypaint brushes/deevad/rigger_brush_thin.myb b/stuff/library/mypaint brushes/deevad/rigger_brush_thin.myb new file mode 100644 index 0000000..9077d61 --- /dev/null +++ b/stuff/library/mypaint brushes/deevad/rigger_brush_thin.myb @@ -0,0 +1,239 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "description": "A brush for very small details", + "notes": "A brush preset part of the Brushkit v0.6 \n created in october 2012 by David Revoy ( aka Deevad ) \n source: http://www.davidrevoy.com/article142/ressource-mypaint-brushes \n license: CC-Zero/Public-Domain", + "parent_brush_name": "", + "settings": { + "anti_aliasing": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.108920239366, + "inputs": {} + }, + "color_s": { + "base_value": 0.986088544326, + "inputs": {} + }, + "color_v": { + "base_value": 0.98608377203, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 2.0, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 0.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 90.0, + "inputs": {} + }, + "elliptical_dab_ratio": { + "base_value": 1.0, + "inputs": {} + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 0.55, + "inputs": { + "pressure": [ + [ + 0.0, + 0.12 + ], + [ + 1.0, + -0.18 + ] + ] + } + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 0.57, + "inputs": {} + }, + "opaque_linearize": { + "base_value": 0.0, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.302469, + 0.104167 + ], + [ + 0.546296, + 0.333333 + ], + [ + 0.688272, + 0.729167 + ], + [ + 0.814815, + 0.927083 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 0.12, + "inputs": { + "pressure": [ + [ + 0.0, + -0.5 + ], + [ + 0.228395, + 0.054687 + ], + [ + 0.574074, + 0.515625 + ], + [ + 1.0, + 0.75 + ] + ] + } + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 0.0, + "inputs": {} + }, + "smudge_length": { + "base_value": 0.5, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 4.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 0.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} diff --git a/stuff/library/mypaint brushes/deevad/rigger_brush_thin_prev.png b/stuff/library/mypaint brushes/deevad/rigger_brush_thin_prev.png new file mode 100644 index 0000000..16dc0a8 Binary files /dev/null and b/stuff/library/mypaint brushes/deevad/rigger_brush_thin_prev.png differ diff --git a/stuff/library/mypaint brushes/deevad/rough.myb b/stuff/library/mypaint brushes/deevad/rough.myb new file mode 100644 index 0000000..db0b8c0 --- /dev/null +++ b/stuff/library/mypaint brushes/deevad/rough.myb @@ -0,0 +1,239 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "description": "A large low opacity brush to draw main shape and rough an artwork", + "notes": "A brush preset part of the Brushkit v0.6 \n created in october 2012 by David Revoy ( aka Deevad ) \n source: http://www.davidrevoy.com/article142/ressource-mypaint-brushes \n license: CC-Zero/Public-Domain", + "parent_brush_name": "", + "settings": { + "anti_aliasing": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.07983276469913346, + "inputs": {} + }, + "color_s": { + "base_value": 1.0, + "inputs": {} + }, + "color_v": { + "base_value": 0.0, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 5.24, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 0.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 178.09, + "inputs": {} + }, + "elliptical_dab_ratio": { + "base_value": 1.0, + "inputs": {} + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 1.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.12 + ], + [ + 1.0, + -0.18 + ] + ] + } + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 0.015432098765444446, + "inputs": {} + }, + "opaque_linearize": { + "base_value": 0.0, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.302469, + 0.104167 + ], + [ + 0.546296, + 0.333333 + ], + [ + 0.688272, + 0.729167 + ], + [ + 0.814815, + 0.927083 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 1.01, + "inputs": { + "pressure": [ + [ + 0.0, + -0.5 + ], + [ + 0.228395, + 0.054687 + ], + [ + 0.574074, + 0.515625 + ], + [ + 1.0, + 0.75 + ] + ] + } + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 1.01, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 1.55, + "inputs": {} + }, + "smudge": { + "base_value": 0.0, + "inputs": {} + }, + "smudge_length": { + "base_value": 0.5, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 4.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 0.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} diff --git a/stuff/library/mypaint brushes/deevad/rough_prev.png b/stuff/library/mypaint brushes/deevad/rough_prev.png new file mode 100644 index 0000000..a1dbb92 Binary files /dev/null and b/stuff/library/mypaint brushes/deevad/rough_prev.png differ diff --git a/stuff/library/mypaint brushes/deevad/soft-dip-pen.myb b/stuff/library/mypaint brushes/deevad/soft-dip-pen.myb new file mode 100644 index 0000000..5998e5a --- /dev/null +++ b/stuff/library/mypaint brushes/deevad/soft-dip-pen.myb @@ -0,0 +1,268 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "description": "A hard line with size variation for vigorous inking rendering", + "notes": "A brush preset part of the Brushkit v0.6 \n created in october 2012 by David Revoy ( aka Deevad ) \n source: http://www.davidrevoy.com/article142/ressource-mypaint-brushes \n license: CC-Zero/Public-Domain", + "parent_brush_name": "", + "settings": { + "anti_aliasing": { + "base_value": 0.93, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.0, + "inputs": {} + }, + "color_s": { + "base_value": 0.0, + "inputs": {} + }, + "color_v": { + "base_value": 0.127540852929, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 2.0, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 3.24, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 48.87, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 90.0, + "inputs": {} + }, + "elliptical_dab_ratio": { + "base_value": 1.0, + "inputs": {} + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 0.43, + "inputs": {} + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 1.29, + "inputs": { + "pressure": [ + [ + 0.0, + -0.989583 + ], + [ + 0.38253, + -0.59375 + ], + [ + 0.656627, + 0.041667 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "opaque_linearize": { + "base_value": 0.29, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.015, + 0.0 + ], + [ + 0.069277, + 0.9375 + ], + [ + 0.25, + 1.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 0.92, + "inputs": { + "pressure": [ + [ + 0.0, + -0.7875 + ], + [ + 0.237952, + -0.6 + ], + [ + 0.5, + -0.15 + ], + [ + 0.76506, + 0.6 + ], + [ + 1.0, + 0.9 + ] + ] + } + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 10.0, + "inputs": { + "speed1": [ + [ + 0.0, + -1.428571 + ], + [ + 4.0, + 10.0 + ] + ], + "speed2": [ + [ + 0.0, + -1.428571 + ], + [ + 4.0, + 10.0 + ] + ] + } + }, + "smudge": { + "base_value": 0.0, + "inputs": {} + }, + "smudge_length": { + "base_value": 0.5, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 2.87, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 4.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 0.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} diff --git a/stuff/library/mypaint brushes/deevad/soft-dip-pen_prev.png b/stuff/library/mypaint brushes/deevad/soft-dip-pen_prev.png new file mode 100644 index 0000000..2d9f249 Binary files /dev/null and b/stuff/library/mypaint brushes/deevad/soft-dip-pen_prev.png differ diff --git a/stuff/library/mypaint brushes/deevad/sponge_smudging.myb b/stuff/library/mypaint brushes/deevad/sponge_smudging.myb new file mode 100644 index 0000000..6a4d0a5 --- /dev/null +++ b/stuff/library/mypaint brushes/deevad/sponge_smudging.myb @@ -0,0 +1,251 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "description": "For smudging large area with a smooth texture", + "notes": "A brush preset part of the Brushkit v0.6 \n created in october 2012 by David Revoy ( aka Deevad ) \n source: http://www.davidrevoy.com/article142/ressource-mypaint-brushes \n license: CC-Zero/Public-Domain", + "parent_brush_name": "", + "settings": { + "anti_aliasing": { + "base_value": 1.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.2336371488438775, + "inputs": {} + }, + "color_s": { + "base_value": 1.0, + "inputs": {} + }, + "color_v": { + "base_value": 0.0, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 6.0, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 0.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 6.1, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 90.0, + "inputs": { + "stroke": [ + [ + 0.0, + -180.0 + ], + [ + 1.0, + 180.0 + ] + ] + } + }, + "elliptical_dab_ratio": { + "base_value": 3.0, + "inputs": {} + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 0.45, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 0.3 + ] + ] + } + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 0.33, + "inputs": {} + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 0.13, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.033951, + 0.0625 + ], + [ + 1.0, + 0.1 + ] + ] + } + }, + "opaque_linearize": { + "base_value": 0.0, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 3.0999999999999996, + "inputs": { + "pressure": [ + [ + 0.0, + -0.687917 + ], + [ + 1.0, + 0.568854 + ] + ], + "speed1": [ + [ + 0.0, + 0.0 + ], + [ + 4.0, + 1.01 + ] + ] + } + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 1.0, + "inputs": {} + }, + "smudge_length": { + "base_value": 0.5, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 4.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 0.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} diff --git a/stuff/library/mypaint brushes/deevad/sponge_smudging_prev.png b/stuff/library/mypaint brushes/deevad/sponge_smudging_prev.png new file mode 100644 index 0000000..7653555 Binary files /dev/null and b/stuff/library/mypaint brushes/deevad/sponge_smudging_prev.png differ diff --git a/stuff/library/mypaint brushes/deevad/spray.myb b/stuff/library/mypaint brushes/deevad/spray.myb new file mode 100644 index 0000000..06d632e --- /dev/null +++ b/stuff/library/mypaint brushes/deevad/spray.myb @@ -0,0 +1,234 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "description": "Throw particles on the canvas, simulate spray bomb", + "notes": "A brush preset part of the Brushkit v0.6 \n created in october 2012 by David Revoy ( aka Deevad ) \n source: http://www.davidrevoy.com/article142/ressource-mypaint-brushes \n license: CC-Zero/Public-Domain", + "parent_brush_name": "", + "settings": { + "anti_aliasing": { + "base_value": 1.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.0, + "inputs": {} + }, + "color_s": { + "base_value": 0.0, + "inputs": {} + }, + "color_v": { + "base_value": 0.0, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 0.95, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 3.92, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 74.55, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 90.0, + "inputs": {} + }, + "elliptical_dab_ratio": { + "base_value": 1.0, + "inputs": {} + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 0.43, + "inputs": {} + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 2.0, + "inputs": {} + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 1.0, + "inputs": { + "stroke": [ + [ + 0.0, + 0.0 + ], + [ + 0.62963, + 0.0 + ], + [ + 1.0, + -1.0 + ] + ] + } + }, + "opaque_linearize": { + "base_value": 0.0, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.28, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 2.19, + "inputs": { + "stroke": [ + [ + 0.0, + 0.0 + ], + [ + 0.54321, + -1.82 + ], + [ + 1.0, + -0.0 + ] + ] + } + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 0.83, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 0.0, + "inputs": {} + }, + "smudge_length": { + "base_value": 0.5, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 1.47, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + -1.55 + ] + ] + } + }, + "stroke_holdtime": { + "base_value": 1.44, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 1.36, + "inputs": {} + } + }, + "version": 3 +} diff --git a/stuff/library/mypaint brushes/deevad/spray2.myb b/stuff/library/mypaint brushes/deevad/spray2.myb new file mode 100644 index 0000000..31a5629 --- /dev/null +++ b/stuff/library/mypaint brushes/deevad/spray2.myb @@ -0,0 +1,245 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "description": "Particles of paint have various size, to create splatter on the canvas", + "notes": "A brush preset part of the Brushkit v0.6 \n created in october 2012 by David Revoy ( aka Deevad ) \n source: http://www.davidrevoy.com/article142/ressource-mypaint-brushes \n license: CC-Zero/Public-Domain", + "parent_brush_name": "", + "settings": { + "anti_aliasing": { + "base_value": 1.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.0, + "inputs": {} + }, + "color_s": { + "base_value": 0.0, + "inputs": {} + }, + "color_v": { + "base_value": 0.0, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 6.0, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 6.0, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 0.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 90.0, + "inputs": {} + }, + "elliptical_dab_ratio": { + "base_value": 1.0, + "inputs": {} + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 0.44, + "inputs": {} + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 2.0, + "inputs": { + "direction": [ + [ + 0.0, + 0.0 + ], + [ + 180.0, + 2.0 + ] + ], + "pressure": [ + [ + 0.0, + 2.0 + ], + [ + 1.0, + 2.0 + ] + ], + "speed2": [ + [ + 0.0, + -0.268571 + ], + [ + 4.0, + 1.88 + ] + ], + "stroke": [ + [ + 0.0, + 2.0 + ], + [ + 1.0, + 2.0 + ] + ] + } + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 2.0, + "inputs": {} + }, + "opaque_linearize": { + "base_value": 0.0, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 0.145833 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 0.95, + "inputs": { + "random": [ + [ + 0.0, + -0.98 + ], + [ + 1.0, + 0.98 + ] + ] + } + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 0.0, + "inputs": {} + }, + "smudge_length": { + "base_value": 0.5, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 4.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 0.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} diff --git a/stuff/library/mypaint brushes/deevad/spray2_prev.png b/stuff/library/mypaint brushes/deevad/spray2_prev.png new file mode 100644 index 0000000..0f92af7 Binary files /dev/null and b/stuff/library/mypaint brushes/deevad/spray2_prev.png differ diff --git a/stuff/library/mypaint brushes/deevad/spray_prev.png b/stuff/library/mypaint brushes/deevad/spray_prev.png new file mode 100644 index 0000000..2447def Binary files /dev/null and b/stuff/library/mypaint brushes/deevad/spray_prev.png differ diff --git a/stuff/library/mypaint brushes/deevad/thin_hard_eraser.myb b/stuff/library/mypaint brushes/deevad/thin_hard_eraser.myb new file mode 100644 index 0000000..c068e68 --- /dev/null +++ b/stuff/library/mypaint brushes/deevad/thin_hard_eraser.myb @@ -0,0 +1,224 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "description": "A thin hard eraser", + "notes": "A brush preset part of the Brushkit v0.6 \n created in october 2012 by David Revoy ( aka Deevad ) \n source: http://www.davidrevoy.com/article142/ressource-mypaint-brushes \n license: CC-Zero/Public-Domain", + "parent_brush_name": "", + "settings": { + "anti_aliasing": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.0, + "inputs": {} + }, + "color_s": { + "base_value": 0.0, + "inputs": {} + }, + "color_v": { + "base_value": 0.0, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 2.0, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 80.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 90.0, + "inputs": {} + }, + "elliptical_dab_ratio": { + "base_value": 1.0, + "inputs": {} + }, + "eraser": { + "base_value": 1.0, + "inputs": {} + }, + "hardness": { + "base_value": 0.8, + "inputs": {} + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 1.0, + "inputs": {} + }, + "opaque_linearize": { + "base_value": 0.0, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.015, + 0.0 + ], + [ + 0.025, + 1.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 1.21, + "inputs": { + "pressure": [ + [ + 0.0, + -0.255937 + ], + [ + 0.544304, + 0.060938 + ], + [ + 0.857595, + 0.402187 + ], + [ + 0.939873, + 0.743438 + ], + [ + 1.0, + 1.17 + ] + ] + } + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 0.65, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.8, + "inputs": {} + }, + "smudge": { + "base_value": 0.0, + "inputs": {} + }, + "smudge_length": { + "base_value": 0.5, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 2.87, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 4.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 0.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} diff --git a/stuff/library/mypaint brushes/deevad/thin_hard_eraser_prev.png b/stuff/library/mypaint brushes/deevad/thin_hard_eraser_prev.png new file mode 100644 index 0000000..c039bbf Binary files /dev/null and b/stuff/library/mypaint brushes/deevad/thin_hard_eraser_prev.png differ diff --git a/stuff/library/mypaint brushes/deevad/thin_watercolor.myb b/stuff/library/mypaint brushes/deevad/thin_watercolor.myb new file mode 100644 index 0000000..4f45d5a --- /dev/null +++ b/stuff/library/mypaint brushes/deevad/thin_watercolor.myb @@ -0,0 +1,259 @@ +{ + "comment": "MyPaint brush file", + "description": "", + "group": "", + "description": "A thin brush to add detail in digital watercolour", + "notes": "A brush preset part of the Brushkit v0.6 \n created in october 2012 by David Revoy ( aka Deevad ) \n source: http://www.davidrevoy.com/article142/ressource-mypaint-brushes \n license: CC-Zero/Public-Domain", + "notes": "", + "parent_brush_name": "deevad/thin_watercolor", + "settings": { + "anti_aliasing": { + "base_value": 1.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.0, + "inputs": {} + }, + "color_s": { + "base_value": 0.0, + "inputs": {} + }, + "color_v": { + "base_value": 0.1607843137254902, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 6.0, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 6.0, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 0.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 90.0, + "inputs": { + "random": [ + [ + 0.0, + -180.0 + ], + [ + 1.0, + 180.0 + ] + ] + } + }, + "elliptical_dab_ratio": { + "base_value": 10.0, + "inputs": { + "speed1": [ + [ + 0.0, + -7.5 + ], + [ + 0.962963, + -2.03125 + ], + [ + 4.0, + 0.0 + ] + ] + } + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 0.76, + "inputs": { + "pressure": [ + [ + 0.0, + -0.044792 + ], + [ + 0.723684, + -0.147812 + ], + [ + 1.0, + -0.241875 + ] + ] + } + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 0.17146776406, + "inputs": { + "pressure": [ + [ + 0.0, + 1.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "opaque_linearize": { + "base_value": 0.9, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.058642, + 0.604167 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "pressure_gain_log": { + "base_value": 0.0, + "inputs": {} + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 2.0, + "inputs": {} + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 0.9, + "inputs": {} + }, + "smudge_length": { + "base_value": 0.5, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "snap_to_pixel": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.9, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 4.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 0.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} diff --git a/stuff/library/mypaint brushes/deevad/thin_watercolor_prev.png b/stuff/library/mypaint brushes/deevad/thin_watercolor_prev.png new file mode 100644 index 0000000..b0267ad Binary files /dev/null and b/stuff/library/mypaint brushes/deevad/thin_watercolor_prev.png differ diff --git a/stuff/library/mypaint brushes/deevad/watercolor_expressive.myb b/stuff/library/mypaint brushes/deevad/watercolor_expressive.myb new file mode 100644 index 0000000..3e38bee --- /dev/null +++ b/stuff/library/mypaint brushes/deevad/watercolor_expressive.myb @@ -0,0 +1,322 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "description": "A brush with sensitivity on size while producing a fringe to simulate watercolor", + "notes": "A brush preset part of the Brushkit v0.6 \n created in october 2012 by David Revoy ( aka Deevad ) \n source: http://www.davidrevoy.com/article142/ressource-mypaint-brushes \n license: CC-Zero/Public-Domain", + "parent_brush_name": "", + "settings": { + "anti_aliasing": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.150621805142, + "inputs": {} + }, + "color_s": { + "base_value": 1.0, + "inputs": {} + }, + "color_v": { + "base_value": 1.0, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 2.0, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 6.0, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 0.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 90.0, + "inputs": { + "random": [ + [ + 0.0, + -180.0 + ], + [ + 1.0, + 180.0 + ] + ] + } + }, + "elliptical_dab_ratio": { + "base_value": 4.0, + "inputs": { + "pressure": [ + [ + 0.0, + -0.0 + ], + [ + 0.75, + -0.0 + ], + [ + 1.0, + -2.7 + ] + ], + "speed1": [ + [ + 0.0, + -0.7 + ], + [ + 4.0, + 0.7 + ] + ] + } + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 0.23, + "inputs": { + "pressure": [ + [ + 0.0, + -0.0 + ], + [ + 0.746914, + -0.0 + ], + [ + 0.884375, + -0.0 + ], + [ + 1.0, + -0.032083 + ] + ] + } + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.75, + 0.0 + ], + [ + 1.0, + 0.8 + ] + ] + } + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 2.0, + "inputs": { + "random": [ + [ + 0.0, + 1.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "opaque_linearize": { + "base_value": 0.9, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.040123, + 0.885417 + ], + [ + 0.138889, + 1.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 3.5, + "inputs": { + "pressure": [ + [ + 0.0, + -2.9 + ], + [ + 1.0, + 0.845833 + ] + ] + } + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 0.71, + "inputs": { + "pressure": [ + [ + 0.0, + -0.65 + ], + [ + 0.5, + -0.358854 + ], + [ + 0.796875, + -0.094792 + ], + [ + 1.0, + 0.24375 + ] + ], + "speed1": [ + [ + 0.0, + -0.1 + ], + [ + 4.0, + 0.1 + ] + ] + } + }, + "smudge_length": { + "base_value": 0.1, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 6.5, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 0.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} diff --git a/stuff/library/mypaint brushes/deevad/watercolor_expressive_prev.png b/stuff/library/mypaint brushes/deevad/watercolor_expressive_prev.png new file mode 100644 index 0000000..da9b8cb Binary files /dev/null and b/stuff/library/mypaint brushes/deevad/watercolor_expressive_prev.png differ diff --git a/stuff/library/mypaint brushes/deevad/watercolor_glazing.myb b/stuff/library/mypaint brushes/deevad/watercolor_glazing.myb new file mode 100644 index 0000000..3382c08 --- /dev/null +++ b/stuff/library/mypaint brushes/deevad/watercolor_glazing.myb @@ -0,0 +1,253 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "description": "A watercolor brush preset to glaze area", + "notes": "A brush preset part of the Brushkit v0.6 \n created in october 2012 by David Revoy ( aka Deevad ) \n source: http://www.davidrevoy.com/article142/ressource-mypaint-brushes \n license: CC-Zero/Public-Domain", + "parent_brush_name": "", + "settings": { + "anti_aliasing": { + "base_value": 1.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.0590291819643, + "inputs": {} + }, + "color_s": { + "base_value": 1.0, + "inputs": {} + }, + "color_v": { + "base_value": 0.874542195901, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 6.0, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 6.0, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 0.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 90.0, + "inputs": { + "random": [ + [ + 0.0, + -180.0 + ], + [ + 1.0, + 180.0 + ] + ] + } + }, + "elliptical_dab_ratio": { + "base_value": 10.0, + "inputs": { + "speed1": [ + [ + 0.0, + -7.5 + ], + [ + 0.962963, + -2.03125 + ], + [ + 4.0, + 0.0 + ] + ] + } + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 0.41, + "inputs": {} + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 1.44, + "inputs": { + "pressure": [ + [ + 0.0, + -0.43125 + ], + [ + 0.258721, + -0.277917 + ], + [ + 0.540698, + 0.0 + ], + [ + 1.0, + 0.92 + ] + ] + } + }, + "opaque_linearize": { + "base_value": 0.9, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.058642, + 0.604167 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 2.6, + "inputs": { + "pressure": [ + [ + 0.0, + -0.653333 + ], + [ + 1.0, + 0.98 + ] + ] + } + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 0.9, + "inputs": {} + }, + "smudge_length": { + "base_value": 0.5, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.9, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 4.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 0.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} diff --git a/stuff/library/mypaint brushes/deevad/watercolor_glazing_prev.png b/stuff/library/mypaint brushes/deevad/watercolor_glazing_prev.png new file mode 100644 index 0000000..834144d Binary files /dev/null and b/stuff/library/mypaint brushes/deevad/watercolor_glazing_prev.png differ diff --git a/stuff/library/mypaint brushes/experimental/1pixel.myb b/stuff/library/mypaint brushes/experimental/1pixel.myb new file mode 100644 index 0000000..6d73d85 --- /dev/null +++ b/stuff/library/mypaint brushes/experimental/1pixel.myb @@ -0,0 +1,258 @@ +{ + "comment": "MyPaint brush file", + "description": "1-pixel brush for pixel art", + "group": "", + "notes": "Reduce Dabs Per Actual Radius to 0.03 for a hardedged dash annotation brush.\n\nThis one's fairly imperfect. notably has jags on curves compared to what Grafx2 or Gimp can produce. GIMP achieves its results via varying dab spacing according to rate of direction change, IIRC. Maybe a similar result could be achieved by a Direction curve for Dabs Per Actual radius, but I haven't managed it yet. In rare conditions experiences a 1px break in the line \u2014 I guess/hope that might also be fixable via a Dabs Per Actual Radius curve.", + "parent_brush_name": "experimental/1pixel", + "settings": { + "anti_aliasing": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.0, + "inputs": {} + }, + "color_s": { + "base_value": 0.0, + "inputs": {} + }, + "color_v": { + "base_value": 0.0, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 0.9, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 79.69, + "inputs": {} + }, + "direction_filter": { + "base_value": 10.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 90.0, + "inputs": { + "direction": [ + [ + 0.0, + -180.0 + ], + [ + 46.849315, + 180.0 + ], + [ + 90.0, + -180.0 + ], + [ + 136.232877, + 180.0 + ], + [ + 180.0, + -180.0 + ] + ] + } + }, + "elliptical_dab_ratio": { + "base_value": 1.0, + "inputs": { + "direction": [ + [ + 0.0, + -0.1 + ], + [ + 48.6, + 0.1 + ], + [ + 90.0, + -0.1 + ], + [ + 136.8, + 0.1 + ], + [ + 180.0, + -0.1 + ] + ] + } + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 1.0, + "inputs": {} + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 1.0, + "inputs": {} + }, + "opaque_linearize": { + "base_value": 0.0, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.0, + 1.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": -0.58, + "inputs": { + "speed1": [ + [ + 0.0, + -0.0 + ], + [ + 4.0, + 0.0 + ] + ] + } + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 2.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 0.0, + "inputs": {} + }, + "smudge_length": { + "base_value": 0.5, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "snap_to_pixel": { + "base_value": 1.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": -8.0, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.2, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 3.86, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 4.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 0.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} \ No newline at end of file diff --git a/stuff/library/mypaint brushes/experimental/1pixel_prev.png b/stuff/library/mypaint brushes/experimental/1pixel_prev.png new file mode 100644 index 0000000..5a3c68e Binary files /dev/null and b/stuff/library/mypaint brushes/experimental/1pixel_prev.png differ diff --git a/stuff/library/mypaint brushes/experimental/DNA_brush.myb b/stuff/library/mypaint brushes/experimental/DNA_brush.myb new file mode 100644 index 0000000..02f6be9 --- /dev/null +++ b/stuff/library/mypaint brushes/experimental/DNA_brush.myb @@ -0,0 +1,274 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "parent_brush_name": "experimental/DNA_brush", + "settings": { + "anti_aliasing": { + "base_value": 1.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": { + "stroke": [ + [ + 0.0, + 0.0 + ], + [ + 0.246914, + 1.44 + ], + [ + 0.753086, + -1.44 + ], + [ + 1.0, + 0.0 + ] + ] + } + }, + "color_h": { + "base_value": 0.0, + "inputs": {} + }, + "color_s": { + "base_value": 0.0, + "inputs": {} + }, + "color_v": { + "base_value": 0.0, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 4.0, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 0.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 90.0, + "inputs": {} + }, + "elliptical_dab_ratio": { + "base_value": 1.0, + "inputs": {} + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 0.1, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 0.3 + ] + ] + } + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 0.3 + ] + ] + } + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 1.0, + "inputs": {} + }, + "opaque_linearize": { + "base_value": 0.0, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 1.66, + "inputs": { + "pressure": [ + [ + 0.0, + 0.891354 + ], + [ + 1.0, + 1.99 + ] + ], + "speed1": [ + [ + 0.0, + -2.61 + ], + [ + 4.0, + -2.61 + ] + ], + "speed2": [ + [ + 0.0, + -0.202857 + ], + [ + 4.0, + 1.42 + ] + ] + } + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 1.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 0.0, + "inputs": {} + }, + "smudge_length": { + "base_value": 0.5, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 1.59, + "inputs": { + "pressure": [ + [ + 0.0, + -1.753333 + ], + [ + 1.0, + 2.63 + ] + ] + } + }, + "stroke_holdtime": { + "base_value": 0.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 6.36, + "inputs": {} + } + }, + "version": 3 +} \ No newline at end of file diff --git a/stuff/library/mypaint brushes/experimental/DNA_brush_prev.png b/stuff/library/mypaint brushes/experimental/DNA_brush_prev.png new file mode 100644 index 0000000..c695e23 Binary files /dev/null and b/stuff/library/mypaint brushes/experimental/DNA_brush_prev.png differ diff --git a/stuff/library/mypaint brushes/experimental/basic.myb b/stuff/library/mypaint brushes/experimental/basic.myb new file mode 100644 index 0000000..2283362 --- /dev/null +++ b/stuff/library/mypaint brushes/experimental/basic.myb @@ -0,0 +1,191 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "parent_brush_name": "", + "settings": { + "anti_aliasing": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.0, + "inputs": {} + }, + "color_s": { + "base_value": 0.0, + "inputs": {} + }, + "color_v": { + "base_value": 0.0, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 2.0, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 0.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 90.0, + "inputs": {} + }, + "elliptical_dab_ratio": { + "base_value": 1.0, + "inputs": {} + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 0.8, + "inputs": {} + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 1.0, + "inputs": {} + }, + "opaque_linearize": { + "base_value": 0.9, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 2.0, + "inputs": {} + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 0.0, + "inputs": {} + }, + "smudge_length": { + "base_value": 0.5, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 4.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 0.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} \ No newline at end of file diff --git a/stuff/library/mypaint brushes/experimental/basic_prev.png b/stuff/library/mypaint brushes/experimental/basic_prev.png new file mode 100644 index 0000000..d3a9cef Binary files /dev/null and b/stuff/library/mypaint brushes/experimental/basic_prev.png differ diff --git a/stuff/library/mypaint brushes/experimental/bubble.myb b/stuff/library/mypaint brushes/experimental/bubble.myb new file mode 100644 index 0000000..0bec9ac --- /dev/null +++ b/stuff/library/mypaint brushes/experimental/bubble.myb @@ -0,0 +1,309 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "parent_brush_name": "experimental/bubble", + "settings": { + "anti_aliasing": { + "base_value": 1.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.185, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.228395, + -0.039844 + ], + [ + 0.391975, + -0.098281 + ], + [ + 0.574074, + -0.201875 + ], + [ + 1.0, + -0.255 + ] + ], + "random": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 0.075 + ] + ], + "speed1": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + -0.04 + ] + ] + } + }, + "color_h": { + "base_value": 0.0, + "inputs": {} + }, + "color_s": { + "base_value": 0.0, + "inputs": {} + }, + "color_v": { + "base_value": 0.0, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 2.0, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 0.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 90.0, + "inputs": {} + }, + "elliptical_dab_ratio": { + "base_value": 1.0, + "inputs": {} + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 0.64, + "inputs": {} + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 2.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.126582, + -2.678125 + ], + [ + 0.370253, + -5.802604 + ], + [ + 1.0, + -8.57 + ] + ] + } + }, + "offset_by_speed": { + "base_value": 0.17, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + -0.56 + ] + ] + } + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 0.6, + "inputs": {} + }, + "opaque_linearize": { + "base_value": 0.9, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": -1.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.42284, + -0.122708 + ], + [ + 1.0, + -0.31 + ] + ], + "random": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 1.25 + ] + ], + "speed1": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 0.28 + ] + ], + "speed2": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 0.35 + ] + ] + } + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 0.0, + "inputs": {} + }, + "smudge_length": { + "base_value": 0.5, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.09, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 4.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 0.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} \ No newline at end of file diff --git a/stuff/library/mypaint brushes/experimental/bubble_prev.png b/stuff/library/mypaint brushes/experimental/bubble_prev.png new file mode 100644 index 0000000..1f55415 Binary files /dev/null and b/stuff/library/mypaint brushes/experimental/bubble_prev.png differ diff --git a/stuff/library/mypaint brushes/experimental/fur.myb b/stuff/library/mypaint brushes/experimental/fur.myb new file mode 100644 index 0000000..65cf214 --- /dev/null +++ b/stuff/library/mypaint brushes/experimental/fur.myb @@ -0,0 +1,387 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "parent_brush_name": "", + "settings": { + "anti_aliasing": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.231481, + -0.022396 + ], + [ + 0.391975, + -0.082865 + ], + [ + 0.583333, + -0.201563 + ], + [ + 1.0, + -0.215 + ] + ], + "random": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 0.075 + ] + ], + "speed2": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + -0.04 + ] + ] + } + }, + "color_h": { + "base_value": 0.837944664032, + "inputs": {} + }, + "color_s": { + "base_value": 0.776470588235, + "inputs": {} + }, + "color_v": { + "base_value": 0.029831387808, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": { + "direction": [ + [ + 0.0, + 0.0 + ], + [ + 180.0, + 10.0 + ] + ], + "random": [ + [ + 0.0, + -10.0 + ], + [ + 1.0, + 10.0 + ] + ] + } + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 2.0, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 0.3, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 20.67, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 90.0, + "inputs": { + "direction": [ + [ + 0.0, + 0.0 + ], + [ + 56.25, + 131.25 + ], + [ + 97.3125, + -150.0 + ], + [ + 180.0, + 180.0 + ] + ], + "random": [ + [ + 0.0, + -84.0 + ], + [ + 0.2, + 84.0 + ], + [ + 0.865625, + -66.5 + ], + [ + 1.0, + 84.0 + ] + ], + "speed2": [ + [ + 0.0, + -22.775714 + ], + [ + 4.0, + 159.43 + ] + ], + "stroke": [ + [ + 0.0, + 14.29 + ], + [ + 1.0, + -14.29 + ] + ] + } + }, + "elliptical_dab_ratio": { + "base_value": 10.0, + "inputs": {} + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 0.6, + "inputs": {} + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 2.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.126582, + -2.678125 + ], + [ + 0.370253, + -5.802604 + ], + [ + 1.0, + -8.57 + ] + ] + } + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + -0.56 + ] + ] + } + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 0.4, + "inputs": {} + }, + "opaque_linearize": { + "base_value": 1.25, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 0.26, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.42284, + -0.122708 + ], + [ + 1.0, + -0.31 + ] + ], + "random": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 1.25 + ] + ], + "speed1": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 0.28 + ] + ], + "speed2": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 0.35 + ] + ] + } + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 0.0, + "inputs": {} + }, + "smudge_length": { + "base_value": 0.5, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.09, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 5.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 4.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 0.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 2.02, + "inputs": {} + } + }, + "version": 3 +} \ No newline at end of file diff --git a/stuff/library/mypaint brushes/experimental/fur_prev.png b/stuff/library/mypaint brushes/experimental/fur_prev.png new file mode 100644 index 0000000..91bf05c Binary files /dev/null and b/stuff/library/mypaint brushes/experimental/fur_prev.png differ diff --git a/stuff/library/mypaint brushes/experimental/glow.myb b/stuff/library/mypaint brushes/experimental/glow.myb new file mode 100644 index 0000000..8974018 --- /dev/null +++ b/stuff/library/mypaint brushes/experimental/glow.myb @@ -0,0 +1,241 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "parent_brush_name": "", + "settings": { + "anti_aliasing": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.0, + "inputs": {} + }, + "color_s": { + "base_value": 0.0, + "inputs": {} + }, + "color_v": { + "base_value": 0.0, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 5.5, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 0.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 90.0, + "inputs": {} + }, + "elliptical_dab_ratio": { + "base_value": 1.0, + "inputs": {} + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 0.16, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 0.05 + ] + ], + "speed1": [ + [ + 0.0, + -0.0 + ], + [ + 1.0, + -0.09 + ] + ] + } + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 0.43, + "inputs": {} + }, + "opaque_linearize": { + "base_value": 0.0, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.015, + 0.0 + ], + [ + 0.025, + 1.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 2.19, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 0.5 + ] + ], + "speed1": [ + [ + 0.0, + -0.219479 + ], + [ + 1.0, + -0.43 + ] + ] + } + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 0.65, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.8, + "inputs": {} + }, + "smudge": { + "base_value": 0.0, + "inputs": {} + }, + "smudge_length": { + "base_value": 0.5, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 2.87, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 4.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 0.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} \ No newline at end of file diff --git a/stuff/library/mypaint brushes/experimental/glow_prev.png b/stuff/library/mypaint brushes/experimental/glow_prev.png new file mode 100644 index 0000000..6a71f0f Binary files /dev/null and b/stuff/library/mypaint brushes/experimental/glow_prev.png differ diff --git a/stuff/library/mypaint brushes/experimental/hard_blot.myb b/stuff/library/mypaint brushes/experimental/hard_blot.myb new file mode 100644 index 0000000..a8ffe8e --- /dev/null +++ b/stuff/library/mypaint brushes/experimental/hard_blot.myb @@ -0,0 +1,191 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "parent_brush_name": "", + "settings": { + "anti_aliasing": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.0, + "inputs": {} + }, + "color_s": { + "base_value": 0.0, + "inputs": {} + }, + "color_v": { + "base_value": 0.0, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 4.54, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 0.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 90.0, + "inputs": {} + }, + "elliptical_dab_ratio": { + "base_value": 1.0, + "inputs": {} + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 0.8, + "inputs": {} + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 0.46, + "inputs": {} + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 1.0, + "inputs": {} + }, + "opaque_linearize": { + "base_value": 0.9, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0, + 0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "radius_by_random": { + "base_value": 1.5, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 0.8, + "inputs": {} + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 0.0, + "inputs": {} + }, + "smudge_length": { + "base_value": 0.5, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 4.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 0.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} \ No newline at end of file diff --git a/stuff/library/mypaint brushes/experimental/hard_blot_prev.png b/stuff/library/mypaint brushes/experimental/hard_blot_prev.png new file mode 100644 index 0000000..7613d83 Binary files /dev/null and b/stuff/library/mypaint brushes/experimental/hard_blot_prev.png differ diff --git a/stuff/library/mypaint brushes/experimental/hard_sting.myb b/stuff/library/mypaint brushes/experimental/hard_sting.myb new file mode 100644 index 0000000..e83912b --- /dev/null +++ b/stuff/library/mypaint brushes/experimental/hard_sting.myb @@ -0,0 +1,263 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "parent_brush_name": "experimental/hard_sting", + "settings": { + "anti_aliasing": { + "base_value": 1.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.0, + "inputs": {} + }, + "color_s": { + "base_value": 0.0, + "inputs": {} + }, + "color_v": { + "base_value": 0.0, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 2.0, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 0.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 90.0, + "inputs": {} + }, + "elliptical_dab_ratio": { + "base_value": 1.0, + "inputs": {} + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 0.95, + "inputs": {} + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 1.0, + "inputs": { + "stroke": [ + [ + 0.0, + 0.0 + ], + [ + 0.62963, + 0.0 + ], + [ + 1.0, + -1.0 + ] + ] + } + }, + "opaque_linearize": { + "base_value": 0.0, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 1.0 + ] + ], + "stroke": [ + [ + 0.0, + -0.254583 + ], + [ + 0.058642, + -0.043333 + ], + [ + 0.231481, + 0.0 + ], + [ + 0.5, + 0.0 + ], + [ + 0.796296, + -0.037917 + ], + [ + 0.91358, + -0.47125 + ], + [ + 1.0, + -0.52 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 2.19, + "inputs": { + "stroke": [ + [ + 0.0, + -0.89625 + ], + [ + 0.145062, + -0.199167 + ], + [ + 0.530864, + -0.697083 + ], + [ + 0.734568, + -1.344375 + ], + [ + 0.888889, + -2.838125 + ], + [ + 1.0, + -4.78 + ] + ] + } + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 0.0, + "inputs": {} + }, + "smudge_length": { + "base_value": 0.5, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 2.86, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 10.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} \ No newline at end of file diff --git a/stuff/library/mypaint brushes/experimental/hard_sting_prev.png b/stuff/library/mypaint brushes/experimental/hard_sting_prev.png new file mode 100644 index 0000000..bebdc16 Binary files /dev/null and b/stuff/library/mypaint brushes/experimental/hard_sting_prev.png differ diff --git a/stuff/library/mypaint brushes/experimental/irregular_ink.myb b/stuff/library/mypaint brushes/experimental/irregular_ink.myb new file mode 100644 index 0000000..aec1fdc --- /dev/null +++ b/stuff/library/mypaint brushes/experimental/irregular_ink.myb @@ -0,0 +1,263 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "parent_brush_name": "experimental/irregular_ink", + "settings": { + "anti_aliasing": { + "base_value": 2.76, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.0, + "inputs": {} + }, + "color_s": { + "base_value": 0.0, + "inputs": {} + }, + "color_v": { + "base_value": 0.0, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": { + "random": [ + [ + 0.0, + -5.3 + ], + [ + 1.0, + 5.3 + ] + ] + } + }, + "custom_input_slowness": { + "base_value": 10.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 2.2, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 0.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 0.0, + "inputs": { + "stroke": [ + [ + 0.0, + -180.0 + ], + [ + 1.0, + 180.0 + ] + ] + } + }, + "elliptical_dab_ratio": { + "base_value": 1.66, + "inputs": {} + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 1.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 0.05 + ] + ], + "speed1": [ + [ + 0.0, + -0.0 + ], + [ + 1.0, + -0.09 + ] + ] + } + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 1.0, + "inputs": {} + }, + "opaque_linearize": { + "base_value": 0.0, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.015, + 0.0 + ], + [ + 0.015, + 1.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 2.02, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 0.5 + ] + ], + "speed1": [ + [ + 0.0, + -0.0 + ], + [ + 1.0, + -0.21 + ] + ] + } + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 0.65, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.8, + "inputs": {} + }, + "smudge": { + "base_value": 0.0, + "inputs": {} + }, + "smudge_length": { + "base_value": 0.5, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 2.87, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 2.69, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 0.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} \ No newline at end of file diff --git a/stuff/library/mypaint brushes/experimental/irregular_ink_prev.png b/stuff/library/mypaint brushes/experimental/irregular_ink_prev.png new file mode 100644 index 0000000..249f6f6 Binary files /dev/null and b/stuff/library/mypaint brushes/experimental/irregular_ink_prev.png differ diff --git a/stuff/library/mypaint brushes/experimental/leaves.myb b/stuff/library/mypaint brushes/experimental/leaves.myb new file mode 100644 index 0000000..42809a5 --- /dev/null +++ b/stuff/library/mypaint brushes/experimental/leaves.myb @@ -0,0 +1,316 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "parent_brush_name": "experimental/leaves", + "settings": { + "anti_aliasing": { + "base_value": 1.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": { + "speed1": [ + [ + 0.0, + -0.0 + ], + [ + 1.0, + -0.12 + ] + ], + "stroke": [ + [ + 0.0, + 0.0 + ], + [ + 0.651235, + -0.007889 + ], + [ + 0.70679, + 0.115704 + ], + [ + 0.891975, + 0.101241 + ], + [ + 1.0, + -0.0 + ] + ] + } + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": { + "stroke": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 1.69 + ] + ] + } + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.195, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + -0.57 + ] + ], + "random": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 0.355 + ] + ], + "stroke": [ + [ + 0.0, + 0.0 + ], + [ + 0.080247, + -0.150625 + ], + [ + 0.614198, + 0.150625 + ], + [ + 0.753086, + 0.351458 + ], + [ + 1.0, + 0.476979 + ] + ] + } + }, + "color_h": { + "base_value": 0.0, + "inputs": {} + }, + "color_s": { + "base_value": 0.0, + "inputs": {} + }, + "color_v": { + "base_value": 0.0, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 2.0, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 0.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 90.0, + "inputs": {} + }, + "elliptical_dab_ratio": { + "base_value": 1.0, + "inputs": {} + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 0.8, + "inputs": {} + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 1.0, + "inputs": { + "stroke": [ + [ + 0.0, + 0.0 + ], + [ + 0.62963, + 0.0 + ], + [ + 1.0, + -1.0 + ] + ] + } + }, + "opaque_linearize": { + "base_value": 0.0, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 1.89, + "inputs": { + "stroke": [ + [ + 0.0, + 0.0 + ], + [ + 0.598765, + -1.4175 + ], + [ + 0.709877, + 0.227813 + ], + [ + 0.898148, + -0.227813 + ], + [ + 1.0, + -2.43 + ] + ] + } + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 0.0, + "inputs": {} + }, + "smudge_length": { + "base_value": 0.5, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": -7.16, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 2.76, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 10.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} \ No newline at end of file diff --git a/stuff/library/mypaint brushes/experimental/leaves_prev.png b/stuff/library/mypaint brushes/experimental/leaves_prev.png new file mode 100644 index 0000000..c071a57 Binary files /dev/null and b/stuff/library/mypaint brushes/experimental/leaves_prev.png differ diff --git a/stuff/library/mypaint brushes/experimental/particules_3.myb b/stuff/library/mypaint brushes/experimental/particules_3.myb new file mode 100644 index 0000000..59eb476 --- /dev/null +++ b/stuff/library/mypaint brushes/experimental/particules_3.myb @@ -0,0 +1,319 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "parent_brush_name": "experimental/particules_3", + "settings": { + "anti_aliasing": { + "base_value": 1.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.24, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.228395, + -0.039844 + ], + [ + 0.391975, + -0.098281 + ], + [ + 0.574074, + -0.201875 + ], + [ + 1.0, + -0.255 + ] + ], + "random": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 0.075 + ] + ], + "speed1": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + -0.04 + ] + ] + } + }, + "color_h": { + "base_value": 0.0, + "inputs": {} + }, + "color_s": { + "base_value": 0.0, + "inputs": {} + }, + "color_v": { + "base_value": 0.0, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 2.0, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 0.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 90.0, + "inputs": { + "random": [ + [ + 0.0, + -180.0 + ], + [ + 1.0, + 180.0 + ] + ] + } + }, + "elliptical_dab_ratio": { + "base_value": 1.4, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 2.39 + ] + ] + } + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 0.72, + "inputs": {} + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + -1.333333 + ], + [ + 1.0, + 2.0 + ] + ] + } + }, + "offset_by_speed": { + "base_value": 0.17, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + -0.56 + ] + ] + } + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 0.6, + "inputs": {} + }, + "opaque_linearize": { + "base_value": 0.0, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 1.6, + "inputs": { + "pressure": [ + [ + 0.0, + 0.196979 + ], + [ + 1.0, + -0.31 + ] + ], + "random": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 1.25 + ] + ], + "speed1": [ + [ + 0.0, + -0.09 + ], + [ + 1.0, + 0.09 + ] + ], + "speed2": [ + [ + 0.0, + -0.09 + ], + [ + 1.0, + 0.09 + ] + ] + } + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 0.0, + "inputs": {} + }, + "smudge_length": { + "base_value": 0.5, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 5.95, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.05, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.06, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 4.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 0.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} \ No newline at end of file diff --git a/stuff/library/mypaint brushes/experimental/particules_3_prev.png b/stuff/library/mypaint brushes/experimental/particules_3_prev.png new file mode 100644 index 0000000..cc4fa69 Binary files /dev/null and b/stuff/library/mypaint brushes/experimental/particules_3_prev.png differ diff --git a/stuff/library/mypaint brushes/experimental/particules_eraser.myb b/stuff/library/mypaint brushes/experimental/particules_eraser.myb new file mode 100644 index 0000000..cf7d1e2 --- /dev/null +++ b/stuff/library/mypaint brushes/experimental/particules_eraser.myb @@ -0,0 +1,271 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "parent_brush_name": "experimental/particules_eraser", + "settings": { + "anti_aliasing": { + "base_value": 1.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": { + "random": [ + [ + 0.0, + -0.2 + ], + [ + 1.0, + 0.2 + ] + ] + } + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.0, + "inputs": {} + }, + "color_s": { + "base_value": 0.0, + "inputs": {} + }, + "color_v": { + "base_value": 0.0, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 2.0, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 0.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 90.0, + "inputs": { + "random": [ + [ + 0.0, + -180.0 + ], + [ + 1.0, + 180.0 + ] + ] + } + }, + "elliptical_dab_ratio": { + "base_value": 4.0, + "inputs": {} + }, + "eraser": { + "base_value": 0.0, + "inputs": { + "random": [ + [ + 0.0, + -1.0 + ], + [ + 0.5, + -1.0 + ], + [ + 0.5, + 1.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "hardness": { + "base_value": 0.8, + "inputs": {} + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 2.0, + "inputs": {} + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 1.0, + "inputs": {} + }, + "opaque_linearize": { + "base_value": 0.9, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.132911, + 0.510417 + ], + [ + 0.386076, + 0.802083 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 2.3, + "inputs": { + "stroke": [ + [ + 0.0, + -1.39 + ], + [ + 0.061433, + -1.259687 + ], + [ + 0.37628, + 1.114895 + ], + [ + 0.5, + 1.39 + ], + [ + 0.610922, + 1.21625 + ], + [ + 0.90273, + -1.245208 + ], + [ + 1.0, + -1.39 + ] + ] + } + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 0.0, + "inputs": {} + }, + "smudge_length": { + "base_value": 0.5, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 4.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 0.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} \ No newline at end of file diff --git a/stuff/library/mypaint brushes/experimental/particules_eraser_prev.png b/stuff/library/mypaint brushes/experimental/particules_eraser_prev.png new file mode 100644 index 0000000..d2572b4 Binary files /dev/null and b/stuff/library/mypaint brushes/experimental/particules_eraser_prev.png differ diff --git a/stuff/library/mypaint brushes/experimental/pick_and_drag.myb b/stuff/library/mypaint brushes/experimental/pick_and_drag.myb new file mode 100644 index 0000000..4b6fe2a --- /dev/null +++ b/stuff/library/mypaint brushes/experimental/pick_and_drag.myb @@ -0,0 +1,285 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "parent_brush_name": "experimental/pick_and_drag", + "settings": { + "anti_aliasing": { + "base_value": 1.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.0, + "inputs": {} + }, + "color_s": { + "base_value": 0.0, + "inputs": {} + }, + "color_v": { + "base_value": 0.0, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 3.76, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 0.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 90.0, + "inputs": {} + }, + "elliptical_dab_ratio": { + "base_value": 1.0, + "inputs": {} + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 0.56, + "inputs": {} + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 0.91, + "inputs": { + "speed1": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + -0.2 + ] + ], + "stroke": [ + [ + 0.0, + -1.0 + ], + [ + 0.5, + 0.0 + ], + [ + 1.0, + 0.0 + ] + ] + } + }, + "opaque_linearize": { + "base_value": 0.9, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.077381, + 0.197917 + ], + [ + 0.229167, + 0.385417 + ], + [ + 0.589286, + 0.510417 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 2.8, + "inputs": { + "pressure": [ + [ + 0.0, + 0.186667 + ], + [ + 1.0, + -0.28 + ] + ] + } + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 1.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.256173, + 0.0 + ], + [ + 0.54321, + -0.114583 + ], + [ + 0.82716, + -0.447917 + ], + [ + 1.0, + -1.0 + ] + ] + } + }, + "smudge_length": { + "base_value": 0.0, + "inputs": { + "stroke": [ + [ + 0.0, + -1.0 + ], + [ + 0.104938, + -0.895833 + ], + [ + 0.274691, + 0.697917 + ], + [ + 0.580247, + 1.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 0.44, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 10.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} \ No newline at end of file diff --git a/stuff/library/mypaint brushes/experimental/pick_and_drag_prev.png b/stuff/library/mypaint brushes/experimental/pick_and_drag_prev.png new file mode 100644 index 0000000..141ea9e Binary files /dev/null and b/stuff/library/mypaint brushes/experimental/pick_and_drag_prev.png differ diff --git a/stuff/library/mypaint brushes/experimental/pixel_hardink.myb b/stuff/library/mypaint brushes/experimental/pixel_hardink.myb new file mode 100644 index 0000000..d07aa33 --- /dev/null +++ b/stuff/library/mypaint brushes/experimental/pixel_hardink.myb @@ -0,0 +1,276 @@ +{ + "comment": "MyPaint brush file", + "description": "Light, small, relatively slow hard-edged ink brush.", + "group": "", + "notes": "Designed for thumbnailing, gesture, and design.\n\nThis has mild 'not enough tapering levels' issues. Not fixable if I understand MyPaint's brush engine right, though. Expressive enough though.", + "parent_brush_name": "experimental/pixel_hardink", + "settings": { + "anti_aliasing": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.0, + "inputs": {} + }, + "color_s": { + "base_value": 0.0, + "inputs": {} + }, + "color_v": { + "base_value": 0.0, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 0.9, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 79.69, + "inputs": {} + }, + "direction_filter": { + "base_value": 10.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 90.0, + "inputs": { + "direction": [ + [ + 0.0, + -180.0 + ], + [ + 46.849315, + 180.0 + ], + [ + 90.0, + -180.0 + ], + [ + 136.232877, + 180.0 + ], + [ + 180.0, + -180.0 + ] + ] + } + }, + "elliptical_dab_ratio": { + "base_value": 1.0, + "inputs": { + "direction": [ + [ + 0.0, + -0.1 + ], + [ + 48.6, + 0.1 + ], + [ + 90.0, + -0.1 + ], + [ + 136.8, + 0.1 + ], + [ + 180.0, + -0.1 + ] + ] + } + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 1.0, + "inputs": {} + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 1.0, + "inputs": {} + }, + "opaque_linearize": { + "base_value": 0.0, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.0, + 1.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": -0.58, + "inputs": { + "pressure": [ + [ + 0.0, + -0.53125 + ], + [ + 0.752119, + 0.5 + ], + [ + 0.980932, + 1.34375 + ], + [ + 1.0, + 1.46875 + ] + ], + "speed1": [ + [ + 0.0, + -0.0 + ], + [ + 4.0, + 0.0 + ] + ] + } + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 2.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 0.0, + "inputs": {} + }, + "smudge_length": { + "base_value": 0.5, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "snap_to_pixel": { + "base_value": 1.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": -8.0, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.2, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 3.86, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 4.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 0.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} \ No newline at end of file diff --git a/stuff/library/mypaint brushes/experimental/pixel_hardink_prev.png b/stuff/library/mypaint brushes/experimental/pixel_hardink_prev.png new file mode 100644 index 0000000..5a25396 Binary files /dev/null and b/stuff/library/mypaint brushes/experimental/pixel_hardink_prev.png differ diff --git a/stuff/library/mypaint brushes/experimental/pixelblocking.myb b/stuff/library/mypaint brushes/experimental/pixelblocking.myb new file mode 100644 index 0000000..7ca544e --- /dev/null +++ b/stuff/library/mypaint brushes/experimental/pixelblocking.myb @@ -0,0 +1,258 @@ +{ + "comment": "MyPaint brush file", + "description": "15px brush for hard edged blocking-in", + "group": "", + "notes": "Works fine in its simple function.", + "parent_brush_name": "experimental/pixelblocking", + "settings": { + "anti_aliasing": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.0, + "inputs": {} + }, + "color_s": { + "base_value": 0.0, + "inputs": {} + }, + "color_v": { + "base_value": 0.0, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 0.9, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 79.69, + "inputs": {} + }, + "direction_filter": { + "base_value": 10.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 90.0, + "inputs": { + "direction": [ + [ + 0.0, + -180.0 + ], + [ + 46.849315, + 180.0 + ], + [ + 90.0, + -180.0 + ], + [ + 136.232877, + 180.0 + ], + [ + 180.0, + -180.0 + ] + ] + } + }, + "elliptical_dab_ratio": { + "base_value": 1.0, + "inputs": { + "direction": [ + [ + 0.0, + -0.1 + ], + [ + 48.6, + 0.1 + ], + [ + 90.0, + -0.1 + ], + [ + 136.8, + 0.1 + ], + [ + 180.0, + -0.1 + ] + ] + } + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 1.0, + "inputs": {} + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 1.0, + "inputs": {} + }, + "opaque_linearize": { + "base_value": 0.0, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.0, + 1.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 2.0, + "inputs": { + "speed1": [ + [ + 0.0, + -0.0 + ], + [ + 4.0, + 0.0 + ] + ] + } + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 5.15, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 0.0, + "inputs": {} + }, + "smudge_length": { + "base_value": 0.5, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "snap_to_pixel": { + "base_value": 1.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": -8.0, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.2, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 3.86, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 4.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 0.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} \ No newline at end of file diff --git a/stuff/library/mypaint brushes/experimental/pixelblocking_prev.png b/stuff/library/mypaint brushes/experimental/pixelblocking_prev.png new file mode 100644 index 0000000..c5436a6 Binary files /dev/null and b/stuff/library/mypaint brushes/experimental/pixelblocking_prev.png differ diff --git a/stuff/library/mypaint brushes/experimental/sewing.myb b/stuff/library/mypaint brushes/experimental/sewing.myb new file mode 100644 index 0000000..f351f3c --- /dev/null +++ b/stuff/library/mypaint brushes/experimental/sewing.myb @@ -0,0 +1,250 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "parent_brush_name": "experimental/sewing", + "settings": { + "anti_aliasing": { + "base_value": 1.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.0, + "inputs": {} + }, + "color_s": { + "base_value": 0.0, + "inputs": {} + }, + "color_v": { + "base_value": 0.0, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 2.0, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 0.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 90.0, + "inputs": {} + }, + "elliptical_dab_ratio": { + "base_value": 1.0, + "inputs": {} + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 0.9, + "inputs": {} + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 1.0, + "inputs": { + "stroke": [ + [ + 0.0, + 0.0 + ], + [ + 0.62963, + 0.0 + ], + [ + 1.0, + -1.0 + ] + ] + } + }, + "opaque_linearize": { + "base_value": 0.0, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 0.72, + "inputs": { + "stroke": [ + [ + 0.0, + 0.0 + ], + [ + 0.496914, + 0.734062 + ], + [ + 1.0, + -0.0 + ] + ] + } + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 0.0, + "inputs": {} + }, + "smudge_length": { + "base_value": 0.5, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 2.76, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 4.83, + "inputs": { + "random": [ + [ + 0.0, + 0.0 + ], + [ + 0.256329, + -3.313125 + ], + [ + 0.541139, + -4.7025 + ], + [ + 1.0, + -5.13 + ] + ], + "stroke": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 0.64 + ] + ] + } + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} \ No newline at end of file diff --git a/stuff/library/mypaint brushes/experimental/sewing_prev.png b/stuff/library/mypaint brushes/experimental/sewing_prev.png new file mode 100644 index 0000000..234ab80 Binary files /dev/null and b/stuff/library/mypaint brushes/experimental/sewing_prev.png differ diff --git a/stuff/library/mypaint brushes/experimental/small_blot.myb b/stuff/library/mypaint brushes/experimental/small_blot.myb new file mode 100644 index 0000000..ed1d353 --- /dev/null +++ b/stuff/library/mypaint brushes/experimental/small_blot.myb @@ -0,0 +1,202 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "parent_brush_name": "", + "settings": { + "anti_aliasing": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.0, + "inputs": {} + }, + "color_s": { + "base_value": 0.0, + "inputs": {} + }, + "color_v": { + "base_value": 0.0, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 2.0, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 0.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 90.0, + "inputs": {} + }, + "elliptical_dab_ratio": { + "base_value": 1.0, + "inputs": {} + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 0.71, + "inputs": {} + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 0.21, + "inputs": {} + }, + "offset_by_speed": { + "base_value": 0.31, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "opaque": { + "base_value": 0.46, + "inputs": {} + }, + "opaque_linearize": { + "base_value": 0.0, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0, + 0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.42, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 1.22, + "inputs": { + "pressure": [ + [ + 0, + 0 + ], + [ + 1.0, + -1.77 + ] + ] + } + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 0.0, + "inputs": {} + }, + "smudge_length": { + "base_value": 0.5, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 4.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 0.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} \ No newline at end of file diff --git a/stuff/library/mypaint brushes/experimental/small_blot_prev.png b/stuff/library/mypaint brushes/experimental/small_blot_prev.png new file mode 100644 index 0000000..4f3a96c Binary files /dev/null and b/stuff/library/mypaint brushes/experimental/small_blot_prev.png differ diff --git a/stuff/library/mypaint brushes/experimental/soft.myb b/stuff/library/mypaint brushes/experimental/soft.myb new file mode 100644 index 0000000..662c346 --- /dev/null +++ b/stuff/library/mypaint brushes/experimental/soft.myb @@ -0,0 +1,228 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "parent_brush_name": "", + "settings": { + "anti_aliasing": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.145527646522, + "inputs": {} + }, + "color_s": { + "base_value": 0.240937144227, + "inputs": {} + }, + "color_v": { + "base_value": 0.509315632868, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 3.14, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 0.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 90.0, + "inputs": {} + }, + "elliptical_dab_ratio": { + "base_value": 1.0, + "inputs": {} + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 0.63, + "inputs": {} + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 0.69, + "inputs": {} + }, + "opaque_linearize": { + "base_value": 0.9, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.175926, + 0.167917 + ], + [ + 0.354938, + 0.226042 + ], + [ + 0.546296, + 0.238958 + ], + [ + 0.753086, + 0.167917 + ], + [ + 1.0, + 0.064583 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 1.4, + "inputs": { + "pressure": [ + [ + 0.0, + 0.766667 + ], + [ + 1.0, + -1.15 + ] + ], + "speed1": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 0.99 + ] + ] + } + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 0.0, + "inputs": {} + }, + "smudge_length": { + "base_value": 0.5, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.3, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 4.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 0.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} \ No newline at end of file diff --git a/stuff/library/mypaint brushes/experimental/soft_irregular.myb b/stuff/library/mypaint brushes/experimental/soft_irregular.myb new file mode 100644 index 0000000..8f429c4 --- /dev/null +++ b/stuff/library/mypaint brushes/experimental/soft_irregular.myb @@ -0,0 +1,253 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "parent_brush_name": "", + "settings": { + "anti_aliasing": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": { + "stroke": [ + [ + 0.0, + 0.0 + ], + [ + 0.246914, + 0.1 + ], + [ + 0.753086, + -0.1 + ], + [ + 1.0, + 0.0 + ] + ] + } + }, + "color_h": { + "base_value": 0.0, + "inputs": {} + }, + "color_s": { + "base_value": 0.0, + "inputs": {} + }, + "color_v": { + "base_value": 0.0, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 4.0, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 0.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 90.0, + "inputs": {} + }, + "elliptical_dab_ratio": { + "base_value": 1.0, + "inputs": {} + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 0.1, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 0.3 + ] + ] + } + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 0.11, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + -0.3 + ] + ] + } + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 1.0, + "inputs": {} + }, + "opaque_linearize": { + "base_value": 0.0, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": -1.11, + "inputs": { + "pressure": [ + [ + 0.0, + 0.891354 + ], + [ + 1.0, + 1.99 + ] + ], + "speed2": [ + [ + 0.0, + -0.202857 + ], + [ + 4.0, + 1.42 + ] + ] + } + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 1.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 0.0, + "inputs": {} + }, + "smudge_length": { + "base_value": 0.5, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 7.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 0.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 9.02, + "inputs": {} + } + }, + "version": 3 +} \ No newline at end of file diff --git a/stuff/library/mypaint brushes/experimental/soft_irregular_prev.png b/stuff/library/mypaint brushes/experimental/soft_irregular_prev.png new file mode 100644 index 0000000..9ccd170 Binary files /dev/null and b/stuff/library/mypaint brushes/experimental/soft_irregular_prev.png differ diff --git a/stuff/library/mypaint brushes/experimental/soft_prev.png b/stuff/library/mypaint brushes/experimental/soft_prev.png new file mode 100644 index 0000000..befb8a7 Binary files /dev/null and b/stuff/library/mypaint brushes/experimental/soft_prev.png differ diff --git a/stuff/library/mypaint brushes/experimental/spaced-blot.myb b/stuff/library/mypaint brushes/experimental/spaced-blot.myb new file mode 100644 index 0000000..5f534a2 --- /dev/null +++ b/stuff/library/mypaint brushes/experimental/spaced-blot.myb @@ -0,0 +1,232 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "parent_brush_name": "experimental/spaced-blot", + "settings": { + "anti_aliasing": { + "base_value": 1.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.0, + "inputs": {} + }, + "color_s": { + "base_value": 0.0, + "inputs": {} + }, + "color_v": { + "base_value": 0.0, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 2.0, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 0.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 90.0, + "inputs": {} + }, + "elliptical_dab_ratio": { + "base_value": 1.0, + "inputs": {} + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 0.9, + "inputs": {} + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 1.0, + "inputs": { + "stroke": [ + [ + 0.0, + 0.0 + ], + [ + 0.62963, + 0.0 + ], + [ + 1.0, + -1.0 + ] + ] + } + }, + "opaque_linearize": { + "base_value": 0.0, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 1.89, + "inputs": { + "stroke": [ + [ + 0.0, + 0.0 + ], + [ + 0.54321, + -1.82 + ], + [ + 1.0, + -0.0 + ] + ] + } + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 0.0, + "inputs": {} + }, + "smudge_length": { + "base_value": 0.5, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 1.47, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + -1.55 + ] + ] + } + }, + "stroke_holdtime": { + "base_value": 1.44, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} \ No newline at end of file diff --git a/stuff/library/mypaint brushes/experimental/spaced-blot_prev.png b/stuff/library/mypaint brushes/experimental/spaced-blot_prev.png new file mode 100644 index 0000000..64a2f47 Binary files /dev/null and b/stuff/library/mypaint brushes/experimental/spaced-blot_prev.png differ diff --git a/stuff/library/mypaint brushes/experimental/speed_blot.myb b/stuff/library/mypaint brushes/experimental/speed_blot.myb new file mode 100644 index 0000000..5998c37 --- /dev/null +++ b/stuff/library/mypaint brushes/experimental/speed_blot.myb @@ -0,0 +1,202 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "parent_brush_name": "", + "settings": { + "anti_aliasing": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.0, + "inputs": {} + }, + "color_s": { + "base_value": 0.0, + "inputs": {} + }, + "color_v": { + "base_value": 0.0, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 2.0, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 0.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 90.0, + "inputs": {} + }, + "elliptical_dab_ratio": { + "base_value": 1.0, + "inputs": {} + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 0.71, + "inputs": {} + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 0.21, + "inputs": {} + }, + "offset_by_speed": { + "base_value": 0.31, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "opaque": { + "base_value": 1.0, + "inputs": {} + }, + "opaque_linearize": { + "base_value": 0.9, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.42, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 1.22, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + -1.77 + ] + ] + } + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 0.0, + "inputs": {} + }, + "smudge_length": { + "base_value": 0.5, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 4.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 0.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} \ No newline at end of file diff --git a/stuff/library/mypaint brushes/experimental/speed_blot_prev.png b/stuff/library/mypaint brushes/experimental/speed_blot_prev.png new file mode 100644 index 0000000..420cc63 Binary files /dev/null and b/stuff/library/mypaint brushes/experimental/speed_blot_prev.png differ diff --git a/stuff/library/mypaint brushes/experimental/subtle_pencil.myb b/stuff/library/mypaint brushes/experimental/subtle_pencil.myb new file mode 100644 index 0000000..92c640e --- /dev/null +++ b/stuff/library/mypaint brushes/experimental/subtle_pencil.myb @@ -0,0 +1,272 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "parent_brush_name": "", + "settings": { + "anti_aliasing": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.0, + "inputs": {} + }, + "color_s": { + "base_value": 0.0, + "inputs": {} + }, + "color_v": { + "base_value": 0.0, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "custom_input_slowness": { + "base_value": 9.23, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 2.2, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 0.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 90.0, + "inputs": {} + }, + "elliptical_dab_ratio": { + "base_value": 1.0, + "inputs": {} + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 0.5, + "inputs": { + "custom": [ + [ + -2.0, + 0.0 + ], + [ + -0.703704, + 0.007292 + ], + [ + 0.469136, + 0.027083 + ], + [ + 2.0, + 0.1 + ] + ], + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 0.05 + ] + ], + "speed1": [ + [ + 0.0, + -0.0 + ], + [ + 1.0, + -0.09 + ] + ] + } + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 1.0, + "inputs": {} + }, + "opaque_linearize": { + "base_value": 0.0, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 0.66, + "inputs": { + "custom": [ + [ + -2.0, + -3.62 + ], + [ + 2.0, + 3.62 + ] + ], + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 0.5 + ] + ], + "speed1": [ + [ + 0.0, + -0.0 + ], + [ + 1.0, + -0.21 + ] + ] + } + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 0.65, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.8, + "inputs": {} + }, + "smudge": { + "base_value": 0.0, + "inputs": {} + }, + "smudge_length": { + "base_value": 0.5, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 2.87, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 4.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 0.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} \ No newline at end of file diff --git a/stuff/library/mypaint brushes/experimental/subtle_pencil_prev.png b/stuff/library/mypaint brushes/experimental/subtle_pencil_prev.png new file mode 100644 index 0000000..370aae3 Binary files /dev/null and b/stuff/library/mypaint brushes/experimental/subtle_pencil_prev.png differ diff --git a/stuff/library/mypaint brushes/experimental/track.myb b/stuff/library/mypaint brushes/experimental/track.myb new file mode 100644 index 0000000..eddd8b4 --- /dev/null +++ b/stuff/library/mypaint brushes/experimental/track.myb @@ -0,0 +1,210 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "parent_brush_name": "", + "settings": { + "anti_aliasing": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.0, + "inputs": {} + }, + "color_s": { + "base_value": 0.0, + "inputs": {} + }, + "color_v": { + "base_value": 0.0, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 5.0, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 0.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 90.0, + "inputs": {} + }, + "elliptical_dab_ratio": { + "base_value": 1.0, + "inputs": {} + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 0.84, + "inputs": {} + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed": { + "base_value": 0.44, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "opaque": { + "base_value": 0.09, + "inputs": {} + }, + "opaque_linearize": { + "base_value": 0.0, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.42, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": -0.43, + "inputs": { + "speed1": [ + [ + 0.0, + 0.0 + ], + [ + 0.304198, + 0.475 + ], + [ + 0.684444, + 0.940104 + ], + [ + 0.77, + 0.95 + ] + ] + } + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 0.0, + "inputs": {} + }, + "smudge_length": { + "base_value": 0.5, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.01, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 4.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 0.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} \ No newline at end of file diff --git a/stuff/library/mypaint brushes/experimental/track_prev.png b/stuff/library/mypaint brushes/experimental/track_prev.png new file mode 100644 index 0000000..7eec85f Binary files /dev/null and b/stuff/library/mypaint brushes/experimental/track_prev.png differ diff --git a/stuff/library/mypaint brushes/kaerhon_v1/Airbrush_a.myb b/stuff/library/mypaint brushes/kaerhon_v1/Airbrush_a.myb new file mode 100644 index 0000000..6c2a3e9 --- /dev/null +++ b/stuff/library/mypaint brushes/kaerhon_v1/Airbrush_a.myb @@ -0,0 +1,240 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "parent_brush_name": "", + "settings": { + "anti_aliasing": { + "base_value": 1.39, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.7850717691080759, + "inputs": {} + }, + "color_s": { + "base_value": 0.0, + "inputs": {} + }, + "color_v": { + "base_value": 0.0, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "custom_input_slowness": { + "base_value": 0.71, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 2.0, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 6.0, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 0.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.99, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 90.0, + "inputs": { + "direction": [ + [ + 0.0, + 0.0 + ], + [ + 180.0, + 180.0 + ] + ] + } + }, + "elliptical_dab_ratio": { + "base_value": 1.0, + "inputs": {} + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 0.36, + "inputs": {} + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 0.5, + "inputs": {} + }, + "opaque_linearize": { + "base_value": 2.0, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.111111, + 0.5 + ], + [ + 0.308642, + 0.833333 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "pressure_gain_log": { + "base_value": 0.0, + "inputs": {} + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 4.7, + "inputs": { + "custom": [ + [ + -2.0, + 0.45 + ], + [ + 2.0, + -0.45 + ] + ] + } + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 0.0, + "inputs": {} + }, + "smudge_length": { + "base_value": 0.5, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "snap_to_pixel": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 4.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 0.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} \ No newline at end of file diff --git a/stuff/library/mypaint brushes/kaerhon_v1/Airbrush_a_prev.png b/stuff/library/mypaint brushes/kaerhon_v1/Airbrush_a_prev.png new file mode 100644 index 0000000..55d0ab1 Binary files /dev/null and b/stuff/library/mypaint brushes/kaerhon_v1/Airbrush_a_prev.png differ diff --git a/stuff/library/mypaint brushes/kaerhon_v1/Dirty_Transparent_sk.myb b/stuff/library/mypaint brushes/kaerhon_v1/Dirty_Transparent_sk.myb new file mode 100644 index 0000000..2b878ea --- /dev/null +++ b/stuff/library/mypaint brushes/kaerhon_v1/Dirty_Transparent_sk.myb @@ -0,0 +1,249 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "parent_brush_name": "Dirty_Transparent#2", + "settings": { + "anti_aliasing": { + "base_value": 0.4, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.1006289308176101, + "inputs": {} + }, + "color_s": { + "base_value": 0.2535885167464114, + "inputs": {} + }, + "color_v": { + "base_value": 0.8196078431372549, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 2.2, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 0.5, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 0.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 90.0, + "inputs": {} + }, + "elliptical_dab_ratio": { + "base_value": 1.0, + "inputs": {} + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 0.89, + "inputs": { + "pressure": [ + [ + 0.0, + -0.2 + ], + [ + 0.4817880794701987, + -0.002083333333333348 + ], + [ + 1.0, + 0.1 + ] + ] + } + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 0.1, + "inputs": {} + }, + "opaque_linearize": { + "base_value": 0.6, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.015, + 0.0 + ], + [ + 0.069277, + 0.9375 + ], + [ + 0.25, + 1.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "pressure_gain_log": { + "base_value": 0.0, + "inputs": {} + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 0.2600000000000714, + "inputs": { + "pressure": [ + [ + 0.0, + -2.38875 + ], + [ + 0.237952, + -1.8199999999999996 + ], + [ + 0.5, + -0.4550000000000002 + ], + [ + 0.76506, + 1.8199999999999998 + ], + [ + 1.0, + 2.73 + ] + ] + } + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 0.0, + "inputs": {} + }, + "smudge_length": { + "base_value": 0.5, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.93, + "inputs": {} + }, + "snap_to_pixel": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 2.87, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 4.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 0.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} \ No newline at end of file diff --git a/stuff/library/mypaint brushes/kaerhon_v1/Dirty_Transparent_sk_prev.png b/stuff/library/mypaint brushes/kaerhon_v1/Dirty_Transparent_sk_prev.png new file mode 100644 index 0000000..5767f46 Binary files /dev/null and b/stuff/library/mypaint brushes/kaerhon_v1/Dirty_Transparent_sk_prev.png differ diff --git a/stuff/library/mypaint brushes/kaerhon_v1/ReadMe.txt b/stuff/library/mypaint brushes/kaerhon_v1/ReadMe.txt new file mode 100644 index 0000000..c8ff7ed --- /dev/null +++ b/stuff/library/mypaint brushes/kaerhon_v1/ReadMe.txt @@ -0,0 +1,3 @@ +Kaerhon Brush Pack V1.1 + +This brush pack is licensed under the CC0. Use it as you want. diff --git a/stuff/library/mypaint brushes/kaerhon_v1/Sketcher2_sk.myb b/stuff/library/mypaint brushes/kaerhon_v1/Sketcher2_sk.myb new file mode 100644 index 0000000..3cebd48 --- /dev/null +++ b/stuff/library/mypaint brushes/kaerhon_v1/Sketcher2_sk.myb @@ -0,0 +1,321 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "parent_brush_name": "", + "settings": { + "anti_aliasing": { + "base_value": 1.6, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.08219178082191785, + "inputs": {} + }, + "color_s": { + "base_value": 0.0, + "inputs": {} + }, + "color_v": { + "base_value": 0.0, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 6.0, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 41.64, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 90.0, + "inputs": { + "direction": [ + [ + 0.0, + 0.0 + ], + [ + 180.0, + 180.0 + ] + ] + } + }, + "elliptical_dab_ratio": { + "base_value": 3.65, + "inputs": {} + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 0.8, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.25, + 0.0 + ], + [ + 0.4133986928104575, + 0.0703125 + ], + [ + 0.5, + 0.225 + ], + [ + 0.5833333333333334, + 0.3796875 + ], + [ + 0.7026143790849673, + 0.45 + ], + [ + 1.0, + 0.45 + ] + ] + } + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 1.0, + "inputs": { + "pressure": [ + [ + 0.0, + -1.0 + ], + [ + 0.2814569536423841, + -0.875 + ], + [ + 0.6738410596026491, + -0.46875 + ], + [ + 1.0, + 0.0 + ] + ] + } + }, + "opaque_linearize": { + "base_value": 0.25, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.013245033112582781, + 0.5833333333333333 + ], + [ + 0.069277, + 0.9375 + ], + [ + 0.25, + 1.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "pressure_gain_log": { + "base_value": 0.0, + "inputs": {} + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 0.8, + "inputs": { + "pressure": [ + [ + 0.0, + -0.27083333333333326 + ], + [ + 0.17218543046357615, + 0.125 + ], + [ + 0.4652317880794702, + 0.8229166666666666 + ], + [ + 0.75, + 1.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 0.3, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.066667 + ], + [ + 1.0, + -0.1 + ] + ] + } + }, + "smudge_length": { + "base_value": 0.5, + "inputs": { + "pressure": [ + [ + 0.0, + -0.326667 + ], + [ + 0.245033, + 0.178646 + ], + [ + 1.0, + 0.49 + ] + ] + } + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "snap_to_pixel": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 4.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 0.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} \ No newline at end of file diff --git a/stuff/library/mypaint brushes/kaerhon_v1/Sketcher2_sk_prev.png b/stuff/library/mypaint brushes/kaerhon_v1/Sketcher2_sk_prev.png new file mode 100644 index 0000000..a61bb50 Binary files /dev/null and b/stuff/library/mypaint brushes/kaerhon_v1/Sketcher2_sk_prev.png differ diff --git a/stuff/library/mypaint brushes/kaerhon_v1/Smear_sm.myb b/stuff/library/mypaint brushes/kaerhon_v1/Smear_sm.myb new file mode 100644 index 0000000..845bc61 --- /dev/null +++ b/stuff/library/mypaint brushes/kaerhon_v1/Smear_sm.myb @@ -0,0 +1,264 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "parent_brush_name": "Smear#2", + "settings": { + "anti_aliasing": { + "base_value": 1.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.1006289308176101, + "inputs": {} + }, + "color_s": { + "base_value": 0.2535885167464114, + "inputs": {} + }, + "color_v": { + "base_value": 0.8196078431372549, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 2.2, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 0.51, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 0.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 90.0, + "inputs": {} + }, + "elliptical_dab_ratio": { + "base_value": 1.0, + "inputs": {} + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 0.89, + "inputs": {} + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 1.0, + "inputs": { + "pressure": [ + [ + 0.0, + -0.989583 + ], + [ + 0.38253, + -0.59375 + ], + [ + 0.656627, + 0.041667 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "opaque_linearize": { + "base_value": 0.0, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.011589403973509934, + 0.6041666666666667 + ], + [ + 0.069277, + 0.9375 + ], + [ + 0.25, + 1.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "pressure_gain_log": { + "base_value": 0.0, + "inputs": {} + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 1.5, + "inputs": { + "pressure": [ + [ + 0.0, + -1.065 + ], + [ + 0.25, + -1.065 + ], + [ + 0.5, + 0.0 + ], + [ + 0.76506, + 1.42 + ], + [ + 1.0, + 2.13 + ] + ] + } + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 0.7, + "inputs": { + "pressure": [ + [ + 0.0, + 0.8 + ], + [ + 1.0, + 0.0 + ] + ] + } + }, + "smudge_length": { + "base_value": 0.8, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "snap_to_pixel": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 2.87, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 4.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 0.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} \ No newline at end of file diff --git a/stuff/library/mypaint brushes/kaerhon_v1/Smear_sm_prev.png b/stuff/library/mypaint brushes/kaerhon_v1/Smear_sm_prev.png new file mode 100644 index 0000000..4756d24 Binary files /dev/null and b/stuff/library/mypaint brushes/kaerhon_v1/Smear_sm_prev.png differ diff --git a/stuff/library/mypaint brushes/kaerhon_v1/airbruch_press_a.myb b/stuff/library/mypaint brushes/kaerhon_v1/airbruch_press_a.myb new file mode 100644 index 0000000..a59a197 --- /dev/null +++ b/stuff/library/mypaint brushes/kaerhon_v1/airbruch_press_a.myb @@ -0,0 +1,250 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "parent_brush_name": "airbruch_press", + "settings": { + "anti_aliasing": { + "base_value": 1.39, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.0, + "inputs": {} + }, + "color_s": { + "base_value": 0.0, + "inputs": {} + }, + "color_v": { + "base_value": 0.0, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "custom_input_slowness": { + "base_value": 0.71, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 2.0, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 6.0, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 0.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.99, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 90.0, + "inputs": { + "direction": [ + [ + 0.0, + 0.0 + ], + [ + 180.0, + 180.0 + ] + ] + } + }, + "elliptical_dab_ratio": { + "base_value": 1.0, + "inputs": {} + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 0.36, + "inputs": {} + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 0.7, + "inputs": {} + }, + "opaque_linearize": { + "base_value": 2.0, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.111111, + 0.5 + ], + [ + 0.308642, + 0.833333 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "pressure_gain_log": { + "base_value": 0.0, + "inputs": {} + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 4.0, + "inputs": { + "custom": [ + [ + -2.0, + 0.45 + ], + [ + 2.0, + -0.45 + ] + ], + "pressure": [ + [ + 0.0, + -1.51 + ], + [ + 1.0, + 1.4785416666666669 + ] + ] + } + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 0.0, + "inputs": {} + }, + "smudge_length": { + "base_value": 0.5, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "snap_to_pixel": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 4.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 0.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} \ No newline at end of file diff --git a/stuff/library/mypaint brushes/kaerhon_v1/airbruch_press_a_prev.png b/stuff/library/mypaint brushes/kaerhon_v1/airbruch_press_a_prev.png new file mode 100644 index 0000000..c549b46 Binary files /dev/null and b/stuff/library/mypaint brushes/kaerhon_v1/airbruch_press_a_prev.png differ diff --git a/stuff/library/mypaint brushes/kaerhon_v1/airsmudge_a.myb b/stuff/library/mypaint brushes/kaerhon_v1/airsmudge_a.myb new file mode 100644 index 0000000..5909fff --- /dev/null +++ b/stuff/library/mypaint brushes/kaerhon_v1/airsmudge_a.myb @@ -0,0 +1,265 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "parent_brush_name": "", + "settings": { + "anti_aliasing": { + "base_value": 1.39, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.0, + "inputs": {} + }, + "color_s": { + "base_value": 0.0, + "inputs": {} + }, + "color_v": { + "base_value": 1.0, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "custom_input_slowness": { + "base_value": 0.71, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 2.0, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 6.0, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 0.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.99, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 90.0, + "inputs": { + "direction": [ + [ + 0.0, + 0.0 + ], + [ + 180.0, + 180.0 + ] + ] + } + }, + "elliptical_dab_ratio": { + "base_value": 1.0, + "inputs": {} + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 0.36, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + -0.175 + ], + [ + 1.0, + -0.35 + ] + ] + } + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 1.0, + "inputs": {} + }, + "opaque_linearize": { + "base_value": 2.0, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.111111, + 0.5 + ], + [ + 0.308642, + 0.833333 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "pressure_gain_log": { + "base_value": 0.0, + "inputs": {} + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 4.09, + "inputs": { + "custom": [ + [ + -2.0, + 0.45 + ], + [ + 2.0, + -0.45 + ] + ], + "pressure": [ + [ + 0.0, + -1.07 + ], + [ + 1.0, + 0.4235416666666666 + ] + ] + } + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 1.0, + "inputs": {} + }, + "smudge_length": { + "base_value": 0.5, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "snap_to_pixel": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 4.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 0.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} \ No newline at end of file diff --git a/stuff/library/mypaint brushes/kaerhon_v1/airsmudge_a_prev.png b/stuff/library/mypaint brushes/kaerhon_v1/airsmudge_a_prev.png new file mode 100644 index 0000000..bdfd9e8 Binary files /dev/null and b/stuff/library/mypaint brushes/kaerhon_v1/airsmudge_a_prev.png differ diff --git a/stuff/library/mypaint brushes/kaerhon_v1/airsmudgeultimate_sk.myb b/stuff/library/mypaint brushes/kaerhon_v1/airsmudgeultimate_sk.myb new file mode 100644 index 0000000..bbaf477 --- /dev/null +++ b/stuff/library/mypaint brushes/kaerhon_v1/airsmudgeultimate_sk.myb @@ -0,0 +1,299 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "parent_brush_name": "", + "settings": { + "anti_aliasing": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": { + "stroke": [ + [ + 0.0, + -0.01 + ], + [ + 0.5, + 0.01 + ], + [ + 1.0, + -0.01 + ] + ] + } + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.08219178082191785, + "inputs": {} + }, + "color_s": { + "base_value": 0.0, + "inputs": {} + }, + "color_v": { + "base_value": 0.0, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 4.0, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 0.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 0.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 90.0, + "inputs": { + "direction": [ + [ + 0.0, + 0.0 + ], + [ + 180.0, + 180.0 + ] + ] + } + }, + "elliptical_dab_ratio": { + "base_value": 1.0, + "inputs": {} + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 0.43, + "inputs": {} + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 1.0, + "inputs": { + "pressure": [ + [ + 0.0, + -0.066667 + ], + [ + 1.0, + -0.030208 + ] + ] + } + }, + "opaque_linearize": { + "base_value": 0.9, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.111111, + 0.5 + ], + [ + 0.308642, + 0.833333 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "pressure_gain_log": { + "base_value": 0.0, + "inputs": {} + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 1.5, + "inputs": { + "custom": [ + [ + -2.0, + 0.45 + ], + [ + 2.0, + -0.45 + ] + ], + "pressure": [ + [ + 0.0, + 2.47 + ], + [ + 1.0, + -0.0 + ] + ] + } + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 0.0, + "inputs": { + "custom": [ + [ + 0.0, + 0.94 + ], + [ + 0.648148, + 0.76375 + ], + [ + 0.833333, + 0.5875 + ], + [ + 0.916667, + 0.362292 + ], + [ + 1.0, + -0.0 + ] + ] + } + }, + "smudge_length": { + "base_value": 0.0, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "snap_to_pixel": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 4.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 0.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} \ No newline at end of file diff --git a/stuff/library/mypaint brushes/kaerhon_v1/airsmudgeultimate_sk_prev.png b/stuff/library/mypaint brushes/kaerhon_v1/airsmudgeultimate_sk_prev.png new file mode 100644 index 0000000..1da355e Binary files /dev/null and b/stuff/library/mypaint brushes/kaerhon_v1/airsmudgeultimate_sk_prev.png differ diff --git a/stuff/library/mypaint brushes/kaerhon_v1/classic_sk.myb b/stuff/library/mypaint brushes/kaerhon_v1/classic_sk.myb new file mode 100644 index 0000000..40a6419 --- /dev/null +++ b/stuff/library/mypaint brushes/kaerhon_v1/classic_sk.myb @@ -0,0 +1,278 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "parent_brush_name": "", + "settings": { + "anti_aliasing": { + "base_value": 1.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.572632944228275, + "inputs": {} + }, + "color_s": { + "base_value": 1.0, + "inputs": {} + }, + "color_v": { + "base_value": 0.0, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 6.0, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 0.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 90.0, + "inputs": { + "direction": [ + [ + 0.0, + 0.0 + ], + [ + 180.0, + 180.0 + ] + ] + } + }, + "elliptical_dab_ratio": { + "base_value": 1.0, + "inputs": {} + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 0.68, + "inputs": {} + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 1.0, + "inputs": { + "pressure": [ + [ + 0.0, + -0.989583 + ], + [ + 0.39404, + -0.833333 + ], + [ + 0.711921, + -0.427083 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "opaque_linearize": { + "base_value": 0.33, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.015, + 0.0 + ], + [ + 0.069277, + 0.9375 + ], + [ + 0.25, + 1.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "pressure_gain_log": { + "base_value": 0.0, + "inputs": {} + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 2.0, + "inputs": { + "pressure": [ + [ + 0.0, + -0.94 + ], + [ + 1.0, + 0.22520833333333334 + ] + ] + } + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.066667 + ], + [ + 1.0, + -0.1 + ] + ] + } + }, + "smudge_length": { + "base_value": 0.5, + "inputs": { + "pressure": [ + [ + 0.0, + -0.326667 + ], + [ + 0.245033, + 0.178646 + ], + [ + 1.0, + 0.49 + ] + ] + } + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "snap_to_pixel": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 4.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 0.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} \ No newline at end of file diff --git a/stuff/library/mypaint brushes/kaerhon_v1/classic_sk_prev.png b/stuff/library/mypaint brushes/kaerhon_v1/classic_sk_prev.png new file mode 100644 index 0000000..2027ea4 Binary files /dev/null and b/stuff/library/mypaint brushes/kaerhon_v1/classic_sk_prev.png differ diff --git a/stuff/library/mypaint brushes/kaerhon_v1/classicroundblock_static_c.myb b/stuff/library/mypaint brushes/kaerhon_v1/classicroundblock_static_c.myb new file mode 100644 index 0000000..3f87d60 --- /dev/null +++ b/stuff/library/mypaint brushes/kaerhon_v1/classicroundblock_static_c.myb @@ -0,0 +1,267 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "parent_brush_name": "classicroundblock_static#2", + "settings": { + "anti_aliasing": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.1006289308176101, + "inputs": {} + }, + "color_s": { + "base_value": 0.2535885167464114, + "inputs": {} + }, + "color_v": { + "base_value": 0.8196078431372549, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 6.0, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 6.0, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 0.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 1.14, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 90.0, + "inputs": { + "direction": [ + [ + 0.0, + 0.0 + ], + [ + 180.0, + 180.0 + ] + ] + } + }, + "elliptical_dab_ratio": { + "base_value": 1.0, + "inputs": {} + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 0.8, + "inputs": {} + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 1.0, + "inputs": { + "pressure": [ + [ + 0.0, + -0.989583 + ], + [ + 0.39404, + -0.833333 + ], + [ + 0.711921, + -0.427083 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "opaque_linearize": { + "base_value": 0.29, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.015, + 0.0 + ], + [ + 0.069277, + 0.9375 + ], + [ + 0.25, + 1.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "pressure_gain_log": { + "base_value": 0.0, + "inputs": {} + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 4.099999999999999, + "inputs": {} + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.066667 + ], + [ + 1.0, + -0.1 + ] + ] + } + }, + "smudge_length": { + "base_value": 0.5, + "inputs": { + "pressure": [ + [ + 0.0, + -0.326667 + ], + [ + 0.245033, + 0.178646 + ], + [ + 1.0, + 0.49 + ] + ] + } + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "snap_to_pixel": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 2.87, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 4.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 0.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} \ No newline at end of file diff --git a/stuff/library/mypaint brushes/kaerhon_v1/classicroundblock_static_c_prev.png b/stuff/library/mypaint brushes/kaerhon_v1/classicroundblock_static_c_prev.png new file mode 100644 index 0000000..80ca14b Binary files /dev/null and b/stuff/library/mypaint brushes/kaerhon_v1/classicroundblock_static_c_prev.png differ diff --git a/stuff/library/mypaint brushes/kaerhon_v1/extreme_round_l.myb b/stuff/library/mypaint brushes/kaerhon_v1/extreme_round_l.myb new file mode 100644 index 0000000..3b8d536 --- /dev/null +++ b/stuff/library/mypaint brushes/kaerhon_v1/extreme_round_l.myb @@ -0,0 +1,268 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "parent_brush_name": "extreme_round#2", + "settings": { + "anti_aliasing": { + "base_value": 0.4, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.1006289308176101, + "inputs": {} + }, + "color_s": { + "base_value": 0.2535885167464114, + "inputs": {} + }, + "color_v": { + "base_value": 0.8196078431372549, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 2.2, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 0.51, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 0.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 90.0, + "inputs": {} + }, + "elliptical_dab_ratio": { + "base_value": 1.0, + "inputs": {} + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 0.89, + "inputs": { + "pressure": [ + [ + 0.0, + -0.2 + ], + [ + 0.4817880794701987, + -0.002083333333333348 + ], + [ + 1.0, + 0.1 + ] + ] + } + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 1.0, + "inputs": { + "pressure": [ + [ + 0.0, + -0.989583 + ], + [ + 0.38253, + -0.59375 + ], + [ + 0.656627, + 0.041667 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "opaque_linearize": { + "base_value": 0.0, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.015, + 0.0 + ], + [ + 0.069277, + 0.9375 + ], + [ + 0.25, + 1.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "pressure_gain_log": { + "base_value": 0.0, + "inputs": {} + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 1.56, + "inputs": { + "pressure": [ + [ + 0.0, + -2.38875 + ], + [ + 0.237952, + -1.8199999999999996 + ], + [ + 0.5, + -0.4550000000000002 + ], + [ + 0.76506, + 1.8199999999999998 + ], + [ + 1.0, + 2.73 + ] + ] + } + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 0.0, + "inputs": {} + }, + "smudge_length": { + "base_value": 0.5, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.93, + "inputs": {} + }, + "snap_to_pixel": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 2.87, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 4.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 0.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} \ No newline at end of file diff --git a/stuff/library/mypaint brushes/kaerhon_v1/extreme_round_l_prev.png b/stuff/library/mypaint brushes/kaerhon_v1/extreme_round_l_prev.png new file mode 100644 index 0000000..d3122e4 Binary files /dev/null and b/stuff/library/mypaint brushes/kaerhon_v1/extreme_round_l_prev.png differ diff --git a/stuff/library/mypaint brushes/kaerhon_v1/fill_c.myb b/stuff/library/mypaint brushes/kaerhon_v1/fill_c.myb new file mode 100644 index 0000000..dd36501 --- /dev/null +++ b/stuff/library/mypaint brushes/kaerhon_v1/fill_c.myb @@ -0,0 +1,237 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "parent_brush_name": "fill#2", + "settings": { + "anti_aliasing": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.1006289308176101, + "inputs": {} + }, + "color_s": { + "base_value": 0.2535885167464114, + "inputs": {} + }, + "color_v": { + "base_value": 0.8196078431372549, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 5.0, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 0.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 1.14, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 90.0, + "inputs": {} + }, + "elliptical_dab_ratio": { + "base_value": 1.0, + "inputs": {} + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 0.9, + "inputs": {} + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 2.0, + "inputs": {} + }, + "opaque_linearize": { + "base_value": 0.23, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.015, + 0.0 + ], + [ + 0.069277, + 0.9375 + ], + [ + 0.25, + 1.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "pressure_gain_log": { + "base_value": 0.0, + "inputs": {} + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 3.0, + "inputs": {} + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.066667 + ], + [ + 1.0, + -0.1 + ] + ] + } + }, + "smudge_length": { + "base_value": 0.5, + "inputs": { + "pressure": [ + [ + 0.0, + -0.326667 + ], + [ + 0.245033, + 0.178646 + ], + [ + 1.0, + 0.49 + ] + ] + } + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "snap_to_pixel": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 2.87, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 4.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 0.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} \ No newline at end of file diff --git a/stuff/library/mypaint brushes/kaerhon_v1/fill_c_prev.png b/stuff/library/mypaint brushes/kaerhon_v1/fill_c_prev.png new file mode 100644 index 0000000..25df6b6 Binary files /dev/null and b/stuff/library/mypaint brushes/kaerhon_v1/fill_c_prev.png differ diff --git a/stuff/library/mypaint brushes/kaerhon_v1/flat_bar_l.myb b/stuff/library/mypaint brushes/kaerhon_v1/flat_bar_l.myb new file mode 100644 index 0000000..f6a2a44 --- /dev/null +++ b/stuff/library/mypaint brushes/kaerhon_v1/flat_bar_l.myb @@ -0,0 +1,279 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "parent_brush_name": "flat_bar", + "settings": { + "anti_aliasing": { + "base_value": 1.1, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.0, + "inputs": {} + }, + "color_s": { + "base_value": 0.0, + "inputs": {} + }, + "color_v": { + "base_value": 0.0, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 4.0, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 1.5, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 80.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 1.5, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 90.0, + "inputs": { + "direction": [ + [ + 0.0, + 0.0 + ], + [ + 180.0, + 180.0 + ] + ] + } + }, + "elliptical_dab_ratio": { + "base_value": 5.8, + "inputs": {} + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 0.69, + "inputs": { + "pressure": [ + [ + 0.0, + -0.2 + ], + [ + 0.4817880794701987, + -0.002083333333333348 + ], + [ + 1.0, + 0.1 + ] + ] + } + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 1.0, + "inputs": { + "pressure": [ + [ + 0.0, + -0.989583 + ], + [ + 0.38253, + -0.59375 + ], + [ + 0.656627, + 0.041667 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "opaque_linearize": { + "base_value": 0.0, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.015, + 0.0 + ], + [ + 0.069277, + 0.9375 + ], + [ + 0.25, + 1.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "pressure_gain_log": { + "base_value": 0.0, + "inputs": {} + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 0.05999999999999994, + "inputs": { + "pressure": [ + [ + 0.0, + -2.38875 + ], + [ + 0.20695364238410596, + -2.0759375 + ], + [ + 0.478476821192053, + 0.6825 + ], + [ + 0.75, + 2.73 + ], + [ + 1.0, + 2.73 + ] + ] + } + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 0.0, + "inputs": {} + }, + "smudge_length": { + "base_value": 0.5, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.93, + "inputs": {} + }, + "snap_to_pixel": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 2.87, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 4.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 0.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} \ No newline at end of file diff --git a/stuff/library/mypaint brushes/kaerhon_v1/flat_bar_l_prev.png b/stuff/library/mypaint brushes/kaerhon_v1/flat_bar_l_prev.png new file mode 100644 index 0000000..e994970 Binary files /dev/null and b/stuff/library/mypaint brushes/kaerhon_v1/flat_bar_l_prev.png differ diff --git a/stuff/library/mypaint brushes/kaerhon_v1/ink-slowline_s.myb b/stuff/library/mypaint brushes/kaerhon_v1/ink-slowline_s.myb new file mode 100644 index 0000000..a8539eb --- /dev/null +++ b/stuff/library/mypaint brushes/kaerhon_v1/ink-slowline_s.myb @@ -0,0 +1,270 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "parent_brush_name": "", + "settings": { + "anti_aliasing": { + "base_value": 1.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.0, + "inputs": {} + }, + "color_s": { + "base_value": 0.0, + "inputs": {} + }, + "color_v": { + "base_value": 0.0, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 6.0, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 0.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 90.0, + "inputs": { + "direction": [ + [ + 0.0, + 0.0 + ], + [ + 180.0, + 180.0 + ] + ] + } + }, + "elliptical_dab_ratio": { + "base_value": 1.0, + "inputs": {} + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 0.6, + "inputs": { + "pressure": [ + [ + 0.0, + -0.16041666666666668 + ], + [ + 1.0, + 0.32083333333333336 + ] + ] + } + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 1.0, + "inputs": {} + }, + "opaque_linearize": { + "base_value": 0.5, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.015, + 0.0 + ], + [ + 0.069277, + 0.9375 + ], + [ + 0.25, + 1.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "pressure_gain_log": { + "base_value": 0.0, + "inputs": {} + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 0.08999999999999975, + "inputs": { + "pressure": [ + [ + 0.0, + -0.6075 + ], + [ + 1.0, + 1.215 + ] + ] + } + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 5.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.066667 + ], + [ + 1.0, + -0.1 + ] + ] + } + }, + "smudge_length": { + "base_value": 0.5, + "inputs": { + "pressure": [ + [ + 0.0, + -0.326667 + ], + [ + 0.245033, + 0.178646 + ], + [ + 1.0, + 0.49 + ] + ] + } + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "snap_to_pixel": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 3.0, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 4.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 0.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} \ No newline at end of file diff --git a/stuff/library/mypaint brushes/kaerhon_v1/ink-slowline_s_prev.png b/stuff/library/mypaint brushes/kaerhon_v1/ink-slowline_s_prev.png new file mode 100644 index 0000000..4377bd0 Binary files /dev/null and b/stuff/library/mypaint brushes/kaerhon_v1/ink-slowline_s_prev.png differ diff --git a/stuff/library/mypaint brushes/kaerhon_v1/ink_slow_s.myb b/stuff/library/mypaint brushes/kaerhon_v1/ink_slow_s.myb new file mode 100644 index 0000000..c477434 --- /dev/null +++ b/stuff/library/mypaint brushes/kaerhon_v1/ink_slow_s.myb @@ -0,0 +1,278 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "parent_brush_name": "", + "settings": { + "anti_aliasing": { + "base_value": 1.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.0, + "inputs": {} + }, + "color_s": { + "base_value": 0.0, + "inputs": {} + }, + "color_v": { + "base_value": 0.00784313725490196, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 6.0, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 0.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 90.0, + "inputs": { + "direction": [ + [ + 0.0, + 0.0 + ], + [ + 180.0, + 180.0 + ] + ] + } + }, + "elliptical_dab_ratio": { + "base_value": 1.0, + "inputs": {} + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 0.59, + "inputs": { + "pressure": [ + [ + 0.0, + -0.4 + ], + [ + 0.24172185430463577, + -0.24583333333333332 + ], + [ + 0.6225165562913907, + -0.016666666666666698 + ], + [ + 1.0, + 0.32083333333333336 + ] + ] + } + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 1.0, + "inputs": {} + }, + "opaque_linearize": { + "base_value": 0.5, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.015, + 0.0 + ], + [ + 0.069277, + 0.9375 + ], + [ + 0.25, + 1.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "pressure_gain_log": { + "base_value": 0.0, + "inputs": {} + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 1.9999999999999998, + "inputs": { + "pressure": [ + [ + 0.0, + -2.52 + ], + [ + 1.0, + 1.26 + ] + ] + } + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 4.83, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.066667 + ], + [ + 1.0, + -0.1 + ] + ] + } + }, + "smudge_length": { + "base_value": 0.5, + "inputs": { + "pressure": [ + [ + 0.0, + -0.326667 + ], + [ + 0.245033, + 0.178646 + ], + [ + 1.0, + 0.49 + ] + ] + } + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "snap_to_pixel": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 3.0, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 4.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 0.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} \ No newline at end of file diff --git a/stuff/library/mypaint brushes/kaerhon_v1/ink_slow_s_prev.png b/stuff/library/mypaint brushes/kaerhon_v1/ink_slow_s_prev.png new file mode 100644 index 0000000..324befd Binary files /dev/null and b/stuff/library/mypaint brushes/kaerhon_v1/ink_slow_s_prev.png differ diff --git a/stuff/library/mypaint brushes/kaerhon_v1/inkster_l.myb b/stuff/library/mypaint brushes/kaerhon_v1/inkster_l.myb new file mode 100644 index 0000000..9f6c7d1 --- /dev/null +++ b/stuff/library/mypaint brushes/kaerhon_v1/inkster_l.myb @@ -0,0 +1,265 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "parent_brush_name": "inkster#2", + "settings": { + "anti_aliasing": { + "base_value": 1.2, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.1006289308176101, + "inputs": {} + }, + "color_s": { + "base_value": 0.2535885167464114, + "inputs": {} + }, + "color_v": { + "base_value": 0.8196078431372549, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 2.2, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 0.51, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 0.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 90.0, + "inputs": {} + }, + "elliptical_dab_ratio": { + "base_value": 1.0, + "inputs": {} + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 0.79, + "inputs": {} + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 1.0, + "inputs": { + "pressure": [ + [ + 0.0, + -0.7916666666666667 + ], + [ + 0.11258278145695365, + -0.7604166666666667 + ], + [ + 0.3294701986754967, + -0.45833333333333326 + ], + [ + 0.5082781456953642, + -0.15625 + ], + [ + 0.75, + 0.0 + ], + [ + 1.0, + 0.0 + ] + ] + } + }, + "opaque_linearize": { + "base_value": 0.0, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.011589403973509934, + 0.6041666666666667 + ], + [ + 0.069277, + 0.9375 + ], + [ + 0.1357615894039735, + 1.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "pressure_gain_log": { + "base_value": 0.0, + "inputs": {} + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 0.66, + "inputs": { + "pressure": [ + [ + 0.0, + -0.7543749999999999 + ], + [ + 0.04966887417218543, + -0.68365234375 + ], + [ + 0.1291390728476821, + -0.03929036458333327 + ], + [ + 0.32450331125827814, + 0.45576822916666665 + ], + [ + 0.6076158940397351, + 0.7072265624999999 + ], + [ + 1.0, + 0.7543749999999999 + ] + ] + } + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 1.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 0.0, + "inputs": {} + }, + "smudge_length": { + "base_value": 0.8, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "snap_to_pixel": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 2.87, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 4.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 0.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} \ No newline at end of file diff --git a/stuff/library/mypaint brushes/kaerhon_v1/inkster_l_prev.png b/stuff/library/mypaint brushes/kaerhon_v1/inkster_l_prev.png new file mode 100644 index 0000000..5ab7480 Binary files /dev/null and b/stuff/library/mypaint brushes/kaerhon_v1/inkster_l_prev.png differ diff --git a/stuff/library/mypaint brushes/kaerhon_v1/paint_barrr_sm.myb b/stuff/library/mypaint brushes/kaerhon_v1/paint_barrr_sm.myb new file mode 100644 index 0000000..bd179d8 --- /dev/null +++ b/stuff/library/mypaint brushes/kaerhon_v1/paint_barrr_sm.myb @@ -0,0 +1,267 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "parent_brush_name": "paint_barrr#2", + "settings": { + "anti_aliasing": { + "base_value": 3.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.1006289308176101, + "inputs": {} + }, + "color_s": { + "base_value": 0.2535885167464114, + "inputs": {} + }, + "color_v": { + "base_value": 0.8196078431372549, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 2.0, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 6.0, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 0.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 0.89, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 90.0, + "inputs": { + "direction": [ + [ + 0.0, + 0.0 + ], + [ + 180.0, + 180.0 + ] + ] + } + }, + "elliptical_dab_ratio": { + "base_value": 5.0, + "inputs": {} + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 0.9, + "inputs": {} + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 1.0, + "inputs": { + "pressure": [ + [ + 0.0, + -0.989583 + ], + [ + 0.39404, + -0.833333 + ], + [ + 0.711921, + -0.427083 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "opaque_linearize": { + "base_value": 0.0, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.015, + 0.0 + ], + [ + 0.069277, + 0.9375 + ], + [ + 0.25, + 1.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "pressure_gain_log": { + "base_value": 0.0, + "inputs": {} + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 3.0, + "inputs": {} + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 0.75, + "inputs": { + "pressure": [ + [ + 0.0, + 0.7 + ], + [ + 1.0, + -0.7 + ] + ] + } + }, + "smudge_length": { + "base_value": 0.5, + "inputs": { + "pressure": [ + [ + 0.0, + -0.326667 + ], + [ + 0.245033, + 0.178646 + ], + [ + 1.0, + 0.49 + ] + ] + } + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "snap_to_pixel": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 2.87, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 4.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 0.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} \ No newline at end of file diff --git a/stuff/library/mypaint brushes/kaerhon_v1/paint_barrr_sm_prev.png b/stuff/library/mypaint brushes/kaerhon_v1/paint_barrr_sm_prev.png new file mode 100644 index 0000000..b76cc03 Binary files /dev/null and b/stuff/library/mypaint brushes/kaerhon_v1/paint_barrr_sm_prev.png differ diff --git a/stuff/library/mypaint brushes/kaerhon_v1/paint_radius_2_sm.myb b/stuff/library/mypaint brushes/kaerhon_v1/paint_radius_2_sm.myb new file mode 100644 index 0000000..00542f5 --- /dev/null +++ b/stuff/library/mypaint brushes/kaerhon_v1/paint_radius_2_sm.myb @@ -0,0 +1,286 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "parent_brush_name": "paint_radius_2#2", + "settings": { + "anti_aliasing": { + "base_value": 1.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.1006289308176101, + "inputs": {} + }, + "color_s": { + "base_value": 0.2535885167464114, + "inputs": {} + }, + "color_v": { + "base_value": 0.8196078431372549, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 2.0, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 6.0, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 0.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 0.89, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 90.0, + "inputs": { + "direction": [ + [ + 0.0, + 0.0 + ], + [ + 180.0, + 180.0 + ] + ] + } + }, + "elliptical_dab_ratio": { + "base_value": 1.0, + "inputs": {} + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 0.9, + "inputs": {} + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 1.0, + "inputs": { + "pressure": [ + [ + 0.0, + -0.989583 + ], + [ + 0.39404, + -0.833333 + ], + [ + 0.711921, + -0.427083 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "opaque_linearize": { + "base_value": 0.0, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.015, + 0.0 + ], + [ + 0.069277, + 0.9375 + ], + [ + 0.25, + 1.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "pressure_gain_log": { + "base_value": 0.0, + "inputs": {} + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 2.4000000000000004, + "inputs": { + "pressure": [ + [ + 0.0, + 0.37239583333333326 + ], + [ + 0.3658940397350993, + 0.19466145833333326 + ], + [ + 0.6887417218543046, + -0.16080729166666663 + ], + [ + 1.0, + -0.8125 + ] + ] + } + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 0.75, + "inputs": { + "pressure": [ + [ + 0.0, + 0.7 + ], + [ + 1.0, + -0.7 + ] + ] + } + }, + "smudge_length": { + "base_value": 0.5, + "inputs": { + "pressure": [ + [ + 0.0, + -0.326667 + ], + [ + 0.245033, + 0.178646 + ], + [ + 1.0, + 0.49 + ] + ] + } + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "snap_to_pixel": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 2.87, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 4.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 0.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} \ No newline at end of file diff --git a/stuff/library/mypaint brushes/kaerhon_v1/paint_radius_2_sm_prev.png b/stuff/library/mypaint brushes/kaerhon_v1/paint_radius_2_sm_prev.png new file mode 100644 index 0000000..c430790 Binary files /dev/null and b/stuff/library/mypaint brushes/kaerhon_v1/paint_radius_2_sm_prev.png differ diff --git a/stuff/library/mypaint brushes/kaerhon_v1/paint_sm.myb b/stuff/library/mypaint brushes/kaerhon_v1/paint_sm.myb new file mode 100644 index 0000000..c54d121 --- /dev/null +++ b/stuff/library/mypaint brushes/kaerhon_v1/paint_sm.myb @@ -0,0 +1,275 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "parent_brush_name": "paint#2", + "settings": { + "anti_aliasing": { + "base_value": 3.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.1006289308176101, + "inputs": {} + }, + "color_s": { + "base_value": 0.2535885167464114, + "inputs": {} + }, + "color_v": { + "base_value": 0.8196078431372549, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 2.0, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 6.0, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 0.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 0.89, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 90.0, + "inputs": { + "direction": [ + [ + 0.0, + 0.0 + ], + [ + 180.0, + 180.0 + ] + ] + } + }, + "elliptical_dab_ratio": { + "base_value": 1.0, + "inputs": {} + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 0.9, + "inputs": {} + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 1.0, + "inputs": { + "pressure": [ + [ + 0.0, + -0.989583 + ], + [ + 0.39404, + -0.833333 + ], + [ + 0.711921, + -0.427083 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "opaque_linearize": { + "base_value": 0.0, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.015, + 0.0 + ], + [ + 0.069277, + 0.9375 + ], + [ + 0.25, + 1.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "pressure_gain_log": { + "base_value": 0.0, + "inputs": {} + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 3.0, + "inputs": {} + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 0.75, + "inputs": { + "pressure": [ + [ + 0.0, + 0.7 + ], + [ + 0.35927152317880795, + 0.48124999999999996 + ], + [ + 0.7019867549668874, + 0.029166666666666716 + ], + [ + 1.0, + -0.7 + ] + ] + } + }, + "smudge_length": { + "base_value": 0.5, + "inputs": { + "pressure": [ + [ + 0.0, + -0.326667 + ], + [ + 0.245033, + 0.178646 + ], + [ + 1.0, + 0.49 + ] + ] + } + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "snap_to_pixel": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 2.87, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 4.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 0.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} \ No newline at end of file diff --git a/stuff/library/mypaint brushes/kaerhon_v1/paint_sm_prev.png b/stuff/library/mypaint brushes/kaerhon_v1/paint_sm_prev.png new file mode 100644 index 0000000..b73a0ae Binary files /dev/null and b/stuff/library/mypaint brushes/kaerhon_v1/paint_sm_prev.png differ diff --git a/stuff/library/mypaint brushes/kaerhon_v1/smudge_ink(0.7)_sm.myb b/stuff/library/mypaint brushes/kaerhon_v1/smudge_ink(0.7)_sm.myb new file mode 100644 index 0000000..c989fe5 --- /dev/null +++ b/stuff/library/mypaint brushes/kaerhon_v1/smudge_ink(0.7)_sm.myb @@ -0,0 +1,253 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "parent_brush_name": "smudge_ink(0.7)#3", + "settings": { + "anti_aliasing": { + "base_value": 1.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.1006289308176101, + "inputs": {} + }, + "color_s": { + "base_value": 0.2535885167464114, + "inputs": {} + }, + "color_v": { + "base_value": 0.8196078431372549, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 2.2, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 0.51, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 0.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 90.0, + "inputs": {} + }, + "elliptical_dab_ratio": { + "base_value": 1.0, + "inputs": {} + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 0.89, + "inputs": {} + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 1.0, + "inputs": { + "pressure": [ + [ + 0.0, + -0.989583 + ], + [ + 0.38253, + -0.59375 + ], + [ + 0.656627, + 0.041667 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "opaque_linearize": { + "base_value": 0.0, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.015, + 0.0 + ], + [ + 0.069277, + 0.9375 + ], + [ + 0.25, + 1.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "pressure_gain_log": { + "base_value": 0.0, + "inputs": {} + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 1.26, + "inputs": { + "pressure": [ + [ + 0.0, + -1.86375 + ], + [ + 0.237952, + -1.42 + ], + [ + 0.5, + -0.355 + ], + [ + 0.76506, + 1.42 + ], + [ + 1.0, + 2.13 + ] + ] + } + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 0.69, + "inputs": {} + }, + "smudge_length": { + "base_value": 0.5, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.93, + "inputs": {} + }, + "snap_to_pixel": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 2.87, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 4.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 0.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} \ No newline at end of file diff --git a/stuff/library/mypaint brushes/kaerhon_v1/smudge_ink(0.7)_sm_prev.png b/stuff/library/mypaint brushes/kaerhon_v1/smudge_ink(0.7)_sm_prev.png new file mode 100644 index 0000000..5bd8a44 Binary files /dev/null and b/stuff/library/mypaint brushes/kaerhon_v1/smudge_ink(0.7)_sm_prev.png differ diff --git a/stuff/library/mypaint brushes/kaerhon_v1/wet_paint_sm.myb b/stuff/library/mypaint brushes/kaerhon_v1/wet_paint_sm.myb new file mode 100644 index 0000000..c4fad9d --- /dev/null +++ b/stuff/library/mypaint brushes/kaerhon_v1/wet_paint_sm.myb @@ -0,0 +1,253 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "parent_brush_name": "wet_paint#2", + "settings": { + "anti_aliasing": { + "base_value": 1.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.1006289308176101, + "inputs": {} + }, + "color_s": { + "base_value": 0.2535885167464114, + "inputs": {} + }, + "color_v": { + "base_value": 0.8196078431372549, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 2.2, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 0.51, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 0.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 90.0, + "inputs": {} + }, + "elliptical_dab_ratio": { + "base_value": 1.0, + "inputs": {} + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 0.89, + "inputs": {} + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 1.0, + "inputs": { + "pressure": [ + [ + 0.0, + -0.989583 + ], + [ + 0.38253, + -0.59375 + ], + [ + 0.656627, + 0.041667 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "opaque_linearize": { + "base_value": 0.0, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.011589403973509934, + 0.6041666666666667 + ], + [ + 0.069277, + 0.9375 + ], + [ + 0.25, + 1.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "pressure_gain_log": { + "base_value": 0.0, + "inputs": {} + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 1.5, + "inputs": { + "pressure": [ + [ + 0.0, + -1.86375 + ], + [ + 0.237952, + -1.42 + ], + [ + 0.5, + -0.355 + ], + [ + 0.76506, + 1.42 + ], + [ + 1.0, + 2.13 + ] + ] + } + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 0.7, + "inputs": {} + }, + "smudge_length": { + "base_value": 0.8, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "snap_to_pixel": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 2.87, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 4.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 0.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} \ No newline at end of file diff --git a/stuff/library/mypaint brushes/kaerhon_v1/wet_paint_sm_prev.png b/stuff/library/mypaint brushes/kaerhon_v1/wet_paint_sm_prev.png new file mode 100644 index 0000000..ded71b9 Binary files /dev/null and b/stuff/library/mypaint brushes/kaerhon_v1/wet_paint_sm_prev.png differ diff --git a/stuff/library/mypaint brushes/ramon/100%_Opaque.myb b/stuff/library/mypaint brushes/ramon/100%_Opaque.myb new file mode 100644 index 0000000..72c9ef3 --- /dev/null +++ b/stuff/library/mypaint brushes/ramon/100%_Opaque.myb @@ -0,0 +1,199 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "parent_brush_name": "ramon/100%_Opaque", + "settings": { + "anti_aliasing": { + "base_value": 1.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.0, + "inputs": {} + }, + "color_s": { + "base_value": 0.0, + "inputs": {} + }, + "color_v": { + "base_value": 0.0, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 2.2, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 2.18, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 0.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 90.0, + "inputs": {} + }, + "elliptical_dab_ratio": { + "base_value": 1.0, + "inputs": {} + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 0.95, + "inputs": {} + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 1.0, + "inputs": {} + }, + "opaque_linearize": { + "base_value": 0.0, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.015, + 0.0 + ], + [ + 0.025, + 1.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 3.01, + "inputs": {} + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 0.65, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.8, + "inputs": {} + }, + "smudge": { + "base_value": 0.0, + "inputs": {} + }, + "smudge_length": { + "base_value": 0.5, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 2.87, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 1.18, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 10.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} \ No newline at end of file diff --git a/stuff/library/mypaint brushes/ramon/100%_Opaque_prev.png b/stuff/library/mypaint brushes/ramon/100%_Opaque_prev.png new file mode 100644 index 0000000..6b4b816 Binary files /dev/null and b/stuff/library/mypaint brushes/ramon/100%_Opaque_prev.png differ diff --git a/stuff/library/mypaint brushes/ramon/2B_pencil.myb b/stuff/library/mypaint brushes/ramon/2B_pencil.myb new file mode 100644 index 0000000..28dd91f --- /dev/null +++ b/stuff/library/mypaint brushes/ramon/2B_pencil.myb @@ -0,0 +1,229 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "parent_brush_name": "", + "settings": { + "anti_aliasing": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.374799357945, + "inputs": {} + }, + "color_s": { + "base_value": 0.00966206051583, + "inputs": {} + }, + "color_v": { + "base_value": 0.983886472877, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 5.0, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 0.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 90.0, + "inputs": {} + }, + "elliptical_dab_ratio": { + "base_value": 1.0, + "inputs": {} + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 0.12, + "inputs": {} + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 1.22, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.141176, + -0.145833 + ], + [ + 0.255882, + -0.335417 + ], + [ + 0.332353, + -0.546875 + ], + [ + 0.361765, + -0.7 + ], + [ + 1.0, + -0.7 + ] + ] + } + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 0.4, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 0.4 + ] + ] + } + }, + "opaque_linearize": { + "base_value": 0.0, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 0.4, + "inputs": {} + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 0.0, + "inputs": {} + }, + "smudge_length": { + "base_value": 0.5, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 4.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 0.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} \ No newline at end of file diff --git a/stuff/library/mypaint brushes/ramon/2B_pencil_prev.png b/stuff/library/mypaint brushes/ramon/2B_pencil_prev.png new file mode 100644 index 0000000..6020ae9 Binary files /dev/null and b/stuff/library/mypaint brushes/ramon/2B_pencil_prev.png differ diff --git a/stuff/library/mypaint brushes/ramon/B-pencil.myb b/stuff/library/mypaint brushes/ramon/B-pencil.myb new file mode 100644 index 0000000..daf65ac --- /dev/null +++ b/stuff/library/mypaint brushes/ramon/B-pencil.myb @@ -0,0 +1,249 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "parent_brush_name": "", + "settings": { + "anti_aliasing": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.374799357945, + "inputs": {} + }, + "color_s": { + "base_value": 0.00966206051583, + "inputs": {} + }, + "color_v": { + "base_value": 0.983886472877, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 3.57, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 3.54, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 0.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 90.0, + "inputs": {} + }, + "elliptical_dab_ratio": { + "base_value": 1.0, + "inputs": {} + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 0.56, + "inputs": {} + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 0.23, + "inputs": { + "pressure": [ + [ + 0.0, + 0.083333 + ], + [ + 0.126471, + 0.25 + ], + [ + 0.258824, + 0.0 + ], + [ + 0.308824, + -2.0 + ], + [ + 1.0, + -2.0 + ] + ] + } + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 0.7, + "inputs": {} + }, + "opaque_linearize": { + "base_value": 0.45, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.35, + "inputs": { + "pressure": [ + [ + 0.0, + -0.381902 + ], + [ + 0.36, + -0.151082 + ], + [ + 0.54, + 0.092328 + ], + [ + 0.713333, + 0.381902 + ], + [ + 1.0, + 0.402886 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.32, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 0.76, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.170588, + 0.234792 + ], + [ + 0.335294, + -0.173542 + ], + [ + 0.773529, + -0.255208 + ], + [ + 1.0, + -0.653333 + ] + ] + } + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 0.1, + "inputs": {} + }, + "smudge_length": { + "base_value": 0.5, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 4.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 0.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} \ No newline at end of file diff --git a/stuff/library/mypaint brushes/ramon/B-pencil_prev.png b/stuff/library/mypaint brushes/ramon/B-pencil_prev.png new file mode 100644 index 0000000..d5ad20e Binary files /dev/null and b/stuff/library/mypaint brushes/ramon/B-pencil_prev.png differ diff --git a/stuff/library/mypaint brushes/ramon/Beamlight.myb b/stuff/library/mypaint brushes/ramon/Beamlight.myb new file mode 100644 index 0000000..598c358 --- /dev/null +++ b/stuff/library/mypaint brushes/ramon/Beamlight.myb @@ -0,0 +1,241 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "parent_brush_name": "ramon/Beamlight", + "settings": { + "anti_aliasing": { + "base_value": 1.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": -0.01, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.184524, + 0.063437 + ], + [ + 0.357143, + 0.163125 + ], + [ + 0.53869, + 0.462187 + ], + [ + 0.651786, + 0.87 + ], + [ + 1.0, + 0.860938 + ] + ] + } + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.0, + "inputs": {} + }, + "color_s": { + "base_value": 0.0, + "inputs": {} + }, + "color_v": { + "base_value": 0.0, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 5.35, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 6.63, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 90.0, + "inputs": {} + }, + "elliptical_dab_ratio": { + "base_value": 1.0, + "inputs": {} + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 0.14, + "inputs": {} + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 1.0, + "inputs": {} + }, + "opaque_linearize": { + "base_value": 0.05, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.015, + 0.0 + ], + [ + 0.5, + 0.479167 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 3.39, + "inputs": { + "pressure": [ + [ + 0.0, + 2.066667 + ], + [ + 1.0, + -3.1 + ], + [ + 1.0, + -3.1 + ] + ] + } + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 2.6, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 0.0, + "inputs": {} + }, + "smudge_length": { + "base_value": 0.5, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 0.28, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.09, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.69, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 1.18, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 10.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} \ No newline at end of file diff --git a/stuff/library/mypaint brushes/ramon/Beamlight_prev.png b/stuff/library/mypaint brushes/ramon/Beamlight_prev.png new file mode 100644 index 0000000..a78f1ab Binary files /dev/null and b/stuff/library/mypaint brushes/ramon/Beamlight_prev.png differ diff --git a/stuff/library/mypaint brushes/ramon/BigAirbrush.myb b/stuff/library/mypaint brushes/ramon/BigAirbrush.myb new file mode 100644 index 0000000..b99688f --- /dev/null +++ b/stuff/library/mypaint brushes/ramon/BigAirbrush.myb @@ -0,0 +1,210 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "parent_brush_name": "ramon/BigAirbrush", + "settings": { + "anti_aliasing": { + "base_value": 1.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.0, + "inputs": {} + }, + "color_s": { + "base_value": 0.0, + "inputs": {} + }, + "color_v": { + "base_value": 0.0, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 1.98, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 0.41, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 0.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 90.0, + "inputs": {} + }, + "elliptical_dab_ratio": { + "base_value": 1.0, + "inputs": {} + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 0.4, + "inputs": {} + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 0.68, + "inputs": {} + }, + "opaque_linearize": { + "base_value": 0.9, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 3.59, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.02381, + 1.924271 + ], + [ + 0.758824, + 0.0 + ], + [ + 1.0, + -1.483292 + ] + ] + } + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 0.0, + "inputs": {} + }, + "smudge_length": { + "base_value": 0.5, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 0.14, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.31, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 4.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 0.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} \ No newline at end of file diff --git a/stuff/library/mypaint brushes/ramon/BigAirbrush_prev.png b/stuff/library/mypaint brushes/ramon/BigAirbrush_prev.png new file mode 100644 index 0000000..8ee9146 Binary files /dev/null and b/stuff/library/mypaint brushes/ramon/BigAirbrush_prev.png differ diff --git a/stuff/library/mypaint brushes/ramon/Blur_Fast.myb b/stuff/library/mypaint brushes/ramon/Blur_Fast.myb new file mode 100644 index 0000000..bc84f82 --- /dev/null +++ b/stuff/library/mypaint brushes/ramon/Blur_Fast.myb @@ -0,0 +1,202 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "parent_brush_name": "ramon/Blur_Fast", + "settings": { + "anti_aliasing": { + "base_value": 1.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.0, + "inputs": {} + }, + "color_s": { + "base_value": 0.0, + "inputs": {} + }, + "color_v": { + "base_value": 0.0, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 2.0, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 5.0, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 0.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 90.0, + "inputs": {} + }, + "elliptical_dab_ratio": { + "base_value": 1.0, + "inputs": {} + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 0.53, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + -0.4 + ] + ] + } + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 0.15, + "inputs": {} + }, + "opaque_linearize": { + "base_value": 0.0, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 3.5, + "inputs": {} + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 1.0, + "inputs": {} + }, + "smudge_length": { + "base_value": 0.0, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 4.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 0.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} \ No newline at end of file diff --git a/stuff/library/mypaint brushes/ramon/Blur_Fast_prev.png b/stuff/library/mypaint brushes/ramon/Blur_Fast_prev.png new file mode 100644 index 0000000..34a33a0 Binary files /dev/null and b/stuff/library/mypaint brushes/ramon/Blur_Fast_prev.png differ diff --git a/stuff/library/mypaint brushes/ramon/Classic_Paint.myb b/stuff/library/mypaint brushes/ramon/Classic_Paint.myb new file mode 100644 index 0000000..18f2974 --- /dev/null +++ b/stuff/library/mypaint brushes/ramon/Classic_Paint.myb @@ -0,0 +1,273 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "parent_brush_name": "ramon/Classic_Paint", + "settings": { + "anti_aliasing": { + "base_value": 1.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.0, + "inputs": {} + }, + "color_s": { + "base_value": 0.0, + "inputs": {} + }, + "color_v": { + "base_value": 0.0, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "custom_input_slowness": { + "base_value": 2.09, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 3.1, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 0.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 0.47, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 90.0, + "inputs": { + "direction": [ + [ + 0.0, + 0.0 + ], + [ + 180.0, + 180.0 + ] + ] + } + }, + "elliptical_dab_ratio": { + "base_value": 5.19, + "inputs": {} + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 0.95, + "inputs": {} + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 1.0, + "inputs": {} + }, + "opaque_linearize": { + "base_value": 0.9, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.223214, + 0.28125 + ], + [ + 0.425595, + 0.677083 + ], + [ + 0.720238, + 0.9375 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 2.6, + "inputs": { + "custom": [ + [ + -2.0, + 1.38 + ], + [ + 2.0, + -1.38 + ] + ], + "pressure": [ + [ + 0.0, + -1.484375 + ], + [ + 0.408824, + 0.0 + ], + [ + 0.726471, + 0.59375 + ], + [ + 1.0, + 1.5 + ] + ] + } + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 1.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.666667 + ], + [ + 0.25, + 0.052083 + ], + [ + 0.464286, + -0.333333 + ], + [ + 1.0, + -1.0 + ] + ] + } + }, + "smudge_length": { + "base_value": 0.02, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 4.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 0.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} \ No newline at end of file diff --git a/stuff/library/mypaint brushes/ramon/Classic_Paint_prev.png b/stuff/library/mypaint brushes/ramon/Classic_Paint_prev.png new file mode 100644 index 0000000..8db33ce Binary files /dev/null and b/stuff/library/mypaint brushes/ramon/Classic_Paint_prev.png differ diff --git a/stuff/library/mypaint brushes/ramon/Clouds.myb b/stuff/library/mypaint brushes/ramon/Clouds.myb new file mode 100644 index 0000000..4f80061 --- /dev/null +++ b/stuff/library/mypaint brushes/ramon/Clouds.myb @@ -0,0 +1,273 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "parent_brush_name": "ramon/Clouds", + "settings": { + "anti_aliasing": { + "base_value": 1.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.0, + "inputs": {} + }, + "color_s": { + "base_value": 0.0, + "inputs": {} + }, + "color_v": { + "base_value": 0.0, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 0.17, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 0.17, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 1.42, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 90.0, + "inputs": {} + }, + "elliptical_dab_ratio": { + "base_value": 1.0, + "inputs": {} + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 0.23, + "inputs": {} + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.015823, + 2.050417 + ], + [ + 0.265823, + 2.050417 + ], + [ + 0.471519, + 0.0 + ], + [ + 1.0, + 0.0 + ] + ], + "speed2": [ + [ + 0.0, + 0.0 + ], + [ + 0.28481, + -1.246667 + ], + [ + 1.0, + 1.36 + ] + ] + } + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 0.51, + "inputs": {} + }, + "opaque_linearize": { + "base_value": 0.9, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 2.57, + "inputs": { + "speed1": [ + [ + 0.0, + 0.0 + ], + [ + 0.817901, + 1.659167 + ], + [ + 0.910494, + 1.81 + ], + [ + 1.0, + 1.81 + ] + ], + "speed2": [ + [ + 0.0, + 0.0 + ], + [ + 0.074074, + -0.255208 + ], + [ + 0.490741, + 0.0 + ], + [ + 0.611111, + 0.583333 + ], + [ + 0.867284, + 0.7 + ], + [ + 1.0, + 0.7 + ] + ] + } + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 0.0, + "inputs": {} + }, + "smudge_length": { + "base_value": 0.5, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 0.14, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.31, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 4.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 0.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} \ No newline at end of file diff --git a/stuff/library/mypaint brushes/ramon/Clouds_prev.png b/stuff/library/mypaint brushes/ramon/Clouds_prev.png new file mode 100644 index 0000000..b481ce7 Binary files /dev/null and b/stuff/library/mypaint brushes/ramon/Clouds_prev.png differ diff --git a/stuff/library/mypaint brushes/ramon/Delayed_.myb b/stuff/library/mypaint brushes/ramon/Delayed_.myb new file mode 100644 index 0000000..ef5edd5 --- /dev/null +++ b/stuff/library/mypaint brushes/ramon/Delayed_.myb @@ -0,0 +1,249 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "parent_brush_name": "ramon/Delayed_", + "settings": { + "anti_aliasing": { + "base_value": 0.7, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.0, + "inputs": {} + }, + "color_s": { + "base_value": 0.0, + "inputs": {} + }, + "color_v": { + "base_value": 0.0, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 5.82, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 0.51, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 70.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 90.0, + "inputs": {} + }, + "elliptical_dab_ratio": { + "base_value": 1.0, + "inputs": {} + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 0.8, + "inputs": {} + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 1.0, + "inputs": { + "pressure": [ + [ + 0.0, + -0.989583 + ], + [ + 0.38253, + -0.59375 + ], + [ + 0.656627, + 0.041667 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "opaque_linearize": { + "base_value": 0.0, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.015, + 0.0 + ], + [ + 0.069277, + 0.9375 + ], + [ + 0.25, + 1.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 1.0, + "inputs": { + "pressure": [ + [ + 0.0, + -2.13 + ], + [ + 0.237952, + -1.42 + ], + [ + 0.341176, + -1.065 + ], + [ + 0.5, + -0.355 + ], + [ + 0.76506, + 1.42 + ], + [ + 1.0, + 2.13 + ] + ] + } + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 10.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 8.2, + "inputs": {} + }, + "smudge": { + "base_value": 0.0, + "inputs": {} + }, + "smudge_length": { + "base_value": 0.5, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 2.87, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 4.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 0.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} \ No newline at end of file diff --git a/stuff/library/mypaint brushes/ramon/Delayed__prev.png b/stuff/library/mypaint brushes/ramon/Delayed__prev.png new file mode 100644 index 0000000..f75c3f6 Binary files /dev/null and b/stuff/library/mypaint brushes/ramon/Delayed__prev.png differ diff --git a/stuff/library/mypaint brushes/ramon/Dirty_Noise.myb b/stuff/library/mypaint brushes/ramon/Dirty_Noise.myb new file mode 100644 index 0000000..d27ba17 --- /dev/null +++ b/stuff/library/mypaint brushes/ramon/Dirty_Noise.myb @@ -0,0 +1,299 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "parent_brush_name": "ramon/Dirty_Noise", + "settings": { + "anti_aliasing": { + "base_value": 1.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.0, + "inputs": {} + }, + "color_s": { + "base_value": 0.0, + "inputs": {} + }, + "color_v": { + "base_value": 0.0, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 2.0, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 0.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 0.0, + "inputs": { + "direction": [ + [ + 0.0, + 0.0 + ], + [ + 180.0, + 180.0 + ] + ] + } + }, + "elliptical_dab_ratio": { + "base_value": 1.0, + "inputs": { + "random": [ + [ + 0.0, + -3.81 + ], + [ + 1.0, + 3.81 + ] + ] + } + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 0.8, + "inputs": {} + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 0.5, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.214706, + 0.0 + ], + [ + 0.808824, + 1.6875 + ], + [ + 1.0, + 2.0 + ] + ] + } + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 1.0, + "inputs": { + "stroke": [ + [ + 0.0, + 0.0 + ], + [ + 0.62963, + 0.0 + ], + [ + 1.0, + -1.0 + ] + ] + } + }, + "opaque_linearize": { + "base_value": 0.0, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.029412, + 0.9375 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 2.19, + "inputs": { + "pressure": [ + [ + 0.0, + 0.916667 + ], + [ + 0.255882, + 0.0 + ], + [ + 0.5, + 0.0 + ], + [ + 0.747059, + -1.595 + ], + [ + 1.0, + -1.76 + ] + ], + "stroke": [ + [ + 0.0, + 0.0 + ], + [ + 0.54321, + -1.82 + ], + [ + 1.0, + 0.0 + ] + ] + } + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 1.0, + "inputs": {} + }, + "smudge_length": { + "base_value": 0.0, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 1.47, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + -1.55 + ] + ] + } + }, + "stroke_holdtime": { + "base_value": 1.44, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 2.09, + "inputs": {} + } + }, + "version": 3 +} \ No newline at end of file diff --git a/stuff/library/mypaint brushes/ramon/Dirty_Noise_prev.png b/stuff/library/mypaint brushes/ramon/Dirty_Noise_prev.png new file mode 100644 index 0000000..7bc0a2e Binary files /dev/null and b/stuff/library/mypaint brushes/ramon/Dirty_Noise_prev.png differ diff --git a/stuff/library/mypaint brushes/ramon/Glow_Airbrush.myb b/stuff/library/mypaint brushes/ramon/Glow_Airbrush.myb new file mode 100644 index 0000000..9e8bbff --- /dev/null +++ b/stuff/library/mypaint brushes/ramon/Glow_Airbrush.myb @@ -0,0 +1,263 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "parent_brush_name": "ramon/Glow_Airbrush", + "settings": { + "anti_aliasing": { + "base_value": 1.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + -0.070313 + ], + [ + 0.552941, + 0.031875 + ], + [ + 1.0, + 0.09 + ] + ] + } + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 1.62 + ] + ] + } + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": -0.01, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.447059, + 0.147292 + ], + [ + 0.588235, + 0.347187 + ], + [ + 0.735294, + 0.599688 + ], + [ + 0.844118, + 1.01 + ], + [ + 1.0, + 0.99948 + ] + ] + } + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.0, + "inputs": {} + }, + "color_s": { + "base_value": 0.0, + "inputs": {} + }, + "color_v": { + "base_value": 0.0, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 5.35, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 6.63, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 90.0, + "inputs": {} + }, + "elliptical_dab_ratio": { + "base_value": 1.0, + "inputs": {} + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 0.14, + "inputs": {} + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 0.308641975309, + "inputs": {} + }, + "opaque_linearize": { + "base_value": 0.05, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.015, + 0.0 + ], + [ + 0.5, + 0.479167 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 4.75, + "inputs": { + "pressure": [ + [ + 0.0, + 0.586667 + ], + [ + 1.0, + -0.88 + ] + ] + } + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 2.6, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 0.0, + "inputs": {} + }, + "smudge_length": { + "base_value": 0.5, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 0.28, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.09, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.69, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 1.18, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 10.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} \ No newline at end of file diff --git a/stuff/library/mypaint brushes/ramon/Glow_Airbrush_prev.png b/stuff/library/mypaint brushes/ramon/Glow_Airbrush_prev.png new file mode 100644 index 0000000..2ab7392 Binary files /dev/null and b/stuff/library/mypaint brushes/ramon/Glow_Airbrush_prev.png differ diff --git a/stuff/library/mypaint brushes/ramon/Grain.myb b/stuff/library/mypaint brushes/ramon/Grain.myb new file mode 100644 index 0000000..650eb09 --- /dev/null +++ b/stuff/library/mypaint brushes/ramon/Grain.myb @@ -0,0 +1,232 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "parent_brush_name": "ramon/Grain", + "settings": { + "anti_aliasing": { + "base_value": 1.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.0, + "inputs": {} + }, + "color_s": { + "base_value": 0.0, + "inputs": {} + }, + "color_v": { + "base_value": 0.0, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 5.0, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 0.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 0.0, + "inputs": { + "random": [ + [ + 0.0, + -180.0 + ], + [ + 1.0, + 180.0 + ] + ] + } + }, + "elliptical_dab_ratio": { + "base_value": 10.0, + "inputs": { + "random": [ + [ + 0.0, + -1.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 0.1, + "inputs": {} + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 1.0, + "inputs": {} + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "opaque": { + "base_value": 0.648, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 0.75 + ] + ] + } + }, + "opaque_linearize": { + "base_value": 0.9, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.064815, + 0.666667 + ], + [ + 0.135802, + 0.927083 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 2.3, + "inputs": {} + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 1.0, + "inputs": {} + }, + "smudge_length": { + "base_value": 0.5, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 4.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 0.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} \ No newline at end of file diff --git a/stuff/library/mypaint brushes/ramon/Grain_prev.png b/stuff/library/mypaint brushes/ramon/Grain_prev.png new file mode 100644 index 0000000..1a5e999 Binary files /dev/null and b/stuff/library/mypaint brushes/ramon/Grain_prev.png differ diff --git a/stuff/library/mypaint brushes/ramon/Hard_Eraser.myb b/stuff/library/mypaint brushes/ramon/Hard_Eraser.myb new file mode 100644 index 0000000..1c35b98 --- /dev/null +++ b/stuff/library/mypaint brushes/ramon/Hard_Eraser.myb @@ -0,0 +1,243 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "parent_brush_name": "ramon/Hard_Eraser", + "settings": { + "anti_aliasing": { + "base_value": 1.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.0, + "inputs": {} + }, + "color_s": { + "base_value": 0.0, + "inputs": {} + }, + "color_v": { + "base_value": 0.0, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 1.37, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 2.44, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 0.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 90.0, + "inputs": {} + }, + "elliptical_dab_ratio": { + "base_value": 1.0, + "inputs": {} + }, + "eraser": { + "base_value": 1.0, + "inputs": {} + }, + "hardness": { + "base_value": 0.9, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 0.05 + ] + ], + "speed1": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + -0.09 + ] + ] + } + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 1.0, + "inputs": {} + }, + "opaque_linearize": { + "base_value": 0.0, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.015, + 0.0 + ], + [ + 0.025, + 1.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 2.5, + "inputs": { + "pressure": [ + [ + 0.0, + -2.325 + ], + [ + 0.452941, + 0.1 + ], + [ + 0.641176, + 0.325 + ], + [ + 0.820588, + 0.85 + ], + [ + 1.0, + 2.4 + ] + ] + } + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 3.66, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.8, + "inputs": {} + }, + "smudge": { + "base_value": 0.0, + "inputs": {} + }, + "smudge_length": { + "base_value": 0.5, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 2.87, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 4.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 0.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} \ No newline at end of file diff --git a/stuff/library/mypaint brushes/ramon/Hard_Eraser_prev.png b/stuff/library/mypaint brushes/ramon/Hard_Eraser_prev.png new file mode 100644 index 0000000..2134b1e Binary files /dev/null and b/stuff/library/mypaint brushes/ramon/Hard_Eraser_prev.png differ diff --git a/stuff/library/mypaint brushes/ramon/Knife.myb b/stuff/library/mypaint brushes/ramon/Knife.myb new file mode 100644 index 0000000..6c16579 --- /dev/null +++ b/stuff/library/mypaint brushes/ramon/Knife.myb @@ -0,0 +1,232 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "parent_brush_name": "ramon/Knife", + "settings": { + "anti_aliasing": { + "base_value": 1.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.0, + "inputs": {} + }, + "color_s": { + "base_value": 0.0, + "inputs": {} + }, + "color_v": { + "base_value": 0.0, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "custom_input_slowness": { + "base_value": 0.71, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 2.95, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 0.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.99, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 90.0, + "inputs": { + "direction": [ + [ + 0.0, + 0.0 + ], + [ + 180.0, + 180.0 + ] + ] + } + }, + "elliptical_dab_ratio": { + "base_value": 6.52, + "inputs": {} + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 0.8, + "inputs": {} + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 1.0, + "inputs": {} + }, + "opaque_linearize": { + "base_value": 0.9, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.117284, + 0.635417 + ], + [ + 0.330247, + 0.9375 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 3.11, + "inputs": { + "pressure": [ + [ + 0.0, + -1.6 + ], + [ + 1.0, + 2.4 + ] + ] + } + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 1.0, + "inputs": {} + }, + "smudge_length": { + "base_value": 0.5, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 4.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 0.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} \ No newline at end of file diff --git a/stuff/library/mypaint brushes/ramon/Knife_prev.png b/stuff/library/mypaint brushes/ramon/Knife_prev.png new file mode 100644 index 0000000..c9bf0e3 Binary files /dev/null and b/stuff/library/mypaint brushes/ramon/Knife_prev.png differ diff --git a/stuff/library/mypaint brushes/ramon/Marker.myb b/stuff/library/mypaint brushes/ramon/Marker.myb new file mode 100644 index 0000000..98dbc69 --- /dev/null +++ b/stuff/library/mypaint brushes/ramon/Marker.myb @@ -0,0 +1,313 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "parent_brush_name": "", + "settings": { + "anti_aliasing": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.874938453964, + "inputs": {} + }, + "color_s": { + "base_value": 0.990248659191, + "inputs": {} + }, + "color_v": { + "base_value": 0.0312962539101, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 2.0, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 0.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 90.0, + "inputs": { + "direction": [ + [ + 0.0, + 0.0 + ], + [ + 180.0, + 180.0 + ] + ] + } + }, + "elliptical_dab_ratio": { + "base_value": 5.46, + "inputs": {} + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 0.5, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 0.05 + ] + ], + "speed1": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + -0.09 + ] + ] + } + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 0.74, + "inputs": { + "pressure": [ + [ + 0.0, + -0.5 + ], + [ + 0.213855, + -0.458333 + ], + [ + 0.343373, + -0.307291 + ], + [ + 0.448795, + 0.020833 + ], + [ + 0.533133, + 0.421875 + ], + [ + 0.728916, + 0.5 + ], + [ + 0.873494, + 0.5 + ], + [ + 1.0, + 0.5 + ] + ], + "speed1": [ + [ + 0.0, + 0.947917 + ], + [ + 0.614458, + 0.34375 + ], + [ + 1.53012, + -0.135417 + ], + [ + 2.481928, + -0.489583 + ], + [ + 3.325301, + -0.885417 + ], + [ + 4.0, + -1.0 + ] + ] + } + }, + "opaque_linearize": { + "base_value": 0.0, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.015, + 0.0 + ], + [ + 0.015, + 1.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 2.32, + "inputs": { + "pressure": [ + [ + 0.0, + -0.398646 + ], + [ + 1.0, + 0.43 + ] + ], + "speed1": [ + [ + 0.0, + 0.118646 + ], + [ + 1.0, + -0.17 + ] + ] + } + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.8, + "inputs": {} + }, + "smudge": { + "base_value": 0.0, + "inputs": {} + }, + "smudge_length": { + "base_value": 0.5, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 4.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 0.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} \ No newline at end of file diff --git a/stuff/library/mypaint brushes/ramon/Marker_prev.png b/stuff/library/mypaint brushes/ramon/Marker_prev.png new file mode 100644 index 0000000..804051f Binary files /dev/null and b/stuff/library/mypaint brushes/ramon/Marker_prev.png differ diff --git a/stuff/library/mypaint brushes/ramon/P._Shade.myb b/stuff/library/mypaint brushes/ramon/P._Shade.myb new file mode 100644 index 0000000..3b169a8 --- /dev/null +++ b/stuff/library/mypaint brushes/ramon/P._Shade.myb @@ -0,0 +1,233 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "parent_brush_name": "", + "settings": { + "anti_aliasing": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.874938453964, + "inputs": {} + }, + "color_s": { + "base_value": 0.990248659191, + "inputs": {} + }, + "color_v": { + "base_value": 0.0312962539101, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.69, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 3.93, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 5.07, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 0.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 90.0, + "inputs": {} + }, + "elliptical_dab_ratio": { + "base_value": 1.0, + "inputs": {} + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 0.2, + "inputs": {} + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 2.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + -2.0 + ] + ], + "speed1": [ + [ + 0.0, + -0.25 + ], + [ + 4.0, + 1.75 + ] + ], + "speed2": [ + [ + 0.0, + -0.25 + ], + [ + 4.0, + 1.75 + ] + ] + } + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 0.123456790123, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 0.4 + ] + ] + } + }, + "opaque_linearize": { + "base_value": 0.0, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 0.28, + "inputs": {} + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 2.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 0.0, + "inputs": {} + }, + "smudge_length": { + "base_value": 0.5, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.06, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 4.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 0.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} \ No newline at end of file diff --git a/stuff/library/mypaint brushes/ramon/P._Shade_prev.png b/stuff/library/mypaint brushes/ramon/P._Shade_prev.png new file mode 100644 index 0000000..baa2b19 Binary files /dev/null and b/stuff/library/mypaint brushes/ramon/P._Shade_prev.png differ diff --git a/stuff/library/mypaint brushes/ramon/Pastel_1.myb b/stuff/library/mypaint brushes/ramon/Pastel_1.myb new file mode 100644 index 0000000..63e9ad5 --- /dev/null +++ b/stuff/library/mypaint brushes/ramon/Pastel_1.myb @@ -0,0 +1,261 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "parent_brush_name": "ramon/Pastel_1", + "settings": { + "anti_aliasing": { + "base_value": 1.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.0, + "inputs": {} + }, + "color_s": { + "base_value": 0.0, + "inputs": {} + }, + "color_v": { + "base_value": 0.4980392156862745, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 3.57, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 3.54, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 0.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 90.0, + "inputs": {} + }, + "elliptical_dab_ratio": { + "base_value": 1.48, + "inputs": {} + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 0.8, + "inputs": { + "pressure": [ + [ + 0.0, + -0.666667 + ], + [ + 0.426471, + 0.052083 + ], + [ + 0.755882, + 0.072917 + ], + [ + 0.844118, + 0.947917 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.435294, + -0.041667 + ], + [ + 0.753425, + -0.6875 + ], + [ + 1.0, + 0.0 + ] + ], + "speed1": [ + [ + 0.0, + -0.285714 + ], + [ + 4.0, + 2.0 + ] + ], + "speed2": [ + [ + 0.0, + -0.285714 + ], + [ + 4.0, + 2.0 + ] + ] + } + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 1.0, + "inputs": {} + }, + "opaque_linearize": { + "base_value": 0.45, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.48, + "inputs": { + "pressure": [ + [ + 0.0, + -0.3125 + ], + [ + 0.0701219512195122, + -0.10416666666666674 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "radius_by_random": { + "base_value": 1.08, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 0.71, + "inputs": {} + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 0.1, + "inputs": {} + }, + "smudge_length": { + "base_value": 0.5, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "snap_to_pixel": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 4.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 0.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} \ No newline at end of file diff --git a/stuff/library/mypaint brushes/ramon/Pastel_1_prev.png b/stuff/library/mypaint brushes/ramon/Pastel_1_prev.png new file mode 100644 index 0000000..d489cd9 Binary files /dev/null and b/stuff/library/mypaint brushes/ramon/Pastel_1_prev.png differ diff --git a/stuff/library/mypaint brushes/ramon/Pen.myb b/stuff/library/mypaint brushes/ramon/Pen.myb new file mode 100644 index 0000000..74de6b0 --- /dev/null +++ b/stuff/library/mypaint brushes/ramon/Pen.myb @@ -0,0 +1,214 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "parent_brush_name": "", + "settings": { + "anti_aliasing": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.845694888549, + "inputs": {} + }, + "color_s": { + "base_value": 0.818968461801, + "inputs": {} + }, + "color_v": { + "base_value": 0.268039978637, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 2.2, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 2.18, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 15.82, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 90.0, + "inputs": {} + }, + "elliptical_dab_ratio": { + "base_value": 1.0, + "inputs": {} + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 0.6, + "inputs": {} + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 1.0, + "inputs": {} + }, + "opaque_linearize": { + "base_value": 0.85, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.015, + 0.0 + ], + [ + 0.111765, + 0.958333 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 1.14, + "inputs": { + "speed1": [ + [ + 0.0, + 0.117142 + ], + [ + 1.564706, + -0.264792 + ], + [ + 4.0, + -0.82 + ] + ] + } + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 0.0, + "inputs": {} + }, + "smudge_length": { + "base_value": 0.5, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 2.87, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 1.18, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 10.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} \ No newline at end of file diff --git a/stuff/library/mypaint brushes/ramon/PenBrush.myb b/stuff/library/mypaint brushes/ramon/PenBrush.myb new file mode 100644 index 0000000..2f54ef4 --- /dev/null +++ b/stuff/library/mypaint brushes/ramon/PenBrush.myb @@ -0,0 +1,245 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "parent_brush_name": "ramon/PenBrush", + "settings": { + "anti_aliasing": { + "base_value": 1.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.0, + "inputs": {} + }, + "color_s": { + "base_value": 0.0, + "inputs": {} + }, + "color_v": { + "base_value": 0.0, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 2.2, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 0.51, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 0.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 90.0, + "inputs": {} + }, + "elliptical_dab_ratio": { + "base_value": 1.0, + "inputs": {} + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 0.89, + "inputs": {} + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 1.0, + "inputs": { + "pressure": [ + [ + 0.0, + -0.989583 + ], + [ + 0.38253, + -0.59375 + ], + [ + 0.656627, + 0.041667 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "opaque_linearize": { + "base_value": 0.0, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.015, + 0.0 + ], + [ + 0.069277, + 0.9375 + ], + [ + 0.25, + 1.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 1.26, + "inputs": { + "pressure": [ + [ + 0.0, + -1.86375 + ], + [ + 0.237952, + -1.42 + ], + [ + 0.5, + -0.355 + ], + [ + 0.76506, + 1.42 + ], + [ + 1.0, + 2.13 + ] + ] + } + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 4.55, + "inputs": {} + }, + "smudge": { + "base_value": 0.0, + "inputs": {} + }, + "smudge_length": { + "base_value": 0.5, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 2.87, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 4.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 0.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} \ No newline at end of file diff --git a/stuff/library/mypaint brushes/ramon/PenBrush_prev.png b/stuff/library/mypaint brushes/ramon/PenBrush_prev.png new file mode 100644 index 0000000..61e9f39 Binary files /dev/null and b/stuff/library/mypaint brushes/ramon/PenBrush_prev.png differ diff --git a/stuff/library/mypaint brushes/ramon/Pen_prev.png b/stuff/library/mypaint brushes/ramon/Pen_prev.png new file mode 100644 index 0000000..8d92608 Binary files /dev/null and b/stuff/library/mypaint brushes/ramon/Pen_prev.png differ diff --git a/stuff/library/mypaint brushes/ramon/RS_blendOP.myb b/stuff/library/mypaint brushes/ramon/RS_blendOP.myb new file mode 100644 index 0000000..a895ba8 --- /dev/null +++ b/stuff/library/mypaint brushes/ramon/RS_blendOP.myb @@ -0,0 +1,289 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "parent_brush_name": "ramon/RS_blendOP", + "settings": { + "anti_aliasing": { + "base_value": 1.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.0, + "inputs": {} + }, + "color_s": { + "base_value": 0.0, + "inputs": {} + }, + "color_v": { + "base_value": 0.0, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "custom_input_slowness": { + "base_value": 2.09, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 2.29, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 0.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 0.44, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 90.0, + "inputs": { + "direction": [ + [ + 0.0, + 0.0 + ], + [ + 180.0, + 180.0 + ] + ] + } + }, + "elliptical_dab_ratio": { + "base_value": 1.0, + "inputs": { + "pressure": [ + [ + 0.0, + -6.0 + ], + [ + 0.411765, + 0.5625 + ], + [ + 0.467647, + 7.3125 + ], + [ + 1.0, + 9.0 + ] + ] + } + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 0.93, + "inputs": { + "pressure": [ + [ + 0.0, + -0.666667 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 1.0, + "inputs": {} + }, + "opaque_linearize": { + "base_value": 0.9, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.324405, + 0.322917 + ], + [ + 0.52381, + 0.635417 + ], + [ + 0.776786, + 0.885417 + ], + [ + 1.0, + 0.927083 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 2.82, + "inputs": { + "pressure": [ + [ + 0.0, + 0.049375 + ], + [ + 1.0, + -0.79 + ] + ] + } + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 1.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.142857, + 1.0 + ], + [ + 0.345238, + 1.0 + ], + [ + 0.422619, + 0.0 + ], + [ + 1.0, + -1.0 + ] + ] + } + }, + "smudge_length": { + "base_value": 0.85, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 4.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 0.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} \ No newline at end of file diff --git a/stuff/library/mypaint brushes/ramon/RS_blendOP_prev.png b/stuff/library/mypaint brushes/ramon/RS_blendOP_prev.png new file mode 100644 index 0000000..e25ab51 Binary files /dev/null and b/stuff/library/mypaint brushes/ramon/RS_blendOP_prev.png differ diff --git a/stuff/library/mypaint brushes/ramon/Round.myb b/stuff/library/mypaint brushes/ramon/Round.myb new file mode 100644 index 0000000..6cbff10 --- /dev/null +++ b/stuff/library/mypaint brushes/ramon/Round.myb @@ -0,0 +1,260 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "parent_brush_name": "ramon/Round", + "settings": { + "anti_aliasing": { + "base_value": 1.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.0, + "inputs": {} + }, + "color_s": { + "base_value": 0.0, + "inputs": {} + }, + "color_v": { + "base_value": 0.0, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 4.02, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 0.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 90.0, + "inputs": {} + }, + "elliptical_dab_ratio": { + "base_value": 1.0, + "inputs": {} + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 1.0, + "inputs": {} + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 1.0, + "inputs": { + "speed2": [ + [ + 0.0, + 0.28 + ], + [ + 0.518519, + 0.032083 + ], + [ + 1.888889, + -0.16625 + ], + [ + 4.0, + -0.28 + ] + ] + } + }, + "opaque_linearize": { + "base_value": 0.9, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 0.52 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 2.3, + "inputs": { + "pressure": [ + [ + 0.0, + 0.326667 + ], + [ + 1.0, + -0.49 + ] + ], + "speed1": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 0.75 + ] + ], + "speed2": [ + [ + 0.0, + -0.15 + ], + [ + 4.0, + 1.05 + ] + ] + } + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.290123, + -0.0375 + ], + [ + 0.645062, + -0.15 + ], + [ + 1.0, + -0.4 + ] + ] + } + }, + "smudge_length": { + "base_value": 0.0, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 1.24, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.1, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.61, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 4.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 0.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} \ No newline at end of file diff --git a/stuff/library/mypaint brushes/ramon/Round_Bl.myb b/stuff/library/mypaint brushes/ramon/Round_Bl.myb new file mode 100644 index 0000000..8b17f66 --- /dev/null +++ b/stuff/library/mypaint brushes/ramon/Round_Bl.myb @@ -0,0 +1,292 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "parent_brush_name": "ramon/Round_Bl", + "settings": { + "anti_aliasing": { + "base_value": 1.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": { + "stroke": [ + [ + 0.0, + -0.01 + ], + [ + 0.5, + 0.01 + ], + [ + 1.0, + -0.01 + ] + ] + } + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.0, + "inputs": {} + }, + "color_s": { + "base_value": 0.0, + "inputs": {} + }, + "color_v": { + "base_value": 0.0, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "custom_input_slowness": { + "base_value": 0.71, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 5.75, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 0.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 0.58, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 90.0, + "inputs": { + "direction": [ + [ + 0.0, + 0.0 + ], + [ + 180.0, + 180.0 + ] + ] + } + }, + "elliptical_dab_ratio": { + "base_value": 1.0, + "inputs": {} + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 0.85, + "inputs": {} + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 1.0, + "inputs": {} + }, + "opaque_linearize": { + "base_value": 0.9, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.405882, + 0.15625 + ], + [ + 0.5, + 0.572917 + ], + [ + 0.664706, + 0.8125 + ], + [ + 0.844118, + 0.947917 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 3.01, + "inputs": { + "custom": [ + [ + -2.0, + 0.45 + ], + [ + 2.0, + -0.45 + ] + ], + "pressure": [ + [ + 0.0, + -0.466667 + ], + [ + 1.0, + 0.7 + ] + ] + } + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 0.51, + "inputs": { + "custom": [ + [ + 0.0, + 0.949375 + ], + [ + 0.414706, + 0.42875 + ], + [ + 0.620588, + 0.142917 + ], + [ + 0.708824, + -0.18375 + ], + [ + 0.8, + -0.98 + ], + [ + 1.0, + -0.98 + ] + ] + } + }, + "smudge_length": { + "base_value": 0.5, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 4.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 0.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} \ No newline at end of file diff --git a/stuff/library/mypaint brushes/ramon/Round_Bl_prev.png b/stuff/library/mypaint brushes/ramon/Round_Bl_prev.png new file mode 100644 index 0000000..656f5c7 Binary files /dev/null and b/stuff/library/mypaint brushes/ramon/Round_Bl_prev.png differ diff --git a/stuff/library/mypaint brushes/ramon/Round_prev.png b/stuff/library/mypaint brushes/ramon/Round_prev.png new file mode 100644 index 0000000..b5ba663 Binary files /dev/null and b/stuff/library/mypaint brushes/ramon/Round_prev.png differ diff --git a/stuff/library/mypaint brushes/ramon/Sketch_1.myb b/stuff/library/mypaint brushes/ramon/Sketch_1.myb new file mode 100644 index 0000000..3c263a6 --- /dev/null +++ b/stuff/library/mypaint brushes/ramon/Sketch_1.myb @@ -0,0 +1,218 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "parent_brush_name": "ramon/Sketch_1", + "settings": { + "anti_aliasing": { + "base_value": 1.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.0, + "inputs": {} + }, + "color_s": { + "base_value": 0.0, + "inputs": {} + }, + "color_v": { + "base_value": 0.0, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 3.57, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 3.54, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 0.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 90.0, + "inputs": {} + }, + "elliptical_dab_ratio": { + "base_value": 1.0, + "inputs": {} + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 0.8, + "inputs": {} + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 2.0, + "inputs": { + "pressure": [ + [ + 0.0, + 2.0 + ], + [ + 0.160714, + 1.583333 + ], + [ + 0.28869, + 0.708333 + ], + [ + 0.440476, + -2.0 + ], + [ + 1.0, + -2.0 + ] + ] + } + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 1.0, + "inputs": {} + }, + "opaque_linearize": { + "base_value": 0.45, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.34, + "inputs": { + "pressure": [ + [ + 0.0, + -0.666667 + ], + [ + 0.404762, + 0.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.88, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 0.39, + "inputs": {} + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 0.1, + "inputs": {} + }, + "smudge_length": { + "base_value": 0.5, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 4.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 0.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} \ No newline at end of file diff --git a/stuff/library/mypaint brushes/ramon/Sketch_1_prev.png b/stuff/library/mypaint brushes/ramon/Sketch_1_prev.png new file mode 100644 index 0000000..55ee798 Binary files /dev/null and b/stuff/library/mypaint brushes/ramon/Sketch_1_prev.png differ diff --git a/stuff/library/mypaint brushes/ramon/Smear.myb b/stuff/library/mypaint brushes/ramon/Smear.myb new file mode 100644 index 0000000..e636403 --- /dev/null +++ b/stuff/library/mypaint brushes/ramon/Smear.myb @@ -0,0 +1,232 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "parent_brush_name": "ramon/Smear", + "settings": { + "anti_aliasing": { + "base_value": 1.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.0, + "inputs": {} + }, + "color_s": { + "base_value": 0.0, + "inputs": {} + }, + "color_v": { + "base_value": 0.0, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 2.0, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 0.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 90.0, + "inputs": {} + }, + "elliptical_dab_ratio": { + "base_value": 1.0, + "inputs": {} + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 0.2, + "inputs": { + "pressure": [ + [ + 0.0, + -0.697917 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 1.0, + "inputs": { + "speed1": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + -0.2 + ] + ] + } + }, + "opaque_linearize": { + "base_value": 0.0, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 3.4, + "inputs": {} + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 1.0, + "inputs": {} + }, + "smudge_length": { + "base_value": 0.35, + "inputs": { + "pressure": [ + [ + 0.0, + -0.66 + ], + [ + 0.417647, + 0.0 + ], + [ + 0.782353, + 0.391875 + ], + [ + 1.0, + 0.99 + ] + ] + } + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 4.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 0.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} \ No newline at end of file diff --git a/stuff/library/mypaint brushes/ramon/Smear_prev.png b/stuff/library/mypaint brushes/ramon/Smear_prev.png new file mode 100644 index 0000000..57b1e1e Binary files /dev/null and b/stuff/library/mypaint brushes/ramon/Smear_prev.png differ diff --git a/stuff/library/mypaint brushes/ramon/Soft_Eraser.myb b/stuff/library/mypaint brushes/ramon/Soft_Eraser.myb new file mode 100644 index 0000000..524075b --- /dev/null +++ b/stuff/library/mypaint brushes/ramon/Soft_Eraser.myb @@ -0,0 +1,206 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "parent_brush_name": "", + "settings": { + "anti_aliasing": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.0, + "inputs": {} + }, + "color_s": { + "base_value": 0.0, + "inputs": {} + }, + "color_v": { + "base_value": 0.00358587014572, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 2.0, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 1.22, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 0.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 90.0, + "inputs": {} + }, + "elliptical_dab_ratio": { + "base_value": 1.0, + "inputs": {} + }, + "eraser": { + "base_value": 1.0, + "inputs": {} + }, + "hardness": { + "base_value": 0.5, + "inputs": {} + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 0.06, + "inputs": {} + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 0.56, + "inputs": {} + }, + "opaque_linearize": { + "base_value": 0.0, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 0.11 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 2.0, + "inputs": { + "pressure": [ + [ + 0.0, + 1.24375 + ], + [ + 0.405882, + 1.181563 + ], + [ + 1.0, + 1.99 + ] + ] + } + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 0.0, + "inputs": {} + }, + "smudge_length": { + "base_value": 0.5, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 4.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 0.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} \ No newline at end of file diff --git a/stuff/library/mypaint brushes/ramon/Soft_Eraser_prev.png b/stuff/library/mypaint brushes/ramon/Soft_Eraser_prev.png new file mode 100644 index 0000000..b15ecba Binary files /dev/null and b/stuff/library/mypaint brushes/ramon/Soft_Eraser_prev.png differ diff --git a/stuff/library/mypaint brushes/ramon/Thin_Pen.myb b/stuff/library/mypaint brushes/ramon/Thin_Pen.myb new file mode 100644 index 0000000..79ac72a --- /dev/null +++ b/stuff/library/mypaint brushes/ramon/Thin_Pen.myb @@ -0,0 +1,249 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "parent_brush_name": "", + "settings": { + "anti_aliasing": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.845694888549, + "inputs": {} + }, + "color_s": { + "base_value": 0.818968461801, + "inputs": {} + }, + "color_v": { + "base_value": 0.268039978637, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 2.2, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 2.18, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 3.75, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 90.0, + "inputs": {} + }, + "elliptical_dab_ratio": { + "base_value": 1.0, + "inputs": {} + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 0.43, + "inputs": {} + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 1.0, + "inputs": { + "speed1": [ + [ + 0.0, + 0.48 + ], + [ + 1.023529, + 0.35 + ], + [ + 1.788235, + 0.18 + ], + [ + 2.635294, + -0.115 + ], + [ + 3.564706, + -0.36 + ], + [ + 4.0, + -0.48 + ] + ] + } + }, + "opaque_linearize": { + "base_value": 0.85, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.015, + 0.0 + ], + [ + 0.111765, + 0.958333 + ], + [ + 0.435294, + 0.864583 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 1.08, + "inputs": { + "speed1": [ + [ + 0.0, + -0.248354 + ], + [ + 1.068493, + -0.482911 + ], + [ + 2.287671, + -1.076202 + ], + [ + 4.0, + -1.09 + ] + ] + } + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 0.0, + "inputs": {} + }, + "smudge_length": { + "base_value": 0.5, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 2.67, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.05, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 1.18, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 10.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} \ No newline at end of file diff --git a/stuff/library/mypaint brushes/ramon/Thin_Pen_prev.png b/stuff/library/mypaint brushes/ramon/Thin_Pen_prev.png new file mode 100644 index 0000000..f1f5bca Binary files /dev/null and b/stuff/library/mypaint brushes/ramon/Thin_Pen_prev.png differ diff --git a/stuff/library/mypaint brushes/ramon/Wet_Direction.myb b/stuff/library/mypaint brushes/ramon/Wet_Direction.myb new file mode 100644 index 0000000..e500a03 --- /dev/null +++ b/stuff/library/mypaint brushes/ramon/Wet_Direction.myb @@ -0,0 +1,224 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "parent_brush_name": "ramon/Wet_Direction", + "settings": { + "anti_aliasing": { + "base_value": 1.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.0, + "inputs": {} + }, + "color_s": { + "base_value": 0.0, + "inputs": {} + }, + "color_v": { + "base_value": 0.0, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 2.0, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 0.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.99, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 90.0, + "inputs": { + "direction": [ + [ + 0.0, + 0.0 + ], + [ + 180.0, + 180.0 + ] + ] + } + }, + "elliptical_dab_ratio": { + "base_value": 3.72, + "inputs": {} + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 0.5, + "inputs": {} + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 1.0, + "inputs": {} + }, + "opaque_linearize": { + "base_value": 0.9, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 2.37, + "inputs": { + "custom": [ + [ + -2.0, + -3.66 + ], + [ + 2.0, + 3.66 + ] + ] + } + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 0.51, + "inputs": {} + }, + "smudge_length": { + "base_value": 0.26, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 4.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 0.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} \ No newline at end of file diff --git a/stuff/library/mypaint brushes/ramon/Wet_Direction_prev.png b/stuff/library/mypaint brushes/ramon/Wet_Direction_prev.png new file mode 100644 index 0000000..45955c4 Binary files /dev/null and b/stuff/library/mypaint brushes/ramon/Wet_Direction_prev.png differ diff --git a/stuff/library/mypaint brushes/ramon/wet_round.myb b/stuff/library/mypaint brushes/ramon/wet_round.myb new file mode 100644 index 0000000..924424b --- /dev/null +++ b/stuff/library/mypaint brushes/ramon/wet_round.myb @@ -0,0 +1,244 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "parent_brush_name": "ramon/wet_round", + "settings": { + "anti_aliasing": { + "base_value": 1.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.0, + "inputs": {} + }, + "color_s": { + "base_value": 0.0, + "inputs": {} + }, + "color_v": { + "base_value": 0.0, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 5.05, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 80.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 0.35, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 90.0, + "inputs": { + "direction": [ + [ + 0.0, + 0.0 + ], + [ + 180.0, + 180.0 + ] + ] + } + }, + "elliptical_dab_ratio": { + "base_value": 1.0, + "inputs": {} + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 0.95, + "inputs": {} + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 1.0, + "inputs": { + "pressure": [ + [ + 0.0, + -0.666667 + ], + [ + 0.313253, + -0.166667 + ], + [ + 0.575301, + 0.229167 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "opaque_linearize": { + "base_value": 0.9, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.222222, + 0.0 + ], + [ + 0.454819, + 0.538125 + ], + [ + 1.0, + 0.63 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 3.07, + "inputs": {} + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 1.0 + ], + [ + 0.401786, + 0.96875 + ], + [ + 1.0, + 0.0 + ] + ] + } + }, + "smudge_length": { + "base_value": 0.12, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 4.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 0.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} \ No newline at end of file diff --git a/stuff/library/mypaint brushes/ramon/wet_round_prev.png b/stuff/library/mypaint brushes/ramon/wet_round_prev.png new file mode 100644 index 0000000..b08d722 Binary files /dev/null and b/stuff/library/mypaint brushes/ramon/wet_round_prev.png differ diff --git a/stuff/library/mypaint brushes/tanda/acrylic-03-only-water.myb b/stuff/library/mypaint brushes/tanda/acrylic-03-only-water.myb new file mode 100644 index 0000000..94c2398 --- /dev/null +++ b/stuff/library/mypaint brushes/tanda/acrylic-03-only-water.myb @@ -0,0 +1,298 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "parent_brush_name": "tanda/acrylic-03-only-water", + "settings": { + "anti_aliasing": { + "base_value": 1.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.0, + "inputs": {} + }, + "color_s": { + "base_value": 0.0, + "inputs": {} + }, + "color_v": { + "base_value": 0.0, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 6.0, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 80.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 90.0, + "inputs": { + "random": [ + [ + 0.0, + -180.0 + ], + [ + 1.0, + 180.0 + ] + ] + } + }, + "elliptical_dab_ratio": { + "base_value": 10.0, + "inputs": { + "pressure": [ + [ + 0.0, + -0.0 + ], + [ + 0.737654, + -0.0 + ], + [ + 1.0, + -9.0 + ] + ], + "speed1": [ + [ + 0.0, + -7.0 + ], + [ + 4.0, + 7.0 + ] + ] + } + }, + "eraser": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.740741, + 0.0 + ], + [ + 1.0, + 0.05 + ] + ] + } + }, + "hardness": { + "base_value": 0.5, + "inputs": { + "pressure": [ + [ + 0.0, + -0.0 + ], + [ + 0.401235, + -0.0 + ], + [ + 1.0, + -0.45 + ] + ] + } + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.746914, + 0.0 + ], + [ + 1.0, + 0.45 + ] + ] + } + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 1.0, + "inputs": { + "pressure": [ + [ + 0.0, + 1.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "opaque_linearize": { + "base_value": 0.9, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 2.9, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.75, + 0.0 + ], + [ + 1.0, + 1.1 + ] + ] + } + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 5.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 1.0, + "inputs": {} + }, + "smudge_length": { + "base_value": 0.1, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 2.8, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 0.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} \ No newline at end of file diff --git a/stuff/library/mypaint brushes/tanda/acrylic-03-only-water_prev.png b/stuff/library/mypaint brushes/tanda/acrylic-03-only-water_prev.png new file mode 100644 index 0000000..7e2df05 Binary files /dev/null and b/stuff/library/mypaint brushes/tanda/acrylic-03-only-water_prev.png differ diff --git a/stuff/library/mypaint brushes/tanda/acrylic-03-paint.myb b/stuff/library/mypaint brushes/tanda/acrylic-03-paint.myb new file mode 100644 index 0000000..e36fa0d --- /dev/null +++ b/stuff/library/mypaint brushes/tanda/acrylic-03-paint.myb @@ -0,0 +1,279 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "parent_brush_name": "tanda/acrylic-03-paint", + "settings": { + "anti_aliasing": { + "base_value": 0.63, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": { + "stroke": [ + [ + 0.0, + -0.01 + ], + [ + 1.0, + 0.01 + ] + ] + } + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.0, + "inputs": {} + }, + "color_s": { + "base_value": 0.0, + "inputs": {} + }, + "color_v": { + "base_value": 0.0, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 6.0, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 6.0, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 0.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 90.0, + "inputs": { + "random": [ + [ + 0.0, + -180.0 + ], + [ + 1.0, + 180.0 + ] + ] + } + }, + "elliptical_dab_ratio": { + "base_value": 10.0, + "inputs": { + "speed1": [ + [ + 0.0, + -8.5 + ], + [ + 4.0, + 8.5 + ] + ] + } + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 1.0, + "inputs": {} + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 1.0, + "inputs": { + "pressure": [ + [ + 0.0, + 1.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "opaque_linearize": { + "base_value": 0.9, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.049383, + 0.572917 + ], + [ + 0.151235, + 0.916667 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 2.7, + "inputs": { + "pressure": [ + [ + 0.0, + -2.5 + ], + [ + 1.0, + 0.3125 + ] + ], + "stroke": [ + [ + 0.0, + -0.0 + ], + [ + 0.669753, + -0.0 + ], + [ + 1.0, + -2.0 + ] + ] + } + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 0.4 + ] + ] + } + }, + "smudge_length": { + "base_value": 0.5, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 7.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 10.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} \ No newline at end of file diff --git a/stuff/library/mypaint brushes/tanda/acrylic-03-paint_prev.png b/stuff/library/mypaint brushes/tanda/acrylic-03-paint_prev.png new file mode 100644 index 0000000..f11629b Binary files /dev/null and b/stuff/library/mypaint brushes/tanda/acrylic-03-paint_prev.png differ diff --git a/stuff/library/mypaint brushes/tanda/acrylic-03-with-water.myb b/stuff/library/mypaint brushes/tanda/acrylic-03-with-water.myb new file mode 100644 index 0000000..72de643 --- /dev/null +++ b/stuff/library/mypaint brushes/tanda/acrylic-03-with-water.myb @@ -0,0 +1,243 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "parent_brush_name": "tanda/acrylic-03-with-water", + "settings": { + "anti_aliasing": { + "base_value": 0.44, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.0, + "inputs": {} + }, + "color_s": { + "base_value": 0.0, + "inputs": {} + }, + "color_v": { + "base_value": 0.0, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 6.0, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 6.0, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 0.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 90.0, + "inputs": { + "random": [ + [ + 0.0, + -180.0 + ], + [ + 1.0, + 180.0 + ] + ] + } + }, + "elliptical_dab_ratio": { + "base_value": 10.0, + "inputs": { + "speed1": [ + [ + 0.0, + -7.5 + ], + [ + 0.962963, + -2.03125 + ], + [ + 4.0, + 0.0 + ] + ] + } + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 0.95, + "inputs": {} + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 1.0, + "inputs": { + "pressure": [ + [ + 0.0, + 1.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "opaque_linearize": { + "base_value": 0.9, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.058642, + 0.604167 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 2.9, + "inputs": { + "pressure": [ + [ + 0.0, + -2.6 + ], + [ + 1.0, + 0.433333 + ] + ] + } + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 0.9, + "inputs": {} + }, + "smudge_length": { + "base_value": 0.5, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.9, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 4.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 0.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} \ No newline at end of file diff --git a/stuff/library/mypaint brushes/tanda/acrylic-03-with-water_prev.png b/stuff/library/mypaint brushes/tanda/acrylic-03-with-water_prev.png new file mode 100644 index 0000000..14d1232 Binary files /dev/null and b/stuff/library/mypaint brushes/tanda/acrylic-03-with-water_prev.png differ diff --git a/stuff/library/mypaint brushes/tanda/acrylic-04-only-water.myb b/stuff/library/mypaint brushes/tanda/acrylic-04-only-water.myb new file mode 100644 index 0000000..15d8c3d --- /dev/null +++ b/stuff/library/mypaint brushes/tanda/acrylic-04-only-water.myb @@ -0,0 +1,306 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "parent_brush_name": "tanda/acrylic-04-only-water", + "settings": { + "anti_aliasing": { + "base_value": 1.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.0, + "inputs": {} + }, + "color_s": { + "base_value": 0.0, + "inputs": {} + }, + "color_v": { + "base_value": 0.0, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 2.0, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 6.0, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 0.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 90.0, + "inputs": { + "random": [ + [ + 0.0, + -180.0 + ], + [ + 1.0, + 180.0 + ] + ] + } + }, + "elliptical_dab_ratio": { + "base_value": 4.0, + "inputs": { + "pressure": [ + [ + 0.0, + -0.0 + ], + [ + 0.75, + -0.0 + ], + [ + 1.0, + -2.7 + ] + ], + "speed1": [ + [ + 0.0, + -2.5 + ], + [ + 4.0, + 2.5 + ] + ] + } + }, + "eraser": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.753086, + 0.0 + ], + [ + 1.0, + 0.1 + ] + ] + } + }, + "hardness": { + "base_value": 0.4, + "inputs": { + "pressure": [ + [ + 0.0, + -0.0 + ], + [ + 0.746914, + -0.0 + ], + [ + 1.0, + -0.3 + ] + ] + } + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.75, + 0.0 + ], + [ + 1.0, + 0.8 + ] + ] + } + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 1.0, + "inputs": { + "random": [ + [ + 0.0, + 1.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "opaque_linearize": { + "base_value": 0.9, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.040123, + 0.885417 + ], + [ + 0.138889, + 1.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 2.9, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.75, + 0.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 1.0, + "inputs": {} + }, + "smudge_length": { + "base_value": 0.1, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 4.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 0.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} \ No newline at end of file diff --git a/stuff/library/mypaint brushes/tanda/acrylic-04-only-water_prev.png b/stuff/library/mypaint brushes/tanda/acrylic-04-only-water_prev.png new file mode 100644 index 0000000..2895b0d Binary files /dev/null and b/stuff/library/mypaint brushes/tanda/acrylic-04-only-water_prev.png differ diff --git a/stuff/library/mypaint brushes/tanda/acrylic-04-paint.myb b/stuff/library/mypaint brushes/tanda/acrylic-04-paint.myb new file mode 100644 index 0000000..58152d0 --- /dev/null +++ b/stuff/library/mypaint brushes/tanda/acrylic-04-paint.myb @@ -0,0 +1,254 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "parent_brush_name": "", + "settings": { + "anti_aliasing": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": { + "stroke": [ + [ + 0.0, + -0.01 + ], + [ + 1.0, + 0.01 + ] + ] + } + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.0, + "inputs": {} + }, + "color_s": { + "base_value": 0.0, + "inputs": {} + }, + "color_v": { + "base_value": 0.0, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 2.0, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 6.0, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 0.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 90.0, + "inputs": { + "random": [ + [ + 0.0, + -180.0 + ], + [ + 1.0, + 180.0 + ] + ] + } + }, + "elliptical_dab_ratio": { + "base_value": 4.0, + "inputs": { + "speed1": [ + [ + 0.0, + -4.0 + ], + [ + 4.0, + 4.0 + ] + ] + } + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 1.0, + "inputs": {} + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 1.0, + "inputs": { + "random": [ + [ + 0.0, + 1.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "opaque_linearize": { + "base_value": 0.9, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.040123, + 0.885417 + ], + [ + 0.138889, + 1.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 2.6, + "inputs": { + "pressure": [ + [ + 0.0, + -2.6 + ], + [ + 1.0, + 0.677083 + ] + ] + } + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 0.0, + "inputs": {} + }, + "smudge_length": { + "base_value": 0.5, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 4.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 0.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} \ No newline at end of file diff --git a/stuff/library/mypaint brushes/tanda/acrylic-04-paint_prev.png b/stuff/library/mypaint brushes/tanda/acrylic-04-paint_prev.png new file mode 100644 index 0000000..0f53b2f Binary files /dev/null and b/stuff/library/mypaint brushes/tanda/acrylic-04-paint_prev.png differ diff --git a/stuff/library/mypaint brushes/tanda/acrylic-04-with-water.myb b/stuff/library/mypaint brushes/tanda/acrylic-04-with-water.myb new file mode 100644 index 0000000..9b501c5 --- /dev/null +++ b/stuff/library/mypaint brushes/tanda/acrylic-04-with-water.myb @@ -0,0 +1,262 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "parent_brush_name": "tanda/acrylic-04-with-water", + "settings": { + "anti_aliasing": { + "base_value": 1.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.0, + "inputs": {} + }, + "color_s": { + "base_value": 0.0, + "inputs": {} + }, + "color_v": { + "base_value": 0.0, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 2.0, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 6.0, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 0.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 90.0, + "inputs": { + "random": [ + [ + 0.0, + -180.0 + ], + [ + 1.0, + 180.0 + ] + ] + } + }, + "elliptical_dab_ratio": { + "base_value": 4.0, + "inputs": { + "speed1": [ + [ + 0.0, + -4.0 + ], + [ + 4.0, + 4.0 + ] + ] + } + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 0.5, + "inputs": {} + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 1.0, + "inputs": { + "random": [ + [ + 0.0, + 1.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "opaque_linearize": { + "base_value": 0.9, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.040123, + 0.885417 + ], + [ + 0.138889, + 1.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 2.6, + "inputs": { + "pressure": [ + [ + 0.0, + -2.6 + ], + [ + 1.0, + 0.65 + ] + ] + } + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 0.9, + "inputs": { + "pressure": [ + [ + 0.0, + -0.0 + ], + [ + 0.398148, + -0.0 + ], + [ + 0.743827, + -0.4 + ], + [ + 1.0, + -0.4 + ] + ] + } + }, + "smudge_length": { + "base_value": 0.5, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 4.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 0.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} \ No newline at end of file diff --git a/stuff/library/mypaint brushes/tanda/acrylic-04-with-water_prev.png b/stuff/library/mypaint brushes/tanda/acrylic-04-with-water_prev.png new file mode 100644 index 0000000..aad96b7 Binary files /dev/null and b/stuff/library/mypaint brushes/tanda/acrylic-04-with-water_prev.png differ diff --git a/stuff/library/mypaint brushes/tanda/acrylic-05-only-water.myb b/stuff/library/mypaint brushes/tanda/acrylic-05-only-water.myb new file mode 100644 index 0000000..cbea5d0 --- /dev/null +++ b/stuff/library/mypaint brushes/tanda/acrylic-05-only-water.myb @@ -0,0 +1,231 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "parent_brush_name": "tanda/acrylic-05-only-water", + "settings": { + "anti_aliasing": { + "base_value": 1.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.0, + "inputs": {} + }, + "color_s": { + "base_value": 0.0, + "inputs": {} + }, + "color_v": { + "base_value": 0.0, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 5.0, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 0.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 90.0, + "inputs": {} + }, + "elliptical_dab_ratio": { + "base_value": 1.0, + "inputs": {} + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 0.18, + "inputs": {} + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 0.9, + "inputs": { + "speed1": [ + [ + 0.0, + 0.028571 + ], + [ + 4.0, + -0.2 + ] + ] + } + }, + "opaque_linearize": { + "base_value": 0.9, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.046296, + 0.71875 + ], + [ + 0.154321, + 1.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.1, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 1.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.958333 + ], + [ + 1.0, + 2.0 + ] + ], + "speed1": [ + [ + 0.0, + -0.916667 + ], + [ + 3.7, + -2.0 + ] + ] + } + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 2.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 1.0, + "inputs": {} + }, + "smudge_length": { + "base_value": 0.9, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 4.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 0.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} \ No newline at end of file diff --git a/stuff/library/mypaint brushes/tanda/acrylic-05-only-water_prev.png b/stuff/library/mypaint brushes/tanda/acrylic-05-only-water_prev.png new file mode 100644 index 0000000..9c4f9aa Binary files /dev/null and b/stuff/library/mypaint brushes/tanda/acrylic-05-only-water_prev.png differ diff --git a/stuff/library/mypaint brushes/tanda/acrylic-05-paint.myb b/stuff/library/mypaint brushes/tanda/acrylic-05-paint.myb new file mode 100644 index 0000000..3df38af --- /dev/null +++ b/stuff/library/mypaint brushes/tanda/acrylic-05-paint.myb @@ -0,0 +1,231 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "parent_brush_name": "tanda/acrylic-05-paint", + "settings": { + "anti_aliasing": { + "base_value": 1.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.0, + "inputs": {} + }, + "color_s": { + "base_value": 0.0, + "inputs": {} + }, + "color_v": { + "base_value": 0.0, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 5.0, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 0.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 90.0, + "inputs": {} + }, + "elliptical_dab_ratio": { + "base_value": 1.0, + "inputs": {} + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 0.8, + "inputs": {} + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 0.9, + "inputs": { + "speed1": [ + [ + 0.0, + 0.028571 + ], + [ + 4.0, + -0.2 + ] + ] + } + }, + "opaque_linearize": { + "base_value": 0.9, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.046296, + 0.71875 + ], + [ + 0.154321, + 1.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.1, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 1.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.958333 + ], + [ + 1.0, + 2.0 + ] + ], + "speed1": [ + [ + 0.0, + -0.916667 + ], + [ + 3.7, + -2.0 + ] + ] + } + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 2.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 0.0, + "inputs": {} + }, + "smudge_length": { + "base_value": 0.5, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 4.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 0.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} \ No newline at end of file diff --git a/stuff/library/mypaint brushes/tanda/acrylic-05-paint_prev.png b/stuff/library/mypaint brushes/tanda/acrylic-05-paint_prev.png new file mode 100644 index 0000000..1004ff8 Binary files /dev/null and b/stuff/library/mypaint brushes/tanda/acrylic-05-paint_prev.png differ diff --git a/stuff/library/mypaint brushes/tanda/acrylic-05-with-water.myb b/stuff/library/mypaint brushes/tanda/acrylic-05-with-water.myb new file mode 100644 index 0000000..daa14f3 --- /dev/null +++ b/stuff/library/mypaint brushes/tanda/acrylic-05-with-water.myb @@ -0,0 +1,234 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "parent_brush_name": "tanda/acrylic-05-with-water", + "settings": { + "anti_aliasing": { + "base_value": 1.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.0, + "inputs": {} + }, + "color_s": { + "base_value": 0.0, + "inputs": {} + }, + "color_v": { + "base_value": 0.0, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 5.0, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 0.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 90.0, + "inputs": {} + }, + "elliptical_dab_ratio": { + "base_value": 1.0, + "inputs": {} + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 0.8, + "inputs": {} + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 0.9, + "inputs": { + "speed1": [ + [ + 0.0, + 0.11 + ], + [ + 4.0, + -0.77 + ] + ] + } + }, + "opaque_linearize": { + "base_value": 0.9, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.1, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 1.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.083333 + ], + [ + 1.0, + 2.0 + ] + ], + "speed1": [ + [ + 0.0, + -1.00375 + ], + [ + 3.7, + -2.19 + ] + ] + } + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 1.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 0.1, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 0.4 + ] + ] + } + }, + "smudge_length": { + "base_value": 0.5, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 4.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 0.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} \ No newline at end of file diff --git a/stuff/library/mypaint brushes/tanda/acrylic-05-with-water_prev.png b/stuff/library/mypaint brushes/tanda/acrylic-05-with-water_prev.png new file mode 100644 index 0000000..6082a1b Binary files /dev/null and b/stuff/library/mypaint brushes/tanda/acrylic-05-with-water_prev.png differ diff --git a/stuff/library/mypaint brushes/tanda/charcoal-01.myb b/stuff/library/mypaint brushes/tanda/charcoal-01.myb new file mode 100644 index 0000000..efda262 --- /dev/null +++ b/stuff/library/mypaint brushes/tanda/charcoal-01.myb @@ -0,0 +1,260 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "parent_brush_name": "tanda/charcoal-01", + "settings": { + "anti_aliasing": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.0, + "inputs": {} + }, + "color_s": { + "base_value": 0.0, + "inputs": {} + }, + "color_v": { + "base_value": 0.0, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 5.0, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 0.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 0.0, + "inputs": { + "random": [ + [ + 0.0, + -180.0 + ], + [ + 1.0, + 180.0 + ] + ] + } + }, + "elliptical_dab_ratio": { + "base_value": 3.0, + "inputs": { + "random": [ + [ + 0.0, + -1.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 0.9, + "inputs": {} + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 1.0, + "inputs": {} + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "opaque": { + "base_value": 0.2, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 0.5 + ] + ], + "random": [ + [ + 0.0, + -0.6 + ], + [ + 1.0, + 0.6 + ] + ] + } + }, + "opaque_linearize": { + "base_value": 1.0, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.083333, + 1.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": -0.4, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 0.6 + ] + ] + } + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 0.0, + "inputs": { + "speed1": [ + [ + 0.0, + 0.0 + ], + [ + 4.0, + 0.2 + ] + ] + } + }, + "smudge_length": { + "base_value": 0.5, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 4.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 0.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} \ No newline at end of file diff --git a/stuff/library/mypaint brushes/tanda/charcoal-01_prev.png b/stuff/library/mypaint brushes/tanda/charcoal-01_prev.png new file mode 100644 index 0000000..a00f558 Binary files /dev/null and b/stuff/library/mypaint brushes/tanda/charcoal-01_prev.png differ diff --git a/stuff/library/mypaint brushes/tanda/charcoal-03.myb b/stuff/library/mypaint brushes/tanda/charcoal-03.myb new file mode 100644 index 0000000..a3450e9 --- /dev/null +++ b/stuff/library/mypaint brushes/tanda/charcoal-03.myb @@ -0,0 +1,258 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "parent_brush_name": "", + "settings": { + "anti_aliasing": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.0, + "inputs": {} + }, + "color_s": { + "base_value": 0.0, + "inputs": {} + }, + "color_v": { + "base_value": 0.0, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 5.0, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 0.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 0.0, + "inputs": { + "random": [ + [ + 0.0, + -180.0 + ], + [ + 1.0, + 180.0 + ] + ] + } + }, + "elliptical_dab_ratio": { + "base_value": 3.0, + "inputs": { + "random": [ + [ + 0.0, + -1.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 1.0, + "inputs": {} + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 1.0, + "inputs": {} + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "opaque": { + "base_value": 0.2, + "inputs": { + "pressure": [ + [ + 0.0, + -0.101563 + ], + [ + 0.243827, + -0.101563 + ], + [ + 0.5, + 0.75 + ], + [ + 1.0, + 0.75 + ] + ] + } + }, + "opaque_linearize": { + "base_value": 0.9, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.083333, + 1.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 0.2, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 0.5 + ] + ] + } + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 0.0, + "inputs": { + "speed1": [ + [ + 0.0, + 0.0 + ], + [ + 4.0, + 0.3 + ] + ] + } + }, + "smudge_length": { + "base_value": 0.5, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 4.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 0.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} \ No newline at end of file diff --git a/stuff/library/mypaint brushes/tanda/charcoal-03_prev.png b/stuff/library/mypaint brushes/tanda/charcoal-03_prev.png new file mode 100644 index 0000000..2e13ee0 Binary files /dev/null and b/stuff/library/mypaint brushes/tanda/charcoal-03_prev.png differ diff --git a/stuff/library/mypaint brushes/tanda/charcoal-04.myb b/stuff/library/mypaint brushes/tanda/charcoal-04.myb new file mode 100644 index 0000000..9541a17 --- /dev/null +++ b/stuff/library/mypaint brushes/tanda/charcoal-04.myb @@ -0,0 +1,247 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "parent_brush_name": "", + "settings": { + "anti_aliasing": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.0, + "inputs": {} + }, + "color_s": { + "base_value": 0.0, + "inputs": {} + }, + "color_v": { + "base_value": 0.0, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 5.0, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 0.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 0.0, + "inputs": { + "random": [ + [ + 0.0, + -180.0 + ], + [ + 1.0, + 180.0 + ] + ] + } + }, + "elliptical_dab_ratio": { + "base_value": 10.0, + "inputs": { + "random": [ + [ + 0.0, + 9.0 + ], + [ + 1.0, + -9.0 + ] + ] + } + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 1.0, + "inputs": {} + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 1.0, + "inputs": {} + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "opaque": { + "base_value": 0.2, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 0.75 + ] + ] + } + }, + "opaque_linearize": { + "base_value": 0.9, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.064815, + 0.666667 + ], + [ + 0.135802, + 0.927083 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 1.1, + "inputs": {} + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 0.0, + "inputs": { + "speed1": [ + [ + 0.0, + 0.0 + ], + [ + 3.024691, + 0.0 + ], + [ + 4.0, + 0.5 + ] + ] + } + }, + "smudge_length": { + "base_value": 0.5, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 4.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 0.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} \ No newline at end of file diff --git a/stuff/library/mypaint brushes/tanda/charcoal-04_prev.png b/stuff/library/mypaint brushes/tanda/charcoal-04_prev.png new file mode 100644 index 0000000..8747a6a Binary files /dev/null and b/stuff/library/mypaint brushes/tanda/charcoal-04_prev.png differ diff --git a/stuff/library/mypaint brushes/tanda/charcoal-blur1.myb b/stuff/library/mypaint brushes/tanda/charcoal-blur1.myb new file mode 100644 index 0000000..74b7e48 --- /dev/null +++ b/stuff/library/mypaint brushes/tanda/charcoal-blur1.myb @@ -0,0 +1,232 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "parent_brush_name": "", + "settings": { + "anti_aliasing": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.0, + "inputs": {} + }, + "color_s": { + "base_value": 0.0, + "inputs": {} + }, + "color_v": { + "base_value": 0.0, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 5.0, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 0.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 0.0, + "inputs": { + "random": [ + [ + 0.0, + -180.0 + ], + [ + 1.0, + 180.0 + ] + ] + } + }, + "elliptical_dab_ratio": { + "base_value": 10.0, + "inputs": { + "random": [ + [ + 0.0, + -1.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 0.1, + "inputs": {} + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 1.0, + "inputs": {} + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "opaque": { + "base_value": 0.2, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 0.75 + ] + ] + } + }, + "opaque_linearize": { + "base_value": 0.9, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.064815, + 0.666667 + ], + [ + 0.135802, + 0.927083 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 2.6, + "inputs": {} + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 1.0, + "inputs": {} + }, + "smudge_length": { + "base_value": 0.5, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 4.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 0.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} \ No newline at end of file diff --git a/stuff/library/mypaint brushes/tanda/charcoal-blur1_prev.png b/stuff/library/mypaint brushes/tanda/charcoal-blur1_prev.png new file mode 100644 index 0000000..b8c8b3d Binary files /dev/null and b/stuff/library/mypaint brushes/tanda/charcoal-blur1_prev.png differ diff --git a/stuff/library/mypaint brushes/tanda/marker-01.myb b/stuff/library/mypaint brushes/tanda/marker-01.myb new file mode 100644 index 0000000..e697bca --- /dev/null +++ b/stuff/library/mypaint brushes/tanda/marker-01.myb @@ -0,0 +1,227 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "parent_brush_name": "tanda/marker-01", + "settings": { + "anti_aliasing": { + "base_value": 1.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.0, + "inputs": {} + }, + "color_s": { + "base_value": 0.0, + "inputs": {} + }, + "color_v": { + "base_value": 0.0, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 1.68, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 80.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 90.0, + "inputs": {} + }, + "elliptical_dab_ratio": { + "base_value": 1.0, + "inputs": {} + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 0.6, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 0.4 + ] + ] + } + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 0.11, + "inputs": {} + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 0.4, + "inputs": {} + }, + "opaque_linearize": { + "base_value": 0.0, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.074405, + 1.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 0.35, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 0.15 + ] + ], + "speed2": [ + [ + 0.0, + -0.0 + ], + [ + 4.0, + -0.04 + ] + ] + } + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 0.0, + "inputs": {} + }, + "smudge_length": { + "base_value": 0.5, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 4.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 0.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} \ No newline at end of file diff --git a/stuff/library/mypaint brushes/tanda/marker-01_prev.png b/stuff/library/mypaint brushes/tanda/marker-01_prev.png new file mode 100644 index 0000000..e2abd32 Binary files /dev/null and b/stuff/library/mypaint brushes/tanda/marker-01_prev.png differ diff --git a/stuff/library/mypaint brushes/tanda/marker-05.myb b/stuff/library/mypaint brushes/tanda/marker-05.myb new file mode 100644 index 0000000..f04f675 --- /dev/null +++ b/stuff/library/mypaint brushes/tanda/marker-05.myb @@ -0,0 +1,234 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "parent_brush_name": "tanda/marker-05", + "settings": { + "anti_aliasing": { + "base_value": 1.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.0, + "inputs": {} + }, + "color_s": { + "base_value": 0.0, + "inputs": {} + }, + "color_v": { + "base_value": 0.0, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 1.68, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 80.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 90.0, + "inputs": {} + }, + "elliptical_dab_ratio": { + "base_value": 1.0, + "inputs": {} + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 0.6, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 0.3 + ] + ] + } + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.354167 + ], + [ + 1.0, + -0.0 + ] + ] + } + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 0.2, + "inputs": {} + }, + "opaque_linearize": { + "base_value": 0.0, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 1.35, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 0.7 + ] + ], + "speed2": [ + [ + 0.0, + -0.0 + ], + [ + 4.0, + -0.04 + ] + ] + } + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 0.0, + "inputs": {} + }, + "smudge_length": { + "base_value": 0.5, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 4.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 0.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} \ No newline at end of file diff --git a/stuff/library/mypaint brushes/tanda/marker-05_prev.png b/stuff/library/mypaint brushes/tanda/marker-05_prev.png new file mode 100644 index 0000000..969ae88 Binary files /dev/null and b/stuff/library/mypaint brushes/tanda/marker-05_prev.png differ diff --git a/stuff/library/mypaint brushes/tanda/oil-01-clean.myb b/stuff/library/mypaint brushes/tanda/oil-01-clean.myb new file mode 100644 index 0000000..f046a3a --- /dev/null +++ b/stuff/library/mypaint brushes/tanda/oil-01-clean.myb @@ -0,0 +1,277 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "parent_brush_name": "tanda/oil-01-clean", + "settings": { + "anti_aliasing": { + "base_value": 1.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.0, + "inputs": {} + }, + "color_s": { + "base_value": 0.0, + "inputs": {} + }, + "color_v": { + "base_value": 0.0, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 6.0, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 6.0, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 80.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 0.0, + "inputs": { + "direction": [ + [ + 0.0, + 0.0 + ], + [ + 180.0, + 180.0 + ] + ] + } + }, + "elliptical_dab_ratio": { + "base_value": 7.1, + "inputs": { + "stroke": [ + [ + 0.0, + -0.4 + ], + [ + 1.0, + 0.4 + ] + ] + } + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 0.8, + "inputs": {} + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 0.6, + "inputs": {} + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 1.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.166667, + 0.75 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "opaque_linearize": { + "base_value": 0.9, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.067901, + 0.78125 + ], + [ + 0.185185, + 1.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 2.0, + "inputs": { + "pressure": [ + [ + 0.0, + -2.0 + ], + [ + 0.398148, + 0.0 + ], + [ + 1.0, + 0.0 + ] + ] + } + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 1.0, + "inputs": { + "stroke": [ + [ + 0.0, + 0.0 + ], + [ + 0.5, + 0.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "smudge_length": { + "base_value": 0.0, + "inputs": { + "stroke": [ + [ + 0.0, + 1.0 + ], + [ + 1.0, + -1.0 + ] + ] + } + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 6.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 10.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.2, + "inputs": {} + } + }, + "version": 3 +} \ No newline at end of file diff --git a/stuff/library/mypaint brushes/tanda/oil-01-clean_prev.png b/stuff/library/mypaint brushes/tanda/oil-01-clean_prev.png new file mode 100644 index 0000000..c930617 Binary files /dev/null and b/stuff/library/mypaint brushes/tanda/oil-01-clean_prev.png differ diff --git a/stuff/library/mypaint brushes/tanda/oil-01-paint.myb b/stuff/library/mypaint brushes/tanda/oil-01-paint.myb new file mode 100644 index 0000000..20f2c49 --- /dev/null +++ b/stuff/library/mypaint brushes/tanda/oil-01-paint.myb @@ -0,0 +1,302 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "parent_brush_name": "tanda/oil-01-paint", + "settings": { + "anti_aliasing": { + "base_value": 1.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": { + "stroke": [ + [ + 0.0, + 0.0 + ], + [ + 0.969136, + 0.01 + ], + [ + 1.0, + 0.0 + ] + ] + } + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.0, + "inputs": {} + }, + "color_s": { + "base_value": 0.0, + "inputs": {} + }, + "color_v": { + "base_value": 0.0, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 6.0, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 6.0, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 80.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 0.0, + "inputs": { + "direction": [ + [ + 0.0, + 0.0 + ], + [ + 180.0, + 180.0 + ] + ] + } + }, + "elliptical_dab_ratio": { + "base_value": 7.1, + "inputs": { + "stroke": [ + [ + 0.0, + -0.4 + ], + [ + 1.0, + 0.4 + ] + ] + } + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 0.8, + "inputs": {} + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 0.6, + "inputs": {} + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 1.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.166667, + 0.75 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "opaque_linearize": { + "base_value": 0.9, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.067901, + 0.78125 + ], + [ + 0.185185, + 1.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 2.0, + "inputs": { + "pressure": [ + [ + 0.0, + -2.3 + ], + [ + 0.398148, + 0.0 + ], + [ + 1.0, + 0.0 + ] + ] + } + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 0.4, + "inputs": { + "pressure": [ + [ + 0.0, + -0.0 + ], + [ + 1.0, + -0.6 + ] + ], + "stroke": [ + [ + 0.0, + 0.0 + ], + [ + 0.5, + 0.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "smudge_length": { + "base_value": 0.0, + "inputs": { + "stroke": [ + [ + 0.0, + 1.0 + ], + [ + 1.0, + -1.0 + ] + ] + } + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 6.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 10.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.2, + "inputs": {} + } + }, + "version": 3 +} \ No newline at end of file diff --git a/stuff/library/mypaint brushes/tanda/oil-01-paint_prev.png b/stuff/library/mypaint brushes/tanda/oil-01-paint_prev.png new file mode 100644 index 0000000..c5c94e5 Binary files /dev/null and b/stuff/library/mypaint brushes/tanda/oil-01-paint_prev.png differ diff --git a/stuff/library/mypaint brushes/tanda/oil-03-clean.myb b/stuff/library/mypaint brushes/tanda/oil-03-clean.myb new file mode 100644 index 0000000..3d75f68 --- /dev/null +++ b/stuff/library/mypaint brushes/tanda/oil-03-clean.myb @@ -0,0 +1,287 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "parent_brush_name": "tanda/oil-03-clean", + "settings": { + "anti_aliasing": { + "base_value": 1.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": { + "random": [ + [ + 0.0, + -0.01 + ], + [ + 1.0, + 0.01 + ] + ] + } + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": { + "stroke": [ + [ + 0.0, + 0.0 + ], + [ + 0.92284, + 0.01 + ], + [ + 1.0, + 0.0 + ] + ] + } + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.0, + "inputs": {} + }, + "color_s": { + "base_value": 0.0, + "inputs": {} + }, + "color_v": { + "base_value": 0.0, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 6.0, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 6.0, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 0.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 0.0, + "inputs": { + "direction": [ + [ + 0.0, + 0.0 + ], + [ + 180.0, + 180.0 + ] + ], + "random": [ + [ + 0.0, + -0.5 + ], + [ + 1.0, + 0.5 + ] + ] + } + }, + "elliptical_dab_ratio": { + "base_value": 7.1, + "inputs": { + "stroke": [ + [ + 0.0, + -0.5 + ], + [ + 1.0, + 0.5 + ] + ] + } + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 0.8, + "inputs": {} + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 0.4, + "inputs": {} + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 1.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.166667, + 0.75 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "opaque_linearize": { + "base_value": 0.9, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.067901, + 0.78125 + ], + [ + 0.185185, + 1.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 2.3, + "inputs": { + "pressure": [ + [ + 0.0, + -2.3 + ], + [ + 0.401235, + 0.0 + ], + [ + 1.0, + 0.0 + ] + ] + } + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 1.0, + "inputs": {} + }, + "smudge_length": { + "base_value": 0.5, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 6.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 10.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.2, + "inputs": {} + } + }, + "version": 3 +} \ No newline at end of file diff --git a/stuff/library/mypaint brushes/tanda/oil-03-clean_prev.png b/stuff/library/mypaint brushes/tanda/oil-03-clean_prev.png new file mode 100644 index 0000000..f84d6d5 Binary files /dev/null and b/stuff/library/mypaint brushes/tanda/oil-03-clean_prev.png differ diff --git a/stuff/library/mypaint brushes/tanda/oil-03-paint.myb b/stuff/library/mypaint brushes/tanda/oil-03-paint.myb new file mode 100644 index 0000000..eb0bf4a --- /dev/null +++ b/stuff/library/mypaint brushes/tanda/oil-03-paint.myb @@ -0,0 +1,319 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "parent_brush_name": "tanda/oil-03-paint", + "settings": { + "anti_aliasing": { + "base_value": 1.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": { + "random": [ + [ + 0.0, + -0.01 + ], + [ + 1.0, + 0.01 + ] + ] + } + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": { + "stroke": [ + [ + 0.0, + 0.0 + ], + [ + 0.92284, + 0.01 + ], + [ + 1.0, + 0.0 + ] + ] + } + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.0, + "inputs": {} + }, + "color_s": { + "base_value": 0.0, + "inputs": {} + }, + "color_v": { + "base_value": 0.0, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 6.0, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 6.0, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 0.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 0.0, + "inputs": { + "direction": [ + [ + 0.0, + 0.0 + ], + [ + 180.0, + 180.0 + ] + ], + "random": [ + [ + 0.0, + -0.5 + ], + [ + 1.0, + 0.5 + ] + ] + } + }, + "elliptical_dab_ratio": { + "base_value": 7.1, + "inputs": { + "stroke": [ + [ + 0.0, + -0.5 + ], + [ + 1.0, + 0.5 + ] + ] + } + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 0.8, + "inputs": {} + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 0.4, + "inputs": {} + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 1.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.166667, + 0.75 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "opaque_linearize": { + "base_value": 0.9, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.067901, + 0.78125 + ], + [ + 0.185185, + 1.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 2.3, + "inputs": { + "pressure": [ + [ + 0.0, + -2.3 + ], + [ + 0.401235, + 0.0 + ], + [ + 1.0, + 0.0 + ] + ] + } + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 0.9, + "inputs": { + "pressure": [ + [ + 0.0, + -0.0 + ], + [ + 1.0, + -1.0 + ] + ], + "stroke": [ + [ + 0.0, + -1.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "smudge_length": { + "base_value": 0.5, + "inputs": { + "stroke": [ + [ + 0.0, + 1.0 + ], + [ + 1.0, + -1.0 + ] + ] + } + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 6.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 10.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.2, + "inputs": {} + } + }, + "version": 3 +} \ No newline at end of file diff --git a/stuff/library/mypaint brushes/tanda/oil-03-paint_prev.png b/stuff/library/mypaint brushes/tanda/oil-03-paint_prev.png new file mode 100644 index 0000000..04ff7f9 Binary files /dev/null and b/stuff/library/mypaint brushes/tanda/oil-03-paint_prev.png differ diff --git a/stuff/library/mypaint brushes/tanda/oil-06-clean.myb b/stuff/library/mypaint brushes/tanda/oil-06-clean.myb new file mode 100644 index 0000000..d74f74a --- /dev/null +++ b/stuff/library/mypaint brushes/tanda/oil-06-clean.myb @@ -0,0 +1,231 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "parent_brush_name": "tanda/oil-06-clean", + "settings": { + "anti_aliasing": { + "base_value": 1.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.0, + "inputs": {} + }, + "color_s": { + "base_value": 0.0, + "inputs": {} + }, + "color_v": { + "base_value": 0.0, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 5.0, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 0.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 90.0, + "inputs": {} + }, + "elliptical_dab_ratio": { + "base_value": 1.0, + "inputs": {} + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 0.8, + "inputs": {} + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 0.9, + "inputs": { + "speed1": [ + [ + 0.0, + 0.028571 + ], + [ + 4.0, + -0.2 + ] + ] + } + }, + "opaque_linearize": { + "base_value": 0.9, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.046296, + 0.71875 + ], + [ + 0.154321, + 1.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.1, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 1.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.958333 + ], + [ + 1.0, + 2.0 + ] + ], + "speed1": [ + [ + 0.0, + -0.916667 + ], + [ + 3.7, + -2.0 + ] + ] + } + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 2.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 1.0, + "inputs": {} + }, + "smudge_length": { + "base_value": 0.9, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 5.5, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 10.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} \ No newline at end of file diff --git a/stuff/library/mypaint brushes/tanda/oil-06-clean_prev.png b/stuff/library/mypaint brushes/tanda/oil-06-clean_prev.png new file mode 100644 index 0000000..402f30d Binary files /dev/null and b/stuff/library/mypaint brushes/tanda/oil-06-clean_prev.png differ diff --git a/stuff/library/mypaint brushes/tanda/oil-06-paint.myb b/stuff/library/mypaint brushes/tanda/oil-06-paint.myb new file mode 100644 index 0000000..6ecdb04 --- /dev/null +++ b/stuff/library/mypaint brushes/tanda/oil-06-paint.myb @@ -0,0 +1,246 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "parent_brush_name": "tanda/oil-06-paint", + "settings": { + "anti_aliasing": { + "base_value": 1.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.0, + "inputs": {} + }, + "color_s": { + "base_value": 0.0, + "inputs": {} + }, + "color_v": { + "base_value": 0.0, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 5.0, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 0.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 90.0, + "inputs": {} + }, + "elliptical_dab_ratio": { + "base_value": 1.0, + "inputs": {} + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 0.8, + "inputs": {} + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 0.9, + "inputs": { + "speed1": [ + [ + 0.0, + 0.028571 + ], + [ + 4.0, + -0.2 + ] + ] + } + }, + "opaque_linearize": { + "base_value": 0.9, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.046296, + 0.71875 + ], + [ + 0.154321, + 1.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.1, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 1.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.958333 + ], + [ + 1.0, + 2.0 + ] + ], + "speed1": [ + [ + 0.0, + -0.916667 + ], + [ + 3.7, + -2.0 + ] + ] + } + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 2.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 0.0, + "inputs": { + "stroke": [ + [ + 0.0, + 0.0 + ], + [ + 0.5, + 0.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "smudge_length": { + "base_value": 0.5, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 5.5, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 10.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} \ No newline at end of file diff --git a/stuff/library/mypaint brushes/tanda/oil-06-paint_prev.png b/stuff/library/mypaint brushes/tanda/oil-06-paint_prev.png new file mode 100644 index 0000000..41c8227 Binary files /dev/null and b/stuff/library/mypaint brushes/tanda/oil-06-paint_prev.png differ diff --git a/stuff/library/mypaint brushes/tanda/oil-mop.myb b/stuff/library/mypaint brushes/tanda/oil-mop.myb new file mode 100644 index 0000000..84abcf5 --- /dev/null +++ b/stuff/library/mypaint brushes/tanda/oil-mop.myb @@ -0,0 +1,260 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "parent_brush_name": "tanda/oil-mop", + "settings": { + "anti_aliasing": { + "base_value": 1.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.0, + "inputs": {} + }, + "color_s": { + "base_value": 0.0, + "inputs": {} + }, + "color_v": { + "base_value": 0.0, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 4.0, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 0.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 90.0, + "inputs": { + "stroke": [ + [ + 0.0, + -180.0 + ], + [ + 1.0, + 180.0 + ] + ] + } + }, + "elliptical_dab_ratio": { + "base_value": 3.0, + "inputs": {} + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 0.8, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 0.3 + ] + ] + } + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 1.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + -0.3 + ] + ] + } + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.033951, + 0.0625 + ], + [ + 1.0, + 0.1 + ] + ] + } + }, + "opaque_linearize": { + "base_value": 0.0, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 2.2, + "inputs": { + "pressure": [ + [ + 0.0, + -0.687917 + ], + [ + 1.0, + 0.568854 + ] + ], + "speed1": [ + [ + 0.0, + 0.0 + ], + [ + 4.0, + 1.01 + ] + ] + } + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 1.0, + "inputs": {} + }, + "smudge_length": { + "base_value": 0.5, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 4.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 0.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} \ No newline at end of file diff --git a/stuff/library/mypaint brushes/tanda/oil-mop_prev.png b/stuff/library/mypaint brushes/tanda/oil-mop_prev.png new file mode 100644 index 0000000..5325ced Binary files /dev/null and b/stuff/library/mypaint brushes/tanda/oil-mop_prev.png differ diff --git a/stuff/library/mypaint brushes/tanda/pencil-2b.myb b/stuff/library/mypaint brushes/tanda/pencil-2b.myb new file mode 100644 index 0000000..a094b1a --- /dev/null +++ b/stuff/library/mypaint brushes/tanda/pencil-2b.myb @@ -0,0 +1,228 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "parent_brush_name": "tanda/pencil-2b", + "settings": { + "anti_aliasing": { + "base_value": 1.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.0, + "inputs": {} + }, + "color_s": { + "base_value": 0.0, + "inputs": {} + }, + "color_v": { + "base_value": 0.0, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 4.0, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 0.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 90.0, + "inputs": {} + }, + "elliptical_dab_ratio": { + "base_value": 1.0, + "inputs": {} + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 0.2, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 0.3 + ] + ] + } + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 0.5, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + -0.3 + ] + ] + } + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 0.15, + "inputs": {} + }, + "opaque_linearize": { + "base_value": 0.0, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 0.15, + "inputs": { + "pressure": [ + [ + 0.0, + -0.687917 + ], + [ + 0.752976, + 0.236471 + ], + [ + 1.0, + 0.286632 + ] + ] + } + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 0.0, + "inputs": {} + }, + "smudge_length": { + "base_value": 0.5, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 4.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 0.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} \ No newline at end of file diff --git a/stuff/library/mypaint brushes/tanda/pencil-2b_prev.png b/stuff/library/mypaint brushes/tanda/pencil-2b_prev.png new file mode 100644 index 0000000..7e8f5f2 Binary files /dev/null and b/stuff/library/mypaint brushes/tanda/pencil-2b_prev.png differ diff --git a/stuff/library/mypaint brushes/tanda/pencil-8b.myb b/stuff/library/mypaint brushes/tanda/pencil-8b.myb new file mode 100644 index 0000000..8c0ab0d --- /dev/null +++ b/stuff/library/mypaint brushes/tanda/pencil-8b.myb @@ -0,0 +1,239 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "parent_brush_name": "", + "settings": { + "anti_aliasing": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.0, + "inputs": {} + }, + "color_s": { + "base_value": 0.0, + "inputs": {} + }, + "color_v": { + "base_value": 0.0, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 2.53, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 0.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 90.0, + "inputs": {} + }, + "elliptical_dab_ratio": { + "base_value": 1.0, + "inputs": {} + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 1.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 0.3 + ] + ] + } + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 0.9, + "inputs": { + "pressure": [ + [ + 0.0, + -0.0 + ], + [ + 1.0, + -0.5 + ] + ] + } + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 0.15, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 0.3 + ] + ] + } + }, + "opaque_linearize": { + "base_value": 0.0, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 0.8, + "inputs": { + "pressure": [ + [ + 0.0, + -4.5 + ], + [ + 0.758929, + -1.03125 + ], + [ + 1.0, + -1.546875 + ] + ] + } + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 1.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 0.0, + "inputs": {} + }, + "smudge_length": { + "base_value": 0.5, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 4.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 0.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} \ No newline at end of file diff --git a/stuff/library/mypaint brushes/tanda/pencil-8b_prev.png b/stuff/library/mypaint brushes/tanda/pencil-8b_prev.png new file mode 100644 index 0000000..a1281b0 Binary files /dev/null and b/stuff/library/mypaint brushes/tanda/pencil-8b_prev.png differ diff --git a/stuff/library/mypaint brushes/tanda/splatter-02.myb b/stuff/library/mypaint brushes/tanda/splatter-02.myb new file mode 100644 index 0000000..8517a2f --- /dev/null +++ b/stuff/library/mypaint brushes/tanda/splatter-02.myb @@ -0,0 +1,202 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "parent_brush_name": "tanda/splatter-02", + "settings": { + "anti_aliasing": { + "base_value": 1.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.0, + "inputs": {} + }, + "color_s": { + "base_value": 0.0, + "inputs": {} + }, + "color_v": { + "base_value": 0.0, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 0.05, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 0.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 90.0, + "inputs": {} + }, + "elliptical_dab_ratio": { + "base_value": 1.0, + "inputs": {} + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 0.88, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 0.3 + ] + ] + } + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 2.0, + "inputs": {} + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 0.5, + "inputs": { + "pressure": [ + [ + 0.0, + -0.3 + ], + [ + 1.0, + 0.45 + ] + ] + } + }, + "opaque_linearize": { + "base_value": 0.9, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 1.0, + "inputs": {} + }, + "radius_by_random": { + "base_value": 1.5, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 1.3, + "inputs": {} + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 1.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 0.0, + "inputs": {} + }, + "smudge_length": { + "base_value": 0.5, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 4.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 0.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 12.0, + "inputs": {} + } + }, + "version": 3 +} \ No newline at end of file diff --git a/stuff/library/mypaint brushes/tanda/splatter-02_prev.png b/stuff/library/mypaint brushes/tanda/splatter-02_prev.png new file mode 100644 index 0000000..c20a273 Binary files /dev/null and b/stuff/library/mypaint brushes/tanda/splatter-02_prev.png differ diff --git a/stuff/library/mypaint brushes/tanda/splatter-04.myb b/stuff/library/mypaint brushes/tanda/splatter-04.myb new file mode 100644 index 0000000..d9bb3db --- /dev/null +++ b/stuff/library/mypaint brushes/tanda/splatter-04.myb @@ -0,0 +1,239 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "parent_brush_name": "tanda/splatter-04", + "settings": { + "anti_aliasing": { + "base_value": 1.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.0, + "inputs": {} + }, + "color_s": { + "base_value": 0.0, + "inputs": {} + }, + "color_v": { + "base_value": 0.0, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 10.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 90.0, + "inputs": { + "random": [ + [ + 0.0, + -180.0 + ], + [ + 1.0, + 180.0 + ] + ] + } + }, + "elliptical_dab_ratio": { + "base_value": 1.0, + "inputs": { + "random": [ + [ + 0.0, + -0.2 + ], + [ + 1.0, + 0.2 + ] + ] + } + }, + "eraser": { + "base_value": 0.08, + "inputs": {} + }, + "hardness": { + "base_value": 1.0, + "inputs": { + "speed1": [ + [ + 0.0, + 0.095714 + ], + [ + 4.0, + -0.67 + ] + ] + } + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed": { + "base_value": 0.3, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 1.0, + "inputs": { + "speed1": [ + [ + 0.0, + -0.0 + ], + [ + 4.0, + -0.51 + ] + ] + } + }, + "opaque_linearize": { + "base_value": 0.9, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 1.0, + "inputs": {} + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 2.0, + "inputs": { + "speed1": [ + [ + 0.0, + 1.0 + ], + [ + 2.107143, + -0.6875 + ], + [ + 4.0, + -1.0 + ] + ] + } + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 0.0, + "inputs": {} + }, + "smudge_length": { + "base_value": 0.5, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 4.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 0.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.05, + "inputs": {} + } + }, + "version": 3 +} \ No newline at end of file diff --git a/stuff/library/mypaint brushes/tanda/splatter-04_prev.png b/stuff/library/mypaint brushes/tanda/splatter-04_prev.png new file mode 100644 index 0000000..03d801c Binary files /dev/null and b/stuff/library/mypaint brushes/tanda/splatter-04_prev.png differ diff --git a/stuff/library/mypaint brushes/tanda/texture-03.myb b/stuff/library/mypaint brushes/tanda/texture-03.myb new file mode 100644 index 0000000..dd1c04f --- /dev/null +++ b/stuff/library/mypaint brushes/tanda/texture-03.myb @@ -0,0 +1,223 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "parent_brush_name": "tanda/texture-03", + "settings": { + "anti_aliasing": { + "base_value": 5.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": { + "stroke": [ + [ + 0.0, + -0.3 + ], + [ + 1.0, + 0.3 + ] + ] + } + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.0, + "inputs": {} + }, + "color_s": { + "base_value": 0.0, + "inputs": {} + }, + "color_v": { + "base_value": 0.0, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 2.0, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 0.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 90.0, + "inputs": { + "random": [ + [ + 0.0, + -0.5 + ], + [ + 1.0, + 0.5 + ] + ], + "stroke": [ + [ + 0.0, + -180.0 + ], + [ + 1.0, + 180.0 + ] + ] + } + }, + "elliptical_dab_ratio": { + "base_value": 9.0, + "inputs": {} + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 0.8, + "inputs": {} + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 2.0, + "inputs": {} + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 1.0, + "inputs": {} + }, + "opaque_linearize": { + "base_value": 0.9, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 2.0, + "inputs": {} + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 0.0, + "inputs": {} + }, + "smudge_length": { + "base_value": 0.5, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 4.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 0.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} \ No newline at end of file diff --git a/stuff/library/mypaint brushes/tanda/texture-03_prev.png b/stuff/library/mypaint brushes/tanda/texture-03_prev.png new file mode 100644 index 0000000..0a74641 Binary files /dev/null and b/stuff/library/mypaint brushes/tanda/texture-03_prev.png differ diff --git a/stuff/library/mypaint brushes/tanda/texture-06.myb b/stuff/library/mypaint brushes/tanda/texture-06.myb new file mode 100644 index 0000000..341f441 --- /dev/null +++ b/stuff/library/mypaint brushes/tanda/texture-06.myb @@ -0,0 +1,244 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "parent_brush_name": "tanda/texture-06", + "settings": { + "anti_aliasing": { + "base_value": 5.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": { + "stroke": [ + [ + 0.0, + -0.3 + ], + [ + 1.0, + 0.3 + ] + ] + } + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.0, + "inputs": {} + }, + "color_s": { + "base_value": 0.0, + "inputs": {} + }, + "color_v": { + "base_value": 0.0, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 2.0, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 0.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 0.0, + "inputs": { + "random": [ + [ + 0.0, + -0.5 + ], + [ + 1.0, + 0.5 + ] + ], + "stroke": [ + [ + 0.0, + -180.0 + ], + [ + 1.0, + 180.0 + ] + ] + } + }, + "elliptical_dab_ratio": { + "base_value": 10.0, + "inputs": { + "speed1": [ + [ + 0.0, + 9.0 + ], + [ + 4.0, + 9.0 + ] + ], + "speed2": [ + [ + 0.0, + 9.0 + ], + [ + 4.0, + 9.0 + ] + ] + } + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 0.8, + "inputs": {} + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 1.0, + "inputs": {} + }, + "opaque_linearize": { + "base_value": 0.9, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 3.5, + "inputs": {} + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 0.0, + "inputs": {} + }, + "smudge_length": { + "base_value": 0.5, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": -0.5, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 0.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} \ No newline at end of file diff --git a/stuff/library/mypaint brushes/tanda/texture-06_prev.png b/stuff/library/mypaint brushes/tanda/texture-06_prev.png new file mode 100644 index 0000000..33e8859 Binary files /dev/null and b/stuff/library/mypaint brushes/tanda/texture-06_prev.png differ diff --git a/stuff/library/mypaint brushes/tanda/texture-12.myb b/stuff/library/mypaint brushes/tanda/texture-12.myb new file mode 100644 index 0000000..174fef1 --- /dev/null +++ b/stuff/library/mypaint brushes/tanda/texture-12.myb @@ -0,0 +1,246 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "parent_brush_name": "tanda/texture-12", + "settings": { + "anti_aliasing": { + "base_value": 2.51, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": { + "direction": [ + [ + 0.0, + 0.0 + ], + [ + 180.0, + 0.1 + ] + ] + } + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": { + "random": [ + [ + 0.0, + -0.2 + ], + [ + 1.0, + 0.2 + ] + ] + } + }, + "change_color_v": { + "base_value": 0.0, + "inputs": { + "random": [ + [ + 0.0, + -0.3 + ], + [ + 1.0, + 0.3 + ] + ] + } + }, + "color_h": { + "base_value": 0.0, + "inputs": {} + }, + "color_s": { + "base_value": 0.0, + "inputs": {} + }, + "color_v": { + "base_value": 0.0, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 2.0, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 0.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 90.0, + "inputs": { + "random": [ + [ + 0.0, + -180.0 + ], + [ + 1.0, + 180.0 + ] + ] + } + }, + "elliptical_dab_ratio": { + "base_value": 4.0, + "inputs": { + "random": [ + [ + 0.0, + -3.0 + ], + [ + 1.0, + 3.0 + ] + ] + } + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 0.8, + "inputs": {} + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 2.0, + "inputs": {} + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 1.0, + "inputs": {} + }, + "opaque_linearize": { + "base_value": 0.9, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 2.0, + "inputs": {} + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 0.0, + "inputs": {} + }, + "smudge_length": { + "base_value": 0.5, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 4.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 0.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} \ No newline at end of file diff --git a/stuff/library/mypaint brushes/tanda/texture-12_prev.png b/stuff/library/mypaint brushes/tanda/texture-12_prev.png new file mode 100644 index 0000000..93cd9b6 Binary files /dev/null and b/stuff/library/mypaint brushes/tanda/texture-12_prev.png differ diff --git a/stuff/library/mypaint brushes/tanda/water-01.myb b/stuff/library/mypaint brushes/tanda/water-01.myb new file mode 100644 index 0000000..8d1558c --- /dev/null +++ b/stuff/library/mypaint brushes/tanda/water-01.myb @@ -0,0 +1,232 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "parent_brush_name": "tanda/water-01", + "settings": { + "anti_aliasing": { + "base_value": 1.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.0, + "inputs": {} + }, + "color_s": { + "base_value": 0.0, + "inputs": {} + }, + "color_v": { + "base_value": 0.0, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 80.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 90.0, + "inputs": {} + }, + "elliptical_dab_ratio": { + "base_value": 1.0, + "inputs": {} + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 0.4, + "inputs": { + "random": [ + [ + 0.0, + -0.11 + ], + [ + 1.0, + 0.11 + ] + ] + } + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 1.5, + "inputs": {} + }, + "offset_by_speed": { + "base_value": 1.18, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 1.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "opaque_linearize": { + "base_value": 0.9, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.058642, + 0.427083 + ], + [ + 0.200617, + 0.677083 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 0.1, + "inputs": { + "random": [ + [ + 0.0, + -1.5 + ], + [ + 1.0, + 1.5 + ] + ] + } + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 1.0, + "inputs": {} + }, + "smudge_length": { + "base_value": 0.1, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 4.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 0.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} \ No newline at end of file diff --git a/stuff/library/mypaint brushes/tanda/water-01_prev.png b/stuff/library/mypaint brushes/tanda/water-01_prev.png new file mode 100644 index 0000000..4e8b95a Binary files /dev/null and b/stuff/library/mypaint brushes/tanda/water-01_prev.png differ diff --git a/stuff/library/mypaint brushes/tanda/water-02.myb b/stuff/library/mypaint brushes/tanda/water-02.myb new file mode 100644 index 0000000..4d4cad0 --- /dev/null +++ b/stuff/library/mypaint brushes/tanda/water-02.myb @@ -0,0 +1,199 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "parent_brush_name": "tanda/water-02", + "settings": { + "anti_aliasing": { + "base_value": 1.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.0, + "inputs": {} + }, + "color_s": { + "base_value": 0.0, + "inputs": {} + }, + "color_v": { + "base_value": 0.0, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 2.0, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 80.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 90.0, + "inputs": {} + }, + "elliptical_dab_ratio": { + "base_value": 1.0, + "inputs": {} + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 1.0, + "inputs": {} + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 2.0, + "inputs": {} + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 1.0, + "inputs": {} + }, + "opaque_linearize": { + "base_value": 0.9, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.058642, + 0.427083 + ], + [ + 0.200617, + 0.677083 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.5, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 0.5, + "inputs": {} + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 1.0, + "inputs": {} + }, + "smudge_length": { + "base_value": 0.1, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 4.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 0.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 12.0, + "inputs": {} + } + }, + "version": 3 +} \ No newline at end of file diff --git a/stuff/library/mypaint brushes/tanda/water-02_prev.png b/stuff/library/mypaint brushes/tanda/water-02_prev.png new file mode 100644 index 0000000..9b711aa Binary files /dev/null and b/stuff/library/mypaint brushes/tanda/water-02_prev.png differ diff --git a/stuff/library/mypaint brushes/tanda/water-05.myb b/stuff/library/mypaint brushes/tanda/water-05.myb new file mode 100644 index 0000000..cb0a2ab --- /dev/null +++ b/stuff/library/mypaint brushes/tanda/water-05.myb @@ -0,0 +1,199 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "parent_brush_name": "tanda/water-05", + "settings": { + "anti_aliasing": { + "base_value": 1.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.0, + "inputs": {} + }, + "color_s": { + "base_value": 0.0, + "inputs": {} + }, + "color_v": { + "base_value": 0.0, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 2.0, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 80.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 90.0, + "inputs": {} + }, + "elliptical_dab_ratio": { + "base_value": 1.0, + "inputs": {} + }, + "eraser": { + "base_value": 0.0, + "inputs": {} + }, + "hardness": { + "base_value": 0.4, + "inputs": {} + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 2.0, + "inputs": {} + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 1.0, + "inputs": {} + }, + "opaque_linearize": { + "base_value": 0.9, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.040123, + 0.59375 + ], + [ + 0.154321, + 0.770833 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.5, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 2.0, + "inputs": {} + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 1.0, + "inputs": {} + }, + "smudge_length": { + "base_value": 0.1, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 4.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 0.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} \ No newline at end of file diff --git a/stuff/library/mypaint brushes/tanda/water-05_prev.png b/stuff/library/mypaint brushes/tanda/water-05_prev.png new file mode 100644 index 0000000..0d699a7 Binary files /dev/null and b/stuff/library/mypaint brushes/tanda/water-05_prev.png differ diff --git a/stuff/library/mypaint brushes/tanda/water-06.myb b/stuff/library/mypaint brushes/tanda/water-06.myb new file mode 100644 index 0000000..39537a0 --- /dev/null +++ b/stuff/library/mypaint brushes/tanda/water-06.myb @@ -0,0 +1,310 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "parent_brush_name": "tanda/water-06", + "settings": { + "anti_aliasing": { + "base_value": 1.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.0, + "inputs": {} + }, + "color_s": { + "base_value": 0.0, + "inputs": {} + }, + "color_v": { + "base_value": 0.0, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 2.0, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 6.0, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 0.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 90.0, + "inputs": { + "random": [ + [ + 0.0, + -180.0 + ], + [ + 1.0, + 180.0 + ] + ] + } + }, + "elliptical_dab_ratio": { + "base_value": 4.0, + "inputs": { + "pressure": [ + [ + 0.0, + -0.0 + ], + [ + 0.75, + -0.0 + ], + [ + 1.0, + -2.7 + ] + ], + "speed1": [ + [ + 0.0, + -0.5 + ], + [ + 0.148148, + 0.270833 + ], + [ + 4.0, + 0.5 + ] + ] + } + }, + "eraser": { + "base_value": 0.1, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.753086, + 0.0 + ], + [ + 1.0, + 0.5 + ] + ] + } + }, + "hardness": { + "base_value": 0.4, + "inputs": { + "pressure": [ + [ + 0.0, + -0.0 + ], + [ + 0.746914, + -0.0 + ], + [ + 1.0, + -0.3 + ] + ] + } + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.75, + 0.0 + ], + [ + 1.0, + 0.8 + ] + ] + } + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 1.0, + "inputs": { + "random": [ + [ + 0.0, + 1.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "opaque_linearize": { + "base_value": 0.9, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.040123, + 0.885417 + ], + [ + 0.138889, + 1.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 3.2, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.75, + 0.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 1.0, + "inputs": {} + }, + "smudge_length": { + "base_value": 0.1, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 4.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 0.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} \ No newline at end of file diff --git a/stuff/library/mypaint brushes/tanda/water-06_prev.png b/stuff/library/mypaint brushes/tanda/water-06_prev.png new file mode 100644 index 0000000..96eda5e Binary files /dev/null and b/stuff/library/mypaint brushes/tanda/water-06_prev.png differ diff --git a/stuff/library/mypaint brushes/tanda/watercolor-02-paint.myb b/stuff/library/mypaint brushes/tanda/watercolor-02-paint.myb new file mode 100644 index 0000000..e0f7542 --- /dev/null +++ b/stuff/library/mypaint brushes/tanda/watercolor-02-paint.myb @@ -0,0 +1,327 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "parent_brush_name": "tanda/watercolor-02-paint", + "settings": { + "anti_aliasing": { + "base_value": 1.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.0, + "inputs": {} + }, + "color_s": { + "base_value": 0.0, + "inputs": {} + }, + "color_v": { + "base_value": 0.0, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 2.0, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 6.0, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 0.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 90.0, + "inputs": { + "random": [ + [ + 0.0, + -180.0 + ], + [ + 1.0, + 180.0 + ] + ] + } + }, + "elliptical_dab_ratio": { + "base_value": 4.0, + "inputs": { + "pressure": [ + [ + 0.0, + -0.0 + ], + [ + 0.75, + -0.0 + ], + [ + 1.0, + -2.7 + ] + ], + "speed1": [ + [ + 0.0, + -0.7 + ], + [ + 4.0, + 0.7 + ] + ] + } + }, + "eraser": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.753086, + 0.0 + ], + [ + 1.0, + 0.1 + ] + ] + } + }, + "hardness": { + "base_value": 0.4, + "inputs": { + "pressure": [ + [ + 0.0, + -0.0 + ], + [ + 0.746914, + -0.0 + ], + [ + 1.0, + -0.3 + ] + ] + } + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.75, + 0.0 + ], + [ + 1.0, + 0.8 + ] + ] + } + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 1.0, + "inputs": { + "random": [ + [ + 0.0, + 1.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "opaque_linearize": { + "base_value": 0.9, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.040123, + 0.885417 + ], + [ + 0.138889, + 1.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 2.6, + "inputs": { + "pressure": [ + [ + 0.0, + -2.9 + ], + [ + 1.0, + 0.845833 + ] + ] + } + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 0.95, + "inputs": { + "speed1": [ + [ + 0.0, + -0.1 + ], + [ + 4.0, + 0.1 + ] + ], + "stroke": [ + [ + 0.0, + 0.0 + ], + [ + 0.5, + 0.0 + ], + [ + 1.0, + 0.05 + ] + ] + } + }, + "smudge_length": { + "base_value": 0.1, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 6.5, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 10.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} \ No newline at end of file diff --git a/stuff/library/mypaint brushes/tanda/watercolor-02-paint_prev.png b/stuff/library/mypaint brushes/tanda/watercolor-02-paint_prev.png new file mode 100644 index 0000000..ffb1382 Binary files /dev/null and b/stuff/library/mypaint brushes/tanda/watercolor-02-paint_prev.png differ diff --git a/stuff/library/mypaint brushes/tanda/watercolor-02-water.myb b/stuff/library/mypaint brushes/tanda/watercolor-02-water.myb new file mode 100644 index 0000000..bf8ec2e --- /dev/null +++ b/stuff/library/mypaint brushes/tanda/watercolor-02-water.myb @@ -0,0 +1,296 @@ +{ + "comment": "MyPaint brush file", + "group": "", + "parent_brush_name": "tanda/watercolor-02-water", + "settings": { + "anti_aliasing": { + "base_value": 1.0, + "inputs": {} + }, + "change_color_h": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsl_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_hsv_s": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_l": { + "base_value": 0.0, + "inputs": {} + }, + "change_color_v": { + "base_value": 0.0, + "inputs": {} + }, + "color_h": { + "base_value": 0.0, + "inputs": {} + }, + "color_s": { + "base_value": 0.0, + "inputs": {} + }, + "color_v": { + "base_value": 0.0, + "inputs": {} + }, + "colorize": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input": { + "base_value": 0.0, + "inputs": {} + }, + "custom_input_slowness": { + "base_value": 0.0, + "inputs": {} + }, + "dabs_per_actual_radius": { + "base_value": 2.0, + "inputs": {} + }, + "dabs_per_basic_radius": { + "base_value": 6.0, + "inputs": {} + }, + "dabs_per_second": { + "base_value": 0.0, + "inputs": {} + }, + "direction_filter": { + "base_value": 2.0, + "inputs": {} + }, + "elliptical_dab_angle": { + "base_value": 90.0, + "inputs": { + "random": [ + [ + 0.0, + -180.0 + ], + [ + 1.0, + 180.0 + ] + ] + } + }, + "elliptical_dab_ratio": { + "base_value": 4.0, + "inputs": { + "pressure": [ + [ + 0.0, + -0.0 + ], + [ + 0.75, + -0.0 + ], + [ + 1.0, + -2.7 + ] + ] + } + }, + "eraser": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.753086, + 0.0 + ], + [ + 1.0, + 0.1 + ] + ] + } + }, + "hardness": { + "base_value": 0.4, + "inputs": { + "pressure": [ + [ + 0.0, + -0.0 + ], + [ + 0.746914, + -0.0 + ], + [ + 1.0, + -0.3 + ] + ] + } + }, + "lock_alpha": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_random": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.75, + 0.0 + ], + [ + 1.0, + 0.8 + ] + ] + } + }, + "offset_by_speed": { + "base_value": 0.0, + "inputs": {} + }, + "offset_by_speed_slowness": { + "base_value": 1.0, + "inputs": {} + }, + "opaque": { + "base_value": 1.0, + "inputs": { + "random": [ + [ + 0.0, + 1.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "opaque_linearize": { + "base_value": 0.9, + "inputs": {} + }, + "opaque_multiply": { + "base_value": 0.0, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.040123, + 0.885417 + ], + [ + 0.138889, + 1.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "radius_by_random": { + "base_value": 0.0, + "inputs": {} + }, + "radius_logarithmic": { + "base_value": 2.6, + "inputs": { + "pressure": [ + [ + 0.0, + 0.0 + ], + [ + 0.75, + 0.0 + ], + [ + 1.0, + 1.0 + ] + ] + } + }, + "restore_color": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking": { + "base_value": 0.0, + "inputs": {} + }, + "slow_tracking_per_dab": { + "base_value": 0.0, + "inputs": {} + }, + "smudge": { + "base_value": 1.0, + "inputs": {} + }, + "smudge_length": { + "base_value": 0.1, + "inputs": {} + }, + "smudge_radius_log": { + "base_value": 0.0, + "inputs": {} + }, + "speed1_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed1_slowness": { + "base_value": 0.04, + "inputs": {} + }, + "speed2_gamma": { + "base_value": 4.0, + "inputs": {} + }, + "speed2_slowness": { + "base_value": 0.8, + "inputs": {} + }, + "stroke_duration_logarithmic": { + "base_value": 4.0, + "inputs": {} + }, + "stroke_holdtime": { + "base_value": 0.0, + "inputs": {} + }, + "stroke_threshold": { + "base_value": 0.0, + "inputs": {} + }, + "tracking_noise": { + "base_value": 0.0, + "inputs": {} + } + }, + "version": 3 +} \ No newline at end of file diff --git a/stuff/library/mypaint brushes/tanda/watercolor-02-water_prev.png b/stuff/library/mypaint brushes/tanda/watercolor-02-water_prev.png new file mode 100644 index 0000000..8b82414 Binary files /dev/null and b/stuff/library/mypaint brushes/tanda/watercolor-02-water_prev.png differ diff --git a/thirdparty/libmypaint/.gitignore b/thirdparty/libmypaint/.gitignore new file mode 100644 index 0000000..a1c07e8 --- /dev/null +++ b/thirdparty/libmypaint/.gitignore @@ -0,0 +1,3 @@ +/build/ +/download/ +/src/ diff --git a/thirdparty/libmypaint/README b/thirdparty/libmypaint/README new file mode 100644 index 0000000..4b0866d --- /dev/null +++ b/thirdparty/libmypaint/README @@ -0,0 +1,18 @@ +Scripts for cross-build libmypaint for Windows (MinGW) under Debian 8 Jessie + +1. install mingw toolchain (via apt-get for ex) + +2. run ./build-all.sh + +---------------- + +files: + + build-all.sh - script to do all things + + build.sh - build selected library (for ex: ./build.sh 64 json-c) + + download-all.sh - download and unpack all sources + + mingw-vars.sh - configuration of MinGW toolchain, configured for Debian 8 + \ No newline at end of file diff --git a/thirdparty/libmypaint/dist/32/include/libmypaint/mypaint-brush-settings-gen.h b/thirdparty/libmypaint/dist/32/include/libmypaint/mypaint-brush-settings-gen.h new file mode 100644 index 0000000..77e0932 --- /dev/null +++ b/thirdparty/libmypaint/dist/32/include/libmypaint/mypaint-brush-settings-gen.h @@ -0,0 +1,98 @@ +// DO NOT EDIT - autogenerated by generate.py + +typedef enum { + MYPAINT_BRUSH_INPUT_PRESSURE, + MYPAINT_BRUSH_INPUT_SPEED1, + MYPAINT_BRUSH_INPUT_SPEED2, + MYPAINT_BRUSH_INPUT_RANDOM, + MYPAINT_BRUSH_INPUT_STROKE, + MYPAINT_BRUSH_INPUT_DIRECTION, + MYPAINT_BRUSH_INPUT_TILT_DECLINATION, + MYPAINT_BRUSH_INPUT_TILT_ASCENSION, + MYPAINT_BRUSH_INPUT_CUSTOM, + MYPAINT_BRUSH_INPUTS_COUNT +} MyPaintBrushInput; + +typedef enum { + MYPAINT_BRUSH_SETTING_OPAQUE, + MYPAINT_BRUSH_SETTING_OPAQUE_MULTIPLY, + MYPAINT_BRUSH_SETTING_OPAQUE_LINEARIZE, + MYPAINT_BRUSH_SETTING_RADIUS_LOGARITHMIC, + MYPAINT_BRUSH_SETTING_HARDNESS, + MYPAINT_BRUSH_SETTING_ANTI_ALIASING, + MYPAINT_BRUSH_SETTING_DABS_PER_BASIC_RADIUS, + MYPAINT_BRUSH_SETTING_DABS_PER_ACTUAL_RADIUS, + MYPAINT_BRUSH_SETTING_DABS_PER_SECOND, + MYPAINT_BRUSH_SETTING_RADIUS_BY_RANDOM, + MYPAINT_BRUSH_SETTING_SPEED1_SLOWNESS, + MYPAINT_BRUSH_SETTING_SPEED2_SLOWNESS, + MYPAINT_BRUSH_SETTING_SPEED1_GAMMA, + MYPAINT_BRUSH_SETTING_SPEED2_GAMMA, + MYPAINT_BRUSH_SETTING_OFFSET_BY_RANDOM, + MYPAINT_BRUSH_SETTING_OFFSET_BY_SPEED, + MYPAINT_BRUSH_SETTING_OFFSET_BY_SPEED_SLOWNESS, + MYPAINT_BRUSH_SETTING_SLOW_TRACKING, + MYPAINT_BRUSH_SETTING_SLOW_TRACKING_PER_DAB, + MYPAINT_BRUSH_SETTING_TRACKING_NOISE, + MYPAINT_BRUSH_SETTING_COLOR_H, + MYPAINT_BRUSH_SETTING_COLOR_S, + MYPAINT_BRUSH_SETTING_COLOR_V, + MYPAINT_BRUSH_SETTING_RESTORE_COLOR, + MYPAINT_BRUSH_SETTING_CHANGE_COLOR_H, + MYPAINT_BRUSH_SETTING_CHANGE_COLOR_L, + MYPAINT_BRUSH_SETTING_CHANGE_COLOR_HSL_S, + MYPAINT_BRUSH_SETTING_CHANGE_COLOR_V, + MYPAINT_BRUSH_SETTING_CHANGE_COLOR_HSV_S, + MYPAINT_BRUSH_SETTING_SMUDGE, + MYPAINT_BRUSH_SETTING_SMUDGE_LENGTH, + MYPAINT_BRUSH_SETTING_SMUDGE_RADIUS_LOG, + MYPAINT_BRUSH_SETTING_ERASER, + MYPAINT_BRUSH_SETTING_STROKE_THRESHOLD, + MYPAINT_BRUSH_SETTING_STROKE_DURATION_LOGARITHMIC, + MYPAINT_BRUSH_SETTING_STROKE_HOLDTIME, + MYPAINT_BRUSH_SETTING_CUSTOM_INPUT, + MYPAINT_BRUSH_SETTING_CUSTOM_INPUT_SLOWNESS, + MYPAINT_BRUSH_SETTING_ELLIPTICAL_DAB_RATIO, + MYPAINT_BRUSH_SETTING_ELLIPTICAL_DAB_ANGLE, + MYPAINT_BRUSH_SETTING_DIRECTION_FILTER, + MYPAINT_BRUSH_SETTING_LOCK_ALPHA, + MYPAINT_BRUSH_SETTING_COLORIZE, + MYPAINT_BRUSH_SETTING_SNAP_TO_PIXEL, + MYPAINT_BRUSH_SETTING_PRESSURE_GAIN_LOG, + MYPAINT_BRUSH_SETTINGS_COUNT +} MyPaintBrushSetting; + +typedef enum { + MYPAINT_BRUSH_STATE_X, + MYPAINT_BRUSH_STATE_Y, + MYPAINT_BRUSH_STATE_PRESSURE, + MYPAINT_BRUSH_STATE_PARTIAL_DABS, + MYPAINT_BRUSH_STATE_ACTUAL_RADIUS, + MYPAINT_BRUSH_STATE_SMUDGE_RA, + MYPAINT_BRUSH_STATE_SMUDGE_GA, + MYPAINT_BRUSH_STATE_SMUDGE_BA, + MYPAINT_BRUSH_STATE_SMUDGE_A, + MYPAINT_BRUSH_STATE_LAST_GETCOLOR_R, + MYPAINT_BRUSH_STATE_LAST_GETCOLOR_G, + MYPAINT_BRUSH_STATE_LAST_GETCOLOR_B, + MYPAINT_BRUSH_STATE_LAST_GETCOLOR_A, + MYPAINT_BRUSH_STATE_LAST_GETCOLOR_RECENTNESS, + MYPAINT_BRUSH_STATE_ACTUAL_X, + MYPAINT_BRUSH_STATE_ACTUAL_Y, + MYPAINT_BRUSH_STATE_NORM_DX_SLOW, + MYPAINT_BRUSH_STATE_NORM_DY_SLOW, + MYPAINT_BRUSH_STATE_NORM_SPEED1_SLOW, + MYPAINT_BRUSH_STATE_NORM_SPEED2_SLOW, + MYPAINT_BRUSH_STATE_STROKE, + MYPAINT_BRUSH_STATE_STROKE_STARTED, + MYPAINT_BRUSH_STATE_CUSTOM_INPUT, + MYPAINT_BRUSH_STATE_RNG_SEED, + MYPAINT_BRUSH_STATE_ACTUAL_ELLIPTICAL_DAB_RATIO, + MYPAINT_BRUSH_STATE_ACTUAL_ELLIPTICAL_DAB_ANGLE, + MYPAINT_BRUSH_STATE_DIRECTION_DX, + MYPAINT_BRUSH_STATE_DIRECTION_DY, + MYPAINT_BRUSH_STATE_DECLINATION, + MYPAINT_BRUSH_STATE_ASCENSION, + MYPAINT_BRUSH_STATES_COUNT +} MyPaintBrushState; + diff --git a/thirdparty/libmypaint/dist/32/include/libmypaint/mypaint-brush-settings.h b/thirdparty/libmypaint/dist/32/include/libmypaint/mypaint-brush-settings.h new file mode 100644 index 0000000..221d257 --- /dev/null +++ b/thirdparty/libmypaint/dist/32/include/libmypaint/mypaint-brush-settings.h @@ -0,0 +1,71 @@ +#ifndef MYPAINTBRUSHSETTINGS_H +#define MYPAINTBRUSHSETTINGS_H + +/* libmypaint - The MyPaint Brush Library + * Copyright (C) 2012 Jon Nordby + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +#include +#include +#include + +G_BEGIN_DECLS + +typedef struct { + const gchar *cname; + const gchar *name; // FIXME: needs to be accessed through gettext + gboolean constant; + float min; + float def; // default + float max; + const gchar *tooltip; // FIXME: needs to be accessed through gettext +} MyPaintBrushSettingInfo; + +const MyPaintBrushSettingInfo * +mypaint_brush_setting_info(MyPaintBrushSetting id); + +const gchar * +mypaint_brush_setting_info_get_name(const MyPaintBrushSettingInfo *self); +const gchar * +mypaint_brush_setting_info_get_tooltip(const MyPaintBrushSettingInfo *self); +MyPaintBrushSetting +mypaint_brush_setting_from_cname(const char *cname); + +typedef struct { + const gchar *cname; + float hard_min; + float soft_min; + float normal; + float soft_max; + float hard_max; + const gchar *name; // FIXME: needs to be accessed through gettext + const gchar *tooltip; // FIXME: needs to be accessed through gettext +} MyPaintBrushInputInfo; + +const MyPaintBrushInputInfo * +mypaint_brush_input_info(MyPaintBrushInput id); + +const gchar * +mypaint_brush_input_info_get_name(const MyPaintBrushInputInfo *self); + +const gchar * +mypaint_brush_input_info_get_tooltip(const MyPaintBrushInputInfo *self); + +MyPaintBrushInput +mypaint_brush_input_from_cname(const char *cname); + +G_END_DECLS + +#endif // MYPAINTBRUSHSETTINGS_H diff --git a/thirdparty/libmypaint/dist/32/include/libmypaint/mypaint-brush.h b/thirdparty/libmypaint/dist/32/include/libmypaint/mypaint-brush.h new file mode 100644 index 0000000..837ed03 --- /dev/null +++ b/thirdparty/libmypaint/dist/32/include/libmypaint/mypaint-brush.h @@ -0,0 +1,93 @@ +#ifndef MYPAINTBRUSH_H +#define MYPAINTBRUSH_H + +/* libmypaint - The MyPaint Brush Library + * Copyright (C) 2008 Martin Renold + * Copyright (C) 2012 Jon Nordby + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +#include +#include +#include + +G_BEGIN_DECLS + +typedef struct MyPaintBrush MyPaintBrush; + +MyPaintBrush * +mypaint_brush_new(void); + +void +mypaint_brush_unref(MyPaintBrush *self); +void +mypaint_brush_ref(MyPaintBrush *self); + +void +mypaint_brush_reset(MyPaintBrush *self); + +void +mypaint_brush_new_stroke(MyPaintBrush *self); + +int +mypaint_brush_stroke_to(MyPaintBrush *self, MyPaintSurface *surface, float x, float y, + float pressure, float xtilt, float ytilt, double dtime); + +void +mypaint_brush_set_base_value(MyPaintBrush *self, MyPaintBrushSetting id, float value); + +float +mypaint_brush_get_base_value(MyPaintBrush *self, MyPaintBrushSetting id); + +gboolean +mypaint_brush_is_constant(MyPaintBrush *self, MyPaintBrushSetting id); + +int +mypaint_brush_get_inputs_used_n(MyPaintBrush *self, MyPaintBrushSetting id); + +void +mypaint_brush_set_mapping_n(MyPaintBrush *self, MyPaintBrushSetting id, MyPaintBrushInput input, int n); + +int +mypaint_brush_get_mapping_n(MyPaintBrush *self, MyPaintBrushSetting id, MyPaintBrushInput input); + +void +mypaint_brush_set_mapping_point(MyPaintBrush *self, MyPaintBrushSetting id, MyPaintBrushInput input, int index, float x, float y); + +void +mypaint_brush_get_mapping_point(MyPaintBrush *self, MyPaintBrushSetting id, MyPaintBrushInput input, int index, float *x, float *y); + +float +mypaint_brush_get_state(MyPaintBrush *self, MyPaintBrushState i); + +void +mypaint_brush_set_state(MyPaintBrush *self, MyPaintBrushState i, float value); + +double +mypaint_brush_get_total_stroke_painting_time(MyPaintBrush *self); + +void +mypaint_brush_set_print_inputs(MyPaintBrush *self, gboolean enabled); + +void +mypaint_brush_from_defaults(MyPaintBrush *self); + + +gboolean +mypaint_brush_from_string(MyPaintBrush *self, const char *string); + + +G_END_DECLS + +#endif // MYPAINTBRUSH_H diff --git a/thirdparty/libmypaint/dist/32/include/libmypaint/mypaint-config.h b/thirdparty/libmypaint/dist/32/include/libmypaint/mypaint-config.h new file mode 100644 index 0000000..55e6093 --- /dev/null +++ b/thirdparty/libmypaint/dist/32/include/libmypaint/mypaint-config.h @@ -0,0 +1,16 @@ +#ifndef MYPAINTCONFIG_H +#define MYPAINTCONFIG_H + +#ifndef MYPAINT_TILE_SIZE +#define MYPAINT_TILE_SIZE 64 +#endif + +#ifndef MYPAINT_MAX_THREADS +#define MYPAINT_MAX_THREADS 16 +#endif + +#ifndef MYPAINT_MAX_MIPMAP_LEVEL +#define MYPAINT_MAX_MIPMAP_LEVEL 4 +#endif + +#endif /* MYPAINTCONFIG_H */ diff --git a/thirdparty/libmypaint/dist/32/include/libmypaint/mypaint-fixed-tiled-surface.h b/thirdparty/libmypaint/dist/32/include/libmypaint/mypaint-fixed-tiled-surface.h new file mode 100644 index 0000000..53445ff --- /dev/null +++ b/thirdparty/libmypaint/dist/32/include/libmypaint/mypaint-fixed-tiled-surface.h @@ -0,0 +1,34 @@ +#ifndef MYPAINTFIXEDTILEDSURFACE_H +#define MYPAINTFIXEDTILEDSURFACE_H + +#include +#include +#include + +G_BEGIN_DECLS + +/** + * MyPaintFixedTiledSurface: + * + * Simple #MyPaintTiledSurface subclass that implements a fixed sized #MyPaintSurface. + * Only intended for testing and trivial use-cases, and to serve as an example of + * how to implement a tiled surface subclass. + */ +typedef struct MyPaintFixedTiledSurface MyPaintFixedTiledSurface; + +MyPaintFixedTiledSurface * +mypaint_fixed_tiled_surface_new(int width, int height); + +int +mypaint_fixed_tiled_surface_get_width(MyPaintFixedTiledSurface *self); + +int +mypaint_fixed_tiled_surface_get_height(MyPaintFixedTiledSurface *self); + + +MyPaintSurface * +mypaint_fixed_tiled_surface_interface(MyPaintFixedTiledSurface *self); + +G_END_DECLS + +#endif // MYPAINTFIXEDTILEDSURFACE_H diff --git a/thirdparty/libmypaint/dist/32/include/libmypaint/mypaint-glib-compat.h b/thirdparty/libmypaint/dist/32/include/libmypaint/mypaint-glib-compat.h new file mode 100644 index 0000000..bded620 --- /dev/null +++ b/thirdparty/libmypaint/dist/32/include/libmypaint/mypaint-glib-compat.h @@ -0,0 +1,32 @@ +#ifndef MYPAINTGLIBCOMPAT_H +#define MYPAINTGLIBCOMPAT_H + +#include + +#ifndef __G_LIB_H__ + +/* From $INCLUDEPATH/glib-2.0/glib/gmacros.h */ +#ifdef __cplusplus +# define G_BEGIN_DECLS extern "C" { +# define G_END_DECLS } +#else +# define G_BEGIN_DECLS +# define G_END_DECLS +#endif + +#define FALSE (0) +#define TRUE (!FALSE) + +typedef void * gpointer; + +/* From $INCLUDEPATH/glib-2.0/glib/gtypes.h */ +typedef char gchar; +typedef int gint; +typedef gint gboolean; + +/* From $LIBPATH/glib-2.0/include/glibconfig.h */ +typedef unsigned short guint16; + +#endif // __G_LIB_H__ + +#endif // MYPAINTGLIBCOMPAT_H diff --git a/thirdparty/libmypaint/dist/32/include/libmypaint/mypaint-mapping.h b/thirdparty/libmypaint/dist/32/include/libmypaint/mypaint-mapping.h new file mode 100644 index 0000000..a58e5d1 --- /dev/null +++ b/thirdparty/libmypaint/dist/32/include/libmypaint/mypaint-mapping.h @@ -0,0 +1,27 @@ +#ifndef MAPPING_H +#define MAPPING_H + +#include +#include + +G_BEGIN_DECLS + +typedef struct MyPaintMapping MyPaintMapping; + +MyPaintMapping * mypaint_mapping_new(int inputs_); +void mypaint_mapping_free(MyPaintMapping *self); +float mypaint_mapping_get_base_value(MyPaintMapping *self); +void mypaint_mapping_set_base_value(MyPaintMapping *self, float value); +void mypaint_mapping_set_n (MyPaintMapping * self, int input, int n); +int mypaint_mapping_get_n (MyPaintMapping * self, int input); +void mypaint_mapping_set_point (MyPaintMapping * self, int input, int index, float x, float y); +void mypaint_mapping_get_point (MyPaintMapping * self, int input, int index, float *x, float *y); +gboolean mypaint_mapping_is_constant(MyPaintMapping * self); +int mypaint_mapping_get_inputs_used_n(MyPaintMapping *self); +float mypaint_mapping_calculate (MyPaintMapping * self, float * data); +float mypaint_mapping_calculate_single_input (MyPaintMapping * self, float input); + + +G_END_DECLS + +#endif // MAPPING_H diff --git a/thirdparty/libmypaint/dist/32/include/libmypaint/mypaint-rectangle.h b/thirdparty/libmypaint/dist/32/include/libmypaint/mypaint-rectangle.h new file mode 100644 index 0000000..e08c68e --- /dev/null +++ b/thirdparty/libmypaint/dist/32/include/libmypaint/mypaint-rectangle.h @@ -0,0 +1,39 @@ +#ifndef MYPAINTRECTANGLE_H +#define MYPAINTRECTANGLE_H + +/* libmypaint - The MyPaint Brush Library + * Copyright (C) 2008 Martin Renold + * Copyright (C) 2012 Jon Nordby + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +#include +#include + +G_BEGIN_DECLS + +typedef struct { + int x; + int y; + int width; + int height; +} MyPaintRectangle; + +void mypaint_rectangle_expand_to_include_point(MyPaintRectangle *r, int x, int y); +MyPaintRectangle * +mypaint_rectangle_copy(MyPaintRectangle *self); + +G_END_DECLS + +#endif // MYPAINTRECTANGLE_H diff --git a/thirdparty/libmypaint/dist/32/include/libmypaint/mypaint-surface.h b/thirdparty/libmypaint/dist/32/include/libmypaint/mypaint-surface.h new file mode 100644 index 0000000..1217a76 --- /dev/null +++ b/thirdparty/libmypaint/dist/32/include/libmypaint/mypaint-surface.h @@ -0,0 +1,109 @@ +#ifndef MYPAINTSURFACE_H +#define MYPAINTSURFACE_H + +/* libmypaint - The MyPaint Brush Library + * Copyright (C) 2008 Martin Renold + * Copyright (C) 2012 Jon Nordby + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +#include +#include + +G_BEGIN_DECLS + +typedef struct MyPaintSurface MyPaintSurface; + +typedef void (*MyPaintSurfaceGetColorFunction) (MyPaintSurface *self, + float x, float y, + float radius, + float * color_r, float * color_g, float * color_b, float * color_a + ); +typedef int (*MyPaintSurfaceDrawDabFunction) (MyPaintSurface *self, + float x, float y, + float radius, + float color_r, float color_g, float color_b, + float opaque, float hardness, + float alpha_eraser, + float aspect_ratio, float angle, + float lock_alpha, + float colorize); + +typedef void (*MyPaintSurfaceDestroyFunction) (MyPaintSurface *self); + +typedef void (*MyPaintSurfaceSavePngFunction) (MyPaintSurface *self, const char *path, int x, int y, int width, int height); + +typedef void (*MyPaintSurfaceBeginAtomicFunction) (MyPaintSurface *self); + +typedef void (*MyPaintSurfaceEndAtomicFunction) (MyPaintSurface *self, MyPaintRectangle *roi); + +/** + * MyPaintSurface: + * + * Abstract surface type for the MyPaint brush engine. The surface interface + * lets the brush engine specify dabs to render, and to pick color. + */ +struct MyPaintSurface { + MyPaintSurfaceDrawDabFunction draw_dab; + MyPaintSurfaceGetColorFunction get_color; + MyPaintSurfaceBeginAtomicFunction begin_atomic; + MyPaintSurfaceEndAtomicFunction end_atomic; + MyPaintSurfaceDestroyFunction destroy; + MyPaintSurfaceSavePngFunction save_png; + int refcount; +}; + +/** + * mypaint_surface_draw_dab: + * + * Draw a dab onto the surface. + */ +int +mypaint_surface_draw_dab(MyPaintSurface *self, + float x, float y, + float radius, + float color_r, float color_g, float color_b, + float opaque, float hardness, + float alpha_eraser, + float aspect_ratio, float angle, + float lock_alpha, + float colorize + ); + + +void +mypaint_surface_get_color(MyPaintSurface *self, + float x, float y, + float radius, + float * color_r, float * color_g, float * color_b, float * color_a + ); + +float +mypaint_surface_get_alpha (MyPaintSurface *self, float x, float y, float radius); + +void +mypaint_surface_save_png(MyPaintSurface *self, const char *path, int x, int y, int width, int height); + +void mypaint_surface_begin_atomic(MyPaintSurface *self); + +void mypaint_surface_end_atomic(MyPaintSurface *self, MyPaintRectangle *roi); + +void mypaint_surface_init(MyPaintSurface *self); +void mypaint_surface_ref(MyPaintSurface *self); +void mypaint_surface_unref(MyPaintSurface *self); + +G_END_DECLS + +#endif // MYPAINTSURFACE_H + diff --git a/thirdparty/libmypaint/dist/32/include/libmypaint/mypaint-tiled-surface.h b/thirdparty/libmypaint/dist/32/include/libmypaint/mypaint-tiled-surface.h new file mode 100644 index 0000000..b225f7b --- /dev/null +++ b/thirdparty/libmypaint/dist/32/include/libmypaint/mypaint-tiled-surface.h @@ -0,0 +1,86 @@ +#ifndef MYPAINTTILEDSURFACE_H +#define MYPAINTTILEDSURFACE_H + +#include +#include +#include + +typedef enum { + MYPAINT_SYMMETRY_TYPE_VERTICAL, + MYPAINT_SYMMETRY_TYPE_HORIZONTAL, + MYPAINT_SYMMETRY_TYPE_VERTHORZ, + MYPAINT_SYMMETRY_TYPE_ROTATIONAL, + MYPAINT_SYMMETRY_TYPE_SNOWFLAKE, + MYPAINT_SYMMETRY_TYPES_COUNT +} MyPaintSymmetryType; + +G_BEGIN_DECLS + +typedef struct MyPaintTiledSurface MyPaintTiledSurface; + +typedef struct { + int tx; + int ty; + gboolean readonly; + guint16 *buffer; + gpointer context; /* Only to be used by the surface implemenations. */ + int thread_id; + int mipmap_level; +} MyPaintTileRequest; + +void +mypaint_tile_request_init(MyPaintTileRequest *data, int level, + int tx, int ty, gboolean readonly); + +typedef void (*MyPaintTileRequestStartFunction) (MyPaintTiledSurface *self, MyPaintTileRequest *request); +typedef void (*MyPaintTileRequestEndFunction) (MyPaintTiledSurface *self, MyPaintTileRequest *request); +typedef void (*MyPaintTiledSurfaceAreaChanged) (MyPaintTiledSurface *self, int bb_x, int bb_y, int bb_w, int bb_h); + +/** + * MyPaintTiledSurface: + * + * Interface and convenience class for implementing a #MyPaintSurface backed by a tile store. + * + * The size of the surface is infinite, and consumers need just implement two vfuncs. + */ +struct MyPaintTiledSurface { + MyPaintSurface parent; + /* private: */ + MyPaintTileRequestStartFunction tile_request_start; + MyPaintTileRequestEndFunction tile_request_end; + gboolean surface_do_symmetry; + MyPaintSymmetryType symmetry_type; + float surface_center_x; + float surface_center_y; + int rot_symmetry_lines; + struct OperationQueue *operation_queue; + MyPaintRectangle dirty_bbox; + gboolean threadsafe_tile_requests; + int tile_size; +}; + +void +mypaint_tiled_surface_init(MyPaintTiledSurface *self, + MyPaintTileRequestStartFunction tile_request_start, + MyPaintTileRequestEndFunction tile_request_end); + +void +mypaint_tiled_surface_destroy(MyPaintTiledSurface *self); + +void +mypaint_tiled_surface_set_symmetry_state(MyPaintTiledSurface *self, gboolean active, + float center_x, float center_y, + MyPaintSymmetryType symmetry_type, + int rot_symmetry_lines); +float +mypaint_tiled_surface_get_alpha (MyPaintTiledSurface *self, float x, float y, float radius); + +void mypaint_tiled_surface_tile_request_start(MyPaintTiledSurface *self, MyPaintTileRequest *request); +void mypaint_tiled_surface_tile_request_end(MyPaintTiledSurface *self, MyPaintTileRequest *request); + +void mypaint_tiled_surface_begin_atomic(MyPaintTiledSurface *self); +void mypaint_tiled_surface_end_atomic(MyPaintTiledSurface *self, MyPaintRectangle *roi); + +G_END_DECLS + +#endif // MYPAINTTILEDSURFACE_H diff --git a/thirdparty/libmypaint/dist/32/libiconv-2.dll b/thirdparty/libmypaint/dist/32/libiconv-2.dll new file mode 100755 index 0000000..9f62fac --- /dev/null +++ b/thirdparty/libmypaint/dist/32/libiconv-2.dll @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3078c54ef5c185ca5fe25d9dddc15a258bf46357b1951132b042ef661b2bc936 +size 1101423 diff --git a/thirdparty/libmypaint/dist/32/libintl-8.dll b/thirdparty/libmypaint/dist/32/libintl-8.dll new file mode 100755 index 0000000..59fbc5a --- /dev/null +++ b/thirdparty/libmypaint/dist/32/libintl-8.dll @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fb73cf22089da6390c1def079b58e7b73cb27ce7902e48883f5becae20df97b2 +size 333677 diff --git a/thirdparty/libmypaint/dist/32/libjson-c-2.dll b/thirdparty/libmypaint/dist/32/libjson-c-2.dll new file mode 100755 index 0000000..87f1866 --- /dev/null +++ b/thirdparty/libmypaint/dist/32/libjson-c-2.dll @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:03e90abbbc0c72b3832b7cb1fb62df3bc41d9fc170caf1eec777a69857dffd29 +size 216247 diff --git a/thirdparty/libmypaint/dist/32/libmypaint-1-4-0.dll b/thirdparty/libmypaint/dist/32/libmypaint-1-4-0.dll new file mode 100755 index 0000000..c6fc3f6 --- /dev/null +++ b/thirdparty/libmypaint/dist/32/libmypaint-1-4-0.dll @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:426748f0de42310541d59537396caf7f6e8c194b1c4481e29f5522407c4e0d32 +size 306114 diff --git a/thirdparty/libmypaint/dist/32/libmypaint.lib b/thirdparty/libmypaint/dist/32/libmypaint.lib new file mode 100755 index 0000000..7537481 --- /dev/null +++ b/thirdparty/libmypaint/dist/32/libmypaint.lib @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7c2ce3325bab78ac76de865e39276ccc35b16b053224d5d651e007a8672c59de +size 86606 diff --git a/thirdparty/libmypaint/dist/64/include/libmypaint/mypaint-brush-settings-gen.h b/thirdparty/libmypaint/dist/64/include/libmypaint/mypaint-brush-settings-gen.h new file mode 100644 index 0000000..77e0932 --- /dev/null +++ b/thirdparty/libmypaint/dist/64/include/libmypaint/mypaint-brush-settings-gen.h @@ -0,0 +1,98 @@ +// DO NOT EDIT - autogenerated by generate.py + +typedef enum { + MYPAINT_BRUSH_INPUT_PRESSURE, + MYPAINT_BRUSH_INPUT_SPEED1, + MYPAINT_BRUSH_INPUT_SPEED2, + MYPAINT_BRUSH_INPUT_RANDOM, + MYPAINT_BRUSH_INPUT_STROKE, + MYPAINT_BRUSH_INPUT_DIRECTION, + MYPAINT_BRUSH_INPUT_TILT_DECLINATION, + MYPAINT_BRUSH_INPUT_TILT_ASCENSION, + MYPAINT_BRUSH_INPUT_CUSTOM, + MYPAINT_BRUSH_INPUTS_COUNT +} MyPaintBrushInput; + +typedef enum { + MYPAINT_BRUSH_SETTING_OPAQUE, + MYPAINT_BRUSH_SETTING_OPAQUE_MULTIPLY, + MYPAINT_BRUSH_SETTING_OPAQUE_LINEARIZE, + MYPAINT_BRUSH_SETTING_RADIUS_LOGARITHMIC, + MYPAINT_BRUSH_SETTING_HARDNESS, + MYPAINT_BRUSH_SETTING_ANTI_ALIASING, + MYPAINT_BRUSH_SETTING_DABS_PER_BASIC_RADIUS, + MYPAINT_BRUSH_SETTING_DABS_PER_ACTUAL_RADIUS, + MYPAINT_BRUSH_SETTING_DABS_PER_SECOND, + MYPAINT_BRUSH_SETTING_RADIUS_BY_RANDOM, + MYPAINT_BRUSH_SETTING_SPEED1_SLOWNESS, + MYPAINT_BRUSH_SETTING_SPEED2_SLOWNESS, + MYPAINT_BRUSH_SETTING_SPEED1_GAMMA, + MYPAINT_BRUSH_SETTING_SPEED2_GAMMA, + MYPAINT_BRUSH_SETTING_OFFSET_BY_RANDOM, + MYPAINT_BRUSH_SETTING_OFFSET_BY_SPEED, + MYPAINT_BRUSH_SETTING_OFFSET_BY_SPEED_SLOWNESS, + MYPAINT_BRUSH_SETTING_SLOW_TRACKING, + MYPAINT_BRUSH_SETTING_SLOW_TRACKING_PER_DAB, + MYPAINT_BRUSH_SETTING_TRACKING_NOISE, + MYPAINT_BRUSH_SETTING_COLOR_H, + MYPAINT_BRUSH_SETTING_COLOR_S, + MYPAINT_BRUSH_SETTING_COLOR_V, + MYPAINT_BRUSH_SETTING_RESTORE_COLOR, + MYPAINT_BRUSH_SETTING_CHANGE_COLOR_H, + MYPAINT_BRUSH_SETTING_CHANGE_COLOR_L, + MYPAINT_BRUSH_SETTING_CHANGE_COLOR_HSL_S, + MYPAINT_BRUSH_SETTING_CHANGE_COLOR_V, + MYPAINT_BRUSH_SETTING_CHANGE_COLOR_HSV_S, + MYPAINT_BRUSH_SETTING_SMUDGE, + MYPAINT_BRUSH_SETTING_SMUDGE_LENGTH, + MYPAINT_BRUSH_SETTING_SMUDGE_RADIUS_LOG, + MYPAINT_BRUSH_SETTING_ERASER, + MYPAINT_BRUSH_SETTING_STROKE_THRESHOLD, + MYPAINT_BRUSH_SETTING_STROKE_DURATION_LOGARITHMIC, + MYPAINT_BRUSH_SETTING_STROKE_HOLDTIME, + MYPAINT_BRUSH_SETTING_CUSTOM_INPUT, + MYPAINT_BRUSH_SETTING_CUSTOM_INPUT_SLOWNESS, + MYPAINT_BRUSH_SETTING_ELLIPTICAL_DAB_RATIO, + MYPAINT_BRUSH_SETTING_ELLIPTICAL_DAB_ANGLE, + MYPAINT_BRUSH_SETTING_DIRECTION_FILTER, + MYPAINT_BRUSH_SETTING_LOCK_ALPHA, + MYPAINT_BRUSH_SETTING_COLORIZE, + MYPAINT_BRUSH_SETTING_SNAP_TO_PIXEL, + MYPAINT_BRUSH_SETTING_PRESSURE_GAIN_LOG, + MYPAINT_BRUSH_SETTINGS_COUNT +} MyPaintBrushSetting; + +typedef enum { + MYPAINT_BRUSH_STATE_X, + MYPAINT_BRUSH_STATE_Y, + MYPAINT_BRUSH_STATE_PRESSURE, + MYPAINT_BRUSH_STATE_PARTIAL_DABS, + MYPAINT_BRUSH_STATE_ACTUAL_RADIUS, + MYPAINT_BRUSH_STATE_SMUDGE_RA, + MYPAINT_BRUSH_STATE_SMUDGE_GA, + MYPAINT_BRUSH_STATE_SMUDGE_BA, + MYPAINT_BRUSH_STATE_SMUDGE_A, + MYPAINT_BRUSH_STATE_LAST_GETCOLOR_R, + MYPAINT_BRUSH_STATE_LAST_GETCOLOR_G, + MYPAINT_BRUSH_STATE_LAST_GETCOLOR_B, + MYPAINT_BRUSH_STATE_LAST_GETCOLOR_A, + MYPAINT_BRUSH_STATE_LAST_GETCOLOR_RECENTNESS, + MYPAINT_BRUSH_STATE_ACTUAL_X, + MYPAINT_BRUSH_STATE_ACTUAL_Y, + MYPAINT_BRUSH_STATE_NORM_DX_SLOW, + MYPAINT_BRUSH_STATE_NORM_DY_SLOW, + MYPAINT_BRUSH_STATE_NORM_SPEED1_SLOW, + MYPAINT_BRUSH_STATE_NORM_SPEED2_SLOW, + MYPAINT_BRUSH_STATE_STROKE, + MYPAINT_BRUSH_STATE_STROKE_STARTED, + MYPAINT_BRUSH_STATE_CUSTOM_INPUT, + MYPAINT_BRUSH_STATE_RNG_SEED, + MYPAINT_BRUSH_STATE_ACTUAL_ELLIPTICAL_DAB_RATIO, + MYPAINT_BRUSH_STATE_ACTUAL_ELLIPTICAL_DAB_ANGLE, + MYPAINT_BRUSH_STATE_DIRECTION_DX, + MYPAINT_BRUSH_STATE_DIRECTION_DY, + MYPAINT_BRUSH_STATE_DECLINATION, + MYPAINT_BRUSH_STATE_ASCENSION, + MYPAINT_BRUSH_STATES_COUNT +} MyPaintBrushState; + diff --git a/thirdparty/libmypaint/dist/64/include/libmypaint/mypaint-brush-settings.h b/thirdparty/libmypaint/dist/64/include/libmypaint/mypaint-brush-settings.h new file mode 100644 index 0000000..221d257 --- /dev/null +++ b/thirdparty/libmypaint/dist/64/include/libmypaint/mypaint-brush-settings.h @@ -0,0 +1,71 @@ +#ifndef MYPAINTBRUSHSETTINGS_H +#define MYPAINTBRUSHSETTINGS_H + +/* libmypaint - The MyPaint Brush Library + * Copyright (C) 2012 Jon Nordby + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +#include +#include +#include + +G_BEGIN_DECLS + +typedef struct { + const gchar *cname; + const gchar *name; // FIXME: needs to be accessed through gettext + gboolean constant; + float min; + float def; // default + float max; + const gchar *tooltip; // FIXME: needs to be accessed through gettext +} MyPaintBrushSettingInfo; + +const MyPaintBrushSettingInfo * +mypaint_brush_setting_info(MyPaintBrushSetting id); + +const gchar * +mypaint_brush_setting_info_get_name(const MyPaintBrushSettingInfo *self); +const gchar * +mypaint_brush_setting_info_get_tooltip(const MyPaintBrushSettingInfo *self); +MyPaintBrushSetting +mypaint_brush_setting_from_cname(const char *cname); + +typedef struct { + const gchar *cname; + float hard_min; + float soft_min; + float normal; + float soft_max; + float hard_max; + const gchar *name; // FIXME: needs to be accessed through gettext + const gchar *tooltip; // FIXME: needs to be accessed through gettext +} MyPaintBrushInputInfo; + +const MyPaintBrushInputInfo * +mypaint_brush_input_info(MyPaintBrushInput id); + +const gchar * +mypaint_brush_input_info_get_name(const MyPaintBrushInputInfo *self); + +const gchar * +mypaint_brush_input_info_get_tooltip(const MyPaintBrushInputInfo *self); + +MyPaintBrushInput +mypaint_brush_input_from_cname(const char *cname); + +G_END_DECLS + +#endif // MYPAINTBRUSHSETTINGS_H diff --git a/thirdparty/libmypaint/dist/64/include/libmypaint/mypaint-brush.h b/thirdparty/libmypaint/dist/64/include/libmypaint/mypaint-brush.h new file mode 100644 index 0000000..837ed03 --- /dev/null +++ b/thirdparty/libmypaint/dist/64/include/libmypaint/mypaint-brush.h @@ -0,0 +1,93 @@ +#ifndef MYPAINTBRUSH_H +#define MYPAINTBRUSH_H + +/* libmypaint - The MyPaint Brush Library + * Copyright (C) 2008 Martin Renold + * Copyright (C) 2012 Jon Nordby + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +#include +#include +#include + +G_BEGIN_DECLS + +typedef struct MyPaintBrush MyPaintBrush; + +MyPaintBrush * +mypaint_brush_new(void); + +void +mypaint_brush_unref(MyPaintBrush *self); +void +mypaint_brush_ref(MyPaintBrush *self); + +void +mypaint_brush_reset(MyPaintBrush *self); + +void +mypaint_brush_new_stroke(MyPaintBrush *self); + +int +mypaint_brush_stroke_to(MyPaintBrush *self, MyPaintSurface *surface, float x, float y, + float pressure, float xtilt, float ytilt, double dtime); + +void +mypaint_brush_set_base_value(MyPaintBrush *self, MyPaintBrushSetting id, float value); + +float +mypaint_brush_get_base_value(MyPaintBrush *self, MyPaintBrushSetting id); + +gboolean +mypaint_brush_is_constant(MyPaintBrush *self, MyPaintBrushSetting id); + +int +mypaint_brush_get_inputs_used_n(MyPaintBrush *self, MyPaintBrushSetting id); + +void +mypaint_brush_set_mapping_n(MyPaintBrush *self, MyPaintBrushSetting id, MyPaintBrushInput input, int n); + +int +mypaint_brush_get_mapping_n(MyPaintBrush *self, MyPaintBrushSetting id, MyPaintBrushInput input); + +void +mypaint_brush_set_mapping_point(MyPaintBrush *self, MyPaintBrushSetting id, MyPaintBrushInput input, int index, float x, float y); + +void +mypaint_brush_get_mapping_point(MyPaintBrush *self, MyPaintBrushSetting id, MyPaintBrushInput input, int index, float *x, float *y); + +float +mypaint_brush_get_state(MyPaintBrush *self, MyPaintBrushState i); + +void +mypaint_brush_set_state(MyPaintBrush *self, MyPaintBrushState i, float value); + +double +mypaint_brush_get_total_stroke_painting_time(MyPaintBrush *self); + +void +mypaint_brush_set_print_inputs(MyPaintBrush *self, gboolean enabled); + +void +mypaint_brush_from_defaults(MyPaintBrush *self); + + +gboolean +mypaint_brush_from_string(MyPaintBrush *self, const char *string); + + +G_END_DECLS + +#endif // MYPAINTBRUSH_H diff --git a/thirdparty/libmypaint/dist/64/include/libmypaint/mypaint-config.h b/thirdparty/libmypaint/dist/64/include/libmypaint/mypaint-config.h new file mode 100644 index 0000000..55e6093 --- /dev/null +++ b/thirdparty/libmypaint/dist/64/include/libmypaint/mypaint-config.h @@ -0,0 +1,16 @@ +#ifndef MYPAINTCONFIG_H +#define MYPAINTCONFIG_H + +#ifndef MYPAINT_TILE_SIZE +#define MYPAINT_TILE_SIZE 64 +#endif + +#ifndef MYPAINT_MAX_THREADS +#define MYPAINT_MAX_THREADS 16 +#endif + +#ifndef MYPAINT_MAX_MIPMAP_LEVEL +#define MYPAINT_MAX_MIPMAP_LEVEL 4 +#endif + +#endif /* MYPAINTCONFIG_H */ diff --git a/thirdparty/libmypaint/dist/64/include/libmypaint/mypaint-fixed-tiled-surface.h b/thirdparty/libmypaint/dist/64/include/libmypaint/mypaint-fixed-tiled-surface.h new file mode 100644 index 0000000..53445ff --- /dev/null +++ b/thirdparty/libmypaint/dist/64/include/libmypaint/mypaint-fixed-tiled-surface.h @@ -0,0 +1,34 @@ +#ifndef MYPAINTFIXEDTILEDSURFACE_H +#define MYPAINTFIXEDTILEDSURFACE_H + +#include +#include +#include + +G_BEGIN_DECLS + +/** + * MyPaintFixedTiledSurface: + * + * Simple #MyPaintTiledSurface subclass that implements a fixed sized #MyPaintSurface. + * Only intended for testing and trivial use-cases, and to serve as an example of + * how to implement a tiled surface subclass. + */ +typedef struct MyPaintFixedTiledSurface MyPaintFixedTiledSurface; + +MyPaintFixedTiledSurface * +mypaint_fixed_tiled_surface_new(int width, int height); + +int +mypaint_fixed_tiled_surface_get_width(MyPaintFixedTiledSurface *self); + +int +mypaint_fixed_tiled_surface_get_height(MyPaintFixedTiledSurface *self); + + +MyPaintSurface * +mypaint_fixed_tiled_surface_interface(MyPaintFixedTiledSurface *self); + +G_END_DECLS + +#endif // MYPAINTFIXEDTILEDSURFACE_H diff --git a/thirdparty/libmypaint/dist/64/include/libmypaint/mypaint-glib-compat.h b/thirdparty/libmypaint/dist/64/include/libmypaint/mypaint-glib-compat.h new file mode 100644 index 0000000..bded620 --- /dev/null +++ b/thirdparty/libmypaint/dist/64/include/libmypaint/mypaint-glib-compat.h @@ -0,0 +1,32 @@ +#ifndef MYPAINTGLIBCOMPAT_H +#define MYPAINTGLIBCOMPAT_H + +#include + +#ifndef __G_LIB_H__ + +/* From $INCLUDEPATH/glib-2.0/glib/gmacros.h */ +#ifdef __cplusplus +# define G_BEGIN_DECLS extern "C" { +# define G_END_DECLS } +#else +# define G_BEGIN_DECLS +# define G_END_DECLS +#endif + +#define FALSE (0) +#define TRUE (!FALSE) + +typedef void * gpointer; + +/* From $INCLUDEPATH/glib-2.0/glib/gtypes.h */ +typedef char gchar; +typedef int gint; +typedef gint gboolean; + +/* From $LIBPATH/glib-2.0/include/glibconfig.h */ +typedef unsigned short guint16; + +#endif // __G_LIB_H__ + +#endif // MYPAINTGLIBCOMPAT_H diff --git a/thirdparty/libmypaint/dist/64/include/libmypaint/mypaint-mapping.h b/thirdparty/libmypaint/dist/64/include/libmypaint/mypaint-mapping.h new file mode 100644 index 0000000..a58e5d1 --- /dev/null +++ b/thirdparty/libmypaint/dist/64/include/libmypaint/mypaint-mapping.h @@ -0,0 +1,27 @@ +#ifndef MAPPING_H +#define MAPPING_H + +#include +#include + +G_BEGIN_DECLS + +typedef struct MyPaintMapping MyPaintMapping; + +MyPaintMapping * mypaint_mapping_new(int inputs_); +void mypaint_mapping_free(MyPaintMapping *self); +float mypaint_mapping_get_base_value(MyPaintMapping *self); +void mypaint_mapping_set_base_value(MyPaintMapping *self, float value); +void mypaint_mapping_set_n (MyPaintMapping * self, int input, int n); +int mypaint_mapping_get_n (MyPaintMapping * self, int input); +void mypaint_mapping_set_point (MyPaintMapping * self, int input, int index, float x, float y); +void mypaint_mapping_get_point (MyPaintMapping * self, int input, int index, float *x, float *y); +gboolean mypaint_mapping_is_constant(MyPaintMapping * self); +int mypaint_mapping_get_inputs_used_n(MyPaintMapping *self); +float mypaint_mapping_calculate (MyPaintMapping * self, float * data); +float mypaint_mapping_calculate_single_input (MyPaintMapping * self, float input); + + +G_END_DECLS + +#endif // MAPPING_H diff --git a/thirdparty/libmypaint/dist/64/include/libmypaint/mypaint-rectangle.h b/thirdparty/libmypaint/dist/64/include/libmypaint/mypaint-rectangle.h new file mode 100644 index 0000000..e08c68e --- /dev/null +++ b/thirdparty/libmypaint/dist/64/include/libmypaint/mypaint-rectangle.h @@ -0,0 +1,39 @@ +#ifndef MYPAINTRECTANGLE_H +#define MYPAINTRECTANGLE_H + +/* libmypaint - The MyPaint Brush Library + * Copyright (C) 2008 Martin Renold + * Copyright (C) 2012 Jon Nordby + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +#include +#include + +G_BEGIN_DECLS + +typedef struct { + int x; + int y; + int width; + int height; +} MyPaintRectangle; + +void mypaint_rectangle_expand_to_include_point(MyPaintRectangle *r, int x, int y); +MyPaintRectangle * +mypaint_rectangle_copy(MyPaintRectangle *self); + +G_END_DECLS + +#endif // MYPAINTRECTANGLE_H diff --git a/thirdparty/libmypaint/dist/64/include/libmypaint/mypaint-surface.h b/thirdparty/libmypaint/dist/64/include/libmypaint/mypaint-surface.h new file mode 100644 index 0000000..1217a76 --- /dev/null +++ b/thirdparty/libmypaint/dist/64/include/libmypaint/mypaint-surface.h @@ -0,0 +1,109 @@ +#ifndef MYPAINTSURFACE_H +#define MYPAINTSURFACE_H + +/* libmypaint - The MyPaint Brush Library + * Copyright (C) 2008 Martin Renold + * Copyright (C) 2012 Jon Nordby + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +#include +#include + +G_BEGIN_DECLS + +typedef struct MyPaintSurface MyPaintSurface; + +typedef void (*MyPaintSurfaceGetColorFunction) (MyPaintSurface *self, + float x, float y, + float radius, + float * color_r, float * color_g, float * color_b, float * color_a + ); +typedef int (*MyPaintSurfaceDrawDabFunction) (MyPaintSurface *self, + float x, float y, + float radius, + float color_r, float color_g, float color_b, + float opaque, float hardness, + float alpha_eraser, + float aspect_ratio, float angle, + float lock_alpha, + float colorize); + +typedef void (*MyPaintSurfaceDestroyFunction) (MyPaintSurface *self); + +typedef void (*MyPaintSurfaceSavePngFunction) (MyPaintSurface *self, const char *path, int x, int y, int width, int height); + +typedef void (*MyPaintSurfaceBeginAtomicFunction) (MyPaintSurface *self); + +typedef void (*MyPaintSurfaceEndAtomicFunction) (MyPaintSurface *self, MyPaintRectangle *roi); + +/** + * MyPaintSurface: + * + * Abstract surface type for the MyPaint brush engine. The surface interface + * lets the brush engine specify dabs to render, and to pick color. + */ +struct MyPaintSurface { + MyPaintSurfaceDrawDabFunction draw_dab; + MyPaintSurfaceGetColorFunction get_color; + MyPaintSurfaceBeginAtomicFunction begin_atomic; + MyPaintSurfaceEndAtomicFunction end_atomic; + MyPaintSurfaceDestroyFunction destroy; + MyPaintSurfaceSavePngFunction save_png; + int refcount; +}; + +/** + * mypaint_surface_draw_dab: + * + * Draw a dab onto the surface. + */ +int +mypaint_surface_draw_dab(MyPaintSurface *self, + float x, float y, + float radius, + float color_r, float color_g, float color_b, + float opaque, float hardness, + float alpha_eraser, + float aspect_ratio, float angle, + float lock_alpha, + float colorize + ); + + +void +mypaint_surface_get_color(MyPaintSurface *self, + float x, float y, + float radius, + float * color_r, float * color_g, float * color_b, float * color_a + ); + +float +mypaint_surface_get_alpha (MyPaintSurface *self, float x, float y, float radius); + +void +mypaint_surface_save_png(MyPaintSurface *self, const char *path, int x, int y, int width, int height); + +void mypaint_surface_begin_atomic(MyPaintSurface *self); + +void mypaint_surface_end_atomic(MyPaintSurface *self, MyPaintRectangle *roi); + +void mypaint_surface_init(MyPaintSurface *self); +void mypaint_surface_ref(MyPaintSurface *self); +void mypaint_surface_unref(MyPaintSurface *self); + +G_END_DECLS + +#endif // MYPAINTSURFACE_H + diff --git a/thirdparty/libmypaint/dist/64/include/libmypaint/mypaint-tiled-surface.h b/thirdparty/libmypaint/dist/64/include/libmypaint/mypaint-tiled-surface.h new file mode 100644 index 0000000..b225f7b --- /dev/null +++ b/thirdparty/libmypaint/dist/64/include/libmypaint/mypaint-tiled-surface.h @@ -0,0 +1,86 @@ +#ifndef MYPAINTTILEDSURFACE_H +#define MYPAINTTILEDSURFACE_H + +#include +#include +#include + +typedef enum { + MYPAINT_SYMMETRY_TYPE_VERTICAL, + MYPAINT_SYMMETRY_TYPE_HORIZONTAL, + MYPAINT_SYMMETRY_TYPE_VERTHORZ, + MYPAINT_SYMMETRY_TYPE_ROTATIONAL, + MYPAINT_SYMMETRY_TYPE_SNOWFLAKE, + MYPAINT_SYMMETRY_TYPES_COUNT +} MyPaintSymmetryType; + +G_BEGIN_DECLS + +typedef struct MyPaintTiledSurface MyPaintTiledSurface; + +typedef struct { + int tx; + int ty; + gboolean readonly; + guint16 *buffer; + gpointer context; /* Only to be used by the surface implemenations. */ + int thread_id; + int mipmap_level; +} MyPaintTileRequest; + +void +mypaint_tile_request_init(MyPaintTileRequest *data, int level, + int tx, int ty, gboolean readonly); + +typedef void (*MyPaintTileRequestStartFunction) (MyPaintTiledSurface *self, MyPaintTileRequest *request); +typedef void (*MyPaintTileRequestEndFunction) (MyPaintTiledSurface *self, MyPaintTileRequest *request); +typedef void (*MyPaintTiledSurfaceAreaChanged) (MyPaintTiledSurface *self, int bb_x, int bb_y, int bb_w, int bb_h); + +/** + * MyPaintTiledSurface: + * + * Interface and convenience class for implementing a #MyPaintSurface backed by a tile store. + * + * The size of the surface is infinite, and consumers need just implement two vfuncs. + */ +struct MyPaintTiledSurface { + MyPaintSurface parent; + /* private: */ + MyPaintTileRequestStartFunction tile_request_start; + MyPaintTileRequestEndFunction tile_request_end; + gboolean surface_do_symmetry; + MyPaintSymmetryType symmetry_type; + float surface_center_x; + float surface_center_y; + int rot_symmetry_lines; + struct OperationQueue *operation_queue; + MyPaintRectangle dirty_bbox; + gboolean threadsafe_tile_requests; + int tile_size; +}; + +void +mypaint_tiled_surface_init(MyPaintTiledSurface *self, + MyPaintTileRequestStartFunction tile_request_start, + MyPaintTileRequestEndFunction tile_request_end); + +void +mypaint_tiled_surface_destroy(MyPaintTiledSurface *self); + +void +mypaint_tiled_surface_set_symmetry_state(MyPaintTiledSurface *self, gboolean active, + float center_x, float center_y, + MyPaintSymmetryType symmetry_type, + int rot_symmetry_lines); +float +mypaint_tiled_surface_get_alpha (MyPaintTiledSurface *self, float x, float y, float radius); + +void mypaint_tiled_surface_tile_request_start(MyPaintTiledSurface *self, MyPaintTileRequest *request); +void mypaint_tiled_surface_tile_request_end(MyPaintTiledSurface *self, MyPaintTileRequest *request); + +void mypaint_tiled_surface_begin_atomic(MyPaintTiledSurface *self); +void mypaint_tiled_surface_end_atomic(MyPaintTiledSurface *self, MyPaintRectangle *roi); + +G_END_DECLS + +#endif // MYPAINTTILEDSURFACE_H diff --git a/thirdparty/libmypaint/dist/64/libiconv-2.dll b/thirdparty/libmypaint/dist/64/libiconv-2.dll new file mode 100755 index 0000000..9585920 --- /dev/null +++ b/thirdparty/libmypaint/dist/64/libiconv-2.dll @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4093b53b91565729564d539403aca91737ee094f902be60b6e261d78a67f0fae +size 1157325 diff --git a/thirdparty/libmypaint/dist/64/libintl-8.dll b/thirdparty/libmypaint/dist/64/libintl-8.dll new file mode 100755 index 0000000..3f7f8d6 --- /dev/null +++ b/thirdparty/libmypaint/dist/64/libintl-8.dll @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8eb37af030cff310ff94a43b68a16e0336af0828b62d1bd35e9e26bb2d2aad69 +size 404063 diff --git a/thirdparty/libmypaint/dist/64/libjson-c-2.dll b/thirdparty/libmypaint/dist/64/libjson-c-2.dll new file mode 100755 index 0000000..7af6fa0 --- /dev/null +++ b/thirdparty/libmypaint/dist/64/libjson-c-2.dll @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1d8e9efd3f204804c88f362d20b182e3c222a025b28a811b8dc3abf627f6fd36 +size 276980 diff --git a/thirdparty/libmypaint/dist/64/libmypaint-1-4-0.dll b/thirdparty/libmypaint/dist/64/libmypaint-1-4-0.dll new file mode 100755 index 0000000..9420a1a --- /dev/null +++ b/thirdparty/libmypaint/dist/64/libmypaint-1-4-0.dll @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2747ff3cd4d107bcc7ddbd73099aac91b2b5bbcd69f1839f4d79418356d667b1 +size 392455 diff --git a/thirdparty/libmypaint/dist/64/libmypaint.lib b/thirdparty/libmypaint/dist/64/libmypaint.lib new file mode 100755 index 0000000..fac0dfa --- /dev/null +++ b/thirdparty/libmypaint/dist/64/libmypaint.lib @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:704fc5310b5a3f0b7b77ce530f39a04b0d1c07d0cdfe26dad79159cf01f4a2a6 +size 84848 diff --git a/thirdparty/libmypaint/download-all.sh b/thirdparty/libmypaint/download-all.sh new file mode 100755 index 0000000..fa95a15 --- /dev/null +++ b/thirdparty/libmypaint/download-all.sh @@ -0,0 +1,45 @@ +#!/bin/bash + +set -e + +echo "" +echo "download" +echo "" + +mkdir -p download && cd download + +wget -c https://ftp.gnu.org/pub/gnu/gettext/gettext-0.19.7.tar.gz +wget -c https://s3.amazonaws.com/json-c_releases/releases/json-c-0.12.1.tar.gz +wget -c https://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.15.tar.gz + +cd .. + +echo "" +echo "unpack" +echo "" + +mkdir -p src && cd src + +rm -rf gettext-0.19.7 +tar -xzf ../download/gettext-0.19.7.tar.gz +rm -rf json-c-0.12.1 +tar -xzf ../download/json-c-0.12.1.tar.gz +rm -rf libiconv-1.15 +tar -xzf ../download/libiconv-1.15.tar.gz + +echo "" +echo "checkout libmypaint" +echo "" + +BRANCH="testing" +if [ -d "libmypaint/.git" ]; then + cd libmypaint && git fetch && git reset --hard "origin/$BRANCH" && cd .. +else + git clone https://github.com/blackwarthog/libmypaint.git --branch $BRANCH +fi + +cd .. + +echo "" +echo "success" +echo "" diff --git a/thirdparty/libmypaint/license/gettext-0.19.7/gettext-runtime/intl/AUTHORS b/thirdparty/libmypaint/license/gettext-0.19.7/gettext-runtime/intl/AUTHORS new file mode 100644 index 0000000..ee09305 --- /dev/null +++ b/thirdparty/libmypaint/license/gettext-0.19.7/gettext-runtime/intl/AUTHORS @@ -0,0 +1 @@ +Ulrich Drepper diff --git a/thirdparty/libmypaint/license/gettext-0.19.7/gettext-runtime/intl/COPYING.LIB b/thirdparty/libmypaint/license/gettext-0.19.7/gettext-runtime/intl/COPYING.LIB new file mode 100644 index 0000000..c2c87d6 --- /dev/null +++ b/thirdparty/libmypaint/license/gettext-0.19.7/gettext-runtime/intl/COPYING.LIB @@ -0,0 +1,516 @@ + + GNU LESSER GENERAL PUBLIC LICENSE + Version 2.1, February 1999 + + Copyright (C) 1991, 1999 Free Software Foundation, Inc. + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + +[This is the first released version of the Lesser GPL. It also counts + as the successor of the GNU Library Public License, version 2, hence + the version number 2.1.] + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +Licenses are intended to guarantee your freedom to share and change +free software--to make sure the software is free for all its users. + + This license, the Lesser General Public License, applies to some +specially designated software packages--typically libraries--of the +Free Software Foundation and other authors who decide to use it. You +can use it too, but we suggest you first think carefully about whether +this license or the ordinary General Public License is the better +strategy to use in any particular case, based on the explanations +below. + + When we speak of free software, we are referring to freedom of use, +not price. Our General Public Licenses are designed to make sure that +you have the freedom to distribute copies of free software (and charge +for this service if you wish); that you receive source code or can get +it if you want it; that you can change the software and use pieces of +it in new free programs; and that you are informed that you can do +these things. + + To protect your rights, we need to make restrictions that forbid +distributors to deny you these rights or to ask you to surrender these +rights. These restrictions translate to certain responsibilities for +you if you distribute copies of the library or if you modify it. + + For example, if you distribute copies of the library, whether gratis +or for a fee, you must give the recipients all the rights that we gave +you. You must make sure that they, too, receive or can get the source +code. If you link other code with the library, you must provide +complete object files to the recipients, so that they can relink them +with the library after making changes to the library and recompiling +it. And you must show them these terms so they know their rights. + + We protect your rights with a two-step method: (1) we copyright the +library, and (2) we offer you this license, which gives you legal +permission to copy, distribute and/or modify the library. + + To protect each distributor, we want to make it very clear that +there is no warranty for the free library. Also, if the library is +modified by someone else and passed on, the recipients should know +that what they have is not the original version, so that the original +author's reputation will not be affected by problems that might be +introduced by others. +^L + Finally, software patents pose a constant threat to the existence of +any free program. We wish to make sure that a company cannot +effectively restrict the users of a free program by obtaining a +restrictive license from a patent holder. Therefore, we insist that +any patent license obtained for a version of the library must be +consistent with the full freedom of use specified in this license. + + Most GNU software, including some libraries, is covered by the +ordinary GNU General Public License. This license, the GNU Lesser +General Public License, applies to certain designated libraries, and +is quite different from the ordinary General Public License. We use +this license for certain libraries in order to permit linking those +libraries into non-free programs. + + When a program is linked with a library, whether statically or using +a shared library, the combination of the two is legally speaking a +combined work, a derivative of the original library. The ordinary +General Public License therefore permits such linking only if the +entire combination fits its criteria of freedom. The Lesser General +Public License permits more lax criteria for linking other code with +the library. + + We call this license the "Lesser" General Public License because it +does Less to protect the user's freedom than the ordinary General +Public License. It also provides other free software developers Less +of an advantage over competing non-free programs. These disadvantages +are the reason we use the ordinary General Public License for many +libraries. However, the Lesser license provides advantages in certain +special circumstances. + + For example, on rare occasions, there may be a special need to +encourage the widest possible use of a certain library, so that it +becomes +a de-facto standard. To achieve this, non-free programs must be +allowed to use the library. A more frequent case is that a free +library does the same job as widely used non-free libraries. In this +case, there is little to gain by limiting the free library to free +software only, so we use the Lesser General Public License. + + In other cases, permission to use a particular library in non-free +programs enables a greater number of people to use a large body of +free software. For example, permission to use the GNU C Library in +non-free programs enables many more people to use the whole GNU +operating system, as well as its variant, the GNU/Linux operating +system. + + Although the Lesser General Public License is Less protective of the +users' freedom, it does ensure that the user of a program that is +linked with the Library has the freedom and the wherewithal to run +that program using a modified version of the Library. + + The precise terms and conditions for copying, distribution and +modification follow. Pay close attention to the difference between a +"work based on the library" and a "work that uses the library". The +former contains code derived from the library, whereas the latter must +be combined with the library in order to run. +^L + GNU LESSER GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License Agreement applies to any software library or other +program which contains a notice placed by the copyright holder or +other authorized party saying it may be distributed under the terms of +this Lesser General Public License (also called "this License"). +Each licensee is addressed as "you". + + A "library" means a collection of software functions and/or data +prepared so as to be conveniently linked with application programs +(which use some of those functions and data) to form executables. + + The "Library", below, refers to any such software library or work +which has been distributed under these terms. A "work based on the +Library" means either the Library or any derivative work under +copyright law: that is to say, a work containing the Library or a +portion of it, either verbatim or with modifications and/or translated +straightforwardly into another language. (Hereinafter, translation is +included without limitation in the term "modification".) + + "Source code" for a work means the preferred form of the work for +making modifications to it. For a library, complete source code means +all the source code for all modules it contains, plus any associated +interface definition files, plus the scripts used to control +compilation +and installation of the library. + + Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running a program using the Library is not restricted, and output from +such a program is covered only if its contents constitute a work based +on the Library (independent of the use of the Library in a tool for +writing it). Whether that is true depends on what the Library does +and what the program that uses the Library does. + + 1. You may copy and distribute verbatim copies of the Library's +complete source code as you receive it, in any medium, provided that +you conspicuously and appropriately publish on each copy an +appropriate copyright notice and disclaimer of warranty; keep intact +all the notices that refer to this License and to the absence of any +warranty; and distribute a copy of this License along with the +Library. + + You may charge a fee for the physical act of transferring a copy, +and you may at your option offer warranty protection in exchange for a +fee. + + 2. You may modify your copy or copies of the Library or any portion +of it, thus forming a work based on the Library, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) The modified work must itself be a software library. + + b) You must cause the files modified to carry prominent notices + stating that you changed the files and the date of any change. + + c) You must cause the whole of the work to be licensed at no + charge to all third parties under the terms of this License. + + d) If a facility in the modified Library refers to a function or a + table of data to be supplied by an application program that uses + the facility, other than as an argument passed when the facility + is invoked, then you must make a good faith effort to ensure that, + in the event an application does not supply such function or + table, the facility still operates, and performs whatever part of + its purpose remains meaningful. + + (For example, a function in a library to compute square roots has + a purpose that is entirely well-defined independent of the + application. Therefore, Subsection 2d requires that any + application-supplied function or table used by this function must + be optional: if the application does not supply it, the square + root function must still compute square roots.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Library, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Library, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote +it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Library. + +In addition, mere aggregation of another work not based on the Library +with the Library (or with a work based on the Library) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may opt to apply the terms of the ordinary GNU General Public +License instead of this License to a given copy of the Library. To do +this, you must alter all the notices that refer to this License, so +that they refer to the ordinary GNU General Public License, version 2, +instead of to this License. (If a newer version than version 2 of the +ordinary GNU General Public License has appeared, then you can specify +that version instead if you wish.) Do not make any other change in +these notices. +^L + Once this change is made in a given copy, it is irreversible for +that copy, so the ordinary GNU General Public License applies to all +subsequent copies and derivative works made from that copy. + + This option is useful when you wish to copy part of the code of +the Library into a program that is not a library. + + 4. You may copy and distribute the Library (or a portion or +derivative of it, under Section 2) in object code or executable form +under the terms of Sections 1 and 2 above provided that you accompany +it with the complete corresponding machine-readable source code, which +must be distributed under the terms of Sections 1 and 2 above on a +medium customarily used for software interchange. + + If distribution of object code is made by offering access to copy +from a designated place, then offering equivalent access to copy the +source code from the same place satisfies the requirement to +distribute the source code, even though third parties are not +compelled to copy the source along with the object code. + + 5. A program that contains no derivative of any portion of the +Library, but is designed to work with the Library by being compiled or +linked with it, is called a "work that uses the Library". Such a +work, in isolation, is not a derivative work of the Library, and +therefore falls outside the scope of this License. + + However, linking a "work that uses the Library" with the Library +creates an executable that is a derivative of the Library (because it +contains portions of the Library), rather than a "work that uses the +library". The executable is therefore covered by this License. +Section 6 states terms for distribution of such executables. + + When a "work that uses the Library" uses material from a header file +that is part of the Library, the object code for the work may be a +derivative work of the Library even though the source code is not. +Whether this is true is especially significant if the work can be +linked without the Library, or if the work is itself a library. The +threshold for this to be true is not precisely defined by law. + + If such an object file uses only numerical parameters, data +structure layouts and accessors, and small macros and small inline +functions (ten lines or less in length), then the use of the object +file is unrestricted, regardless of whether it is legally a derivative +work. (Executables containing this object code plus portions of the +Library will still fall under Section 6.) + + Otherwise, if the work is a derivative of the Library, you may +distribute the object code for the work under the terms of Section 6. +Any executables containing that work also fall under Section 6, +whether or not they are linked directly with the Library itself. +^L + 6. As an exception to the Sections above, you may also combine or +link a "work that uses the Library" with the Library to produce a +work containing portions of the Library, and distribute that work +under terms of your choice, provided that the terms permit +modification of the work for the customer's own use and reverse +engineering for debugging such modifications. + + You must give prominent notice with each copy of the work that the +Library is used in it and that the Library and its use are covered by +this License. You must supply a copy of this License. If the work +during execution displays copyright notices, you must include the +copyright notice for the Library among them, as well as a reference +directing the user to the copy of this License. Also, you must do one +of these things: + + a) Accompany the work with the complete corresponding + machine-readable source code for the Library including whatever + changes were used in the work (which must be distributed under + Sections 1 and 2 above); and, if the work is an executable linked + with the Library, with the complete machine-readable "work that + uses the Library", as object code and/or source code, so that the + user can modify the Library and then relink to produce a modified + executable containing the modified Library. (It is understood + that the user who changes the contents of definitions files in the + Library will not necessarily be able to recompile the application + to use the modified definitions.) + + b) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (1) uses at run time a + copy of the library already present on the user's computer system, + rather than copying library functions into the executable, and (2) + will operate properly with a modified version of the library, if + the user installs one, as long as the modified version is + interface-compatible with the version that the work was made with. + + c) Accompany the work with a written offer, valid for at + least three years, to give the same user the materials + specified in Subsection 6a, above, for a charge no more + than the cost of performing this distribution. + + d) If distribution of the work is made by offering access to copy + from a designated place, offer equivalent access to copy the above + specified materials from the same place. + + e) Verify that the user has already received a copy of these + materials or that you have already sent this user a copy. + + For an executable, the required form of the "work that uses the +Library" must include any data and utility programs needed for +reproducing the executable from it. However, as a special exception, +the materials to be distributed need not include anything that is +normally distributed (in either source or binary form) with the major +components (compiler, kernel, and so on) of the operating system on +which the executable runs, unless that component itself accompanies +the executable. + + It may happen that this requirement contradicts the license +restrictions of other proprietary libraries that do not normally +accompany the operating system. Such a contradiction means you cannot +use both them and the Library together in an executable that you +distribute. +^L + 7. You may place library facilities that are a work based on the +Library side-by-side in a single library together with other library +facilities not covered by this License, and distribute such a combined +library, provided that the separate distribution of the work based on +the Library and of the other library facilities is otherwise +permitted, and provided that you do these two things: + + a) Accompany the combined library with a copy of the same work + based on the Library, uncombined with any other library + facilities. This must be distributed under the terms of the + Sections above. + + b) Give prominent notice with the combined library of the fact + that part of it is a work based on the Library, and explaining + where to find the accompanying uncombined form of the same work. + + 8. You may not copy, modify, sublicense, link with, or distribute +the Library except as expressly provided under this License. Any +attempt otherwise to copy, modify, sublicense, link with, or +distribute the Library is void, and will automatically terminate your +rights under this License. However, parties who have received copies, +or rights, from you under this License will not have their licenses +terminated so long as such parties remain in full compliance. + + 9. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Library or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Library (or any work based on the +Library), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Library or works based on it. + + 10. Each time you redistribute the Library (or any work based on the +Library), the recipient automatically receives a license from the +original licensor to copy, distribute, link with or modify the Library +subject to these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties with +this License. +^L + 11. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Library at all. For example, if a patent +license would not permit royalty-free redistribution of the Library by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Library. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply, and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 12. If the distribution and/or use of the Library is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Library under this License +may add an explicit geographical distribution limitation excluding those +countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 13. The Free Software Foundation may publish revised and/or new +versions of the Lesser General Public License from time to time. +Such new versions will be similar in spirit to the present version, +but may differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Library +specifies a version number of this License which applies to it and +"any later version", you have the option of following the terms and +conditions either of that version or of any later version published by +the Free Software Foundation. If the Library does not specify a +license version number, you may choose any version ever published by +the Free Software Foundation. +^L + 14. If you wish to incorporate parts of the Library into other free +programs whose distribution conditions are incompatible with these, +write to the author to ask for permission. For software which is +copyrighted by the Free Software Foundation, write to the Free +Software Foundation; we sometimes make exceptions for this. Our +decision will be guided by the two goals of preserving the free status +of all derivatives of our free software and of promoting the sharing +and reuse of software generally. + + NO WARRANTY + + 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO +WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. +EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR +OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY +KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE +LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN +WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY +AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU +FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR +CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE +LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING +RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A +FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF +SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGES. + + END OF TERMS AND CONDITIONS +^L + How to Apply These Terms to Your New Libraries + + If you develop a new library, and you want it to be of the greatest +possible use to the public, we recommend making it free software that +everyone can redistribute and change. You can do so by permitting +redistribution under these terms (or, alternatively, under the terms +of the ordinary General Public License). + + To apply these terms, attach the following notices to the library. +It is safest to attach them to the start of each source file to most +effectively convey the exclusion of warranty; and each file should +have at least the "copyright" line and a pointer to where the full +notice is found. + + + + Copyright (C) + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, + MA 02110-1301, USA + +Also add information on how to contact you by electronic and paper +mail. + +You should also get your employer (if you work as a programmer) or +your +school, if any, to sign a "copyright disclaimer" for the library, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the + library `Frob' (a library for tweaking knobs) written by James +Random Hacker. + + , 1 April 1990 + Ty Coon, President of Vice + +That's all there is to it! + + diff --git a/thirdparty/libmypaint/license/json-c-0.12.1/AUTHORS b/thirdparty/libmypaint/license/json-c-0.12.1/AUTHORS new file mode 100644 index 0000000..b389989 --- /dev/null +++ b/thirdparty/libmypaint/license/json-c-0.12.1/AUTHORS @@ -0,0 +1,5 @@ +Michael Clark +Jehiah Czebotar +Eric Haszlakiewicz +C. Watford (christopher.watford@gmail.com) + diff --git a/thirdparty/libmypaint/license/json-c-0.12.1/COPYING b/thirdparty/libmypaint/license/json-c-0.12.1/COPYING new file mode 100644 index 0000000..740d125 --- /dev/null +++ b/thirdparty/libmypaint/license/json-c-0.12.1/COPYING @@ -0,0 +1,42 @@ + +Copyright (c) 2009-2012 Eric Haszlakiewicz + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the "Software"), +to deal in the Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +---------------------------------------------------------------- + +Copyright (c) 2004, 2005 Metaparadigm Pte Ltd + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the "Software"), +to deal in the Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/thirdparty/libmypaint/license/libiconv-1.15/AUTHORS b/thirdparty/libmypaint/license/libiconv-1.15/AUTHORS new file mode 100644 index 0000000..8bedd79 --- /dev/null +++ b/thirdparty/libmypaint/license/libiconv-1.15/AUTHORS @@ -0,0 +1 @@ +Bruno Haible diff --git a/thirdparty/libmypaint/license/libiconv-1.15/COPYING.LIB b/thirdparty/libmypaint/license/libiconv-1.15/COPYING.LIB new file mode 100644 index 0000000..778d0bb --- /dev/null +++ b/thirdparty/libmypaint/license/libiconv-1.15/COPYING.LIB @@ -0,0 +1,482 @@ + GNU LIBRARY GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1991 Free Software Foundation, Inc. + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + +[This is the first released version of the library GPL. It is + numbered 2 because it goes with version 2 of the ordinary GPL.] + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +Licenses are intended to guarantee your freedom to share and change +free software--to make sure the software is free for all its users. + + This license, the Library General Public License, applies to some +specially designated Free Software Foundation software, and to any +other libraries whose authors decide to use it. You can use it for +your libraries, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if +you distribute copies of the library, or if you modify it. + + For example, if you distribute copies of the library, whether gratis +or for a fee, you must give the recipients all the rights that we gave +you. You must make sure that they, too, receive or can get the source +code. If you link a program with the library, you must provide +complete object files to the recipients so that they can relink them +with the library, after making changes to the library and recompiling +it. And you must show them these terms so they know their rights. + + Our method of protecting your rights has two steps: (1) copyright +the library, and (2) offer you this license which gives you legal +permission to copy, distribute and/or modify the library. + + Also, for each distributor's protection, we want to make certain +that everyone understands that there is no warranty for this free +library. If the library is modified by someone else and passed on, we +want its recipients to know that what they have is not the original +version, so that any problems introduced by others will not reflect on +the original authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that companies distributing free +software will individually obtain patent licenses, thus in effect +transforming the program into proprietary software. To prevent this, +we have made it clear that any patent must be licensed for everyone's +free use or not licensed at all. + + Most GNU software, including some libraries, is covered by the ordinary +GNU General Public License, which was designed for utility programs. This +license, the GNU Library General Public License, applies to certain +designated libraries. This license is quite different from the ordinary +one; be sure to read it in full, and don't assume that anything in it is +the same as in the ordinary license. + + The reason we have a separate public license for some libraries is that +they blur the distinction we usually make between modifying or adding to a +program and simply using it. Linking a program with a library, without +changing the library, is in some sense simply using the library, and is +analogous to running a utility program or application program. However, in +a textual and legal sense, the linked executable is a combined work, a +derivative of the original library, and the ordinary General Public License +treats it as such. + + Because of this blurred distinction, using the ordinary General +Public License for libraries did not effectively promote software +sharing, because most developers did not use the libraries. We +concluded that weaker conditions might promote sharing better. + + However, unrestricted linking of non-free programs would deprive the +users of those programs of all benefit from the free status of the +libraries themselves. This Library General Public License is intended to +permit developers of non-free programs to use free libraries, while +preserving your freedom as a user of such programs to change the free +libraries that are incorporated in them. (We have not seen how to achieve +this as regards changes in header files, but we have achieved it as regards +changes in the actual functions of the Library.) The hope is that this +will lead to faster development of free libraries. + + The precise terms and conditions for copying, distribution and +modification follow. Pay close attention to the difference between a +"work based on the library" and a "work that uses the library". The +former contains code derived from the library, while the latter only +works together with the library. + + Note that it is possible for a library to be covered by the ordinary +General Public License rather than by this special one. + + GNU LIBRARY GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License Agreement applies to any software library which +contains a notice placed by the copyright holder or other authorized +party saying it may be distributed under the terms of this Library +General Public License (also called "this License"). Each licensee is +addressed as "you". + + A "library" means a collection of software functions and/or data +prepared so as to be conveniently linked with application programs +(which use some of those functions and data) to form executables. + + The "Library", below, refers to any such software library or work +which has been distributed under these terms. A "work based on the +Library" means either the Library or any derivative work under +copyright law: that is to say, a work containing the Library or a +portion of it, either verbatim or with modifications and/or translated +straightforwardly into another language. (Hereinafter, translation is +included without limitation in the term "modification".) + + "Source code" for a work means the preferred form of the work for +making modifications to it. For a library, complete source code means +all the source code for all modules it contains, plus any associated +interface definition files, plus the scripts used to control compilation +and installation of the library. + + Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running a program using the Library is not restricted, and output from +such a program is covered only if its contents constitute a work based +on the Library (independent of the use of the Library in a tool for +writing it). Whether that is true depends on what the Library does +and what the program that uses the Library does. + + 1. You may copy and distribute verbatim copies of the Library's +complete source code as you receive it, in any medium, provided that +you conspicuously and appropriately publish on each copy an +appropriate copyright notice and disclaimer of warranty; keep intact +all the notices that refer to this License and to the absence of any +warranty; and distribute a copy of this License along with the +Library. + + You may charge a fee for the physical act of transferring a copy, +and you may at your option offer warranty protection in exchange for a +fee. + + 2. You may modify your copy or copies of the Library or any portion +of it, thus forming a work based on the Library, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) The modified work must itself be a software library. + + b) You must cause the files modified to carry prominent notices + stating that you changed the files and the date of any change. + + c) You must cause the whole of the work to be licensed at no + charge to all third parties under the terms of this License. + + d) If a facility in the modified Library refers to a function or a + table of data to be supplied by an application program that uses + the facility, other than as an argument passed when the facility + is invoked, then you must make a good faith effort to ensure that, + in the event an application does not supply such function or + table, the facility still operates, and performs whatever part of + its purpose remains meaningful. + + (For example, a function in a library to compute square roots has + a purpose that is entirely well-defined independent of the + application. Therefore, Subsection 2d requires that any + application-supplied function or table used by this function must + be optional: if the application does not supply it, the square + root function must still compute square roots.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Library, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Library, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote +it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Library. + +In addition, mere aggregation of another work not based on the Library +with the Library (or with a work based on the Library) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may opt to apply the terms of the ordinary GNU General Public +License instead of this License to a given copy of the Library. To do +this, you must alter all the notices that refer to this License, so +that they refer to the ordinary GNU General Public License, version 2, +instead of to this License. (If a newer version than version 2 of the +ordinary GNU General Public License has appeared, then you can specify +that version instead if you wish.) Do not make any other change in +these notices. + + Once this change is made in a given copy, it is irreversible for +that copy, so the ordinary GNU General Public License applies to all +subsequent copies and derivative works made from that copy. + + This option is useful when you wish to copy part of the code of +the Library into a program that is not a library. + + 4. You may copy and distribute the Library (or a portion or +derivative of it, under Section 2) in object code or executable form +under the terms of Sections 1 and 2 above provided that you accompany +it with the complete corresponding machine-readable source code, which +must be distributed under the terms of Sections 1 and 2 above on a +medium customarily used for software interchange. + + If distribution of object code is made by offering access to copy +from a designated place, then offering equivalent access to copy the +source code from the same place satisfies the requirement to +distribute the source code, even though third parties are not +compelled to copy the source along with the object code. + + 5. A program that contains no derivative of any portion of the +Library, but is designed to work with the Library by being compiled or +linked with it, is called a "work that uses the Library". Such a +work, in isolation, is not a derivative work of the Library, and +therefore falls outside the scope of this License. + + However, linking a "work that uses the Library" with the Library +creates an executable that is a derivative of the Library (because it +contains portions of the Library), rather than a "work that uses the +library". The executable is therefore covered by this License. +Section 6 states terms for distribution of such executables. + + When a "work that uses the Library" uses material from a header file +that is part of the Library, the object code for the work may be a +derivative work of the Library even though the source code is not. +Whether this is true is especially significant if the work can be +linked without the Library, or if the work is itself a library. The +threshold for this to be true is not precisely defined by law. + + If such an object file uses only numerical parameters, data +structure layouts and accessors, and small macros and small inline +functions (ten lines or less in length), then the use of the object +file is unrestricted, regardless of whether it is legally a derivative +work. (Executables containing this object code plus portions of the +Library will still fall under Section 6.) + + Otherwise, if the work is a derivative of the Library, you may +distribute the object code for the work under the terms of Section 6. +Any executables containing that work also fall under Section 6, +whether or not they are linked directly with the Library itself. + + 6. As an exception to the Sections above, you may also compile or +link a "work that uses the Library" with the Library to produce a +work containing portions of the Library, and distribute that work +under terms of your choice, provided that the terms permit +modification of the work for the customer's own use and reverse +engineering for debugging such modifications. + + You must give prominent notice with each copy of the work that the +Library is used in it and that the Library and its use are covered by +this License. You must supply a copy of this License. If the work +during execution displays copyright notices, you must include the +copyright notice for the Library among them, as well as a reference +directing the user to the copy of this License. Also, you must do one +of these things: + + a) Accompany the work with the complete corresponding + machine-readable source code for the Library including whatever + changes were used in the work (which must be distributed under + Sections 1 and 2 above); and, if the work is an executable linked + with the Library, with the complete machine-readable "work that + uses the Library", as object code and/or source code, so that the + user can modify the Library and then relink to produce a modified + executable containing the modified Library. (It is understood + that the user who changes the contents of definitions files in the + Library will not necessarily be able to recompile the application + to use the modified definitions.) + + b) Accompany the work with a written offer, valid for at + least three years, to give the same user the materials + specified in Subsection 6a, above, for a charge no more + than the cost of performing this distribution. + + c) If distribution of the work is made by offering access to copy + from a designated place, offer equivalent access to copy the above + specified materials from the same place. + + d) Verify that the user has already received a copy of these + materials or that you have already sent this user a copy. + + For an executable, the required form of the "work that uses the +Library" must include any data and utility programs needed for +reproducing the executable from it. However, as a special exception, +the source code distributed need not include anything that is normally +distributed (in either source or binary form) with the major +components (compiler, kernel, and so on) of the operating system on +which the executable runs, unless that component itself accompanies +the executable. + + It may happen that this requirement contradicts the license +restrictions of other proprietary libraries that do not normally +accompany the operating system. Such a contradiction means you cannot +use both them and the Library together in an executable that you +distribute. + + 7. You may place library facilities that are a work based on the +Library side-by-side in a single library together with other library +facilities not covered by this License, and distribute such a combined +library, provided that the separate distribution of the work based on +the Library and of the other library facilities is otherwise +permitted, and provided that you do these two things: + + a) Accompany the combined library with a copy of the same work + based on the Library, uncombined with any other library + facilities. This must be distributed under the terms of the + Sections above. + + b) Give prominent notice with the combined library of the fact + that part of it is a work based on the Library, and explaining + where to find the accompanying uncombined form of the same work. + + 8. You may not copy, modify, sublicense, link with, or distribute +the Library except as expressly provided under this License. Any +attempt otherwise to copy, modify, sublicense, link with, or +distribute the Library is void, and will automatically terminate your +rights under this License. However, parties who have received copies, +or rights, from you under this License will not have their licenses +terminated so long as such parties remain in full compliance. + + 9. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Library or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Library (or any work based on the +Library), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Library or works based on it. + + 10. Each time you redistribute the Library (or any work based on the +Library), the recipient automatically receives a license from the +original licensor to copy, distribute, link with or modify the Library +subject to these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 11. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Library at all. For example, if a patent +license would not permit royalty-free redistribution of the Library by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Library. + +If any portion of this section is held invalid or unenforceable under any +particular circumstance, the balance of the section is intended to apply, +and the section as a whole is intended to apply in other circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 12. If the distribution and/or use of the Library is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Library under this License may add +an explicit geographical distribution limitation excluding those countries, +so that distribution is permitted only in or among countries not thus +excluded. In such case, this License incorporates the limitation as if +written in the body of this License. + + 13. The Free Software Foundation may publish revised and/or new +versions of the Library General Public License from time to time. +Such new versions will be similar in spirit to the present version, +but may differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Library +specifies a version number of this License which applies to it and +"any later version", you have the option of following the terms and +conditions either of that version or of any later version published by +the Free Software Foundation. If the Library does not specify a +license version number, you may choose any version ever published by +the Free Software Foundation. + + 14. If you wish to incorporate parts of the Library into other free +programs whose distribution conditions are incompatible with these, +write to the author to ask for permission. For software which is +copyrighted by the Free Software Foundation, write to the Free +Software Foundation; we sometimes make exceptions for this. Our +decision will be guided by the two goals of preserving the free status +of all derivatives of our free software and of promoting the sharing +and reuse of software generally. + + NO WARRANTY + + 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO +WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. +EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR +OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY +KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE +LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN +WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY +AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU +FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR +CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE +LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING +RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A +FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF +SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGES. + + END OF TERMS AND CONDITIONS + + Appendix: How to Apply These Terms to Your New Libraries + + If you develop a new library, and you want it to be of the greatest +possible use to the public, we recommend making it free software that +everyone can redistribute and change. You can do so by permitting +redistribution under these terms (or, alternatively, under the terms of the +ordinary General Public License). + + To apply these terms, attach the following notices to the library. It is +safest to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least the +"copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with this library; if not, write to the Free + Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, + MA 02110-1301, USA + +Also add information on how to contact you by electronic and paper mail. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the library, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the + library `Frob' (a library for tweaking knobs) written by James Random Hacker. + + , 1 April 1990 + Ty Coon, President of Vice + +That's all there is to it! diff --git a/thirdparty/libmypaint/license/libiconv-1.15/README b/thirdparty/libmypaint/license/libiconv-1.15/README new file mode 100644 index 0000000..19f8370 --- /dev/null +++ b/thirdparty/libmypaint/license/libiconv-1.15/README @@ -0,0 +1,172 @@ + GNU LIBICONV - character set conversion library + +This library provides an iconv() implementation, for use on systems which +don't have one, or whose implementation cannot convert from/to Unicode. + +It provides support for the encodings: + + European languages + ASCII, ISO-8859-{1,2,3,4,5,7,9,10,13,14,15,16}, + KOI8-R, KOI8-U, KOI8-RU, + CP{1250,1251,1252,1253,1254,1257}, CP{850,866,1131}, + Mac{Roman,CentralEurope,Iceland,Croatian,Romania}, + Mac{Cyrillic,Ukraine,Greek,Turkish}, + Macintosh + Semitic languages + ISO-8859-{6,8}, CP{1255,1256}, CP862, Mac{Hebrew,Arabic} + Japanese + EUC-JP, SHIFT_JIS, CP932, ISO-2022-JP, ISO-2022-JP-2, ISO-2022-JP-1, + ISO-2022-JP-MS + Chinese + EUC-CN, HZ, GBK, CP936, GB18030, EUC-TW, BIG5, CP950, BIG5-HKSCS, + BIG5-HKSCS:2004, BIG5-HKSCS:2001, BIG5-HKSCS:1999, ISO-2022-CN, + ISO-2022-CN-EXT + Korean + EUC-KR, CP949, ISO-2022-KR, JOHAB + Armenian + ARMSCII-8 + Georgian + Georgian-Academy, Georgian-PS + Tajik + KOI8-T + Kazakh + PT154, RK1048 + Thai + ISO-8859-11, TIS-620, CP874, MacThai + Laotian + MuleLao-1, CP1133 + Vietnamese + VISCII, TCVN, CP1258 + Platform specifics + HP-ROMAN8, NEXTSTEP + Full Unicode + UTF-8 + UCS-2, UCS-2BE, UCS-2LE + UCS-4, UCS-4BE, UCS-4LE + UTF-16, UTF-16BE, UTF-16LE + UTF-32, UTF-32BE, UTF-32LE + UTF-7 + C99, JAVA + Full Unicode, in terms of 'uint16_t' or 'uint32_t' + (with machine dependent endianness and alignment) + UCS-2-INTERNAL, UCS-4-INTERNAL + Locale dependent, in terms of 'char' or 'wchar_t' + (with machine dependent endianness and alignment, and with OS and + locale dependent semantics) + char, wchar_t + The empty encoding name "" is equivalent to "char": it denotes the + locale dependent character encoding. + +When configured with the option --enable-extra-encodings, it also provides +support for a few extra encodings: + + European languages + CP{437,737,775,852,853,855,857,858,860,861,863,865,869,1125} + Semitic languages + CP864 + Japanese + EUC-JISX0213, Shift_JISX0213, ISO-2022-JP-3 + Chinese + BIG5-2003 (experimental) + Turkmen + TDS565 + Platform specifics + ATARIST, RISCOS-LATIN1 + +It can convert from any of these encodings to any other, through Unicode +conversion. + +It has also some limited support for transliteration, i.e. when a character +cannot be represented in the target character set, it can be approximated +through one or several similarly looking characters. Transliteration is +activated when "//TRANSLIT" is appended to the target encoding name. + +libiconv is for you if your application needs to support multiple character +encodings, but that support lacks from your system. + + +Installation +------------ + +As usual for GNU packages: + + $ ./configure --prefix=/usr/local + $ make + $ make install + +After installing GNU libiconv for the first time, it is recommended to +recompile and reinstall GNU gettext, so that it can take advantage of +libiconv. + +On systems other than GNU/Linux, the iconv program will be internationalized +only if GNU gettext has been built and installed before GNU libiconv. This +means that the first time GNU libiconv is installed, we have a circular +dependency between the GNU libiconv and GNU gettext packages, which can be +resolved by building and installing either + - first libiconv, then gettext, then libiconv again, +or (on systems supporting shared libraries, excluding AIX) + - first gettext, then libiconv, then gettext again. +Recall that before building a package for the second time, you need to erase +the traces of the first build by running "make distclean". + +This library can be built and installed in two variants: + + - The library mode. This works on all systems, and uses a library + 'libiconv.so' and a header file ''. (Both are installed + through "make install".) + + To use it, simply #include and use the functions. + + To use it in an autoconfiguring package: + - If you don't use automake, append m4/iconv.m4 to your aclocal.m4 + file. + - If you do use automake, add m4/iconv.m4 to your m4 macro repository. + - Add to the link command line of libraries and executables that use + the functions the placeholder @LIBICONV@ (or, if using libtool for + the link, @LTLIBICONV@). If you use automake, the right place for + these additions are the *_LDADD variables. + Note that 'iconv.m4' is also part of the GNU gettext package, which + installs it in /usr/local/share/aclocal/iconv.m4. + + - The libc plug/override mode. This works on GNU/Linux, Solaris and OSF/1 + systems only. It is a way to get good iconv support without having + glibc-2.1. + It installs a library 'preloadable_libiconv.so'. This library can be used + with LD_PRELOAD, to override the iconv* functions present in the C library. + + On GNU/Linux and Solaris: + $ export LD_PRELOAD=/usr/local/lib/preloadable_libiconv.so + + On OSF/1: + $ export _RLD_LIST=/usr/local/lib/preloadable_libiconv.so:DEFAULT + + A program's source need not be modified, the program need not even be + recompiled. Just set the LD_PRELOAD environment variable, that's it! + + +Copyright +--------- + +The libiconv and libcharset _libraries_ and their header files are under LGPL, +see file COPYING.LIB. + +The iconv _program_ and the documentation are under GPL, see file COPYING. + + +Download +-------- + + http://ftp.gnu.org/gnu/libiconv/libiconv-1.15.tar.gz + +Homepage +-------- + + http://www.gnu.org/software/libiconv/ + +Bug reports to +-------------- + + + + +Bruno Haible diff --git a/thirdparty/libmypaint/license/libmypaint/COPYING b/thirdparty/libmypaint/license/libmypaint/COPYING new file mode 100644 index 0000000..542c9a6 --- /dev/null +++ b/thirdparty/libmypaint/license/libmypaint/COPYING @@ -0,0 +1,14 @@ +libmypaint - The MyPaint Brush Library +Copyright (C) 2008-2011 Martin Renold and contributors + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. diff --git a/thirdparty/libmypaint/mingw-vars.sh b/thirdparty/libmypaint/mingw-vars.sh new file mode 100644 index 0000000..2903331 --- /dev/null +++ b/thirdparty/libmypaint/mingw-vars.sh @@ -0,0 +1,73 @@ +#!/bin/bash + +set -e + +[ ! -z "$HOST" ] || (echo "host was not set" && false) + +mkdir -p "$INST_DIR" +mkdir -p "$DIST_DIR" +export PREFIX="$INST_DIR" + +EXTRA_CPP_OPTIONS= + +export PATH="/usr/$HOST/bin:/usr/$HOST/sys-root/mingw/bin:$PATH" +export LD_LIBRARY_PATH="/usr/$HOST/sys-root/mingw/lib:$LD_LIBRARY_PATH" + +export ADDR2LINE=/usr/bin/$HOST-addr2line +export AS=/usr/bin/$HOST-as +export AR=/usr/bin/$HOST-ar +export CC=/usr/bin/$HOST-gcc +export CXXFILT=/usr/bin/$HOST-c++filt +export CXX=/usr/bin/$HOST-c++ +export CPP=/usr/bin/$HOST-cpp +export DLLTOOL=/usr/bin/$HOST-dlltool +export DLLWRAP=/usr/bin/$HOST-dllwrap +export ELFEDIT=/usr/bin/$HOST-elfedit +export FORTRAN=/usr/bin/$HOST-gfortran +export GXX=/usr/bin/$HOST-g++ +export GCC=/usr/bin/$HOST-gcc +export GCOV=/usr/bin/$HOST-gcov +export GCOV_TOOL=/usr/bin/$HOST-gcov-tool +export GFORTRAN=/usr/bin/$HOST-gfortran +export GPROF=/usr/bin/$HOST-gprof +export LD=/usr/bin/$HOST-ld +export LD_BFD=/usr/bin/$HOST-ld.bfd +export NM=/usr/bin/$HOST-nm +export OBJCOPY=/usr/bin/$HOST-objcopy +export OBJDUMP=/usr/bin/$HOST-objdump +export PKG_CONFIG=/usr/bin/$HOST-pkg-config +export RANLIB=/usr/bin/$HOST-ranlib +export READELF=/usr/bin/$HOST-readelf +export SIZE=/usr/bin/$HOST-size +export STRINGS=/usr/bin/$HOST-strings +export STRIP=/usr/bin/$HOST-strip +export WINDMC=/usr/bin/$HOST-windmc +export RC=/usr/bin/$HOST-windres +export WINDRES=/usr/bin/$HOST-windres + +export LDFLAGS=" -L/usr/$HOST/sys-root/mingw/lib $LDFLAGS" +export CFLAGS=" $EXTRA_CPP_OPTIONS $CFLAGS" +export CPPFLAGS=" $EXTRA_CPP_OPTIONS $CPPFLAGS" +export CXXFLAGS=" $EXTRA_CPP_OPTIONS $CXXFLAGS" +export PKG_CONFIG_PATH="/usr/lib/pkgconfig:/usr/$HOST/sys-root/mingw/lib/pkgconfig" +export PKG_CONFIG_LIBDIR="/usr/$HOST/sys-root/mingw/lib" +export XDG_DATA_DIRS="$XDG_DATA_DIRS" +export CMAKE_INCLUDE_PATH="$CMAKE_INCLUDE_PATH" +export CMAKE_LIBRARY_PATH="/usr/$HOST/sys-root/mingw/lib:$CMAKE_LIBRARY_PATH" + +unset EXTRA_CPP_OPTIONS + + +export PATH="$PREFIX/bin:$PATH" +export LD_LIBRARY_PATH="$PREFIX/lib:$LD_LIBRARY_PATH" +export LDFLAGS="-L$PREFIX/lib $LDFLAGS" +export CFLAGS="-I$PREFIX/include $CFLAGS" +export CPPFLAGS="-I$PREFIX/include $CPPFLAGS" +export CXXFLAGS="-I$PREFIX/include $CXXFLAGS" +export PKG_CONFIG_PATH="$PREFIX/lib/pkgconfig:$PREFIX/share/pkgconfig:$PKG_CONFIG_PATH" +export PKG_CONFIG_LIBDIR="$PREFIX/lib:$PKG_CONFIG_LIBDIR" +export PKG_CONFIG_SYSROOT_DIR="/" +export XDG_DATA_DIRS="$PREFIX/share:$XDG_DATA_DIRS" +#export ACLOCAL_PATH="$PREFIX/share/aclocal:$ACLOCAL_PATH" +export CMAKE_INCLUDE_PATH="$PREFIX/include:$CMAKE_INCLUDE_PATH" +export CMAKE_LIBRARY_PATH="$PREFIX/lib:$CMAKE_LIBRARY_PATH" diff --git a/thirdparty/libmypaint/script-gettext.sh b/thirdparty/libmypaint/script-gettext.sh new file mode 100755 index 0000000..d758112 --- /dev/null +++ b/thirdparty/libmypaint/script-gettext.sh @@ -0,0 +1,31 @@ +#!/bin/bash + +set -e +[ ! -z "$SRC_DIR" ] || (echo "env was not set" && false) + +NAME="gettext-0.19.7" +cp --remove-destination -rup "$SRC_DIR/$NAME" "$BUILD_DIR/" +cd "$BUILD_DIR/$NAME" + +export CFLAGS="-O2 $CFLAGS" +export CXXFLAGS="-O2 $CXXFLAGS" + +./configure \ + --host="$HOST" \ + --prefix="$PREFIX" \ + --with-libiconv-prefix="$PREFIX" \ + --disable-java \ + --disable-native-java \ + --disable-csharp \ + --enable-static \ + --enable-threads=win32 \ + --without-emacs \ + --disable-openmp \ + --enable-shared \ + --disable-static +make -j8 +make install + +echo "" +echo "success" +echo "" diff --git a/thirdparty/libmypaint/script-iconv.sh b/thirdparty/libmypaint/script-iconv.sh new file mode 100755 index 0000000..b83fc79 --- /dev/null +++ b/thirdparty/libmypaint/script-iconv.sh @@ -0,0 +1,16 @@ +#!/bin/bash + +set -e +[ ! -z "$SRC_DIR" ] || (echo "env was not set" && false) + +NAME="libiconv-1.15" +cp --remove-destination -rup "$SRC_DIR/$NAME" "$BUILD_DIR/" +cd "$BUILD_DIR/$NAME" + +./configure --host="$HOST" --prefix="$PREFIX" --enable-shared --disable-static +make -j8 +make install + +echo "" +echo "success" +echo "" diff --git a/thirdparty/libmypaint/script-json-c.sh b/thirdparty/libmypaint/script-json-c.sh new file mode 100755 index 0000000..581833e --- /dev/null +++ b/thirdparty/libmypaint/script-json-c.sh @@ -0,0 +1,23 @@ +#!/bin/bash + +set -e +[ ! -z "$SRC_DIR" ] || (echo "env was not set" && false) + +NAME="json-c-0.12.1" +cp --remove-destination -rup "$SRC_DIR/$NAME" "$BUILD_DIR/" +cd "$BUILD_DIR/$NAME" +set -e + +export CFLAGS="-Wno-error=unknown-pragmas $CFLAGS" +export LIBS="-ladvapi32 -lintl" + +./configure --host="$HOST" --prefix="$PREFIX" --enable-shared --disable-static +make || true +echo "#undef malloc" >> config.h +echo "#undef realloc" >> config.h +make -j8 +make install + +echo "" +echo "success" +echo "" diff --git a/thirdparty/libmypaint/script-libmypaint.sh b/thirdparty/libmypaint/script-libmypaint.sh new file mode 100755 index 0000000..2fa7df4 --- /dev/null +++ b/thirdparty/libmypaint/script-libmypaint.sh @@ -0,0 +1,27 @@ +#!/bin/bash + +set -e +[ ! -z "$SRC_DIR" ] || (echo "env was not set" && false) + +NAME="libmypaint" +cp --remove-destination -rup "$SRC_DIR/$NAME" "$BUILD_DIR/" +cd "$BUILD_DIR/$NAME" + +./autogen.sh +./configure --host="$HOST" --prefix="$PREFIX" --enable-shared --enable-static +make clean +make -j8 +make install + +cp "$INST_DIR/bin/"libiconv*.dll "$DIST_DIR/" +cp "$INST_DIR/bin/"libintl*.dll "$DIST_DIR/" +cp "$INST_DIR/bin/"libjson-c*.dll "$DIST_DIR/" + +cp "$INST_DIR/bin/"libmypaint*.dll "$DIST_DIR/" +cp "$INST_DIR/lib/"libmypaint*.dll.a "$DIST_DIR/libmypaint.lib" +mkdir -p "$DIST_DIR/include" +cp -r "$INST_DIR/include/libmypaint" "$DIST_DIR/include/" + +echo "" +echo "success" +echo "" diff --git a/thirdparty/libmypaint/script-shell.sh b/thirdparty/libmypaint/script-shell.sh new file mode 100755 index 0000000..2df709a --- /dev/null +++ b/thirdparty/libmypaint/script-shell.sh @@ -0,0 +1,6 @@ +#!/bin/bash + +set -e +[ ! -z "$SRC_DIR" ] || (echo "env was not set" && false) + +/bin/bash \ No newline at end of file diff --git a/toonz/sources/CMakeLists.txt b/toonz/sources/CMakeLists.txt index 71679b5..a3082a4 100644 --- a/toonz/sources/CMakeLists.txt +++ b/toonz/sources/CMakeLists.txt @@ -329,6 +329,8 @@ if(BUILD_ENV_MSVC) if(PLATFORM EQUAL 32) set(QT_LIB ${SDKROOT}/quicktime/QT73SDK/Libraries/QTMLClient.lib) endif() + set(MYPAINT_LIB_INCLUDE_DIRS ${SDKROOT}/libmypaint/dist/${PLATFORM}/include/libmypaint) + set(MYPAINT_LIB_LDFLAGS ${SDKROOT}/libmypaint/dist/${PLATFORM}/libmypaint.lib) elseif(BUILD_ENV_APPLE) find_library(GLUT_LIB GLUT) find_library(GL_LIB OpenGL) @@ -376,6 +378,7 @@ elseif(BUILD_ENV_APPLE) find_package(LZO REQUIRED) message("LZO:" ${LZO_INCLUDE_DIR}) + pkg_check_modules(MYPAINT_LIB REQUIRED libmypaint) elseif(BUILD_ENV_UNIXLIKE) if(BUILD_TARGET_WIN) if(PLATFORM EQUAL 32) @@ -438,6 +441,7 @@ elseif(BUILD_ENV_UNIXLIKE) pkg_check_modules(FREETYPE REQUIRED freetype2) pkg_check_modules(SDL_LIB REQUIRED sdl2) endif() + pkg_check_modules(MYPAINT_LIB REQUIRED libmypaint) endif() @@ -501,6 +505,7 @@ include_directories( ${USB_LIB_INCLUDE_DIRS} ${SUPERLU_INCLUDE_DIR} ${JPEG_INCLUDE_DIR} + ${MYPAINT_LIB_INCLUDE_DIRS} ) if(BUILD_TARGET_WIN AND PLATFORM EQUAL 64) diff --git a/toonz/sources/image/tif/tiio_tif.cpp b/toonz/sources/image/tif/tiio_tif.cpp index 2f7086b..ba999ec 100644 --- a/toonz/sources/image/tif/tiio_tif.cpp +++ b/toonz/sources/image/tif/tiio_tif.cpp @@ -102,6 +102,8 @@ void TifReader::open(FILE *file) { int fd = fileno(file); #if 0 m_tiff = TIFFFdOpenNoCloseProc(fd, "", "rb"); +#elif defined(_WIN32) && defined(__GNUC__) + m_tiff = TIFFFdOpen((int)_get_osfhandle(dup(fd)), "", "rb"); #else m_tiff = TIFFFdOpen(dup(fd), "", "rb"); #endif @@ -792,6 +794,8 @@ void TifWriter::open(FILE *file, const TImageInfo &info) { int fd = fileno(file); #if 0 m_tiff = TIFFFdOpenNoCloseProc(fd, "", mode.c_str()); +#elif defined(_WIN32) && defined(__GNUC__) + m_tiff = TIFFFdOpen((int)_get_osfhandle(dup(fd)), "", mode.c_str()); #else m_tiff = TIFFFdOpen(dup(fd), "", mode.c_str()); #endif diff --git a/toonz/sources/include/tcolorstyles.h b/toonz/sources/include/tcolorstyles.h index 2aecdad..1b9bb6c 100644 --- a/toonz/sources/include/tcolorstyles.h +++ b/toonz/sources/include/tcolorstyles.h @@ -273,6 +273,18 @@ Returns the main color by default. return DOUBLE; } //!< Returns the type of the specified parameter. + virtual bool hasParamDefault(int index) const { + return false; + } //!< Value of parameter can be reset to default. + + virtual void setParamDefault(int index) { + assert(false); + } //!< Reset value of parameter to default. + + virtual bool isParamDefault(int index) const { + return false; + } //!< Check if current value of parameter equals to default + virtual void setParamValue(int index, bool value) { assert(false); } //!< Assigns a value to the specified \p bool parameter. diff --git a/toonz/sources/include/tools/tool.h b/toonz/sources/include/tools/tool.h index 4ee09ea..f8d2856 100644 --- a/toonz/sources/include/tools/tool.h +++ b/toonz/sources/include/tools/tool.h @@ -92,15 +92,17 @@ public: //! on the event. bool m_leftButtonPressed; + bool m_isTablet; public: TMouseEvent() - : m_pressure(255), m_modifiersMask(NO_KEY), m_leftButtonPressed(false) {} + : m_pressure(255), m_modifiersMask(NO_KEY), m_leftButtonPressed(false), m_isTablet(false) {} bool isShiftPressed() const { return (m_modifiersMask & SHIFT_KEY); } bool isAltPressed() const { return (m_modifiersMask & ALT_KEY); } bool isCtrlPressed() const { return (m_modifiersMask & CTRL_KEY); } bool isLeftButtonPressed() const { return m_leftButtonPressed; } + bool isTablet() const { return m_isTablet; } void setModifiers(bool shiftPressed, bool altPressed, bool ctrlPressed) { m_modifiersMask = ModifierMask((shiftPressed << SHIFT_BITSHIFT) | diff --git a/toonz/sources/include/tools/tooloptions.h b/toonz/sources/include/tools/tooloptions.h index abded96..92ca7a3 100644 --- a/toonz/sources/include/tools/tooloptions.h +++ b/toonz/sources/include/tools/tooloptions.h @@ -481,6 +481,7 @@ class BrushToolOptionsBox final : public ToolOptionsBox { private: class PresetNamePopup; PresetNamePopup *m_presetNamePopup; + void filterControls(); public: BrushToolOptionsBox(QWidget *parent, TTool *tool, TPaletteHandle *pltHandle, diff --git a/toonz/sources/include/toonz/mypaint.h b/toonz/sources/include/toonz/mypaint.h new file mode 100644 index 0000000..9bbeeb9 --- /dev/null +++ b/toonz/sources/include/toonz/mypaint.h @@ -0,0 +1,352 @@ +#pragma once + +#ifndef MYPAINT_HPP +#define MYPAINT_HPP + +#include +#include +#include + +extern "C" { + #include + #include + #include +} + +namespace mypaint { + class Brush; + + //======================================================= + // + // Dab + // + //======================================================= + + class Dab { + public: + float x; + float y; + float radius; + float colorR; + float colorG; + float colorB; + float opaque; + float hardness; + float alphaEraser; + float aspectRatio; + float angle; + float lockAlpha; + float colorize; + + Dab(): + x(), y(), radius(), + colorR(), colorG(), colorB(), + opaque(), hardness(), alphaEraser(), + aspectRatio(), angle(), + lockAlpha(), colorize() + { } + + Dab( + float x, float y, float radius, + float colorR = 0.f, float colorG = 0.f, float colorB = 0.f, + float opaque = 1.f, float hardness = 0.5f, float alphaEraser = 1.f, + float aspectRatio = 1.f, float angle = 0.f, + float lockAlpha = 0.f, float colorize = 0.f + ): + x(x), y(y), radius(radius), + colorR(colorR), colorG(colorG), colorB(colorB), + opaque(opaque), hardness(hardness), alphaEraser(alphaEraser), + aspectRatio(aspectRatio), angle(angle), + lockAlpha(lockAlpha), colorize(lockAlpha) + { } + + void clamp() { + radius = fabsf(radius); + colorR = std::min(std::max(colorR, 0.f), 1.f); + colorG = std::min(std::max(colorG, 0.f), 1.f); + colorB = std::min(std::max(colorB, 0.f), 1.f); + opaque = std::min(std::max(opaque, 0.f), 1.f); + hardness = std::min(std::max(hardness, 0.f), 1.f); + alphaEraser = std::min(std::max(alphaEraser, 0.f), 1.f); + aspectRatio = std::max(aspectRatio, 1.f); + lockAlpha = std::min(std::max(lockAlpha, 0.f), 1.f); + colorize = std::min(std::max(colorize, 0.f), 1.f); + } + + Dab getClamped() const + { Dab dab(*this); dab.clamp(); return dab; } + }; + + + //======================================================= + // + // Surface + // + //======================================================= + + class Surface { + friend class Brush; + + struct InternalSurface: public MyPaintSurface { + Surface *m_owner; + }; + + InternalSurface m_surface; + + static int internalDrawDab( + MyPaintSurface *self, + float x, float y, float radius, + float colorR, float colorG, float colorB, + float opaque, float hardness, float alphaEraser, + float aspectRatio, float angle, + float lockAlpha, float colorize ) + { + return static_cast(self)->m_owner->drawDab( Dab( + x, y, radius, + colorR, colorG, colorB, + opaque, hardness, alphaEraser, + aspectRatio, angle, + lockAlpha, colorize )); + } + + static void internalGetColor( + MyPaintSurface *self, + float x, float y, float radius, + float *colorR, float *colorG, float *colorB, float *colorA ) + { + static_cast(self)->m_owner->getColor( + x, y, + radius, + *colorR, *colorG, *colorB, *colorA); + } + + public: + Surface(): + m_surface() + { + m_surface.m_owner = this; + m_surface.draw_dab = internalDrawDab; + m_surface.get_color = internalGetColor; + } + + virtual ~Surface() { } + + virtual bool getColor( + float x, float y, float radius, + float &colorR, float &colorG, float &colorB, float &colorA ) = 0; + + virtual bool drawDab(const Dab &dab) = 0; + }; + + //======================================================= + // + // Brush + // + //======================================================= + + class Brush { + MyPaintBrush *m_brush; + + public: + Brush(): + m_brush(mypaint_brush_new()) + { fromDefaults(); } + + Brush(const Brush &other): + m_brush(mypaint_brush_new()) + { fromBrush(other); } + + ~Brush() + { mypaint_brush_unref(m_brush); } + + Brush& operator= (const Brush &other) { + fromBrush(other); + return *this; + } + + void reset() + { mypaint_brush_reset(m_brush); } + + void newStroke() + { mypaint_brush_new_stroke(m_brush); } + + int strokeTo(Surface &surface, float x, float y, + float pressure, float xtilt, float ytilt, double dtime) + { + return mypaint_brush_stroke_to(m_brush, &surface.m_surface, + x, y, pressure, xtilt, ytilt, dtime); + } + + void setBaseValue(MyPaintBrushSetting id, float value) + { mypaint_brush_set_base_value(m_brush, id, value); } + + float getBaseValue(MyPaintBrushSetting id) const + { return mypaint_brush_get_base_value(m_brush, id); } + + bool isConstant(MyPaintBrushSetting id) const + { return mypaint_brush_is_constant(m_brush, id); } + + int getInputsUsedN(MyPaintBrushSetting id) const + { return mypaint_brush_get_inputs_used_n(m_brush, id); } + + void setMappingN(MyPaintBrushSetting id, MyPaintBrushInput input, int n) + { mypaint_brush_set_mapping_n(m_brush, id, input, n); } + + int getMappingN(MyPaintBrushSetting id, MyPaintBrushInput input) const + { return mypaint_brush_get_mapping_n(m_brush, id, input); } + + void setMappingPoint(MyPaintBrushSetting id, MyPaintBrushInput input, int index, float x, float y) + { mypaint_brush_set_mapping_point(m_brush, id, input, index, x, y); } + + void getMappingPoint(MyPaintBrushSetting id, MyPaintBrushInput input, int index, float &x, float &y) const + { mypaint_brush_get_mapping_point(m_brush, id, input, index, &x, &y); } + + float getState(MyPaintBrushState i) const + { return mypaint_brush_get_state(m_brush, i); } + + void setState(MyPaintBrushState i, float value) + { return mypaint_brush_set_state(m_brush, i, value); } + + double getTotalStrokePaintingTime() const + { return mypaint_brush_get_total_stroke_painting_time(m_brush); } + + void setPrintInputs(bool enabled) + { mypaint_brush_set_print_inputs(m_brush, enabled); } + + void fromDefaults() { + mypaint_brush_from_defaults(m_brush); + } + + void fromBrush(const Brush &other) { + for(int i = 0; i < MYPAINT_BRUSH_SETTINGS_COUNT; ++i) { + MyPaintBrushSetting id = (MyPaintBrushSetting)i; + setBaseValue(id, other.getBaseValue(id)); + for(int j = 0; j < MYPAINT_BRUSH_INPUTS_COUNT; ++j) { + MyPaintBrushInput input = (MyPaintBrushInput)j; + int n = other.getMappingN(id, input); + setMappingN(id, input, n); + for(int index = 0; index < n; ++index) { + float x = 0.f, y = 0.f; + other.getMappingPoint(id, input, index, x, y); + setMappingPoint(id, input, index, x, y); + } + } + } + } + + bool fromString(const std::string &s) { + return mypaint_brush_from_string(m_brush, s.c_str()); + } + }; + + //======================================================= + // + // Setting + // + //======================================================= + + class Setting final { + public: + MyPaintBrushSetting id; + std::string key; + std::string name; + std::string tooltip; + bool constant; + float min; + float def; + float max; + + private: + Setting(): id(), constant(), min(), def(), max() { } + Setting(const Setting&): id(), constant(), min(), def(), max() { } + + public: + static const Setting* all() { + static bool initialized = false; + static Setting settings[MYPAINT_BRUSH_SETTINGS_COUNT]; + if (!initialized) { + for(int i = 0; i < MYPAINT_BRUSH_SETTINGS_COUNT; ++i) { + const MyPaintBrushSettingInfo *info = mypaint_brush_setting_info((MyPaintBrushSetting)i); + settings[i].id = (MyPaintBrushSetting)i; + settings[i].key = info->cname; + settings[i].name = mypaint_brush_setting_info_get_name(info); + settings[i].tooltip = mypaint_brush_setting_info_get_tooltip(info); + settings[i].constant = info->constant; + settings[i].min = info->min; + settings[i].def = info->def; + settings[i].max = info->max; + } + } + return settings; + } + + static const Setting& byId(MyPaintBrushSetting id) + { return all()[id]; } + + static const Setting* findByKey(const std::string &key) { + const Setting* settings = all(); + for(int i = 0; i < MYPAINT_BRUSH_SETTINGS_COUNT; ++i) + if (settings[i].key == key) + return &settings[i]; + return 0; + } + }; + + //======================================================= + // + // Input + // + //======================================================= + + class Input final { + public: + MyPaintBrushInput id; + std::string key; + std::string name; + std::string tooltip; + float hardMin; + float softMin; + float normal; + float softMax; + float hardMax; + + private: + Input(): id(), hardMin(), softMin(), normal(), softMax(), hardMax() { } + Input(const Input&): id(), hardMin(), softMin(), normal(), softMax(), hardMax() { } + + public: + static const Input* all() { + static bool initialized = false; + static Input inputs[MYPAINT_BRUSH_INPUTS_COUNT]; + if (!initialized) { + for(int i = 0; i < MYPAINT_BRUSH_INPUTS_COUNT; ++i) { + const MyPaintBrushInputInfo *info = mypaint_brush_input_info((MyPaintBrushInput)i); + inputs[i].id = (MyPaintBrushInput)i; + inputs[i].key = info->cname; + inputs[i].name = mypaint_brush_input_info_get_name(info); + inputs[i].tooltip = mypaint_brush_input_info_get_tooltip(info); + inputs[i].hardMin = info->hard_min; + inputs[i].softMin = info->soft_min; + inputs[i].normal = info->normal; + inputs[i].softMax = info->soft_max; + inputs[i].hardMax = info->hard_max; + } + } + return inputs; + } + + static const Input& byId(MyPaintBrushInput id) { + return all()[id]; + } + + static const Input* findByKey(const std::string &key) { + const Input* inputs = all(); + for(int i = 0; i < MYPAINT_BRUSH_INPUTS_COUNT; ++i) + if (inputs[i].key == key) + return &inputs[i]; + return 0; + } + }; +} + +#endif // MYPAINT_HPP diff --git a/toonz/sources/include/toonz/mypaintbrushstyle.h b/toonz/sources/include/toonz/mypaintbrushstyle.h new file mode 100644 index 0000000..d4895fb --- /dev/null +++ b/toonz/sources/include/toonz/mypaintbrushstyle.h @@ -0,0 +1,122 @@ +#pragma once + +#ifndef MYPAINTBRUSHSTYLE_H +#define MYPAINTBRUSHSTYLE_H + +#include "mypaint.h" + +// TnzCore includes +#include "imagestyles.h" + +#undef DVAPI +#undef DVVAR + +#ifdef TOONZLIB_EXPORTS +#define DVAPI DV_EXPORT_API +#define DVVAR DV_EXPORT_VAR +#else +#define DVAPI DV_IMPORT_API +#define DVVAR DV_IMPORT_VAR +#endif + +//********************************************************************************** +// TMyPaintBrushStyle declaration +//********************************************************************************** + +class DVAPI TMyPaintBrushStyle final : public TColorStyle, TImageStyle { +private: + TFilePath m_path; + TFilePath m_fullpath; + mypaint::Brush m_brushOriginal; + mypaint::Brush m_brushModified; + TRasterP m_preview; + TPixel32 m_color; + + std::map m_baseValues; + + TFilePath decodePath(const TFilePath &path) const; + void loadBrush(const TFilePath &path); + +public: + TMyPaintBrushStyle(); + TMyPaintBrushStyle(const TFilePath &path); + TMyPaintBrushStyle(const TMyPaintBrushStyle &other); + ~TMyPaintBrushStyle(); + + TColorStyle *clone() const override + { return new TMyPaintBrushStyle(*this); } + + TColorStyle ©(const TColorStyle &other) override; + + static std::string getBrushType(); + static TFilePathSet getBrushesDirs(); + + const TFilePath& getPath() const + { return m_path; } + const mypaint::Brush& getBrush() const + { return m_brushModified; } + const TRasterP& getPreview() const + { return m_preview; } + + TStrokeProp* makeStrokeProp(const TStroke * /* stroke */) override + { return 0; } + TRegionProp* makeRegionProp(const TRegion * /* region */) override + { return 0; } + bool isRegionStyle() const override + { return false; } + bool isStrokeStyle() const override + { return false; } + + bool hasMainColor() const override + { return true; } + TPixel32 getMainColor() const override + { return m_color; } + void setMainColor(const TPixel32 &color) override + { m_color = color; } + + int getTagId() const override + { return 4001; } + + QString getDescription() const override; + + void setBaseValue(MyPaintBrushSetting id, bool enable, float value); + void resetBaseValues(); + + void setBaseValue(MyPaintBrushSetting id, float value) + { setBaseValue(id, true, value); } + + void setBaseValueEnabled(MyPaintBrushSetting id, bool enable) + { setBaseValue(id, enable, getBaseValue(id)); } + + const std::map getBaseValues() const + { return m_baseValues; } + + float getBaseValue(MyPaintBrushSetting id) const { + std::map::const_iterator i = m_baseValues.find(id); + return i == m_baseValues.end() + ? m_brushOriginal.getBaseValue(id) + : i->second; + } + + bool getBaseValueEnabled(MyPaintBrushSetting id) const { + std::map::const_iterator i = m_baseValues.find(id); + return i != m_baseValues.end(); + } + + int getParamCount() const override; + QString getParamNames(int index) const override; + ParamType getParamType(int index) const override; + bool hasParamDefault(int index) const override; + void setParamDefault(int index) override; + bool isParamDefault(int index) const override; + void getParamRange(int index, double &min, double &max) const override; + void setParamValue(int index, double value) override; + double getParamValue(double_tag, int index) const override; + +protected: + void makeIcon(const TDimension &d) override; + void loadData(TInputStreamInterface &) override; + void saveData(TOutputStreamInterface &) const override; +}; + +#endif diff --git a/toonz/sources/include/toonz/mypainthelpers.hpp b/toonz/sources/include/toonz/mypainthelpers.hpp new file mode 100644 index 0000000..929a29f --- /dev/null +++ b/toonz/sources/include/toonz/mypainthelpers.hpp @@ -0,0 +1,601 @@ +#pragma once + +#ifndef MYPAINTHELPERS_H +#define MYPAINTHELPERS_H + +#include +#include + +#include "mypaint.h" + +namespace mypaint { + namespace helpers { + const float precision = 1e-4f; + + typedef void ReadPixelFunc( + const void *pixel, + float &colorR, + float &colorG, + float &colorB, + float &colorA ); + typedef void WritePixelFunc( + void *pixel, + float colorR, + float colorG, + float colorB, + float colorA ); + typedef bool AskAccessFunc( + void *surfaceController, + const void *surfacePointer, + int x0, + int y0, + int x1, + int y1 ); + + inline void dummyReadPixel(const void*, float&, float&, float&, float&) { } + inline void dummyWritePixel(void*, float, float, float, float) { } + inline bool dummyAskAccess(void*, const void*, int, int, int, int) { return true; } + + template< ReadPixelFunc read = dummyReadPixel, + WritePixelFunc write = dummyWritePixel, + AskAccessFunc askRead = dummyAskAccess, + AskAccessFunc askWrite = dummyAskAccess > + class SurfaceCustom: public Surface { + public: + void *pointer; + int width; + int height; + int pixelSize; + int rowSize; + void *controller; + bool antialiasing; + + SurfaceCustom(): + pointer(), width(), height(), pixelSize(), rowSize(), controller(), antialiasing(true) + { } + + SurfaceCustom(void *pointer, int width, int height, int pixelSize, int rowSize = 0, void *controller = 0, bool antialiasing = true): + pointer(pointer), + width(width), + height(height), + pixelSize(pixelSize), + rowSize(rowSize ? rowSize : width*pixelSize), + controller(controller), + antialiasing(antialiasing) + { } + + private: + template< bool enableAspect, // 2 variants + bool enableAntialiasing, // 1 variants (true) + bool enableHardnessOne, // 3 variants + bool enableHardnessHalf, // -- + bool enablePremult, // 1 variant (true) + bool enableBlendNormal, // 2 variants + bool enableBlendLockAlpha, // 2 variants + bool enableBlendColorize, // 2 variants + bool enableSummary > // 1 variants (false) Total: 48 copies of function + bool drawDabCustom(const Dab &dab, float *colorSummary) { + const float antialiasing = 0.66f; // equals to drawDab::minRadiusX + const float lr = 0.30f; + const float lg = 0.59f; + const float lb = 0.11f; + + if (!enableBlendNormal && !enableBlendLockAlpha && !enableBlendColorize && !enableSummary) + return false; + + // prepare summary + double colorSumR, colorSumG, colorSumB, colorSumA, colorSumW; + if (enableSummary) { + colorSummary[0] = 0.f; + colorSummary[1] = 0.f; + colorSummary[2] = 0.f; + colorSummary[3] = 0.f; + colorSumR = 0.0; + colorSumG = 0.0; + colorSumB = 0.0; + colorSumA = 0.0; + colorSumW = 0.0; + } + + // bounding rect + int x0 = std::max(0, (int)floor(dab.x - dab.radius - 1.f + precision)); + int x1 = std::min(width-1, (int)ceil(dab.x + dab.radius + 1.f - precision)); + int y0 = std::max(0, (int)floor(dab.y - dab.radius - 1.f + precision)); + int y1 = std::min(height-1, (int)ceil(dab.y + dab.radius + 1.f - precision)); + if (x0 > x1 || y0 > y1) + return false; + + if (controller && !askRead(controller, pointer, x0, y0, x1, y1)) + return false; + if (enableBlendNormal || enableBlendLockAlpha || enableBlendColorize) + if (controller && !askWrite(controller, pointer, x0, y0, x1, y1)) + return false; + + assert(pointer); + + // prepare pixel iterator + int w = x1 - x0 + 1; + int h = y1 - y0 + 1; + char *pixel = (char*)pointer + rowSize*y0 + pixelSize*x0; + int pixelNextCol = pixelSize; + int pixelNextRow = rowSize - w*pixelSize; + + // prepare geometry iterators + float radiusInv = 1.f/dab.radius; + float dx = (float)x0 - dab.x + 0.5f; + float dy = (float)y0 - dab.y + 0.5f; + float ddx, ddxNextCol, ddxNextRow; + float ddy, ddyNextCol, ddyNextRow; + if (enableAspect) { + float angle = dab.angle*((float)M_PI/180.f); + float s = sinf(angle); + float c = cosf(angle); + + float radiusYInv = radiusInv*dab.aspectRatio; + + ddx = (dx*c + dy*s)*radiusInv; + ddxNextCol = c*radiusInv; + ddxNextRow = (s - c*(float)w)*radiusInv; + + ddy = (dy*c - dx*s)*radiusYInv; + ddyNextCol = -s*radiusYInv; + ddyNextRow = (c + s*(float)w)*radiusYInv; + } else { + ddx = dx*radiusInv; + ddxNextCol = radiusInv; + ddxNextRow = -radiusInv*(float)w; + + ddy = dy*radiusInv; + ddyNextCol = 0.f; + ddyNextRow = radiusInv; + } + + // prepare antialiasing + float hardness, ka0, ka1, kb1, kc1, kc2; + float aa, aa2, aaSqr, ddySqrMin, aspectRatioSqr; + if (enableAntialiasing) { + if (enableHardnessOne) { + } else + if (enableHardnessHalf) { + ka0 = 0.25f; + kc2 = 0.75f; + } else { + hardness = std::min(dab.hardness, 1.f - precision); + float hk = hardness/(hardness - 1.f); + ka0 = 0.25f/hk; + ka1 = 0.25f*hk; + kb1 = -0.5f*hk; + kc1 = ((ka0 - ka1)*hardness + 0.5f - kb1)*hardness; + kc2 = ka1 + kb1 + kc1; + } + + aa = antialiasing*radiusInv; + if (enableAspect) { + ddySqrMin = 0.5f*aa*dab.aspectRatio; + ddySqrMin *= ddySqrMin; + aspectRatioSqr = dab.aspectRatio*dab.aspectRatio; + } else { + aa2 = aa + aa; + aaSqr = aa*aa; + } + } else { + if (enableHardnessOne) { + } else + if (enableHardnessHalf) { + } else { + hardness = std::min(dab.hardness, 1.f - precision); + float hk = hardness/(hardness - 1.f); + ka0 = 1.f/hk; + ka1 = hk; + kb1 = -hk; + } + } + + // prepare blend + float opaque = dab.opaque; + float colorR, colorG, colorB; + if (enableBlendNormal || enableBlendLockAlpha || enableBlendColorize) { + colorR = dab.colorR; + colorG = dab.colorG; + colorB = dab.colorB; + } + float blendNormal, blendAlphaEraser; + if (enableBlendNormal) { + blendNormal = (1.f - dab.lockAlpha)*(1.f - dab.colorize); + blendAlphaEraser = dab.alphaEraser; + } + float blendLockAlpha; + if (enableBlendLockAlpha) { + blendLockAlpha = dab.lockAlpha; + } + float blendColorize, blendColorizeSrcLum; + if (enableBlendColorize) { + blendColorize = dab.colorize; + blendColorizeSrcLum = dab.colorR*lr + dab.colorG*lg + dab.colorB*lb; + } + + // process + for(int iy = h; iy; --iy, ddx += ddxNextRow, ddy += ddyNextRow, pixel += pixelNextRow) + for(int ix = w; ix; --ix, ddx += ddxNextCol, ddy += ddyNextCol, pixel += pixelNextCol) { + float o; + if (enableAntialiasing) { + float dd, dr; + if (enableAspect) { + float ddxSqr = ddx*ddx; + float ddySqr = std::max(ddySqrMin, ddy*ddy); + dd = ddxSqr + ddySqr; + float k = aa*sqrtf(ddxSqr + ddySqr*aspectRatioSqr); + dr = k*(2.f + k/dd); + } else { + dd = ddx*ddx + ddy*ddy; + dr = aa2*sqrtf(dd) + aaSqr; + } + + float dd0 = dd - dr; + if (dd0 > 1.f) + continue; + float dd1 = dd + dr; + + float o0, o1; + if (enableHardnessOne) { + o0 = dd0 < -1.f ? -0.5f + : 0.5f*dd0; + o1 = dd1 < 1.f ? 0.5f*dd1 + : 0.5f; + } else + if (enableHardnessHalf) { + o0 = dd0 < -1.f ? -0.25f + : dd0 < 0.f ? ( 0.25f*dd0 + 0.5f )*dd0 + : (-0.25f*dd0 + 0.5f )*dd0; + o1 = dd1 < 1.f ? (-0.25f*dd1 + 0.5f )*dd1 + : 0.25f; + } else { + o0 = dd0 < -1.f ? -kc2 + : dd0 < -hardness ? (-ka1*dd0 + kb1 )*dd0 - kc1 + : dd0 < 0.f ? (-ka0*dd0 + 0.5f )*dd0 + : dd0 < hardness ? ( ka0*dd0 + 0.5f )*dd0 + : ( ka1*dd0 + kb1 )*dd0 + kc1; + o1 = dd1 < hardness ? ( ka0*dd1 + 0.5f )*dd1 + : dd1 < 1.f ? ( ka1*dd1 + kb1 )*dd1 + kc1 + : kc2; + } + o = opaque*(o1 - o0)/dr; + } else { + float dd = ddx*ddx + ddy*ddy; + if (dd > 1.f) + continue; + if (enableHardnessOne) { + o = opaque; + } else + if (enableHardnessHalf) { + o = opaque*(1.f - dd); + } else { + o = opaque*(dd < hardness ? ka0*dd + 1.f : ka1*dd + kb1); + } + } + + if (o <= precision) + continue; + + // read pixel + float destR, destG, destB, destA; + read(pixel, destR, destG, destB, destA); + + if (enablePremult) { + destR *= destA; + destG *= destA; + destB *= destA; + } + + if (enableSummary) { + colorSumR += (double)(o*destR); + colorSumG += (double)(o*destG); + colorSumB += (double)(o*destB); + colorSumA += (double)(o*destA); + colorSumW += (double)o; + } + + if (!enableBlendNormal && !enableBlendLockAlpha && !enableBlendColorize) + continue; + + if (enableBlendNormal) { + float oa = blendNormal*o; + float ob = 1.f - oa; + oa *= blendAlphaEraser; + destR = oa*dab.colorR + ob*destR; + destG = oa*dab.colorG + ob*destG; + destB = oa*dab.colorB + ob*destB; + destA = oa + ob*destA; + } + + if (enableBlendLockAlpha) { + float oa = blendLockAlpha*o; + float ob = 1.f - oa; + oa *= destA; + destR = oa*colorR + ob*destR; + destG = oa*colorG + ob*destG; + destB = oa*colorB + ob*destB; + } + + if (enableBlendColorize) { + float dLum = destR*lr + destG*lg + destB*lb - blendColorizeSrcLum; + float r = colorR + dLum; + float g = colorG + dLum; + float b = colorB + dLum; + + float lum = r*lr + g*lg + b*lb; + float cmin = std::min(std::min(r, g), b); + float cmax = std::max(std::max(r, g), b); + if (cmin < 0.f) { + float k = lum/(lum - cmin); + r = lum + k*(r - lum); + g = lum + k*(g - lum); + b = lum + k*(b - lum); + } + if (cmax > 1.f) { + float k = (1.f - lum)/(cmax - lum); + r = lum + k*(r - lum); + g = lum + k*(g - lum); + b = lum + k*(b - lum); + } + + float oa = blendColorize*o; + float ob = 1.f - oa; + destR = oa*r + ob*destR; + destG = oa*g + ob*destG; + destB = oa*b + ob*destB; + } + + if (enablePremult) { + if (destA > precision) { + float oneDivA = 1.f/destA; + destR *= oneDivA; + destG *= oneDivA; + destB *= oneDivA; + } + } + + // clamp + destR = std::min(std::max(destR, 0.f), 1.f); + destG = std::min(std::max(destG, 0.f), 1.f); + destB = std::min(std::max(destB, 0.f), 1.f); + destA = std::min(std::max(destA, 0.f), 1.f); + + write(pixel, destR, destG, destB, destA); + } + + if (enableSummary) { + double k = colorSumA > precision ? 1.0/colorSumA : 0.0; + colorSummary[0] = (float)(k*colorSumR); + colorSummary[1] = (float)(k*colorSumG); + colorSummary[2] = (float)(k*colorSumB); + colorSummary[3] = (float)(colorSumW > precision ? colorSumA/colorSumW : 0.0); + } + + return true; + } + + template< bool enableAspect, + bool enableAntialiasing, + bool enableHardnessOne, + bool enableHardnessHalf, + bool enableBlendNormal, + bool enableBlendLockAlpha > + inline bool drawDabCheckBlendColorize(const Dab &dab) { + if (dab.colorize > precision) { + return drawDabCustom< + enableAspect, + enableAntialiasing, + enableHardnessOne, + enableHardnessHalf, + false, // enablePremult + enableBlendNormal, + enableBlendLockAlpha, + true, // enableBlendColorize, + false // enableSummary + >(dab, 0); + } else { + return drawDabCustom< + enableAspect, + enableAntialiasing, + enableHardnessOne, + enableHardnessHalf, + false, // enablePremult + enableBlendNormal, + enableBlendLockAlpha, + false, // enableBlendColorize, + false // enableSummary + >(dab, 0); + } + } + + template< bool enableAspect, + bool enableAntialiasing, + bool enableHardnessOne, + bool enableHardnessHalf, + bool enableBlendNormal > + inline bool drawDabCheckBlendLockAlpha(const Dab &dab) { + if (dab.lockAlpha > precision) { + return drawDabCheckBlendColorize< + enableAspect, + enableAntialiasing, + enableHardnessOne, + enableHardnessHalf, + enableBlendNormal, + true // enableBlendLockAlpha + >(dab); + } else { + return drawDabCheckBlendColorize< + enableAspect, + enableAntialiasing, + enableHardnessOne, + enableHardnessHalf, + enableBlendNormal, + false // enableBlendLockAlpha + >(dab); + } + } + + template< bool enableAspect, + bool enableAntialiasing, + bool enableHardnessOne, + bool enableHardnessHalf > + inline bool drawDabCheckBlendNormal(const Dab &dab) { + if ((1.f - dab.lockAlpha)*(1.f - dab.colorize) > precision) { + return drawDabCheckBlendLockAlpha< + enableAspect, + enableAntialiasing, + enableHardnessOne, + enableHardnessHalf, + true // enableBlendNormal + >(dab); + } else { + return drawDabCheckBlendLockAlpha< + enableAspect, + enableAntialiasing, + enableHardnessOne, + enableHardnessHalf, + false // enableBlendNormal + >(dab); + } + } + + template< bool enableAspect, + bool enableAntialiasing > + inline bool drawDabCheckHardness(const Dab &dab) { + if (dab.hardness >= 1.f - precision) { + return drawDabCheckBlendNormal< + enableAspect, + enableAntialiasing, + true, // enableHardnessOne + false // enableHardnessHalf + >(dab); + } else + if (fabsf(dab.hardness - 0.5f) <= precision) { + return drawDabCheckBlendNormal< + enableAspect, + enableAntialiasing, + false, // enableHardnessOne + true // enableHardnessHalf + >(dab); + } else { + return drawDabCheckBlendNormal< + enableAspect, + enableAntialiasing, + false, // enableHardnessOne + false // enableHardnessHalf + >(dab); + } + } + + template< bool enableAspect > + inline bool drawDabCheckAntialiasing(const Dab &dab, bool antialiasing) { + if (antialiasing) { + return drawDabCheckHardness< + enableAspect, + true // enableAntialiasing + >(dab); + } else { + return drawDabCheckHardness< + enableAspect, + false // enableAntialiasing + >(dab); + } + } + + inline bool drawDabCheckAspect(const Dab &dab, bool antialiasing) { + if (dab.aspectRatio > 1.f + precision) { + return drawDabCheckAntialiasing< + true // enableAspect + >(dab, antialiasing); + } else { + return drawDabCheckAntialiasing< + false // enableAspect + >(dab, antialiasing); + } + } + + public: + bool getColor(float x, float y, float radius, + float &colorR, float &colorG, float &colorB, float &colorA) + { + float color[4]; + bool done = drawDabCustom< + false, // enableAspect + false, // enableAntialiasing + false, // enableHardnessOne + true, // enableHardnessHalf + false, // enablePremult + false, // enableBlendNormal + false, // enableBlendLockAlpha + false, // enableBlendColorize + true // enableSummary + >(Dab(x, y, radius), color); + colorR = color[0]; + colorG = color[1]; + colorB = color[2]; + colorA = color[3]; + return done; + } + + bool drawDab(const Dab &dab) { + const float minRadiusX = 0.66f; // equals to drawDabCustom::antialiasing + const float minRadiusY = 3.f*minRadiusX; + const float maxAspect = 10.f; + const float minOpaque = 1.f/256.f; + + // check limits + Dab d = dab.getClamped(); + if (d.radius <= precision) + return true; + if (d.hardness <= precision) + return true; + + // fix aspect + if (d.aspectRatio > maxAspect) { + d.opaque *= maxAspect/d.aspectRatio; + d.aspectRatio = maxAspect; + } + + // fix radius + float hardnessSize = 1.f; + if (d.radius < minRadiusX) { + d.opaque *= d.radius/minRadiusX; + d.radius = minRadiusX; + } + if (d.hardness < 0.5f) { + hardnessSize = sqrtf(d.hardness/(1.f - d.hardness)); + float radiusH = d.radius*hardnessSize; + if (radiusH < minRadiusX) { + d.opaque *= radiusH/minRadiusX; + hardnessSize = minRadiusX/d.radius; + float hardnessSizeSqr = hardnessSize*hardnessSize; + d.hardness = hardnessSizeSqr/(1.f + hardnessSizeSqr); + radiusH = minRadiusX; + } + if (d.hardness*d.opaque < minOpaque) { + d.radius = radiusH; + d.hardness = 0.5f; + hardnessSize = 1.f; + } + } + + float radiusYh = d.radius*hardnessSize/d.aspectRatio; + float actualMinRadiusY = std::min(d.radius, minRadiusY); + if (radiusYh < actualMinRadiusY) { + float k = radiusYh/actualMinRadiusY; + d.opaque *= k; + d.aspectRatio *= k; + } + + // check opaque + if (d.opaque < minOpaque) + return false; + + return drawDabCheckAspect(d, antialiasing); + } + }; // SurfaceCustom + } // helpers +} // mypaint + +#endif // MYPAINTHELPERS_H diff --git a/toonz/sources/include/toonzqt/styleeditor.h b/toonz/sources/include/toonzqt/styleeditor.h index 8608ac7..cb22543 100644 --- a/toonz/sources/include/toonzqt/styleeditor.h +++ b/toonz/sources/include/toonzqt/styleeditor.h @@ -548,6 +548,9 @@ class SettingsPage final : public QScrollArea { bool m_updating; //!< Whether the page is copying style content to its widget, //! to be displayed. +private: + int getParamIndex(const QWidget *widget); + public: SettingsPage(QWidget *parent); @@ -565,6 +568,7 @@ private slots: void onAutofillChanged(); void onValueChanged(bool isDragging = false); + void onValueReset(); }; //============================================================================= @@ -614,6 +618,7 @@ class DVAPI StyleEditor final : public QWidget { StyleEditorPage *m_specialStylePage; StyleChooserPage *m_customStylePage; StyleChooserPage *m_vectorBrushesStylePage; + StyleChooserPage *m_mypaintBrushesStylePage; SettingsPage *m_settingsPage; TColorStyleP diff --git a/toonz/sources/mousedragfilter/CMakeLists.txt b/toonz/sources/mousedragfilter/CMakeLists.txt index 5eeb0fd..d825b6c 100644 --- a/toonz/sources/mousedragfilter/CMakeLists.txt +++ b/toonz/sources/mousedragfilter/CMakeLists.txt @@ -3,7 +3,7 @@ if(BUILD_ENV_APPLE) project(MouseDragFilter) include_directories(.) - find_library(FOUNDATION_LIBRARY NAMES foundation) + find_library(FOUNDATION_LIBRARY NAMES Foundation) find_library(CG_LIBRARY NAMES CoreGraphics) add_library(mousedragfilter mousedragfilter.mm mousedragfilter.h) target_link_libraries(mousedragfilter ${CG_LIBRARY} ${FOUNDATION_LIBRARY}) diff --git a/toonz/sources/tnztools/CMakeLists.txt b/toonz/sources/tnztools/CMakeLists.txt index 4fd4c19..172a11a 100644 --- a/toonz/sources/tnztools/CMakeLists.txt +++ b/toonz/sources/tnztools/CMakeLists.txt @@ -33,6 +33,7 @@ set(HEADERS ${MOC_HEADERS} ../include/tools/toolcommandids.h ../include/tools/toolutils.h ../include/tools/RGBpicker.h + mypainttoonzbrush.h ) set(SOURCES @@ -92,6 +93,7 @@ set(SOURCES screenpicker.cpp fingertool.cpp rulertool.cpp + mypainttoonzbrush.cpp ) set(RESOURCES tnztools.qrc) @@ -124,4 +126,4 @@ include_directories( _find_toonz_library(EXTRA_LIBS "tnzcore;tnzbase;tnzext;toonzlib;toonzqt") -target_link_libraries(tnztools Qt5::Core Qt5::Gui Qt5::Widgets Qt5::Network Qt5::OpenGL ${GLUT_LIB} ${EXTRA_LIBS} ${GL_LIB}) +target_link_libraries(tnztools Qt5::Core Qt5::Gui Qt5::Widgets Qt5::Network Qt5::OpenGL ${GLUT_LIB} ${EXTRA_LIBS} ${GL_LIB} ${MYPAINT_LIB_LDFLAGS}) diff --git a/toonz/sources/tnztools/brushtool.cpp b/toonz/sources/tnztools/brushtool.cpp index ab9b4c5..1cb08c7 100644 --- a/toonz/sources/tnztools/brushtool.cpp +++ b/toonz/sources/tnztools/brushtool.cpp @@ -2005,7 +2005,10 @@ BrushData::BrushData() , m_pressure(false) , m_cap(0) , m_join(0) - , m_miter(0) {} + , m_miter(0) + , m_modifierSize(0.0) + , m_modifierOpacity(0.0) + {} //---------------------------------------------------------------------------------------------------------- @@ -2024,7 +2027,10 @@ BrushData::BrushData(const std::wstring &name) , m_pressure(false) , m_cap(0) , m_join(0) - , m_miter(0) {} + , m_miter(0) + , m_modifierSize(0.0) + , m_modifierOpacity(0.0) + {} //---------------------------------------------------------------------------------------------------------- @@ -2068,6 +2074,12 @@ void BrushData::saveData(TOStream &os) { os.openChild("Miter"); os << m_miter; os.closeChild(); + os.openChild("Modifier_Size"); + os << m_modifierSize; + os.closeChild(); + os.openChild("Modifier_Opacity"); + os << m_modifierOpacity; + os.closeChild(); } //---------------------------------------------------------------------------------------------------------- @@ -2103,6 +2115,10 @@ void BrushData::loadData(TIStream &is) { is >> m_join, is.matchEndTag(); else if (tagName == "Miter") is >> m_miter, is.matchEndTag(); + else if (tagName == "Modifier_Size") + is >> m_modifierSize, is.matchEndTag(); + else if (tagName == "Modifier_Opacity") + is >> m_modifierOpacity, is.matchEndTag(); else is.skipCurrentTag(); } diff --git a/toonz/sources/tnztools/brushtool.h b/toonz/sources/tnztools/brushtool.h index 3a87f8e..03765ed 100644 --- a/toonz/sources/tnztools/brushtool.h +++ b/toonz/sources/tnztools/brushtool.h @@ -38,6 +38,7 @@ struct BrushData final : public TPersist { double m_min, m_max, m_acc, m_smooth, m_hardness, m_opacityMin, m_opacityMax; bool m_selective, m_pencil, m_breakAngles, m_pressure; int m_cap, m_join, m_miter; + double m_modifierSize, m_modifierOpacity; BrushData(); BrushData(const std::wstring &name); diff --git a/toonz/sources/tnztools/fullcolorbrushtool.cpp b/toonz/sources/tnztools/fullcolorbrushtool.cpp index ac7841d..127019d 100644 --- a/toonz/sources/tnztools/fullcolorbrushtool.cpp +++ b/toonz/sources/tnztools/fullcolorbrushtool.cpp @@ -9,7 +9,7 @@ #include "tools/toolhandle.h" #include "tools/tooloptions.h" -#include "bluredbrush.h" +#include "mypainttoonzbrush.h" // TnzQt includes #include "toonzqt/dvdialog.h" @@ -24,6 +24,7 @@ #include "toonz/strokegenerator.h" #include "toonz/tstageobject.h" #include "toonz/palettecontroller.h" +#include "toonz/mypaintbrushstyle.h" // TnzCore includes #include "tgl.h" @@ -35,6 +36,7 @@ #include "tstream.h" #include "tstroke.h" #include "timagecache.h" +#include "tpixelutils.h" // Qt includes #include // Qt translation support @@ -47,6 +49,8 @@ TEnv::IntVar FullcolorPressureSensitivity("FullcolorPressureSensitivity", 1); TEnv::DoubleVar FullcolorBrushHardness("FullcolorBrushHardness", 100); TEnv::DoubleVar FullcolorMinOpacity("FullcolorMinOpacity", 100); TEnv::DoubleVar FullcolorMaxOpacity("FullcolorMaxOpacity", 100); +TEnv::DoubleVar FullcolorModifierSize("FullcolorModifierSize", 0); +TEnv::DoubleVar FullcolorModifierOpacity("FullcolorModifierOpacity", 100); //---------------------------------------------------------------------------------- @@ -56,31 +60,6 @@ TEnv::DoubleVar FullcolorMaxOpacity("FullcolorMaxOpacity", 100); namespace { -int computeThickness(int pressure, const TIntPairProperty &property, - bool isPath = false) { - if (isPath) return 0.0; - double p = pressure / 255.0; - double t = p * p * p; - int thick0 = property.getValue().first; - int thick1 = property.getValue().second; - return tround(thick0 + (thick1 - thick0) * t); -} - -//---------------------------------------------------------------------------------- - -double computeThickness(int pressure, const TDoublePairProperty &property, - bool isPath = false) { - if (isPath) return 0.0; - double p = pressure / 255.0; - double t = p * p * p; - double thick0 = property.getValue().first; - double thick1 = property.getValue().second; - if (thick1 < 0.0001) thick0 = thick1 = 0.0; - return (thick0 + (thick1 - thick0) * t); -} - -//---------------------------------------------------------------------------------- - class FullColorBrushUndo final : public ToolUtils::TFullColorRasterUndo { TPoint m_offset; QString m_id; @@ -134,10 +113,13 @@ FullColorBrushTool::FullColorBrushTool(std::string name) , m_pressure("Pressure", true) , m_opacity("Opacity", 0, 100, 100, 100, true) , m_hardness("Hardness:", 0, 100, 100) + , m_modifierSize("ModifierSize", -3, 3, 0, true) + , m_modifierOpacity("ModifierOpacity", 0, 100, 100, true) , m_preset("Preset:") - , m_styleId(0) - , m_oldOpacity(1) - , m_brush(0) + , m_minCursorThick(0) + , m_maxCursorThick(0) + , m_enabledPressure(false) + , m_toonz_brush(0) , m_tileSet(0) , m_tileSaver(0) , m_notifier(0) @@ -148,9 +130,14 @@ FullColorBrushTool::FullColorBrushTool(std::string name) m_prop.bind(m_thickness); m_prop.bind(m_hardness); m_prop.bind(m_opacity); + m_prop.bind(m_modifierSize); + m_prop.bind(m_modifierOpacity); m_prop.bind(m_pressure); m_prop.bind(m_preset); + m_preset.setId("BrushPreset"); + + m_brushTimer.start(); } //--------------------------------------------------------------------------------------------------- @@ -171,12 +158,20 @@ void FullColorBrushTool::onCanvasSizeChanged() { //--------------------------------------------------------------------------------------------------- +void FullColorBrushTool::onColorStyleChanged() { + getApplication()->getCurrentTool()->notifyToolChanged(); +} + +//--------------------------------------------------------------------------------------------------- + void FullColorBrushTool::updateTranslation() { m_thickness.setQStringName(tr("Size")); m_pressure.setQStringName(tr("Pressure")); m_opacity.setQStringName(tr("Opacity")); m_hardness.setQStringName(tr("Hardness:")); m_preset.setQStringName(tr("Preset:")); + m_modifierSize.setQStringName(tr("Size")); + m_modifierOpacity.setQStringName(tr("Opacity")); } //--------------------------------------------------------------------------------------------------- @@ -184,7 +179,7 @@ void FullColorBrushTool::updateTranslation() { void FullColorBrushTool::onActivate() { if (!m_notifier) m_notifier = new FullColorBrushToolNotifier(this); - updateCurrentColor(); + updateCurrentStyle(); if (m_firstTime) { m_firstTime = false; @@ -194,11 +189,12 @@ void FullColorBrushTool::onActivate() { m_opacity.setValue( TDoublePairProperty::Value(FullcolorMinOpacity, FullcolorMaxOpacity)); m_hardness.setValue(FullcolorBrushHardness); + m_modifierSize.setValue(FullcolorModifierSize); + m_modifierOpacity.setValue(FullcolorModifierOpacity); } - m_brushPad = ToolUtils::getBrushPad(m_thickness.getValue().second, - m_hardness.getValue() * 0.01); setWorkAndBackupImages(); + onColorStyleChanged(); } //-------------------------------------------------------------------------------------------------- @@ -212,27 +208,64 @@ void FullColorBrushTool::onDeactivate() { //-------------------------------------------------------------------------------------------------- void FullColorBrushTool::updateWorkAndBackupRasters(const TRect &rect) { + if (rect.isEmpty()) return; + TRasterImageP ri = TImageP(getImage(false, 1)); if (!ri) return; TRasterP ras = ri->getRaster(); - TRect _rect = rect * ras->getBounds(); - TRect _lastRect = m_lastRect * ras->getBounds(); - - if (_rect.isEmpty()) return; + const int denominator = 8; + TRect enlargedRect = rect + m_lastRect; + int dx = (enlargedRect.getLx()-1)/denominator+1; + int dy = (enlargedRect.getLy()-1)/denominator+1; if (m_lastRect.isEmpty()) { - m_workRaster->extract(_rect)->clear(); + enlargedRect.x0 -= dx; + enlargedRect.y0 -= dy; + enlargedRect.x1 += dx; + enlargedRect.y1 += dy; + + TRect _rect = enlargedRect*ras->getBounds(); + if (_rect.isEmpty()) return; + + m_workRaster->extract(_rect)->copy(ras->extract(_rect)); m_backUpRas->extract(_rect)->copy(ras->extract(_rect)); - return; + } else { + if (enlargedRect.x0 < m_lastRect.x0) enlargedRect.x0 -= dx; + if (enlargedRect.y0 < m_lastRect.y0) enlargedRect.y0 -= dy; + if (enlargedRect.x1 > m_lastRect.x1) enlargedRect.x1 += dx; + if (enlargedRect.y1 > m_lastRect.y1) enlargedRect.y1 += dy; + + TRect _rect = enlargedRect*ras->getBounds(); + if (_rect.isEmpty()) return; + + TRect _lastRect = m_lastRect * ras->getBounds(); + QList rects = ToolUtils::splitRect(_rect, _lastRect); + for (int i = 0; i < rects.size(); i++) { + m_workRaster->extract(rects[i])->copy(ras->extract(rects[i])); + m_backUpRas->extract(rects[i])->copy(ras->extract(rects[i])); + } } - QList rects = ToolUtils::splitRect(_rect, _lastRect); - for (int i = 0; i < rects.size(); i++) { - m_workRaster->extract(rects[i])->clear(); - m_backUpRas->extract(rects[i])->copy(ras->extract(rects[i])); - } + m_lastRect = enlargedRect; +} + +//-------------------------------------------------------------------------------------------------- + +bool FullColorBrushTool::askRead(const TRect &rect) { + return askWrite(rect); +} + +//-------------------------------------------------------------------------------------------------- + +bool FullColorBrushTool::askWrite(const TRect &rect) { + if (rect.isEmpty()) return true; + m_strokeRect += rect; + m_strokeSegmentRect += rect; + updateWorkAndBackupRasters(rect); + m_tileSaver->save(rect); + return true; } //-------------------------------------------------------------------------------------------------- @@ -249,6 +282,7 @@ bool FullColorBrushTool::preLeftButtonDown() { void FullColorBrushTool::leftButtonDown(const TPointD &pos, const TMouseEvent &e) { + TPointD previousBrushPos = m_brushPos; m_brushPos = m_mousePos = pos; m_mousePressed = true; m_mouseEvent = e; @@ -262,155 +296,102 @@ void FullColorBrushTool::leftButtonDown(const TPointD &pos, /* update color here since the current style might be switched with numpad * shortcut keys */ - updateCurrentColor(); + updateCurrentStyle(); - TRasterP ras = ri->getRaster(); - TDimension dim = ras->getSize(); + TRasterP ras = ri->getRaster(); if (!(m_workRaster && m_backUpRas)) setWorkAndBackupImages(); m_workRaster->lock(); - double maxThick = m_thickness.getValue().second; - double thickness = m_pressure.getValue() - ? computeThickness(e.m_pressure, m_thickness) - : maxThick; - double opacity = - (m_pressure.getValue() ? computeThickness(e.m_pressure, m_opacity) - : m_opacity.getValue().second) * - 0.01; - TPointD rasCenter = TPointD(dim.lx * 0.5, dim.ly * 0.5); - TThickPoint point(pos + rasCenter, thickness); - TPointD halfThick(maxThick * 0.5, maxThick * 0.5); - TRectD invalidateRect(pos - halfThick, pos + halfThick); - - m_points.clear(); - m_points.push_back(point); + TPointD rasCenter = ras->getCenterD(); + TPointD point(pos + rasCenter); + double pressure = m_enabledPressure && e.isTablet() ? e.m_pressure/255.0 : 0.5; m_tileSet = new TTileSetFullColor(ras->getSize()); m_tileSaver = new TTileSaverFullColor(ras, m_tileSet); - double hardness = m_hardness.getValue() * 0.01; - - m_brush = - new BluredBrush(m_workRaster, maxThick, m_brushPad, hardness == 1.0); - m_strokeRect = m_brush->getBoundFromPoints(m_points); - updateWorkAndBackupRasters(m_strokeRect); - m_tileSaver->save(m_strokeRect); - m_brush->addPoint(point, opacity); - m_brush->updateDrawing(ras, m_backUpRas, m_currentColor, m_strokeRect, - m_opacity.getValue().second * 0.01); - m_oldOpacity = opacity; - m_lastRect = m_strokeRect; - - invalidate(invalidateRect.enlarge(2)); + + mypaint::Brush mypaintBrush; + applyToonzBrushSettings(mypaintBrush); + m_toonz_brush = new MyPaintToonzBrush(m_workRaster, *this, mypaintBrush); + + m_strokeRect.empty(); + m_strokeSegmentRect.empty(); + m_toonz_brush->beginStroke(); + m_toonz_brush->strokeTo(point, pressure, restartBrushTimer()); + TRect updateRect = m_strokeSegmentRect*ras->getBounds(); + if (!updateRect.isEmpty()) + ras->extract(updateRect)->copy(m_workRaster->extract(updateRect)); + + TPointD thickOffset(m_maxCursorThick*0.5, m_maxCursorThick*0.5); + TRectD invalidateRect = convert(m_strokeSegmentRect) - rasCenter; + invalidateRect += TRectD(m_brushPos - thickOffset, m_brushPos + thickOffset); + invalidateRect += TRectD(previousBrushPos - thickOffset, previousBrushPos + thickOffset); + invalidate(invalidateRect.enlarge(2.0)); } //------------------------------------------------------------------------------------------------------------- void FullColorBrushTool::leftButtonDrag(const TPointD &pos, const TMouseEvent &e) { + TPointD previousBrushPos = m_brushPos; m_brushPos = m_mousePos = pos; m_mouseEvent = e; TRasterImageP ri = (TRasterImageP)getImage(true); if (!ri) return; - double maxThickness = m_thickness.getValue().second; - double thickness = m_pressure.getValue() - ? computeThickness(e.m_pressure, m_thickness) - : maxThickness; - double opacity = - (m_pressure.getValue() ? computeThickness(e.m_pressure, m_opacity) - : m_opacity.getValue().second) * - 0.01; - TDimension size = m_workRaster->getSize(); - TPointD rasCenter = TPointD(size.lx * 0.5, size.ly * 0.5); - TThickPoint point(pos + rasCenter, thickness); - - TThickPoint old = m_points.back(); - if (norm2(point - old) < 4) return; - - TThickPoint mid((old + point) * 0.5, (point.thick + old.thick) * 0.5); - m_points.push_back(mid); - m_points.push_back(point); - - TRect bbox; - int m = m_points.size(); - TRectD invalidateRect; - if (m == 3) { - // ho appena cominciato. devo disegnare un segmento - TThickPoint pa = m_points.front(); - std::vector points; - points.push_back(pa); - points.push_back(mid); - invalidateRect = ToolUtils::getBounds(points, maxThickness); - bbox = m_brush->getBoundFromPoints(points); - updateWorkAndBackupRasters(bbox + m_lastRect); - m_tileSaver->save(bbox); - m_brush->addArc(pa, (pa + mid) * 0.5, mid, m_oldOpacity, opacity); - m_lastRect += bbox; - } else { - // caso generale: disegno un arco - std::vector points; - points.push_back(m_points[m - 4]); - points.push_back(old); - points.push_back(mid); - invalidateRect = ToolUtils::getBounds(points, maxThickness); - bbox = m_brush->getBoundFromPoints(points); - updateWorkAndBackupRasters(bbox + m_lastRect); - m_tileSaver->save(bbox); - m_brush->addArc(m_points[m - 4], old, mid, m_oldOpacity, opacity); - m_lastRect += bbox; - } - m_oldOpacity = opacity; - m_brush->updateDrawing(ri->getRaster(), m_backUpRas, m_currentColor, bbox, - m_opacity.getValue().second * 0.01); - invalidate(invalidateRect.enlarge(2) - rasCenter); - m_strokeRect += bbox; + TRasterP ras = ri->getRaster(); + TPointD rasCenter = ras->getCenterD(); + TPointD point(pos + rasCenter); + double pressure = m_enabledPressure && e.isTablet() ? e.m_pressure/255.0 : 0.5; + + m_strokeSegmentRect.empty(); + m_toonz_brush->strokeTo(point, pressure, restartBrushTimer()); + TRect updateRect = m_strokeSegmentRect*ras->getBounds(); + if (!updateRect.isEmpty()) + ras->extract(updateRect)->copy(m_workRaster->extract(updateRect)); + + TPointD thickOffset(m_maxCursorThick*0.5, m_maxCursorThick*0.5); + TRectD invalidateRect = convert(m_strokeSegmentRect) - rasCenter; + invalidateRect += TRectD(m_brushPos - thickOffset, m_brushPos + thickOffset); + invalidateRect += TRectD(previousBrushPos - thickOffset, previousBrushPos + thickOffset); + invalidate(invalidateRect.enlarge(2.0)); } //--------------------------------------------------------------------------------------------------------------- void FullColorBrushTool::leftButtonUp(const TPointD &pos, const TMouseEvent &e) { + TPointD previousBrushPos = m_brushPos; m_brushPos = m_mousePos = pos; TRasterImageP ri = (TRasterImageP)getImage(true); if (!ri) return; - if (m_points.size() != 1) { - double maxThickness = m_thickness.getValue().second; - double thickness = m_pressure.getValue() - ? computeThickness(e.m_pressure, m_thickness) - : maxThickness; - double opacity = - (m_pressure.getValue() ? computeThickness(e.m_pressure, m_opacity) - : m_opacity.getValue().second) * - 0.01; - TPointD rasCenter = ri->getRaster()->getCenterD(); - TThickPoint point(pos + rasCenter, thickness); - m_points.push_back(point); - int m = m_points.size(); - std::vector points; - points.push_back(m_points[m - 3]); - points.push_back(m_points[m - 2]); - points.push_back(m_points[m - 1]); - TRect bbox = m_brush->getBoundFromPoints(points); - updateWorkAndBackupRasters(bbox); - m_tileSaver->save(bbox); - m_brush->addArc(points[0], points[1], points[2], m_oldOpacity, opacity); - m_brush->updateDrawing(ri->getRaster(), m_backUpRas, m_currentColor, bbox, - m_opacity.getValue().second * 0.01); - TRectD invalidateRect = ToolUtils::getBounds(points, maxThickness); - invalidate(invalidateRect.enlarge(2) - rasCenter); - m_strokeRect += bbox; - m_lastRect.empty(); - } - - if (m_brush) { - delete m_brush; - m_brush = 0; + TRasterP ras = ri->getRaster(); + TPointD rasCenter = ras->getCenterD(); + TPointD point(pos + rasCenter); + double pressure = m_enabledPressure && e.isTablet() ? e.m_pressure/255.0 : 0.5; + + m_strokeSegmentRect.empty(); + m_toonz_brush->strokeTo(point, pressure, restartBrushTimer()); + m_toonz_brush->endStroke(); + TRect updateRect = m_strokeSegmentRect*ras->getBounds(); + if (!updateRect.isEmpty()) + ras->extract(updateRect)->copy(m_workRaster->extract(updateRect)); + + TPointD thickOffset(m_maxCursorThick*0.5, m_maxCursorThick*0.5); + TRectD invalidateRect = convert(m_strokeSegmentRect) - rasCenter; + invalidateRect += TRectD(m_brushPos - thickOffset, m_brushPos + thickOffset); + invalidateRect += TRectD(previousBrushPos - thickOffset, previousBrushPos + thickOffset); + invalidate(invalidateRect.enlarge(2.0)); + + if (m_toonz_brush) { + delete m_toonz_brush; + m_toonz_brush = 0; } + m_lastRect.empty(); m_workRaster->unlock(); if (m_tileSet->getTileCount() > 0) { @@ -419,10 +400,10 @@ void FullColorBrushTool::leftButtonUp(const TPointD &pos, TXshLevel *level = app->getCurrentLevel()->getLevel(); TXshSimpleLevelP simLevel = level->getSimpleLevel(); TFrameId frameId = getCurrentFid(); - TRasterP ras = ri->getRaster()->extract(m_strokeRect)->clone(); + TRasterP subras = ras->extract(m_strokeRect)->clone(); TUndoManager::manager()->add( new FullColorBrushUndo(m_tileSet, simLevel.getPointer(), frameId, - m_isFrameCreated, ras, m_strokeRect.getP00())); + m_isFrameCreated, subras, m_strokeRect.getP00())); } notifyImageChanged(); @@ -497,41 +478,54 @@ void FullColorBrushTool::draw() { if (TRasterImageP ri = TRasterImageP(getImage(false))) { TRasterP ras = ri->getRaster(); - glColor3d(1.0, 0.0, 0.0); + double alpha = 1.0; + double alphaRadius = 3.0; + double pixelSize = sqrt(tglGetPixelSize2()); + + // circles with lesser radius looks more bold + // to avoid these effect we'll reduce alpha for small radiuses + double minX = m_minCursorThick/(alphaRadius*pixelSize); + double maxX = m_maxCursorThick/(alphaRadius*pixelSize); + double minAlpha = alpha*(1.0 - 1.0/(1.0 + minX)); + double maxAlpha = alpha*(1.0 - 1.0/(1.0 + maxX)); + + glPushAttrib(GL_ALL_ATTRIB_BITS); + tglEnableBlending(); + tglEnableLineSmooth(true, 0.5); + + if (m_minCursorThick < m_maxCursorThick - pixelSize) { + glColor4d(1.0, 1.0, 1.0, minAlpha); + tglDrawCircle(m_brushPos, (m_minCursorThick + 1)*0.5 - pixelSize); + glColor4d(0.0, 0.0, 0.0, minAlpha); + tglDrawCircle(m_brushPos, (m_minCursorThick + 1)*0.5); + } + + glColor4d(1.0, 1.0, 1.0, maxAlpha); + tglDrawCircle(m_brushPos, (m_maxCursorThick + 1)*0.5 - pixelSize); + glColor4d(0.0, 0.0, 0.0, maxAlpha); + tglDrawCircle(m_brushPos, (m_maxCursorThick + 1)*0.5); - tglDrawCircle(m_brushPos, (m_minThick + 1) * 0.5); - tglDrawCircle(m_brushPos, (m_maxThick + 1) * 0.5); + glPopAttrib(); } } //-------------------------------------------------------------------------------------------------------------- void FullColorBrushTool::onEnter() { - TImageP img = getImage(false); - TRasterImageP ri(img); - if (ri) { - m_minThick = m_thickness.getValue().first; - m_maxThick = m_thickness.getValue().second; - } else { - m_minThick = 0; - m_maxThick = 0; - } - - updateCurrentColor(); + updateCurrentStyle(); } //---------------------------------------------------------------------------------------------------------- void FullColorBrushTool::onLeave() { - m_minThick = 0; - m_maxThick = 0; + m_minCursorThick = 0; + m_maxCursorThick = 0; } //---------------------------------------------------------------------------------------------------------- TPropertyGroup *FullColorBrushTool::getProperties(int targetType) { if (!m_presetsLoaded) initPresets(); - return &m_prop; } @@ -564,24 +558,16 @@ void FullColorBrushTool::setWorkAndBackupImages() { //------------------------------------------------------------------ bool FullColorBrushTool::onPropertyChanged(std::string propertyName) { - m_minThick = m_thickness.getValue().first; - m_maxThick = m_thickness.getValue().second; - if (propertyName == "Hardness:" || propertyName == "Thickness" || - propertyName == "Size") { - m_brushPad = ToolUtils::getBrushPad(m_thickness.getValue().second, - m_hardness.getValue() * 0.01); - TRectD rect(m_brushPos - TPointD(m_maxThick + 2, m_maxThick + 2), - m_brushPos + TPointD(m_maxThick + 2, m_maxThick + 2)); - invalidate(rect); - } - /*if(propertyName == "Hardness:" || propertyName == "Opacity:") -setWorkAndBackupImages();*/ - FullcolorBrushMinSize = m_minThick; - FullcolorBrushMaxSize = m_maxThick; + FullcolorBrushMinSize = m_thickness.getValue().first; + FullcolorBrushMaxSize = m_thickness.getValue().second; FullcolorPressureSensitivity = m_pressure.getValue(); FullcolorBrushHardness = m_hardness.getValue(); FullcolorMinOpacity = m_opacity.getValue().first; FullcolorMaxOpacity = m_opacity.getValue().second; + FullcolorModifierSize = m_modifierSize.getValue(); + FullcolorModifierOpacity = m_modifierOpacity.getValue(); + + updateCurrentStyle(); if (propertyName == "Preset:") { loadPreset(); @@ -631,11 +617,12 @@ void FullColorBrushTool::loadPreset() { { m_thickness.setValue( TIntPairProperty::Value(std::max((int)preset.m_min, 1), preset.m_max)); - m_brushPad = ToolUtils::getBrushPad(preset.m_max, preset.m_hardness * 0.01); m_hardness.setValue(preset.m_hardness, true); m_opacity.setValue( TDoublePairProperty::Value(preset.m_opacityMin, preset.m_opacityMax)); m_pressure.setValue(preset.m_pressure); + m_modifierSize.setValue(preset.m_modifierSize); + m_modifierOpacity.setValue(preset.m_modifierOpacity); } catch (...) { } } @@ -646,12 +633,14 @@ void FullColorBrushTool::addPreset(QString name) { // Build the preset BrushData preset(name.toStdWString()); - preset.m_min = m_thickness.getValue().first; - preset.m_max = m_thickness.getValue().second; - preset.m_hardness = m_hardness.getValue(); - preset.m_opacityMin = m_opacity.getValue().first; - preset.m_opacityMax = m_opacity.getValue().second; - preset.m_pressure = m_pressure.getValue(); + preset.m_min = m_thickness.getValue().first; + preset.m_max = m_thickness.getValue().second; + preset.m_hardness = m_hardness.getValue(); + preset.m_opacityMin = m_opacity.getValue().first; + preset.m_opacityMax = m_opacity.getValue().second; + preset.m_pressure = m_pressure.getValue(); + preset.m_modifierSize = m_modifierSize.getValue(); + preset.m_modifierOpacity = m_modifierOpacity.getValue(); // Pass the preset to the manager m_presetsManager.addPreset(preset); @@ -678,32 +667,209 @@ void FullColorBrushTool::removePreset() { //------------------------------------------------------------------ -void FullColorBrushTool::updateCurrentColor() { - TTool::Application *app = getApplication(); - if (app->getCurrentObject()->isSpline()) { - m_currentColor = TPixel32::Red; - return; +void FullColorBrushTool::updateCurrentStyle() { + m_currentColor = TPixel32::Black; + if (TTool::Application *app = getApplication()) { + if (app->getCurrentObject()->isSpline()) { + m_currentColor = TPixel32::Red; + } else + if (TPalette *plt = app->getCurrentPalette()->getPalette()) { + int style = app->getCurrentLevelStyleIndex(); + TColorStyle *colorStyle = plt->getStyle(style); + m_currentColor = colorStyle->getMainColor(); + } } - TPalette *plt = app->getCurrentPalette()->getPalette(); - if (!plt) return; - int style = app->getCurrentLevelStyleIndex(); - TColorStyle *colorStyle = plt->getStyle(style); - m_currentColor = colorStyle->getMainColor(); + int prevMinCursorThick = m_minCursorThick; + int prevMaxCursorThick = m_maxCursorThick; + + m_enabledPressure = m_pressure.getValue(); + if (TMyPaintBrushStyle *brushStyle = getBrushStyle()) { + double radiusLog = brushStyle->getBrush().getBaseValue(MYPAINT_BRUSH_SETTING_RADIUS_LOGARITHMIC) + + m_modifierSize.getValue()*log(2.0); + double radius = exp(radiusLog); + m_minCursorThick = m_maxCursorThick = (int)round(2.0*radius); + } else { + m_minCursorThick = std::max(m_thickness.getValue().first, 1); + m_maxCursorThick = std::max(m_thickness.getValue().second, m_minCursorThick); + if (!m_enabledPressure) { + double minRadiusLog = log(0.5*m_minCursorThick); + double maxRadiusLog = log(0.5*m_maxCursorThick); + double avgRadiusLog = 0.5*(minRadiusLog + maxRadiusLog); + double avgRadius = exp(avgRadiusLog); + m_minCursorThick = m_maxCursorThick = (int)round(2.0*avgRadius); + } + } + + if (m_minCursorThick != prevMinCursorThick || m_maxCursorThick != prevMaxCursorThick) { + TRectD rect(m_brushPos - TPointD(m_maxCursorThick + 2, m_maxCursorThick + 2), + m_brushPos + TPointD(m_maxCursorThick + 2, m_maxCursorThick + 2)); + invalidate(rect); + } +} + +//------------------------------------------------------------------ + +double FullColorBrushTool::restartBrushTimer() { + double dtime = m_brushTimer.nsecsElapsed()*1e-9; + m_brushTimer.restart(); + return dtime; +} + +//------------------------------------------------------------------ + +TMyPaintBrushStyle* FullColorBrushTool::getBrushStyle() { + if (TTool::Application *app = getApplication()) + return dynamic_cast( app->getCurrentLevelStyle() ); + return 0; } +//------------------------------------------------------------------ + +void FullColorBrushTool::applyClassicToonzBrushSettings(mypaint::Brush &mypaintBrush) { + const double precision = 1e-5; + const double hardnessOpacity = 0.1; + + double minThickness = 0.5*m_thickness.getValue().first; + double maxThickness = 0.5*m_thickness.getValue().second; + double minOpacity = 0.01*m_opacity.getValue().first; + double maxOpacity = 0.01*m_opacity.getValue().second; + double hardness = 0.01*m_hardness.getValue(); + + TPixelD color = PixelConverter::from(m_currentColor); + double colorH = 0.0; + double colorS = 0.0; + double colorV = 0.0; + RGB2HSV(color.r, color.g, color.b, &colorH, &colorS, &colorV); + + // avoid log(0) + if (minThickness < precision) + minThickness = precision; + if (maxThickness < precision) + maxThickness = precision; + + // tune hardness opacity for better visual softness + hardness *= hardness; + double opacityAmplifier = 1.0 - hardnessOpacity + hardness*hardnessOpacity; + minOpacity *= opacityAmplifier; + maxOpacity *= opacityAmplifier; + + // reset + mypaintBrush.fromDefaults(); + mypaintBrush.setBaseValue(MYPAINT_BRUSH_SETTING_OPAQUE_MULTIPLY, 1.0); + mypaintBrush.setMappingN( + MYPAINT_BRUSH_SETTING_OPAQUE_MULTIPLY, + MYPAINT_BRUSH_INPUT_PRESSURE, + 0 ); + + mypaintBrush.setBaseValue(MYPAINT_BRUSH_SETTING_HARDNESS, 0.5*hardness + 0.5); + mypaintBrush.setBaseValue(MYPAINT_BRUSH_SETTING_COLOR_H, colorH/360.0); + mypaintBrush.setBaseValue(MYPAINT_BRUSH_SETTING_COLOR_S, colorS); + mypaintBrush.setBaseValue(MYPAINT_BRUSH_SETTING_COLOR_V, colorV); + mypaintBrush.setBaseValue(MYPAINT_BRUSH_SETTING_DABS_PER_ACTUAL_RADIUS, 5.0 + hardness*10.0); + mypaintBrush.setBaseValue(MYPAINT_BRUSH_SETTING_DABS_PER_BASIC_RADIUS, 0.0); + mypaintBrush.setBaseValue(MYPAINT_BRUSH_SETTING_DABS_PER_SECOND, 0.0); + + // thickness may be dynamic + if (minThickness + precision >= maxThickness) { + mypaintBrush.setBaseValue(MYPAINT_BRUSH_SETTING_RADIUS_LOGARITHMIC, log(maxThickness)); + mypaintBrush.setMappingN( + MYPAINT_BRUSH_SETTING_RADIUS_LOGARITHMIC, + MYPAINT_BRUSH_INPUT_PRESSURE, + 0 ); + } else { + double minThicknessLog = log(minThickness); + double maxThicknessLog = log(maxThickness); + double baseThicknessLog = 0.5*(minThicknessLog + maxThicknessLog); + mypaintBrush.setBaseValue(MYPAINT_BRUSH_SETTING_RADIUS_LOGARITHMIC, baseThicknessLog); + mypaintBrush.setMappingN( + MYPAINT_BRUSH_SETTING_RADIUS_LOGARITHMIC, + MYPAINT_BRUSH_INPUT_PRESSURE, + 2 ); + mypaintBrush.setMappingPoint( + MYPAINT_BRUSH_SETTING_RADIUS_LOGARITHMIC, + MYPAINT_BRUSH_INPUT_PRESSURE, + 0, 0.0, minThicknessLog - baseThicknessLog); + mypaintBrush.setMappingPoint( + MYPAINT_BRUSH_SETTING_RADIUS_LOGARITHMIC, + MYPAINT_BRUSH_INPUT_PRESSURE, + 1, 1.0, maxThicknessLog - baseThicknessLog); + } + + // opacity may be dynamic + if (minOpacity + precision >= maxOpacity) { + mypaintBrush.setBaseValue(MYPAINT_BRUSH_SETTING_OPAQUE, maxOpacity); + mypaintBrush.setMappingN( + MYPAINT_BRUSH_SETTING_OPAQUE, + MYPAINT_BRUSH_INPUT_PRESSURE, + 0 ); + } else { + mypaintBrush.setBaseValue(MYPAINT_BRUSH_SETTING_OPAQUE, minOpacity); + mypaintBrush.setMappingN( + MYPAINT_BRUSH_SETTING_OPAQUE, + MYPAINT_BRUSH_INPUT_PRESSURE, + 2 ); + mypaintBrush.setMappingPoint( + MYPAINT_BRUSH_SETTING_OPAQUE, + MYPAINT_BRUSH_INPUT_PRESSURE, + 0, 0.0, 0.0); + mypaintBrush.setMappingPoint( + MYPAINT_BRUSH_SETTING_OPAQUE, + MYPAINT_BRUSH_INPUT_PRESSURE, + 1, 1.0, maxOpacity - minOpacity); + } +} + +void FullColorBrushTool::applyToonzBrushSettings(mypaint::Brush &mypaintBrush) { + TMyPaintBrushStyle *mypaintStyle = getBrushStyle(); + + if (mypaintStyle) { + const double precision = 1e-5; + + double modifierSize = m_modifierSize.getValue()*log(2.0); + double modifierOpacity = 0.01*m_modifierOpacity.getValue(); + + TPixelD color = PixelConverter::from(m_currentColor); + double colorH = 0.0; + double colorS = 0.0; + double colorV = 0.0; + RGB2HSV(color.r, color.g, color.b, &colorH, &colorS, &colorV); + + mypaintBrush.fromBrush(mypaintStyle->getBrush()); + + float baseSize = mypaintBrush.getBaseValue(MYPAINT_BRUSH_SETTING_RADIUS_LOGARITHMIC); + float baseOpacity = mypaintBrush.getBaseValue(MYPAINT_BRUSH_SETTING_OPAQUE); + + mypaintBrush.setBaseValue(MYPAINT_BRUSH_SETTING_RADIUS_LOGARITHMIC, baseSize + modifierSize); + mypaintBrush.setBaseValue(MYPAINT_BRUSH_SETTING_OPAQUE, baseOpacity*modifierOpacity); + mypaintBrush.setBaseValue(MYPAINT_BRUSH_SETTING_COLOR_H, colorH/360.0); + mypaintBrush.setBaseValue(MYPAINT_BRUSH_SETTING_COLOR_S, colorS); + mypaintBrush.setBaseValue(MYPAINT_BRUSH_SETTING_COLOR_V, colorV); + } else { + applyClassicToonzBrushSettings(mypaintBrush); + } +} + + //========================================================================================================== FullColorBrushToolNotifier::FullColorBrushToolNotifier(FullColorBrushTool *tool) : m_tool(tool) { - TTool::Application *app = m_tool->getApplication(); - TXshLevelHandle *levelHandle; - if (app) levelHandle = app->getCurrentLevel(); - bool ret = false; - if (levelHandle) { - bool ret = connect(levelHandle, SIGNAL(xshCanvasSizeChanged()), this, - SLOT(onCanvasSizeChanged())); - assert(ret); + if (TTool::Application *app = m_tool->getApplication()) { + if (TXshLevelHandle *levelHandle = app->getCurrentLevel()) { + bool ret = connect(levelHandle, SIGNAL(xshCanvasSizeChanged()), this, + SLOT(onCanvasSizeChanged())); + assert(ret); + } + if (TPaletteHandle *paletteHandle = app->getCurrentPalette()) { + bool ret; + ret = connect(paletteHandle, SIGNAL(colorStyleChanged()), this, + SLOT(onColorStyleChanged())); + assert(ret); + ret = connect(paletteHandle, SIGNAL(colorStyleSwitched()), this, + SLOT(onColorStyleChanged())); + assert(ret); + } } } diff --git a/toonz/sources/tnztools/fullcolorbrushtool.h b/toonz/sources/tnztools/fullcolorbrushtool.h index 9175652..d4bf729 100644 --- a/toonz/sources/tnztools/fullcolorbrushtool.h +++ b/toonz/sources/tnztools/fullcolorbrushtool.h @@ -3,7 +3,12 @@ #ifndef FULLCOLORBRUSHTOOL_H #define FULLCOLORBRUSHTOOL_H +#include + #include "brushtool.h" +#include "mypainttoonzbrush.h" +#include "toonz/mypaintbrushstyle.h" +#include //============================================================== @@ -11,8 +16,9 @@ class TTileSetFullColor; class TTileSaverFullColor; -class BluredBrush; +class MyPaintToonzBrush; class FullColorBrushToolNotifier; +namespace mypaint { class Brush; } //============================================================== @@ -20,10 +26,13 @@ class FullColorBrushToolNotifier; // FullColor Brush Tool declaration //************************************************************************ -class FullColorBrushTool final : public TTool { +class FullColorBrushTool final : public TTool, public RasterController { Q_DECLARE_TR_FUNCTIONS(FullColorBrushTool) - void updateCurrentColor(); + void updateCurrentStyle(); + double restartBrushTimer(); + void applyClassicToonzBrushSettings(mypaint::Brush &mypaintBrush); + void applyToonzBrushSettings(mypaint::Brush &mypaintBrush); public: FullColorBrushTool(std::string name); @@ -37,6 +46,9 @@ public: void onActivate() override; void onDeactivate() override; + bool askRead(const TRect &rect) override; + bool askWrite(const TRect &rect) override; + bool preLeftButtonDown() override; void leftButtonDown(const TPointD &pos, const TMouseEvent &e) override; void leftButtonDrag(const TPointD &pos, const TMouseEvent &e) override; @@ -63,6 +75,9 @@ public: void removePreset(); void onCanvasSizeChanged(); + void onColorStyleChanged(); + + TMyPaintBrushStyle* getBrushStyle(); protected: TPropertyGroup m_prop; @@ -71,26 +86,24 @@ protected: TBoolProperty m_pressure; TDoublePairProperty m_opacity; TDoubleProperty m_hardness; + TDoubleProperty m_modifierSize; + TDoubleProperty m_modifierOpacity; TEnumProperty m_preset; TPixel32 m_currentColor; - int m_styleId, m_minThick, m_maxThick; + bool m_enabledPressure; + int m_minCursorThick, m_maxCursorThick; - double m_oldOpacity; - - TPointD m_dpiScale, - m_mousePos, //!< Current mouse position, in world coordinates. - m_brushPos; //!< World position the brush will be painted at. + TPointD m_mousePos, //!< Current mouse position, in world coordinates. + m_brushPos; //!< World position the brush will be painted at. TRasterP m_backUpRas; TRaster32P m_workRaster; - TRect m_strokeRect, m_lastRect; - - QRadialGradient m_brushPad; + TRect m_strokeRect, m_strokeSegmentRect, m_lastRect; - std::vector m_points; - BluredBrush *m_brush; + MyPaintToonzBrush *m_toonz_brush; + QElapsedTimer m_brushTimer; TTileSetFullColor *m_tileSet; TTileSaverFullColor *m_tileSaver; @@ -116,8 +129,8 @@ public: FullColorBrushToolNotifier(FullColorBrushTool *tool); protected slots: - void onCanvasSizeChanged() { m_tool->onCanvasSizeChanged(); } + void onColorStyleChanged() { m_tool->onColorStyleChanged(); } }; #endif // FULLCOLORBRUSHTOOL_H diff --git a/toonz/sources/tnztools/mypainttoonzbrush.cpp b/toonz/sources/tnztools/mypainttoonzbrush.cpp new file mode 100644 index 0000000..f6e722b --- /dev/null +++ b/toonz/sources/tnztools/mypainttoonzbrush.cpp @@ -0,0 +1,165 @@ + +#include + +#include "mypainttoonzbrush.h" +#include "tropcm.h" +#include "tpixelutils.h" +#include + +#include + + +//======================================================= +// +// Raster32PMyPaintSurface::Internal +// +//======================================================= + +class Raster32PMyPaintSurface::Internal: + public mypaint::helpers::SurfaceCustom +{ +public: + typedef SurfaceCustom Parent; + Internal(Raster32PMyPaintSurface &owner): + SurfaceCustom( owner.m_ras->pixels(), + owner.m_ras->getLx(), + owner.m_ras->getLy(), + owner.m_ras->getPixelSize(), + owner.m_ras->getRowSize(), + &owner ) + { } +}; + +//======================================================= +// +// Raster32PMyPaintSurface +// +//======================================================= + +Raster32PMyPaintSurface::Raster32PMyPaintSurface(const TRaster32P &ras): + m_ras(ras), + controller(), + internal() +{ + assert(ras); + internal = new Internal(*this); +} + +Raster32PMyPaintSurface::Raster32PMyPaintSurface(const TRaster32P &ras, RasterController &controller): + m_ras(ras), + controller(&controller), + internal() +{ + assert(ras); + internal = new Internal(*this); +} + +Raster32PMyPaintSurface::~Raster32PMyPaintSurface() + { delete internal; } + +bool Raster32PMyPaintSurface::getColor(float x, float y, float radius, + float &colorR, float &colorG, float &colorB, float &colorA) +{ return internal->getColor(x, y, radius, colorR, colorG, colorB, colorA); } + +bool Raster32PMyPaintSurface::drawDab(const mypaint::Dab &dab) + { return internal->drawDab(dab); } + +bool Raster32PMyPaintSurface::getAntialiasing() const + { return internal->antialiasing; } + +void Raster32PMyPaintSurface::setAntialiasing(bool value) + { internal->antialiasing = value; } + +//======================================================= +// +// MyPaintToonzBrush +// +//======================================================= + +MyPaintToonzBrush::MyPaintToonzBrush(const TRaster32P &ras, RasterController &controller, const mypaint::Brush &brush): + m_ras(ras), + m_mypaintSurface(m_ras, controller), + brush(brush), + reset(true) +{ + // read brush antialiasing settings + float aa = this->brush.getBaseValue(MYPAINT_BRUSH_SETTING_ANTI_ALIASING); + m_mypaintSurface.setAntialiasing(aa > 0.5f); + + // reset brush antialiasing to zero to avoid radius and hardness correction + this->brush.setBaseValue(MYPAINT_BRUSH_SETTING_ANTI_ALIASING, 0.f); + for(int i = 0; i < MYPAINT_BRUSH_INPUTS_COUNT; ++i) + this->brush.setMappingN(MYPAINT_BRUSH_SETTING_ANTI_ALIASING, (MyPaintBrushInput)i, 0); +} + +void MyPaintToonzBrush::beginStroke() { + brush.reset(); + brush.newStroke(); + reset = true; +} + +void MyPaintToonzBrush::endStroke() { + if (!reset) { + strokeTo(TPointD(current.x, current.y), current.pressure, 0.f); + beginStroke(); + } +} + +void MyPaintToonzBrush::strokeTo(const TPointD &point, double pressure, double dtime) { + Params next(point.x, point.y, pressure, 0.0); + + if (reset) { + current = next; + previous = current; + reset = false; + // we need to jump to initial point (heuristic) + brush.setState(MYPAINT_BRUSH_STATE_X, current.x); + brush.setState(MYPAINT_BRUSH_STATE_Y, current.y); + brush.setState(MYPAINT_BRUSH_STATE_ACTUAL_X, current.x); + brush.setState(MYPAINT_BRUSH_STATE_ACTUAL_Y, current.y); + return; + } else { + next.time = current.time + dtime; + } + + // accuracy + const double threshold = 1.0; + const double thresholdSqr = threshold*threshold; + const int maxLevel = 16; + + // set initial segment + Segment stack[maxLevel+1]; + Params p0; + Segment *segment = stack; + Segment *maxSegment = segment + maxLevel; + p0.setMedian(previous, current); + segment->p1 = current; + segment->p2.setMedian(current, next); + + // process + while(true) { + double dx = segment->p2.x - p0.x; + double dy = segment->p2.y - p0.y; + if (dx*dx + dy*dy > thresholdSqr && segment != maxSegment) { + Segment *sub = segment + 1; + sub->p1.setMedian(p0, segment->p1); + segment->p1.setMedian(segment->p1, segment->p2); + sub->p2.setMedian(sub->p1, segment->p1); + segment = sub; + } else { + brush.strokeTo(m_mypaintSurface, segment->p2.x, segment->p2.y, segment->p2.pressure, 0.f, 0.f, segment->p2.time - p0.time); + if (segment == stack) break; + p0 = segment->p2; + --segment; + } + } + + // keep parameters for future interpolation + previous = current; + current = next; + + // shift time + previous.time = 0.0; + current.time = dtime; +} + diff --git a/toonz/sources/tnztools/mypainttoonzbrush.h b/toonz/sources/tnztools/mypainttoonzbrush.h new file mode 100644 index 0000000..898fe2c --- /dev/null +++ b/toonz/sources/tnztools/mypainttoonzbrush.h @@ -0,0 +1,116 @@ +#pragma once + +#ifndef MYPAINTTOONZBRUSH_H +#define MYPAINTTOONZBRUSH_H + +#include +#include "traster.h" +#include "trastercm.h" +#include "tcurves.h" +#include +#include + + +class RasterController { +public: + virtual ~RasterController() { } + virtual bool askRead(const TRect &rect) { return true; } + virtual bool askWrite(const TRect &rect) { return true; } +}; + +//======================================================= +// +// Raster32PMyPaintSurface +// +//======================================================= + +class Raster32PMyPaintSurface: public mypaint::Surface { +private: + class Internal; + + TRaster32P m_ras; + RasterController *controller; + Internal *internal; + + inline static void readPixel(const void *pixelPtr, float &colorR, float &colorG, float &colorB, float &colorA) { + const TPixel32 &pixel = *(const TPixel32*)pixelPtr; + colorR = (float)pixel.r/(float)TPixel32::maxChannelValue; + colorG = (float)pixel.g/(float)TPixel32::maxChannelValue; + colorB = (float)pixel.b/(float)TPixel32::maxChannelValue; + colorA = (float)pixel.m/(float)TPixel32::maxChannelValue; + } + + inline static void writePixel(void *pixelPtr, float colorR, float colorG, float colorB, float colorA) { + TPixel32 &pixel = *(TPixel32*)pixelPtr; + pixel.r = (TPixel32::Channel)roundf(colorR * TPixel32::maxChannelValue); + pixel.g = (TPixel32::Channel)roundf(colorG * TPixel32::maxChannelValue); + pixel.b = (TPixel32::Channel)roundf(colorB * TPixel32::maxChannelValue); + pixel.m = (TPixel32::Channel)roundf(colorA * TPixel32::maxChannelValue); + } + + inline static bool askRead(void *surfaceController, const void* /* surfacePointer */, int x0, int y0, int x1, int y1) { + Raster32PMyPaintSurface &owner = *((Raster32PMyPaintSurface*)surfaceController); + return !owner.controller || owner.controller->askRead(TRect(x0, y0, x1, y1)); + } + + inline static bool askWrite(void *surfaceController, const void* /* surfacePointer */, int x0, int y0, int x1, int y1) { + Raster32PMyPaintSurface &owner = *((Raster32PMyPaintSurface*)surfaceController); + return !owner.controller || owner.controller->askWrite(TRect(x0, y0, x1, y1)); + } + +public: + explicit Raster32PMyPaintSurface(const TRaster32P &ras); + explicit Raster32PMyPaintSurface(const TRaster32P &ras, RasterController &controller); + ~Raster32PMyPaintSurface(); + + bool getColor(float x, float y, float radius, + float &colorR, float &colorG, float &colorB, float &colorA) override; + + bool drawDab(const mypaint::Dab &dab) override; + + bool getAntialiasing() const; + void setAntialiasing(bool value); +}; + +//======================================================= +// +// MyPaintToonzBrush +// +//======================================================= + +class MyPaintToonzBrush { +private: + struct Params { + union { + struct { double x, y, pressure, time; }; + struct { double values[4]; }; + }; + + inline explicit Params(double x = 0.0, double y = 0.0, double pressure = 0.0, double time = 0.0): + x(x), y(y), pressure(pressure), time(time) { } + + inline void setMedian(Params &a, Params &b) { + for(int i = 0; i < (int)sizeof(values)/sizeof(values[0]); ++i) + values[i] = 0.5*(a.values[i] + b.values[i]); + } + }; + + struct Segment { + Params p1, p2; + }; + + TRaster32P m_ras; + Raster32PMyPaintSurface m_mypaintSurface; + mypaint::Brush brush; + + bool reset; + Params previous, current; + +public: + MyPaintToonzBrush(const TRaster32P &ras, RasterController &controller, const mypaint::Brush &brush); + void beginStroke(); + void endStroke(); + void strokeTo(const TPointD &p, double pressure, double dtime); +}; + +#endif // T_BLUREDBRUSH diff --git a/toonz/sources/tnztools/tooloptions.cpp b/toonz/sources/tnztools/tooloptions.cpp index 5bb6d7a..5157985 100644 --- a/toonz/sources/tnztools/tooloptions.cpp +++ b/toonz/sources/tnztools/tooloptions.cpp @@ -31,10 +31,12 @@ #include "toonz/txsheethandle.h" #include "toonz/tstageobjectspline.h" #include "toonz/tframehandle.h" +#include "toonz/tpalettehandle.h" #include "toonz/palettecontroller.h" #include "toonz/txshlevelhandle.h" #include "toonz/preferences.h" #include "toonz/tstageobjecttree.h" +#include "toonz/mypaintbrushstyle.h" // TnzCore includes #include "tproperty.h" @@ -1622,11 +1624,39 @@ BrushToolOptionsBox::BrushToolOptionsBox(QWidget *parent, TTool *tool, TStroke::OutlineOptions::MITER_JOIN); } hLayout()->addStretch(1); + filterControls(); +} + +//----------------------------------------------------------------------------- + +void BrushToolOptionsBox::filterControls() { + // show or hide widgets which modify imported brush (mypaint) + + bool showModifiers = false; + if (FullColorBrushTool* fullColorBrushTool = dynamic_cast(m_tool)) + showModifiers = fullColorBrushTool->getBrushStyle(); + + for (QMap::iterator it = m_labels.begin(); it != m_labels.end(); it++) { + bool isModifier = (it.key().substr(0, 8) == "Modifier"); + bool isCommon = (it.key() == "Pressure" || it.key() == "Preset:"); + bool visible = isCommon || (isModifier == showModifiers); + it.value()->setVisible(visible); + } + + for (QMap::iterator it = m_controls.begin(); it != m_controls.end(); it++) { + bool isModifier = (it.key().substr(0, 8) == "Modifier"); + bool isCommon = (it.key() == "Pressure" || it.key() == "Preset:"); + bool visible = isCommon || (isModifier == showModifiers); + if (QWidget* widget = dynamic_cast(it.value())) + widget->setVisible(visible); + } } //----------------------------------------------------------------------------- void BrushToolOptionsBox::updateStatus() { + filterControls(); + QMap::iterator it; for (it = m_controls.begin(); it != m_controls.end(); it++) it.value()->updateStatus(); diff --git a/toonz/sources/toonz/Resources/no_mypaintbrush.png b/toonz/sources/toonz/Resources/no_mypaintbrush.png new file mode 100644 index 0000000..b6f2963 Binary files /dev/null and b/toonz/sources/toonz/Resources/no_mypaintbrush.png differ diff --git a/toonz/sources/toonz/sceneviewerevents.cpp b/toonz/sources/toonz/sceneviewerevents.cpp index 615e4ff..dcdd25d 100644 --- a/toonz/sources/toonz/sceneviewerevents.cpp +++ b/toonz/sources/toonz/sceneviewerevents.cpp @@ -85,6 +85,7 @@ void initToonzEvent(TMouseEvent &toonzEvent, QMouseEvent *event, event->modifiers() & Qt::ControlModifier); toonzEvent.m_leftButtonPressed = (event->buttons() & Qt::LeftButton) != 0; + toonzEvent.m_isTablet = isTablet; } //----------------------------------------------------------------------------- @@ -97,6 +98,7 @@ void initToonzEvent(TMouseEvent &toonzEvent, QKeyEvent *event) { event->modifiers() & Qt::AltModifier, event->modifiers() & Qt::ControlModifier); toonzEvent.m_leftButtonPressed = false; + toonzEvent.m_isTablet = false; } //----------------------------------------------------------------------------- diff --git a/toonz/sources/toonz/toonz.qrc b/toonz/sources/toonz/toonz.qrc index bb5bcbe..bf68852 100644 --- a/toonz/sources/toonz/toonz.qrc +++ b/toonz/sources/toonz/toonz.qrc @@ -177,6 +177,7 @@ Resources/nextkey_over.png Resources/no_specialstyle.png Resources/no_vectorbrush.png + Resources/no_mypaintbrush.png Resources/openedfolder.png Resources/options.png Resources/options_click.png diff --git a/toonz/sources/toonzlib/CMakeLists.txt b/toonz/sources/toonzlib/CMakeLists.txt index 6ddad09..9bc91f3 100644 --- a/toonz/sources/toonzlib/CMakeLists.txt +++ b/toonz/sources/toonzlib/CMakeLists.txt @@ -35,6 +35,9 @@ set(MOC_HEADERS ../include/toonz/logger.h ../include/toonz/movierenderer.h ../include/toonz/multimediarenderer.h + ../include/toonz/mypaint.h + ../include/toonz/mypainthelpers.hpp + ../include/toonz/mypaintbrushstyle.h ../include/toonz/namebuilder.h ../include/toonz/Naa2TlvConverter.h ../include/toonz/observer.h @@ -191,6 +194,7 @@ set(SOURCES logger.cpp movierenderer.cpp multimediarenderer.cpp + mypaintbrushstyle.cpp namebuilder.cpp Naa2TlvConverter.cpp observer.cpp @@ -348,7 +352,7 @@ include_directories( if(BUILD_ENV_MSVC) target_link_libraries(toonzlib Qt5::Core Qt5::Gui Qt5::OpenGL Qt5::Script - ${GLUT_LIB} ${GL_LIB} vfw32.lib + ${GLUT_LIB} ${GL_LIB} ${MYPAINT_LIB_LDFLAGS} vfw32.lib tnzcore tnzbase tnzext ) elseif(BUILD_ENV_APPLE) @@ -357,6 +361,7 @@ elseif(BUILD_ENV_APPLE) ${CMAKE_CURRENT_BINARY_DIR}/../tnzbase/libtnzbase.dylib ${CMAKE_CURRENT_BINARY_DIR}/../tnzext/libtnzext.dylib ${USB_LIB} + ${MYPAINT_LIB_LDFLAGS} ) target_link_libraries(toonzlib Qt5::Core Qt5::Gui Qt5::OpenGL Qt5::Script ${GLUT_LIB} ${GL_LIB} ${EXTRA_LIBS}) @@ -367,5 +372,5 @@ elseif(BUILD_ENV_UNIXLIKE) set(EXTRA_LIBS ${EXTRA_LIBS} -lvfw32) endif() - target_link_libraries(toonzlib Qt5::Core Qt5::Gui Qt5::OpenGL Qt5::Script ${GLUT_LIB} ${GL_LIB} ${EXTRA_LIBS}) + target_link_libraries(toonzlib Qt5::Core Qt5::Gui Qt5::OpenGL Qt5::Script ${GLUT_LIB} ${GL_LIB} ${EXTRA_LIBS} ${MYPAINT_LIB_LDFLAGS}) endif() diff --git a/toonz/sources/toonzlib/mypaintbrushstyle.cpp b/toonz/sources/toonzlib/mypaintbrushstyle.cpp new file mode 100644 index 0000000..1cc985e --- /dev/null +++ b/toonz/sources/toonzlib/mypaintbrushstyle.cpp @@ -0,0 +1,278 @@ + +#include + +#include + +#include "tfilepath_io.h" +#include "timage_io.h" +#include "trop.h" +#include "tsystem.h" +#include "tvectorimage.h" +#include "tpixelutils.h" +#include "toonz/toonzscene.h" + +#include "toonz/mypaintbrushstyle.h" + + +//************************************************************************************* +// TMyPaintBrushStyle implementation +//************************************************************************************* + +TMyPaintBrushStyle::TMyPaintBrushStyle() + { } + +//----------------------------------------------------------------------------- + +TMyPaintBrushStyle::TMyPaintBrushStyle(const TFilePath &path) { + loadBrush(path); +} + +//----------------------------------------------------------------------------- + +TMyPaintBrushStyle::TMyPaintBrushStyle(const TMyPaintBrushStyle &other): + TColorStyle(other), + m_path (other.m_path), + m_fullpath (other.m_fullpath), + m_brushOriginal (other.m_brushOriginal), + m_brushModified (other.m_brushModified), + m_preview (other.m_preview), + m_color (other.m_color), + m_baseValues (other.m_baseValues) + { } + + +//----------------------------------------------------------------------------- + +TMyPaintBrushStyle::~TMyPaintBrushStyle() + { } + +//----------------------------------------------------------------------------- + +TColorStyle& TMyPaintBrushStyle::copy(const TColorStyle &other) { + const TMyPaintBrushStyle *otherBrushStyle = + dynamic_cast(&other); + if (otherBrushStyle) { + m_path = otherBrushStyle->m_path; + m_fullpath = otherBrushStyle->m_fullpath; + m_brushOriginal = otherBrushStyle->m_brushOriginal; + m_brushModified = otherBrushStyle->m_brushModified; + m_preview = otherBrushStyle->m_preview; + m_baseValues = otherBrushStyle->m_baseValues; + } + assignBlend(other, other, 0.0); + return *this; +} + +//----------------------------------------------------------------------------- + +QString TMyPaintBrushStyle::getDescription() const + { return "MyPaintBrushStyle"; } + +//----------------------------------------------------------------------------- + +std::string TMyPaintBrushStyle::getBrushType() + { return "myb"; } + +//----------------------------------------------------------------------------- + +TFilePathSet TMyPaintBrushStyle::getBrushesDirs() { + TFilePathSet paths; + paths.push_back(m_libraryDir + "mypaint brushes"); + QStringList genericLocations = QStandardPaths::standardLocations(QStandardPaths::GenericDataLocation); + for(QStringList::iterator i = genericLocations.begin(); i != genericLocations.end(); ++i) + paths.push_back(TFilePath(*i) + "mypaint" + "brushes"); + return paths; +} + +//----------------------------------------------------------------------------- + +TFilePath TMyPaintBrushStyle::decodePath(const TFilePath &path) const { + if (path.isAbsolute()) + return path; + + if (m_currentScene) { + TFilePath p = m_currentScene->decodeFilePath(path); + TFileStatus fs(p); + if (fs.doesExist() && !fs.isDirectory()) + return p; + } + + TFilePathSet paths = getBrushesDirs(); + for(TFilePathSet::iterator i = paths.begin(); i != paths.end(); ++i) { + TFilePath p = *i + path; + TFileStatus fs(p); + if (fs.doesExist() && !fs.isDirectory()) + return p; + } + + return path; +} + +//----------------------------------------------------------------------------- + +void TMyPaintBrushStyle::loadBrush(const TFilePath &path) { + m_path = path; + m_fullpath = decodePath(path); + m_brushOriginal.fromDefaults(); + + Tifstream is(m_fullpath); + if (is) { + std::string str; + str.assign( std::istreambuf_iterator(is), std::istreambuf_iterator() ); + m_brushOriginal.fromString(str); + } + + m_brushModified = m_brushOriginal; + std::map baseValuesCopy; + baseValuesCopy.swap(m_baseValues); + for(std::map::const_iterator i = baseValuesCopy.begin(); i != baseValuesCopy.end(); ++i) + setBaseValue(i->first, i->second); + + TFilePath preview_path = m_fullpath.getParentDir() + (m_fullpath.getWideName() + L"_prev.png"); + TImageReader::load(preview_path, m_preview); + + invalidateIcon(); +} + +//----------------------------------------------------------------------------- + +void TMyPaintBrushStyle::setBaseValue(MyPaintBrushSetting id, bool enable, float value) { + float def = m_brushOriginal.getBaseValue(id); + if (enable && fabsf(value - def) > 0.01) { + m_baseValues[id] = value; + m_brushModified.setBaseValue(id, value); + } else { + m_baseValues.erase(id); + m_brushModified.setBaseValue(id, def); + } +} + +//----------------------------------------------------------------------------- + +void TMyPaintBrushStyle::resetBaseValues() { + for(int i = 0; i < MYPAINT_BRUSH_SETTINGS_COUNT; ++i) + setBaseValueEnabled((MyPaintBrushSetting)i, false); +} + +//----------------------------------------------------------------------------- + +void TMyPaintBrushStyle::makeIcon(const TDimension &d) { + TFilePath path = m_fullpath.getParentDir() + (m_fullpath.getWideName() + L"_prev.png"); + if (!m_preview) { + m_icon = TRaster32P(d); + m_icon->fill(TPixel32::Red); + } else + if (m_preview->getSize() == d) { + m_icon = m_preview; + } else { + m_icon = TRaster32P(d); + double sx = (double)d.lx/(double)m_preview->getLx(); + double sy = (double)d.ly/(double)m_preview->getLy(); + TRop::resample(m_icon, m_preview, TScale(sx, sy)); + } + + // paint color marker + if (d.lx > 0 && d.ly > 0) { + int size = std::min( 1 + std::min(d.lx, d.ly)*2/3, + 1 + std::max(d.lx, d.ly)/2 ); + TPixel32 color = getMainColor(); + for(int y = 0; y < size; ++y) { + TPixel32 *p = m_icon->pixels(d.ly - y - 1); + TPixel32 *endp = p + size - y - 1; + for( ;p != endp; ++p) + *p = color; + *p = blend(*p, color, 0.5); + } + } +} + +//------------------------------------------------------------ + +void TMyPaintBrushStyle::loadData(TInputStreamInterface &is) { + std::string path; + is >> path; + is >> m_color; + loadBrush(TFilePath(path)); + + int baseSettingsCount = 0; + is >> baseSettingsCount; + for(int i = 0; i < baseSettingsCount; ++i) { + std::string key; + double value = 0.0; + int inputsCount = 0; + is >> key; + is >> value; + const mypaint::Setting *setting = mypaint::Setting::findByKey(key); + if (setting) setBaseValue(setting->id, value); + } +} + +//----------------------------------------------------------------------------- + +void TMyPaintBrushStyle::saveData(TOutputStreamInterface &os) const { + std::wstring wstr = m_path.getWideString(); + std::string str; + str.assign(wstr.begin(), wstr.end()); + os << str; + os << m_color; + + os << (int)m_baseValues.size(); + for(std::map::const_iterator i = m_baseValues.begin(); i != m_baseValues.end(); ++i) { + os << mypaint::Setting::byId(i->first).key; + os << (double)i->second; + } +} + +//----------------------------------------------------------------------------- + +int TMyPaintBrushStyle::getParamCount() const + { return MYPAINT_BRUSH_SETTINGS_COUNT; } + +//----------------------------------------------------------------------------- + +QString TMyPaintBrushStyle::getParamNames(int index) const + { return QString::fromUtf8(mypaint::Setting::byId((MyPaintBrushSetting)index).name.c_str()); } + +//----------------------------------------------------------------------------- + +TColorStyle::ParamType TMyPaintBrushStyle::getParamType(int index) const + { return DOUBLE; } + +//----------------------------------------------------------------------------- + +bool TMyPaintBrushStyle::hasParamDefault(int index) const + { return true; } + +//----------------------------------------------------------------------------- + +void TMyPaintBrushStyle::setParamDefault(int index) + { setBaseValueEnabled((MyPaintBrushSetting)index, false); } + +//----------------------------------------------------------------------------- + +bool TMyPaintBrushStyle::isParamDefault(int index) const + { return getBaseValueEnabled((MyPaintBrushSetting)index); } + +//----------------------------------------------------------------------------- + +void TMyPaintBrushStyle::getParamRange(int index, double &min, double &max) const { + const mypaint::Setting &setting = mypaint::Setting::byId((MyPaintBrushSetting)index); + min = setting.min; + max = setting.max; +} + +//----------------------------------------------------------------------------- + +void TMyPaintBrushStyle::setParamValue(int index, double value) + { setBaseValue((MyPaintBrushSetting)index, value); } + +//----------------------------------------------------------------------------- + +double TMyPaintBrushStyle::getParamValue(double_tag, int index) const + { return getBaseValue((MyPaintBrushSetting)index); } + +//----------------------------------------------------------------------------- + +namespace { + TColorStyle::Declaration mypaintBrushStyle(new TMyPaintBrushStyle()); +} diff --git a/toonz/sources/toonzqt/styleeditor.cpp b/toonz/sources/toonzqt/styleeditor.cpp index 2c08501..cebf9bd 100644 --- a/toonz/sources/toonzqt/styleeditor.cpp +++ b/toonz/sources/toonzqt/styleeditor.cpp @@ -17,6 +17,7 @@ #include "toonz/imagestyles.h" #include "toonz/txshsimplelevel.h" //iwsw #include "toonz/levelproperties.h" //iwsw +#include "toonz/mypaintbrushstyle.h" // TnzCore includes #include "tconvert.h" @@ -2181,6 +2182,102 @@ bool TextureStyleChooserPage::event(QEvent *e) { } //***************************************************************************** +// MyPaintBrushStyleChooserPage definition +//***************************************************************************** + +class MyPaintBrushStyleChooserPage final : public StyleChooserPage { +public: + struct Brush { + TRasterP m_raster; + QString m_name; + }; + +private: + static std::vector m_brushes; + +public: + MyPaintBrushStyleChooserPage(QWidget *parent = 0) : StyleChooserPage(parent) + { m_chipSize = QSize(64, 64); } + + bool loadIfNeeded() override { + static bool m_loaded = false; + if (!m_loaded) { + loadItems(); + m_loaded = true; + return true; + } else + return false; + } + + int getChipCount() const override + { return m_brushes.size() + 1; } + + static void loadItems(); + + void drawChip(QPainter &p, QRect rect, int index) override { + assert(0 <= index && index <= (int)m_brushes.size()); + static QImage noStyleImage(":Resources/no_mypaintbrush.png"); + p.drawImage(rect, index == 0 ? noStyleImage : rasterToQImage(m_brushes[index-1].getPreview())); + } + + void onSelect(int index) override { + assert(0 <= index && index <= (int)m_brushes.size()); + static TSolidColorStyle noStyle(TPixel32::Black); + if (index == 0) { + emit styleSelected(noStyle); + } else { + emit styleSelected(m_brushes[index-1]); + } + } + + bool event(QEvent *e) override { + static TSolidColorStyle noStyle(TPixel32::Black); + if (e->type() == QEvent::ToolTip) { + QHelpEvent *helpEvent = dynamic_cast(e); + QString toolTip; + QPoint pos = helpEvent->pos(); + int index = posToIndex(pos); + if (index == 0) { + toolTip = tr("Plain color"); + } else + if (index > 0 && index <= (int)m_brushes.size()) { + toolTip = m_brushes[index-1].getPath().getQString(); + } + QToolTip::showText(helpEvent->globalPos(), toolTip); + e->accept(); + } + return StyleChooserPage::event(e); + } +}; + +//----------------------------------------------------------------------------- + +std::vector MyPaintBrushStyleChooserPage::m_brushes; + +//----------------------------------------------------------------------------- + +void MyPaintBrushStyleChooserPage::loadItems() { + m_brushes.clear(); + std::set brushFiles; + + TFilePathSet dirs = TMyPaintBrushStyle::getBrushesDirs(); + for(TFilePathSet::iterator i = dirs.begin(); i != dirs.end(); ++i) { + TFileStatus fs(*i); + if (fs.doesExist() && fs.isDirectory()) { + TFilePathSet files = TSystem::readDirectoryTree(*i, false, true); + for(TFilePathSet::iterator j = files.begin(); j != files.end(); ++j) + if (j->getType() == TMyPaintBrushStyle::getBrushType()) + brushFiles.insert(*j - *i); + } + } + + // reserve memory to avoid reallocation + m_brushes.reserve(brushFiles.size()); + for(std::set::iterator i = brushFiles.begin(); i != brushFiles.end(); ++i) + m_brushes.push_back(TMyPaintBrushStyle(*i)); +} + +//***************************************************************************** // SpecialStyleChooser definition //***************************************************************************** @@ -2232,7 +2329,8 @@ void SpecialStyleChooserPage::loadItems() { tagId == 2800 || // imagepattern tagId == 2001 || // cleanup tagId == 2002 || // ?? - tagId == 3000 // vector brush + tagId == 3000 || // vector brush + tagId == 4001 // mypaint brush ) continue; @@ -2589,6 +2687,17 @@ void SettingsPage::setStyle(const TColorStyleP &editedStyle) { } } + // "reset to default" button + if (m_editedStyle->hasParamDefault(p)) { + QPushButton *pushButton = new QPushButton; + pushButton->setToolTip(tr("Reset to default")); + pushButton->setIcon(createQIconPNG("delete")); + m_paramsLayout->addWidget(pushButton, p, 2); + ret = QObject::connect(pushButton, SIGNAL(clicked(bool)), this, + SLOT(onValueReset())) && + ret; + } + assert(ret); } } @@ -2613,6 +2722,13 @@ void SettingsPage::updateValues() { int p, pCount = m_editedStyle->getParamCount(); for (p = 0; p != pCount; ++p) { + // Update state of "reset to default" button + if (m_editedStyle->hasParamDefault(p)) { + QPushButton *pushButton = static_cast( + m_paramsLayout->itemAtPosition(p, 2)->widget()); + pushButton->setEnabled(m_editedStyle->isParamDefault(p)); + } + // Update editor values switch (m_editedStyle->getParamType(p)) { case TColorStyle::BOOL: { @@ -2680,26 +2796,40 @@ void SettingsPage::onAutofillChanged() { //----------------------------------------------------------------------------- -void SettingsPage::onValueChanged(bool isDragging) { - struct Locals { - SettingsPage *m_this; +int SettingsPage::getParamIndex(const QWidget *widget) { + int p, pCount = m_paramsLayout->rowCount(); + for (p = 0; p != pCount; ++p) + for(int c = 0; c < 3; ++c) + if (QLayoutItem *item = m_paramsLayout->itemAtPosition(p, c)) + if (item->widget() == widget) + return p; + return -1; +} - int paramIndex(const QWidget *widget) { - int p, pCount = m_this->m_paramsLayout->rowCount(); - for (p = 0; p != pCount; ++p) - if (m_this->m_paramsLayout->itemAtPosition(p, 1)->widget() == widget) - break; +//----------------------------------------------------------------------------- - return p; - } +void SettingsPage::onValueReset() { + assert(m_editedStyle); - } locals = {this}; + // Extract the parameter index + QWidget *senderWidget = static_cast(sender()); + int p = getParamIndex(senderWidget); + assert(0 <= p && p < m_editedStyle->getParamCount()); + m_editedStyle->setParamDefault(p); + + // Forward the signal to the style editor + if (!m_updating) emit paramStyleChanged(false); +} + +//----------------------------------------------------------------------------- + +void SettingsPage::onValueChanged(bool isDragging) { assert(m_editedStyle); // Extract the parameter index QWidget *senderWidget = static_cast(sender()); - int p = locals.paramIndex(senderWidget); + int p = getParamIndex(senderWidget); assert(0 <= p && p < m_editedStyle->getParamCount()); @@ -2790,12 +2920,13 @@ StyleEditor::StyleEditor(PaletteController *paletteController, QWidget *parent) m_tabBarContainer = new TabBarContainter(this); m_colorParameterSelector = new ColorParameterSelector(this); - m_plainColorPage = new PlainColorPage(0); - m_textureStylePage = new TextureStyleChooserPage(0); - m_specialStylePage = new SpecialStyleChooserPage(0); - m_customStylePage = new CustomStyleChooserPage(0); - m_vectorBrushesStylePage = new VectorBrushStyleChooserPage(0); - m_settingsPage = new SettingsPage(0); + m_plainColorPage = new PlainColorPage(0); + m_textureStylePage = new TextureStyleChooserPage(0); + m_specialStylePage = new SpecialStyleChooserPage(0); + m_customStylePage = new CustomStyleChooserPage(0); + m_vectorBrushesStylePage = new VectorBrushStyleChooserPage(0); + m_mypaintBrushesStylePage = new MyPaintBrushStyleChooserPage(0); + m_settingsPage = new SettingsPage(0); QWidget *emptyPage = new StyleEditorPage(0); @@ -2806,10 +2937,11 @@ StyleEditor::StyleEditor(PaletteController *paletteController, QWidget *parent) // in order to use the styleSheet to stylish its background QScrollArea *plainArea = makeChooserPageWithoutScrollBar(m_plainColorPage); - QScrollArea *textureArea = makeChooserPage(m_textureStylePage); - QScrollArea *specialArea = makeChooserPage(m_specialStylePage); - QScrollArea *customArea = makeChooserPage(m_customStylePage); - QScrollArea *vectorBrushesArea = makeChooserPage(m_vectorBrushesStylePage); + QScrollArea *textureArea = makeChooserPage(m_textureStylePage); + QScrollArea *specialArea = makeChooserPage(m_specialStylePage); + QScrollArea *customArea = makeChooserPage(m_customStylePage); + QScrollArea *vectorBrushesArea = makeChooserPage(m_vectorBrushesStylePage); + QScrollArea *mypaintBrushesArea = makeChooserPage(m_mypaintBrushesStylePage); QScrollArea *settingsArea = makeChooserPageWithoutScrollBar(m_settingsPage); m_styleChooser = new QStackedWidget(this); @@ -2818,6 +2950,7 @@ StyleEditor::StyleEditor(PaletteController *paletteController, QWidget *parent) m_styleChooser->addWidget(specialArea); m_styleChooser->addWidget(customArea); m_styleChooser->addWidget(vectorBrushesArea); + m_styleChooser->addWidget(mypaintBrushesArea); m_styleChooser->addWidget(settingsArea); m_styleChooser->addWidget(makeChooserPageWithoutScrollBar(emptyPage)); m_styleChooser->setFocusPolicy(Qt::NoFocus); @@ -2857,33 +2990,48 @@ StyleEditor::StyleEditor(PaletteController *paletteController, QWidget *parent) /* ------- signal-slot connections ------- */ bool ret = true; - ret = ret && connect(m_styleBar, SIGNAL(currentChanged(int)), this, - SLOT(setPage(int))); - ret = ret && connect(m_colorParameterSelector, SIGNAL(colorParamChanged()), - this, SLOT(onColorParamChanged())); - ret = ret && - connect(m_textureStylePage, SIGNAL(styleSelected(const TColorStyle &)), - this, SLOT(selectStyle(const TColorStyle &))); - ret = ret && - connect(m_specialStylePage, SIGNAL(styleSelected(const TColorStyle &)), - this, SLOT(selectStyle(const TColorStyle &))); - ret = ret && - connect(m_customStylePage, SIGNAL(styleSelected(const TColorStyle &)), - this, SLOT(selectStyle(const TColorStyle &))); - ret = ret && connect(m_vectorBrushesStylePage, - SIGNAL(styleSelected(const TColorStyle &)), this, - SLOT(selectStyle(const TColorStyle &))); - ret = ret && connect(m_settingsPage, SIGNAL(paramStyleChanged(bool)), this, - SLOT(onParamStyleChanged(bool))); - ret = ret && connect(m_plainColorPage, - SIGNAL(colorChanged(const ColorModel &, bool)), this, - SLOT(onColorChanged(const ColorModel &, bool))); + ret = ret && connect( m_styleBar, + SIGNAL(currentChanged(int)), + this, + SLOT(setPage(int)) ); + ret = ret && connect( m_colorParameterSelector, + SIGNAL(colorParamChanged()), + this, + SLOT(onColorParamChanged()) ); + ret = ret && connect( m_textureStylePage, + SIGNAL(styleSelected(const TColorStyle &)), + this, + SLOT(selectStyle(const TColorStyle &))); + ret = ret && connect( m_specialStylePage, + SIGNAL(styleSelected(const TColorStyle &)), + this, + SLOT(selectStyle(const TColorStyle &)) ); + ret = ret && connect( m_customStylePage, + SIGNAL(styleSelected(const TColorStyle &)), + this, + SLOT(selectStyle(const TColorStyle &)) ); + ret = ret && connect( m_vectorBrushesStylePage, + SIGNAL(styleSelected(const TColorStyle &)), + this, + SLOT(selectStyle(const TColorStyle &)) ); + ret = ret && connect( m_mypaintBrushesStylePage, + SIGNAL(styleSelected(const TColorStyle &)), + this, + SLOT(selectStyle(const TColorStyle &)) ); + ret = ret && connect( m_settingsPage, + SIGNAL(paramStyleChanged(bool)), + this, + SLOT(onParamStyleChanged(bool)) ); + ret = ret && connect( m_plainColorPage, + SIGNAL(colorChanged(const ColorModel &, bool)), + this, + SLOT(onColorChanged(const ColorModel &, bool)) ); assert(ret); /* ------- initial conditions ------- */ enable(false, false, false); // set to the empty page - m_styleChooser->setCurrentIndex(6); + m_styleChooser->setCurrentIndex(7); } //----------------------------------------------------------------------------- @@ -2973,6 +3121,7 @@ void StyleEditor::updateTabBar() { m_styleBar->addSimpleTab(tr("Special")); m_styleBar->addSimpleTab(tr("Custom")); m_styleBar->addSimpleTab(tr("Vector Brush")); + m_styleBar->addSimpleTab(tr("MyPaint Brush")); m_styleBar->addSimpleTab(tr("Settings")); } else if (m_enabled && m_enabledOnlyFirstTab && !m_enabledFirstAndLastTab) m_styleBar->addSimpleTab(tr("Plain")); @@ -2980,7 +3129,7 @@ void StyleEditor::updateTabBar() { m_styleBar->addSimpleTab(tr("Plain")); m_styleBar->addSimpleTab(tr("Settings")); } else { - m_styleChooser->setCurrentIndex(6); + m_styleChooser->setCurrentIndex(7); return; } m_tabBarContainer->layout()->update(); @@ -3027,7 +3176,7 @@ void StyleEditor::onStyleSwitched() { if (!palette) { // set the current page to empty - m_styleChooser->setCurrentIndex(6); + m_styleChooser->setCurrentIndex(7); enable(false); m_colorParameterSelector->clear(); m_oldStyle = TColorStyleP();