Buli Notes

Hi @Grum999

Unfortunately this didn’t fix the problem.
I don’t get an error message on creating a new note anymore, but do still get one when trying to edit it.

Here it is:

KeyError
Python 3.8.1: C:\Program Files\Krita (x64)\bin\krita.exe
Thu Oct  7 21:03:21 2021

A problem occurred in a Python script.  Here is the sequence of
function calls leading up to the error, in the order they occurred.

 C:\Users\arjen\AppData\Roaming\krita\pykrita\bulinotes\bn\bnuidocker.py in __editNote(self=<bulinotes.bn.bnuidocker.BNUiDocker object>, index=False)
  104         selectedItem=self.tvNotes.selectedItems()
  105         if not selectedItem[0].locked():
  106             BNNoteEditor.edit(selectedItem[0])
  107         else:
  108             if selectedItem[0].windowPostIt():
global BNNoteEditor = <class 'bulinotes.bn.bnnotes.BNNoteEditor'>
BNNoteEditor.edit = <function BNNoteEditor.edit>
selectedItem = [<BNNote({82aee2d3-f434-4a0b-b0e9-d01b564f6d3f}, testing, False, False, False, 0)>]

 C:\Users\arjen\AppData\Roaming\krita\pykrita\bulinotes\bn\bnnotes.py in edit(note=<BNNote({82aee2d3-f434-4a0b-b0e9-d01b564f6d3f}, testing, False, False, False, 0)>)
 1338     def edit(note):
 1339         """Open a dialog box to edit note"""
 1340         dlgBox = BNNoteEditor(note)
 1341 
 1342         returned = dlgBox.exec()
dlgBox undefined
global BNNoteEditor = <class 'bulinotes.bn.bnnotes.BNNoteEditor'>
note = <BNNote({82aee2d3-f434-4a0b-b0e9-d01b564f6d3f}, testing, False, False, False, 0)>

 C:\Users\arjen\AppData\Roaming\krita\pykrita\bulinotes\bn\bnnotes.py in __init__(self=<bulinotes.bn.bnnotes.BNNoteEditor object>, note=<BNNote({82aee2d3-f434-4a0b-b0e9-d01b564f6d3f}, testing, False, False, False, 0)>, name='Buli Notes', parent=None)
 1389         self.__saveViewConfig()
 1390         self.__buildUi()
 1391         self.__initViewConfig()
 1392 
 1393     def __buildUi(self):
self = <bulinotes.bn.bnnotes.BNNoteEditor object>
self.__initViewConfig undefined

 C:\Users\arjen\AppData\Roaming\krita\pykrita\bulinotes\bn\bnnotes.py in __initViewConfig(self=<bulinotes.bn.bnnotes.BNNoteEditor object>)
 1672     def __initViewConfig(self):
 1673         """Initialise view for Scratchpad"""
 1674         self.__actionSelectBrush.presetChooser().setCurrentPreset(self.__allBrushesPreset[self.__note.scratchpadBrushName()])
 1675         self.__activeView.setCurrentBrushPreset(self.__allBrushesPreset[self.__note.scratchpadBrushName()])
 1676         self.__activeView.setForeGroundColor(ManagedColor.fromQColor(self.__note.scratchpadBrushColor(), self.__activeView.canvas()))
self = <bulinotes.bn.bnnotes.BNNoteEditor object>
self.__actionSelectBrush undefined
self.__allBrushesPreset undefined
self.__note undefined
KeyError: 'b) Basic-5 Size'
    __cause__ = None
    __class__ = <class 'KeyError'>
    __context__ = None
    __delattr__ = <method-wrapper '__delattr__' of KeyError object>
    __dict__ = {}
    __dir__ = <built-in method __dir__ of KeyError object>
    __doc__ = 'Mapping key not found.'
    __eq__ = <method-wrapper '__eq__' of KeyError object>
    __format__ = <built-in method __format__ of KeyError object>
    __ge__ = <method-wrapper '__ge__' of KeyError object>
    __getattribute__ = <method-wrapper '__getattribute__' of KeyError object>
    __gt__ = <method-wrapper '__gt__' of KeyError object>
    __hash__ = <method-wrapper '__hash__' of KeyError object>
    __init__ = <method-wrapper '__init__' of KeyError object>
    __init_subclass__ = <built-in method __init_subclass__ of type object>
    __le__ = <method-wrapper '__le__' of KeyError object>
    __lt__ = <method-wrapper '__lt__' of KeyError object>
    __ne__ = <method-wrapper '__ne__' of KeyError object>
    __new__ = <built-in method __new__ of type object>
    __reduce__ = <built-in method __reduce__ of KeyError object>
    __reduce_ex__ = <built-in method __reduce_ex__ of KeyError object>
    __repr__ = <method-wrapper '__repr__' of KeyError object>
    __setattr__ = <method-wrapper '__setattr__' of KeyError object>
    __setstate__ = <built-in method __setstate__ of KeyError object>
    __sizeof__ = <built-in method __sizeof__ of KeyError object>
    __str__ = <method-wrapper '__str__' of KeyError object>
    __subclasshook__ = <built-in method __subclasshook__ of type object>
    __suppress_context__ = False
    __traceback__ = <traceback object>
    args = ('b) Basic-5 Size',)
    with_traceback = <built-in method with_traceback of KeyError object>

The above is a description of an error in a Python program.  Here is
the original traceback:

Traceback (most recent call last):
  File "C:\Users\arjen\AppData\Roaming\krita\pykrita\bulinotes\bn\bnuidocker.py", line 106, in __editNote
    BNNoteEditor.edit(selectedItem[0])
  File "C:\Users\arjen\AppData\Roaming\krita\pykrita\bulinotes\bn\bnnotes.py", line 1340, in edit
    dlgBox = BNNoteEditor(note)
  File "C:\Users\arjen\AppData\Roaming\krita\pykrita\bulinotes\bn\bnnotes.py", line 1391, in __init__
    self.__initViewConfig()
  File "C:\Users\arjen\AppData\Roaming\krita\pykrita\bulinotes\bn\bnnotes.py", line 1674, in __initViewConfig
    self.__actionSelectBrush.presetChooser().setCurrentPreset(self.__allBrushesPreset[self.__note.scratchpadBrushName()])
KeyError: 'b) Basic-5 Size'

Ok thanks!
If problem doesn’t occurs when creating a note, it’s already a problem resolved (I hope :-))

Can you open a Scripter, and execute the following code:

from krita import * 

pdict=Krita.instance().resources("preset")
for k in pdict:
    print(k, '==>', pdict[k].name())

You should get something like this:

Copy/Paste output here please

If I understood what happen, the b) Basic-5 Size brush might be missing in this list.
But I want to be sure.

And also, can you try to find the brush in Krita’s resources manager?


In which bundle(s), and if bundles are activated?

Thanks.

Anyway it seems on your installation the brush b) Basic-5 Size is not available or at least, not available through API.
I have to find a workaround in case the b) Basic-5 Size preset is not available on an installation.
Initially I choose this one because it was the most interesting to write notes manually (like a neutral brush), but in case a brush is not available -or not available anymore- I have to determinate what to do :slight_smile:

Grum999

Why sure, here’s the output:

==== Warning: Script not saved! ====
AR_line ==> AR_line
Airbrush_eraser ==> Airbrush_eraser
Airbrush_linear ==> Airbrush_linear
Airbrush_linear_noisy ==> Airbrush_linear_noisy
Airbrush_pressure ==> Airbrush_pressure
Basic_circle ==> Basic_circle
Basic_mix ==> Basic_mix
Basic_mix_soft ==> Basic_mix_soft
Basic_tip_default ==> Basic_tip_default
Basic_tip_gaussian ==> Basic_tip_gaussian
Basic_tip_soft ==> Basic_tip_soft
Basic_wet ==> Basic_wet
Basic_wet_soft ==> Basic_wet_soft
Benny1 ==> Benny1
Benny2-Bold ==> Benny2-Bold
Benny3-X ==> Benny3-X
Benny4-Deco ==> Benny4-Deco
Blender test ==> Blender test
Blender_Blur ==> Blender_Blur
Block_basic ==> Block_basic
Block_bristles ==> Block_bristles
Block_fuzzy ==> Block_fuzzy
Block_mix_tilt ==> Block_mix_tilt
Block_textured_1 ==> Block_textured_1
Block_textured_2 ==> Block_textured_2
Block_tilt ==> Block_tilt
Block_wet_tilt ==> Block_wet_tilt
Bristle_Details ==> Bristle_Details
Bristle_Large ==> Bristle_Large
Bristle_Special_Blender ==> Bristle_Special_Blender
Bristle_Squared ==> Bristle_Squared
Bristle_Tapered ==> Bristle_Tapered
Bristle_Texture ==> Bristle_Texture
Bristle_frottis ==> Bristle_frottis
Bristles_hairy ==> Bristles_hairy
Bristles_mix ==> Bristles_mix
Bristles_textured ==> Bristles_textured
Bristles_wet ==> Bristles_wet
Brush_dotted ==> Brush_dotted
Brush_textured ==> Brush_textured
Clone_tool ==> Clone_tool
Curve_curvy ==> Curve_curvy
Curve_ink ==> Curve_ink
Curve_recurvy ==> Curve_recurvy
Curve_smooth ==> Curve_smooth
DA_Oil_01_Detail_lines ==> DA_Oil_01_Detail_lines
DA_Oil_02_Dirty_Sketch ==> DA_Oil_02_Dirty_Sketch
DA_Oil_03_Fine_details ==> DA_Oil_03_Fine_details
DA_Oil_04_Fine_bristles ==> DA_Oil_04_Fine_bristles
DA_Oil_05_Flat ==> DA_Oil_05_Flat
DA_Oil_06_Old_Filbert ==> DA_Oil_06_Old_Filbert
DA_Oil_07_Big_Rough ==> DA_Oil_07_Big_Rough
DA_Oil_08_Diluted ==> DA_Oil_08_Diluted
DA_Oil_09_Filbert ==> DA_Oil_09_Filbert
DA_Oil_10_Filbert_Dense ==> DA_Oil_10_Filbert_Dense
DA_Oil_11_Rake_Wet ==> DA_Oil_11_Rake_Wet
DA_Oil_12_Color_Fade ==> DA_Oil_12_Color_Fade
DA_Oil_13_Blocking ==> DA_Oil_13_Blocking
DA_Oil_14_Round_Wet ==> DA_Oil_14_Round_Wet
DA_Oil_15_Dried_Canvas ==> DA_Oil_15_Dried_Canvas
DA_Oil_16_Rough_Blocking ==> DA_Oil_16_Rough_Blocking
DA_Oil_17_Stains ==> DA_Oil_17_Stains
DA_Oil_18_Blender_Stains ==> DA_Oil_18_Blender_Stains
DA_Oil_19_Palette_Knife ==> DA_Oil_19_Palette_Knife
DA_Oil_20_Palette_Knife_drips ==> DA_Oil_20_Palette_Knife_drips
DA_Oil_21_RGBA_Filler_Stucco ==> DA_Oil_21_RGBA_Filler_Stucco
DA_Oil_21_RGBA_Filler_stuco_allcolor ==> DA_Oil_21_RGBA_Filler_stuco_allcolor
DA_Oil_22_RGBA_Grey ==> DA_Oil_22_RGBA_Grey
DA_Oil_22_RGBA_allcolor ==> DA_Oil_22_RGBA_allcolor
DA_Oil_23_RGBA_Bluegreen ==> DA_Oil_23_RGBA_Bluegreen
DA_Oil_23_RGBA_allcolor ==> DA_Oil_23_RGBA_allcolor
DA_Oil_24_RGBA_Orange ==> DA_Oil_24_RGBA_Orange
DA_Oil_24_RGBA_allcolor ==> DA_Oil_24_RGBA_allcolor
DA_Pastel_01_Pencil ==> DA_Pastel_01_Pencil
DA_Pastel_02_Wibbly_lines ==> DA_Pastel_02_Wibbly_lines
DA_Pastel_03_Legacy ==> DA_Pastel_03_Legacy
DA_Pastel_04_Basic ==> DA_Pastel_04_Basic
DA_Pastel_05_Basic_Blend ==> DA_Pastel_05_Basic_Blend
DA_Pastel_06_Block ==> DA_Pastel_06_Block
DA_Pastel_07_Impact_Grain ==> DA_Pastel_07_Impact_Grain
DA_Pastel_08_Impact ==> DA_Pastel_08_Impact
DA_Pastel_09_Oily ==> DA_Pastel_09_Oily
DA_Pastel_10_Soft_touch ==> DA_Pastel_10_Soft_touch
DA_Pastel_11_Blender_Finger ==> DA_Pastel_11_Blender_Finger
DA_Pastel_12_Blender_smear ==> DA_Pastel_12_Blender_smear
DA_Pastel_13_Blender_Soft ==> DA_Pastel_13_Blender_Soft
DA_WaterC_01_Draw_lines ==> DA_WaterC_01_Draw_lines
DA_WaterC_02_SumiE ==> DA_WaterC_02_SumiE
DA_WaterC_03_Digital ==> DA_WaterC_03_Digital
DA_WaterC_04_Flat ==> DA_WaterC_04_Flat
DA_WaterC_05_Opaque_ink ==> DA_WaterC_05_Opaque_ink
DA_WaterC_06_Basic ==> DA_WaterC_06_Basic
DA_WaterC_07_Big_Wash ==> DA_WaterC_07_Big_Wash
DA_WaterC_08_Pigment_Diffusion ==> DA_WaterC_08_Pigment_Diffusion
DA_WaterC_09_Harsh_diffusion ==> DA_WaterC_09_Harsh_diffusion
DA_WaterC_10_Drops ==> DA_WaterC_10_Drops
DA_WaterC_11_Blender_edges ==> DA_WaterC_11_Blender_edges
DA_WaterC_12_Remove_water ==> DA_WaterC_12_Remove_water
DA_WaterC_13_Salt_soft_edge ==> DA_WaterC_13_Salt_soft_edge
DA_WaterC_14_Pigment_Scatter ==> DA_WaterC_14_Pigment_Scatter
Eraser_circle ==> Eraser_circle
Eraser_hard ==> Eraser_hard
Eraser_soft ==> Eraser_soft
FX_blur_light ==> FX_blur_light
FX_color_HSY ==> FX_color_HSY
FX_explode ==> FX_explode
FX_glow_add ==> FX_glow_add
FX_overlay ==> FX_overlay
FX_splat_starfield ==> FX_splat_starfield
Fill_block ==> Fill_block
Fill_circle ==> Fill_circle
Grid_square_25 ==> Grid_square_25
Hatch_crispy ==> Hatch_crispy
Hatch_cross_regular ==> Hatch_cross_regular
Hatch_cross_small ==> Hatch_cross_small
Hatch_diag_S ==> Hatch_diag_S
Hatch_diag_fat ==> Hatch_diag_fat
Hatch_moire ==> Hatch_moire
Hatch_noisy ==> Hatch_noisy
Ink-1OneLiner ==> Ink-1OneLiner
Ink-2Twofer ==> Ink-2Twofer
Ink-3Threepeat ==> Ink-3Threepeat
Ink-5Fiver ==> Ink-5Fiver
Ink-Bubbler ==> Ink-Bubbler
Ink-Crowquill ==> Ink-Crowquill
Ink-DeepSpace ==> Ink-DeepSpace
Ink-EvilHatcher ==> Ink-EvilHatcher
Ink-Exploder ==> Ink-Exploder
Ink-Feltline ==> Ink-Feltline
Ink-Hatcher ==> Ink-Hatcher
Ink-Inker ==> Ink-Inker
Ink-InkerEgg ==> Ink-InkerEgg
Ink-InkerRough1 ==> Ink-InkerRough1
Ink-InkerRough2 ==> Ink-InkerRough2
Ink-InkerRough3 ==> Ink-InkerRough3
Ink-InkerSumi ==> Ink-InkerSumi
Ink-Shocker ==> Ink-Shocker
Ink-SpaceSplatter ==> Ink-SpaceSplatter
Ink-Speedline ==> Ink-Speedline
Ink-Starrynighter ==> Ink-Starrynighter
Ink-Starspangler ==> Ink-Starspangler
Ink-Stippler ==> Ink-Stippler
Ink_ballpen ==> Ink_ballpen
Ink_brush_25 ==> Ink_brush_25
Ink_circle_05 ==> Ink_circle_05
Ink_circle_10 ==> Ink_circle_10
Ink_gpen_10 ==> Ink_gpen_10
Ink_gpen_25 ==> Ink_gpen_25
Ink_tilt_10 ==> Ink_tilt_10
Ink_tilt_20 ==> Ink_tilt_20
Layout_block ==> Layout_block
Layout_circle_soft ==> Layout_circle_soft
Layout_oval ==> Layout_oval
Layout_pen ==> Layout_pen
LunarKit_Basic_FakeWaterHard ==> LunarKit_Basic_FakeWaterHard
LunarKit_Basic_FakeWaterHard_[Size] ==> LunarKit_Basic_FakeWaterHard_[Size]
LunarKit_Basic_FakeWaterSmooth ==> LunarKit_Basic_FakeWaterSmooth
LunarKit_Basic_FakeWaterSmooth_[Size] ==> LunarKit_Basic_FakeWaterSmooth_[Size]
LunarKit_Blendy_Bristles ==> LunarKit_Blendy_Bristles
LunarKit_Blendy_DigitalWatercolor ==> LunarKit_Blendy_DigitalWatercolor
LunarKit_Blendy_Flat ==> LunarKit_Blendy_Flat
LunarKit_Blendy_Round ==> LunarKit_Blendy_Round
LunarKit_Color_Basic ==> LunarKit_Color_Basic
LunarKit_Color_Basic_[Size] ==> LunarKit_Color_Basic_[Size]
LunarKit_Color_Chisel ==> LunarKit_Color_Chisel
LunarKit_Color_Elipse ==> LunarKit_Color_Elipse
LunarKit_Color_Faded ==> LunarKit_Color_Faded
LunarKit_Color_Hard ==> LunarKit_Color_Hard
LunarKit_Color_Hard_[Size] ==> LunarKit_Color_Hard_[Size]
LunarKit_Color_Square ==> LunarKit_Color_Square
LunarKit_Color_Square_[Size] ==> LunarKit_Color_Square_[Size]
LunarKit_Color_WetWater ==> LunarKit_Color_WetWater
LunarKit_Color_WetWater_[Size] ==> LunarKit_Color_WetWater_[Size]
LunarKit_Color_Witchcraft ==> LunarKit_Color_Witchcraft
LunarKit_Concept_Angle ==> LunarKit_Concept_Angle
LunarKit_Concept_Block ==> LunarKit_Concept_Block
LunarKit_Concept_BlockChisel ==> LunarKit_Concept_BlockChisel
LunarKit_Concept_BlockNoRotation ==> LunarKit_Concept_BlockNoRotation
LunarKit_Concept_Circle ==> LunarKit_Concept_Circle
LunarKit_Concept_DigitalPencil ==> LunarKit_Concept_DigitalPencil
LunarKit_Concept_OpacityPen ==> LunarKit_Concept_OpacityPen
LunarKit_Ink_Analog ==> LunarKit_Ink_Analog
LunarKit_Ink_Gpen ==> LunarKit_Ink_Gpen
LunarKit_Ink_Maru ==> LunarKit_Ink_Maru
LunarKit_Paint_BristlesFur ==> LunarKit_Paint_BristlesFur
LunarKit_Paint_BristlesFur_[Wet] ==> LunarKit_Paint_BristlesFur_[Wet]
LunarKit_Paint_ChalkEroded ==> LunarKit_Paint_ChalkEroded
LunarKit_Paint_Flat ==> LunarKit_Paint_Flat
LunarKit_Paint_Fur ==> LunarKit_Paint_Fur
LunarKit_Paint_FurTips ==> LunarKit_Paint_FurTips
LunarKit_Paint_FurTips_[Normal] ==> LunarKit_Paint_FurTips_[Normal]
LunarKit_Paint_Hairy_[Size] ==> LunarKit_Paint_Hairy_[Size]
LunarKit_Paint_Round_[Size] ==> LunarKit_Paint_Round_[Size]
LunarKit_Paint_String_[Size] ==> LunarKit_Paint_String_[Size]
LunarKit_Paint_Strings ==> LunarKit_Paint_Strings
LunarKit_PencilSide ==> LunarKit_PencilSide
LunarKit_Smudge_A ==> LunarKit_Smudge_A
LunarKit_Smudge_S ==> LunarKit_Smudge_S
LunarKit_Smudge_U ==> LunarKit_Smudge_U
LunarKit_Stamp_Beads ==> LunarKit_Stamp_Beads
LunarKit_Stamp_Beads_[Opaque] ==> LunarKit_Stamp_Beads_[Opaque]
LunarKit_Stamp_Grass_Blades ==> LunarKit_Stamp_Grass_Blades
LunarKit_Stamp_LeafUmbrella ==> LunarKit_Stamp_LeafUmbrella
LunarKit_Texture_ElipsesSpread ==> LunarKit_Texture_ElipsesSpread
LunarKit_Texture_Rocks ==> LunarKit_Texture_Rocks
LunarKit_Texture_RoundDots ==> LunarKit_Texture_RoundDots
Move_tool ==> Move_tool
Oils_bristle ==> Oils_bristle
Oils_knife ==> Oils_knife
PW-01-thin-noisy ==> PW-01-thin-noisy
PW-02-thin-sketchy ==> PW-02-thin-sketchy
PW-03-chinese-soft ==> PW-03-chinese-soft
PW-04-thick-glaze ==> PW-04-thick-glaze
PW-05-thick-glaze2 ==> PW-05-thick-glaze2
PW-06-teethy ==> PW-06-teethy
PW-07-dry-hairy ==> PW-07-dry-hairy
PW-09-dirty2 ==> PW-09-dirty2
PW-10-smoke-on-the-water ==> PW-10-smoke-on-the-water
PW-11-cloudy ==> PW-11-cloudy
PW-12-wetonwet-side ==> PW-12-wetonwet-side
PW-13-wetonwet ==> PW-13-wetonwet
PW-14-blendnpaint1 ==> PW-14-blendnpaint1
PW-15-blendnpaint2 ==> PW-15-blendnpaint2
PW-16-smudge ==> PW-16-smudge
Pack01-Drybrush ==> Pack01-Drybrush
Pack01-Drybrush-ex ==> Pack01-Drybrush-ex
Pack01-Drybrush2 ==> Pack01-Drybrush2
Pack01_smudge_noise ==> Pack01_smudge_noise
Pastel_texture_large ==> Pastel_texture_large
Pastel_texture_thin ==> Pastel_texture_thin
Pencil_2B ==> Pencil_2B
Pencil_HB ==> Pencil_HB
Pencil_texture ==> Pencil_texture
Pencil_tilt ==> Pencil_tilt
PesiWcol-01-thin-noisy ==> PesiWcol-01-thin-noisy
PesiWcol-02-thin-sketchy ==> PesiWcol-02-thin-sketchy
PesiWcol-03-chinese-soft ==> PesiWcol-03-chinese-soft
PesiWcol-04-thick-glaze ==> PesiWcol-04-thick-glaze
PesiWcol-05-thick-glaze2 ==> PesiWcol-05-thick-glaze2
PesiWcol-06-teethy ==> PesiWcol-06-teethy
PesiWcol-07-dry-hairy ==> PesiWcol-07-dry-hairy
PesiWcol-08-dirty ==> PesiWcol-08-dirty
PesiWcol-09-dirty2 ==> PesiWcol-09-dirty2
PesiWcol-10-dirty-soft ==> PesiWcol-10-dirty-soft
PesiWcol-11-cloudy ==> PesiWcol-11-cloudy
PesiWcol-12-blendnpaint-1 ==> PesiWcol-12-blendnpaint-1
PesiWcol-13-blendnpaint-2 ==> PesiWcol-13-blendnpaint-2
PesiWcol-14-smudge ==> PesiWcol-14-smudge
PixelArt_Dithering ==> PixelArt_Dithering
PixelArt_Round ==> PixelArt_Round
PixelArt_Square ==> PixelArt_Square
Quick_circle_big ==> Quick_circle_big
Quick_circle_huge ==> Quick_circle_huge
Quick_circle_layout ==> Quick_circle_layout
RGBA Blender Basic ==> RGBA Blender Basic
RM_Jama_01_Flat ==> RM_Jama_01_Flat
RM_Jama_01_Move_Things ==> RM_Jama_01_Move_Things
RM_Jama_02_Controllable ==> RM_Jama_02_Controllable
RM_Jama_02_Detail ==> RM_Jama_02_Detail
RM_Jama_02_Original ==> RM_Jama_02_Original
RM_Jama_02_Pencil_Grunged ==> RM_Jama_02_Pencil_Grunged
RM_Jama_03_Dirty_Flat ==> RM_Jama_03_Dirty_Flat
RM_Jama_04_MixerPaint ==> RM_Jama_04_MixerPaint
RM_Jama_04_Mixer_Grain ==> RM_Jama_04_Mixer_Grain
RM_Jama_05_Blender_Fibers ==> RM_Jama_05_Blender_Fibers
RM_Pencil_2B ==> RM_Pencil_2B
RM_Pencil_6B_Tilted_ ==> RM_Pencil_6B_Tilted_
RM_Pencil_Shader_Pattern ==> RM_Pencil_Shader_Pattern
RM_Pencil_SoftGrain ==> RM_Pencil_SoftGrain
RM_Pencil_Supersoft ==> RM_Pencil_Supersoft
RM_Pencil_Supersoft_Simple ==> RM_Pencil_Supersoft_Simple
R_CF_Clone_Tilt ==> R_CF_Clone_Tilt
R_C_Brush1 ==> R_C_Brush1
R_C_Brush2 ==> R_C_Brush2
R_C_Brush3 ==> R_C_Brush3
R_C_Clone_Move ==> R_C_Clone_Move
R_C_Rake1 ==> R_C_Rake1
R_C_Rake2 ==> R_C_Rake2
R_C_Rake3 ==> R_C_Rake3
R_FT_Dirty ==> R_FT_Dirty
R_FT_Grainy1 ==> R_FT_Grainy1
R_FT_Grainy2 ==> R_FT_Grainy2
R_FT_Grainy3 ==> R_FT_Grainy3
R_FT_Textured1 ==> R_FT_Textured1
R_FT_Textured2 ==> R_FT_Textured2
R_F_Flat ==> R_F_Flat
R_F_Tilt_Flow ==> R_F_Tilt_Flow
R_F_Tilt_Flow2 ==> R_F_Tilt_Flow2
R_N_Bristle ==> R_N_Bristle
R_N_Bristle2 ==> R_N_Bristle2
R_N_Bristle3 ==> R_N_Bristle3
R_N_Bristle4 ==> R_N_Bristle4
R_N_Bristle5 ==> R_N_Bristle5
R_N_Bristle6 ==> R_N_Bristle6
R_N_Bristle7 ==> R_N_Bristle7
R_N_Bristle_Flow ==> R_N_Bristle_Flow
R_N_Edge ==> R_N_Edge
R_N_Move_tool ==> R_N_Move_tool
R_N_Pen ==> R_N_Pen
R_N_Round_Flow ==> R_N_Round_Flow
R_N_Round_Hard ==> R_N_Round_Hard
R_N_Round_Soft ==> R_N_Round_Soft
R_N_Round_Soft_Quickshade ==> R_N_Round_Soft_Quickshade
R_N_Spiky ==> R_N_Spiky
R_SF_Mixer_Tilt ==> R_SF_Mixer_Tilt
R_S_Mixer_Bristle ==> R_S_Mixer_Bristle
R_S_Mixer_Soft ==> R_S_Mixer_Soft
R_S_Mixer_Textured ==> R_S_Mixer_Textured
R_S_Mover ==> R_S_Mover
R_S_Oils_High_Load ==> R_S_Oils_High_Load
R_S_Oils_Low_Load ==> R_S_Oils_Low_Load
R_S_Oils_No_Load ==> R_S_Oils_No_Load
R_S_Sculpt ==> R_S_Sculpt
R_T_Blocky1 ==> R_T_Blocky1
R_T_Blocky2 ==> R_T_Blocky2
R_T_Blocky3 ==> R_T_Blocky3
R_T_Blocky_Broken1 ==> R_T_Blocky_Broken1
R_T_Blocky_Broken2 ==> R_T_Blocky_Broken2
R_T_Blocky_Broken3 ==> R_T_Blocky_Broken3
R_T_Blocky_Soft1 ==> R_T_Blocky_Soft1
R_T_Blocky_Soft2 ==> R_T_Blocky_Soft2
R_T_Bristle1 ==> R_T_Bristle1
R_T_Bristle2 ==> R_T_Bristle2
R_T_Bristle3 ==> R_T_Bristle3
R_T_Bristle4 ==> R_T_Bristle4
R_T_Bristle5 ==> R_T_Bristle5
R_T_Dry ==> R_T_Dry
R_T_Masked ==> R_T_Masked
R_T_Masked2 ==> R_T_Masked2
R_T_Masked4 ==> R_T_Masked4
R_T_Round_Soft_Textured1 ==> R_T_Round_Soft_Textured1
R_T_Round_Soft_Textured2 ==> R_T_Round_Soft_Textured2
R_T_Sketch ==> R_T_Sketch
R_T_Texture_Generator ==> R_T_Texture_Generator
R_T_Texture_Generator2 ==> R_T_Texture_Generator2
Rake_bristle_dry ==> Rake_bristle_dry
Rake_texture ==> Rake_texture
Screentone-Zipper ==> Screentone-Zipper
Screentones ==> Screentones
Screentones_eraser ==> Screentones_eraser
Shape_fill ==> Shape_fill
Shape_smooth ==> Shape_smooth
Sketch ==> Sketch
Sketch_chrome ==> Sketch_chrome
Sketch_fur ==> Sketch_fur
Sketch_ink_big ==> Sketch_ink_big
Sketch_ink_small ==> Sketch_ink_small
Sketch_line ==> Sketch_line
Sketch_shade ==> Sketch_shade
Sketch_shade_wash ==> Sketch_shade_wash
Sketch_speedpaint ==> Sketch_speedpaint
Sketch_speedpaint_shade ==> Sketch_speedpaint_shade
Sketch_wires ==> Sketch_wires
Smudge_block_tilt ==> Smudge_block_tilt
Smudge_rake ==> Smudge_rake
Smudge_rake_2 ==> Smudge_rake_2
Smudge_soft ==> Smudge_soft
Smudge_textured ==> Smudge_textured
Smudge_water ==> Smudge_water
Sparkle_wet ==> Sparkle_wet
Sparkle_wet_soft ==> Sparkle_wet_soft
Special_FuzzyColor ==> Special_FuzzyColor
Special_particles_crazy ==> Special_particles_crazy
Splat_mix_cells ==> Splat_mix_cells
Splat_texture ==> Splat_texture
Splat_texture_2 ==> Splat_texture_2
Splat_wet_cells ==> Splat_wet_cells
Splatter_thin ==> Splatter_thin
Sponge_texture ==> Sponge_texture
Spray_splat ==> Spray_splat
Tangent_normal_basic ==> Tangent_normal_basic
Tangent_normal_drawing_angle ==> Tangent_normal_drawing_angle
Tangent_normal_hairy ==> Tangent_normal_hairy
Tangent_normal_pixel ==> Tangent_normal_pixel
Tangent_normal_y_inverted ==> Tangent_normal_y_inverted
Texture_fuzzy ==> Texture_fuzzy
Texture_hair ==> Texture_hair
Texture_leaves_fuzzy ==> Texture_leaves_fuzzy
Textured_tilt ==> Textured_tilt
a)_Eraser_Circle ==> a)_Eraser_Circle
a)_Eraser_Small ==> a)_Eraser_Small
a)_Eraser_Soft ==> a)_Eraser_Soft
a)_Eraser_Textured ==> a)_Eraser_Textured
b)_Airbrush-Real ==> b)_Airbrush-Real
b)_Airbrush-Real_Grain ==> b)_Airbrush-Real_Grain
b)_Airbrush-Real_Grain_Pattern ==> b)_Airbrush-Real_Grain_Pattern
b)_Airbrush_Soft ==> b)_Airbrush_Soft
b)_Basic-1 ==> b)_Basic-1
b)_Basic-2_Opacity ==> b)_Basic-2_Opacity
b)_Basic-3_Flow ==> b)_Basic-3_Flow
b)_Basic-4_Flow_Opacity ==> b)_Basic-4_Flow_Opacity
b)_Basic-5_Size ==> b)_Basic-5_Size
b)_Basic-5_Size plus ==> b)_Basic-5_Size plus
b)_Basic-5_Size-fill ==> b)_Basic-5_Size-fill
b)_Basic-5_Size_Opacity ==> b)_Basic-5_Size_Opacity
b)_Basic-6_Details ==> b)_Basic-6_Details
blend+paint ==> blend+paint
blending_knife ==> blending_knife
blur ==> blur
brush ==> brush
bulk ==> bulk
c)_Pencil-1_Hard ==> c)_Pencil-1_Hard
c)_Pencil-1_Sketch-update ==> c)_Pencil-1_Sketch-update
c)_Pencil-2 ==> c)_Pencil-2
c)_Pencil-2-Update ==> c)_Pencil-2-Update
c)_Pencil-3_Large_4B ==> c)_Pencil-3_Large_4B
c)_Pencil-4_Soft ==> c)_Pencil-4_Soft
c)_Pencil-5_Tilted ==> c)_Pencil-5_Tilted
c)_Pencil-6_Quick_Shade ==> c)_Pencil-6_Quick_Shade
c)_Sketcher ==> c)_Sketcher
c)_Super-soft-mechanical-pencil ==> c)_Super-soft-mechanical-pencil
c0)_Sketch ==> c0)_Sketch
c0)_Sketch-Stronger ==> c0)_Sketch-Stronger
c1)_Inking-1-Glazing ==> c1)_Inking-1-Glazing
c1)_Inking-2-Medium-Flow ==> c1)_Inking-2-Medium-Flow
c1)_Inking-3-Full ==> c1)_Inking-3-Full
c2)_Drawing ==> c2)_Drawing
calligraphy ==> calligraphy
charcoal ==> charcoal
coarse_bulk_1 ==> coarse_bulk_1
coarse_bulk_2 ==> coarse_bulk_2
coarse_bulk_3 ==> coarse_bulk_3
d)_Ink-1_Precision ==> d)_Ink-1_Precision
d)_Ink-2_Fineliner ==> d)_Ink-2_Fineliner
d)_Ink-3_Gpen ==> d)_Ink-3_Gpen
d)_Ink-4_Pen_Rough ==> d)_Ink-4_Pen_Rough
d)_Ink-5_Pen_Irregular ==> d)_Ink-5_Pen_Irregular
d)_Ink-7_Brush_Rough ==> d)_Ink-7_Brush_Rough
d)_Ink-8_Sumi-e ==> d)_Ink-8_Sumi-e
deevad 1d1 charcoal pencil thin ==> deevad 1d1 charcoal pencil thin
deevad 1d2 charcoal pencil medium ==> deevad 1d2 charcoal pencil medium
deevad 1d3 charcoal pencil large ==> deevad 1d3 charcoal pencil large
dry_brush ==> dry_brush
e)_Marker_Chisel_Smooth ==> e)_Marker_Chisel_Smooth
e)_Marker_Details ==> e)_Marker_Details
e)_Marker_Dry ==> e)_Marker_Dry
f)_Basic_Textured_Flat ==> f)_Basic_Textured_Flat
f)_Bristles-1_Details ==> f)_Bristles-1_Details
f)_Bristles-2_Flat_Rough ==> f)_Bristles-2_Flat_Rough
f)_Bristles-2_Flat_Rough_Textured ==> f)_Bristles-2_Flat_Rough_Textured
f)_Bristles-2_Flat_Rough_Textured_Pressure ==> f)_Bristles-2_Flat_Rough_Textured_Pressure
f)_Bristles-3_Large_Smooth ==> f)_Bristles-3_Large_Smooth
f)_Bristles-4_Glaze ==> f)_Bristles-4_Glaze
f)_Bristles-5_Flat ==> f)_Bristles-5_Flat
f)_Bristles-gentle-rub ==> f)_Bristles-gentle-rub
f)_Charcoal_Rock_Soft ==> f)_Charcoal_Rock_Soft
f)_Dry_Roller ==> f)_Dry_Roller
f)_Rake_Directional ==> f)_Rake_Directional
f)_Rake_Mix ==> f)_Rake_Mix
f)_Sharp-silhouette-shape ==> f)_Sharp-silhouette-shape
f)_Soft-painting-small ==> f)_Soft-painting-small
f)_Soft_Rounded_Slightly_Textured ==> f)_Soft_Rounded_Slightly_Textured
f)_Speedpainting_Blocking_Shape_Textured ==> f)_Speedpainting_Blocking_Shape_Textured
g)_Dry_Bristles ==> g)_Dry_Bristles
g)_Dry_Bristles_Eroded ==> g)_Dry_Bristles_Eroded
g)_Dry_Brushing ==> g)_Dry_Brushing
g)_Dry_Brushing-modeling ==> g)_Dry_Brushing-modeling
g)_Dry_Textured_Creases ==> g)_Dry_Textured_Creases
h)_Chalk-Soft_update ==> h)_Chalk-Soft_update
h)_Chalk_Details ==> h)_Chalk_Details
h)_Chalk_Grainy ==> h)_Chalk_Grainy
h)_Chalk_Soft ==> h)_Chalk_Soft
h)_Charcoal_01_Draw-Detail ==> h)_Charcoal_01_Draw-Detail
h)_Charcoal_02_Pencil-SoftGrain ==> h)_Charcoal_02_Pencil-SoftGrain
h)_Charcoal_03_Pencil-Grainy ==> h)_Charcoal_03_Pencil-Grainy
h)_Charcoal_04_Chamois ==> h)_Charcoal_04_Chamois
h)_Charcoal_05_GhostLines ==> h)_Charcoal_05_GhostLines
h)_Charcoal_06_Vine-Small ==> h)_Charcoal_06_Vine-Small
h)_Charcoal_07_Willow-Thin ==> h)_Charcoal_07_Willow-Thin
h)_Charcoal_08_Willow-Soft ==> h)_Charcoal_08_Willow-Soft
h)_Charcoal_09_Willow-Thick ==> h)_Charcoal_09_Willow-Thick
h)_Charcoal_10_Willow_BlockGrainy ==> h)_Charcoal_10_Willow_BlockGrainy
h)_Charcoal_11_Willow_RoughGrain ==> h)_Charcoal_11_Willow_RoughGrain
h)_Charcoal_12_Comp-Hard ==> h)_Charcoal_12_Comp-Hard
h)_Charcoal_13_Comp-Soft ==> h)_Charcoal_13_Comp-Soft
h)_Charcoal_14_Comp-Shader ==> h)_Charcoal_14_Comp-Shader
h)_Charcoal_15_Comp-Flat ==> h)_Charcoal_15_Comp-Flat
h)_Charcoal_16_Comp-BlockBG ==> h)_Charcoal_16_Comp-BlockBG
h)_Charcoal_17_Comp-FlatEdge ==> h)_Charcoal_17_Comp-FlatEdge
h)_Charcoal_18_Blend-SoftGrain ==> h)_Charcoal_18_Blend-SoftGrain
h)_Charcoal_19_Blend-Rag1 ==> h)_Charcoal_19_Blend-Rag1
h)_Charcoal_20_Blend-Rag2 ==> h)_Charcoal_20_Blend-Rag2
h)_Charcoal_21_Blend-ZigZag ==> h)_Charcoal_21_Blend-ZigZag
h)_Charcoal_22_Blend-FingerDrag ==> h)_Charcoal_22_Blend-FingerDrag
h)_Charcoal_23_Eraser-Soft ==> h)_Charcoal_23_Eraser-Soft
h)_Charcoal_24_Eraser-Blend ==> h)_Charcoal_24_Eraser-Blend
h)_Charcoal_25_Finger-Touch ==> h)_Charcoal_25_Finger-Touch
h)_Charcoal_Pencil_Medium ==> h)_Charcoal_Pencil_Medium
h)_Charcoal_Pencil_Thin ==> h)_Charcoal_Pencil_Thin
h)_Charcoal_Pencil_broad-sketch ==> h)_Charcoal_Pencil_broad-sketch
h)_Charcoal_pencil_large ==> h)_Charcoal_pencil_large
h)_Charcoal_small-block ==> h)_Charcoal_small-block
h)_Expressive_Textured_Flat ==> h)_Expressive_Textured_Flat
h)_Expressive_Textured_Tilt ==> h)_Expressive_Textured_Tilt
h)_Hardpainting-01-details ==> h)_Hardpainting-01-details
h)_Hardpainting-02_textured-dry-details ==> h)_Hardpainting-02_textured-dry-details
h)_Hardpainting-03_Expressive-knife ==> h)_Hardpainting-03_Expressive-knife
h)_Hardpainting-04_Soft-block-edges ==> h)_Hardpainting-04_Soft-block-edges
h)_Hardpainting-05_Gentle-rub-soft-overlays ==> h)_Hardpainting-05_Gentle-rub-soft-overlays
h)_Hardpainting-06_Wet-on-wet-canvas ==> h)_Hardpainting-06_Wet-on-wet-canvas
h)_Hardpainting-07_Dry-hard-rub-small ==> h)_Hardpainting-07_Dry-hard-rub-small
h)_Hardpainting-08_Dry-hard-rub-large ==> h)_Hardpainting-08_Dry-hard-rub-large
h)_Hardpainting-09_brush-dynamic-tilt ==> h)_Hardpainting-09_brush-dynamic-tilt
h)_Hardpainting-10-Sharp-rake ==> h)_Hardpainting-10-Sharp-rake
h)_Hardpainting-11_big-canvas-rub ==> h)_Hardpainting-11_big-canvas-rub
i)_Wet_Bristles ==> i)_Wet_Bristles
i)_Wet_Bristles_Rough ==> i)_Wet_Bristles_Rough
i)_Wet_Circle ==> i)_Wet_Circle
i)_Wet_Knife ==> i)_Wet_Knife
i)_Wet_Paint ==> i)_Wet_Paint
i)_Wet_Paint_Details ==> i)_Wet_Paint_Details
i)_Wet_Smear ==> i)_Wet_Smear
i)_Wet_Textured_Soft ==> i)_Wet_Textured_Soft
imp_blending ==> imp_blending
imp_details ==> imp_details
impressionism ==> impressionism
ink_blot ==> ink_blot
ink_eraser ==> ink_eraser
ink_precision_03 ==> ink_precision_03
j)_Simple_irregular_edges ==> j)_Simple_irregular_edges
j)_WaterC_Basic_Lines-Dry ==> j)_WaterC_Basic_Lines-Dry
j)_WaterC_Basic_Lines-Wet ==> j)_WaterC_Basic_Lines-Wet
j)_WaterC_Basic_Lines-Wet-Pattern ==> j)_WaterC_Basic_Lines-Wet-Pattern
j)_WaterC_Basic_Round-Fringe_02 ==> j)_WaterC_Basic_Round-Fringe_02
j)_WaterC_Basic_Round-Grain ==> j)_WaterC_Basic_Round-Grain
j)_WaterC_Basic_Round-Grunge ==> j)_WaterC_Basic_Round-Grunge
j)_WaterC_Flat_Big-Grain_Tilt ==> j)_WaterC_Flat_Big-Grain_Tilt
j)_WaterC_Flat_Decay_Tilt ==> j)_WaterC_Flat_Decay_Tilt
j)_WaterC_Special_Blobs ==> j)_WaterC_Special_Blobs
j)_WaterC_Special_Splats ==> j)_WaterC_Special_Splats
j)_WaterC_Spread ==> j)_WaterC_Spread
j)_WaterC_Spread-Pattern ==> j)_WaterC_Spread-Pattern
j)_WaterC_Spread_WideArea ==> j)_WaterC_Spread_WideArea
j)_WaterC_Water-Pattern ==> j)_WaterC_Water-Pattern
j)_Watercolor_Fringe ==> j)_Watercolor_Fringe
j)_Watercolor_Texture ==> j)_Watercolor_Texture
j)_Waterpaint_Hard_Edges ==> j)_Waterpaint_Hard_Edges
j)_Waterpaint_Soft_Edges ==> j)_Waterpaint_Soft_Edges
k)_Blender_Basic ==> k)_Blender_Basic
k)_Blender_Blur ==> k)_Blender_Blur
k)_Blender_Knife_Edge ==> k)_Blender_Knife_Edge
k)_Blender_Pixelize ==> k)_Blender_Pixelize
k)_Blender_Rake ==> k)_Blender_Rake
k)_Blender_Smear ==> k)_Blender_Smear
k)_Blender_Textured_Soft ==> k)_Blender_Textured_Soft
kabura ==> kabura
knife ==> knife
l)_Adjust_Color ==> l)_Adjust_Color
l)_Adjust_Dodge ==> l)_Adjust_Dodge
l)_Adjust_Lighten ==> l)_Adjust_Lighten
l)_Adjust_Multiply ==> l)_Adjust_Multiply
l)_Adjust_Overlay_Burn ==> l)_Adjust_Overlay_Burn
long_grass ==> long_grass
m)_RGBA_01_Thick-dry ==> m)_RGBA_01_Thick-dry
m)_RGBA_02_Thickpaint ==> m)_RGBA_02_Thickpaint
m)_RGBA_03_Rake ==> m)_RGBA_03_Rake
m)_RGBA_04_Impasto ==> m)_RGBA_04_Impasto
m)_RGBA_05_Impasto-details ==> m)_RGBA_05_Impasto-details
m)_RGBA_06_Rock ==> m)_RGBA_06_Rock
marker_fat ==> marker_fat
marker_small ==> marker_small
modelling ==> modelling
modelling2 ==> modelling2

The b)_Basic-5_Size brush is available in my list

As well as in my resources

Sorry for being such a hoarder XD, here’s the rest of my brush list:

muses_01_01_Pencil_HB ==> muses_01_01_Pencil_HB
muses_01_02_Pencil_2B ==> muses_01_02_Pencil_2B
muses_01_03_Charcoal ==> muses_01_03_Charcoal
muses_01_04_Pencil_Charcoal ==> muses_01_04_Pencil_Charcoal
muses_01_05_Charcoal_grain_small ==> muses_01_05_Charcoal_grain_small
muses_01_06_Charcoal_grain_large ==> muses_01_06_Charcoal_grain_large
muses_02_01_Digital_basic ==> muses_02_01_Digital_basic
muses_02_02_Digital_basic_pressure ==> muses_02_02_Digital_basic_pressure
muses_02_03_Digital_flat ==> muses_02_03_Digital_flat
muses_02_04_Marker ==> muses_02_04_Marker
muses_02_05_Digital_wet ==> muses_02_05_Digital_wet
muses_02_06_Digital_airbrush ==> muses_02_06_Digital_airbrush
muses_03_01_Technic_pen ==> muses_03_01_Technic_pen
muses_03_02_Brush_pen ==> muses_03_02_Brush_pen
muses_03_03_Bold_marker ==> muses_03_03_Bold_marker
muses_03_04_Beamlight ==> muses_03_04_Beamlight
muses_03_05_GlowLight ==> muses_03_05_GlowLight
muses_03_06_Spray ==> muses_03_06_Spray
muses_04_01_Oilpastel ==> muses_04_01_Oilpastel
muses_04_02_Oil_brush_small ==> muses_04_02_Oil_brush_small
muses_04_03_Oil_brush_large_Copy ==> muses_04_03_Oil_brush_large_Copy
muses_04_04_Palette_knive ==> muses_04_04_Palette_knive
muses_04_05_Just_water ==> muses_04_05_Just_water
muses_04_06_Just_water_large ==> muses_04_06_Just_water_large
muses_05_01_Blender_brush ==> muses_05_01_Blender_brush
muses_05_02_Blender_palette ==> muses_05_02_Blender_palette
muses_05_03_Blender_splats ==> muses_05_03_Blender_splats
muses_05_04_Blender_grain ==> muses_05_04_Blender_grain
muses_05_05_Blender_soft ==> muses_05_05_Blender_soft
muses_05_06_Blender_structure ==> muses_05_06_Blender_structure
muses_06_01_Texture_01_Crackles ==> muses_06_01_Texture_01_Crackles
muses_06_02_Texture_02_Rock ==> muses_06_02_Texture_02_Rock
muses_06_03_Texture_03_Marble ==> muses_06_03_Texture_03_Marble
muses_06_04_Texture_04_Rock_flat ==> muses_06_04_Texture_04_Rock_flat
muses_06_05_Texture_05_Mecha ==> muses_06_05_Texture_05_Mecha
muses_06_06_Texture_06_Structure ==> muses_06_06_Texture_06_Structure
muses_07_01_Texture_07_Snow ==> muses_07_01_Texture_07_Snow
muses_07_02_Texture_08_Dust ==> muses_07_02_Texture_08_Dust
muses_07_03_Texture_09_Splats ==> muses_07_03_Texture_09_Splats
muses_07_04_Texture_10_Smoke ==> muses_07_04_Texture_10_Smoke
muses_07_05_Texture_11_Leafs ==> muses_07_05_Texture_11_Leafs
muses_07_06_Texture_12_Grass ==> muses_07_06_Texture_12_Grass
pack01-Fx ==> pack01-Fx
pack01-chalk ==> pack01-chalk
pack01-leaf ==> pack01-leaf
pack01-quick-ink ==> pack01-quick-ink
pack01-rake03 ==> pack01-rake03
pack01_Generic ==> pack01_Generic
pack01_Gouache-03 ==> pack01_Gouache-03
pack01_basic ==> pack01_basic
pack01_basic-render ==> pack01_basic-render
pack01_chalk02 ==> pack01_chalk02
pack01_clouds ==> pack01_clouds
pack01_crayon09 ==> pack01_crayon09
pack01_dots ==> pack01_dots
pack01_dotsandhair ==> pack01_dotsandhair
pack01_drypastel ==> pack01_drypastel
pack01_fill ==> pack01_fill
pack01_fuzzy_opaque ==> pack01_fuzzy_opaque
pack01_inkbrush ==> pack01_inkbrush
pack01_pencil-01 ==> pack01_pencil-01
pack01_rake ==> pack01_rake
pack01_roundspread ==> pack01_roundspread
pack01_specialrake ==> pack01_specialrake
pack01_sponge-03 ==> pack01_sponge-03
pack01_sponge_ace ==> pack01_sponge_ace
pack01_sponge_wet ==> pack01_sponge_wet
pack01_sponze_dry ==> pack01_sponze_dry
pen ==> pen
pencil ==> pencil
pixel1 ==> pixel1
pointy_ink ==> pointy_ink
puantilism ==> puantilism
puantilism2 ==> puantilism2
rounded ==> rounded
short_grass ==> short_grass
slow_ink ==> slow_ink
smudge ==> smudge
smudge+paint ==> smudge+paint
t)_Shapes_Fill ==> t)_Shapes_Fill
t)_Shapes_Mecha ==> t)_Shapes_Mecha
t)_Shapes_Rounded ==> t)_Shapes_Rounded
t)_Shapes_Spikes ==> t)_Shapes_Spikes
t)_Shapes_Square ==> t)_Shapes_Square
textured_ink ==> textured_ink
u)_Pixel_Art ==> u)_Pixel_Art
u)_Pixel_Art_Dithering ==> u)_Pixel_Art_Dithering
u)_Pixel_Art_Fill ==> u)_Pixel_Art_Fill
u)_Pixel_Art_Fill_plus ==> u)_Pixel_Art_Fill_plus
v)_Clone_Tool ==> v)_Clone_Tool
v)_Dashed ==> v)_Dashed
v)_Distort_Grow ==> v)_Distort_Grow
v)_Distort_Move ==> v)_Distort_Move
v)_Distort_Shrink ==> v)_Distort_Shrink
v)_Experimental_Webs ==> v)_Experimental_Webs
v)_Sketching-1_Chrome_Thin ==> v)_Sketching-1_Chrome_Thin
v)_Sketching-2_Chrome_Large ==> v)_Sketching-2_Chrome_Large
v)_Sketching-3_Leaky ==> v)_Sketching-3_Leaky
v)_Texture_Impressionism ==> v)_Texture_Impressionism
v)_Texture_Impressionism-Accurate ==> v)_Texture_Impressionism-Accurate
v)_Texture_Impressionism_Masked ==> v)_Texture_Impressionism_Masked
v)_Texture_Impressionism_MaskedBig ==> v)_Texture_Impressionism_MaskedBig
v)_Texture_Impressionism_Pattern ==> v)_Texture_Impressionism_Pattern
v)_Texture_Impressionism_Wet ==> v)_Texture_Impressionism_Wet
v)_Texture_Impressionism_Wet-Pattern ==> v)_Texture_Impressionism_Wet-Pattern
v)_Texture_Impressionism_Wet_Blend ==> v)_Texture_Impressionism_Wet_Blend
v)_Texture_Impressionism_Wet_Blend-Big ==> v)_Texture_Impressionism_Wet_Blend-Big
v)_Texture_Pointillism ==> v)_Texture_Pointillism
vb1AA - Hard Eraser ==> vb1AA - Hard Eraser
vb1AB - Soft Eraser ==> vb1AB - Soft Eraser
vb1AC - Round Opacity ==> vb1AC - Round Opacity
vb1AD - Fill ==> vb1AD - Fill
vb1AE - Details ==> vb1AE - Details
vb1AF - Sketch (T) ==> vb1AF - Sketch (T)
vb1AG - Soft ==> vb1AG - Soft
vb1AH - Airbrush ==> vb1AH - Airbrush
vb1AI - Soft Mix ==> vb1AI - Soft Mix
vb1AJ - Hard Mix ==> vb1AJ - Hard Mix
vb1AK - Knife Blend ==> vb1AK - Knife Blend
vb1AL - Blend ==> vb1AL - Blend
vb1AM - Smudge ==> vb1AM - Smudge
vb1BA - Fineliner ==> vb1BA - Fineliner
vb1BB - Ink ==> vb1BB - Ink
vb1BC - Flat Opacity (T) ==> vb1BC - Flat Opacity (T)
vb1BD - Flat Op Horizontal ==> vb1BD - Flat Op Horizontal
vb1BE - Round Op Fine ==> vb1BE - Round Op Fine
vb1BF - Flat Marker (T) ==> vb1BF - Flat Marker (T)
vb1BG - Marker Tex (T) ==> vb1BG - Marker Tex (T)
vb1BH - Marker Square Tex (T) ==> vb1BH - Marker Square Tex (T)
vb1BI - Marker Dry Tex ==> vb1BI - Marker Dry Tex
vb1BJ - Marker Tex Multiply ==> vb1BJ - Marker Tex Multiply
vb1BK - Round Scattered ==> vb1BK - Round Scattered
vb1BL - Squares Scattered ==> vb1BL - Squares Scattered
vb2AA - Pencil 2H (T) ==> vb2AA - Pencil 2H (T)
vb2AB - Pencil HB (T) ==> vb2AB - Pencil HB (T)
vb2AC - Pencil 2B (T) ==> vb2AC - Pencil 2B (T)
vb2AD - Pencil 4B (T) ==> vb2AD - Pencil 4B (T)
vb2AE - Crayons ==> vb2AE - Crayons
vb2AF - Charcoal Soft (T) ==> vb2AF - Charcoal Soft (T)
vb2AG - Charcoal Hard (T) ==> vb2AG - Charcoal Hard (T)
vb2AH - Chalk Small ==> vb2AH - Chalk Small
vb2AI - Chalk ==> vb2AI - Chalk
vb2AJ - Pencil Sketch ==> vb2AJ - Pencil Sketch
vb2BA - Small Round ==> vb2BA - Small Round
vb2BB - Ellipse Brush (T) ==> vb2BB - Ellipse Brush (T)
vb2BC - Dry Brush ==> vb2BC - Dry Brush
vb2BD - Square Brush ==> vb2BD - Square Brush
vb2BE - Tex Soft Grain ==> vb2BE - Tex Soft Grain
vb2BF - Tex Small Eroded ==> vb2BF - Tex Small Eroded
vb2BG - Tex Eroded ==> vb2BG - Tex Eroded
vb2BH - Hairy Small ==> vb2BH - Hairy Small
vb2BI - Small Bristle ==> vb2BI - Small Bristle
vb2BJ - Square Bristle ==> vb2BJ - Square Bristle
vb2BK - Dense Bristle ==> vb2BK - Dense Bristle
vb2BL - Hairy Jitter ==> vb2BL - Hairy Jitter
vb2CA - Smudge Paint ==> vb2CA - Smudge Paint
vb2CB - Oil Soft ==> vb2CB - Oil Soft
vb2CC - Small Round Oil ==> vb2CC - Small Round Oil
vb2CD - Small Dirty Oil ==> vb2CD - Small Dirty Oil
vb2CE - Square Oil ==> vb2CE - Square Oil
vb2CF - Square Dirty Oil ==> vb2CF - Square Dirty Oil
vb2CG - Flat Oil ==> vb2CG - Flat Oil
vb2CH - Large Oval Oil ==> vb2CH - Large Oval Oil
vb2CI - Soft Dull Mix ==> vb2CI - Soft Dull Mix
vb2CJ - Dry Dull Mix ==> vb2CJ - Dry Dull Mix
vb2CK - Paint Roller Dulling ==> vb2CK - Paint Roller Dulling
vb2CL - Smeary Rake ==> vb2CL - Smeary Rake
vb2CM - Fine Rake ==> vb2CM - Fine Rake
vb2CN - Fuzzy Rake ==> vb2CN - Fuzzy Rake
vb2CO - Bristle Blend (T) ==> vb2CO - Bristle Blend (T)
vb2DA - Basic Brush ==> vb2DA - Basic Brush
vb2DB - Fluffy Brush ==> vb2DB - Fluffy Brush
vb2DC - Soft Brush ==> vb2DC - Soft Brush
vb2DD - Details ==> vb2DD - Details
vb2DE - Soft Details ==> vb2DE - Soft Details
vb2DF - Scatter Small ==> vb2DF - Scatter Small
vb2DG - Scatter Soft (T) ==> vb2DG - Scatter Soft (T)
vb2DH - Scatter Medium (T) ==> vb2DH - Scatter Medium (T)
vb2DI - Scatter Sharp (T) ==> vb2DI - Scatter Sharp (T)
vb2DJ - Stains Soft ==> vb2DJ - Stains Soft
vb2DK - Stains Medium ==> vb2DK - Stains Medium
vb2DL - Stains Sharp ==> vb2DL - Stains Sharp
vb2DM - Big Texture ==> vb2DM - Big Texture
vb3AA - Small Scratches and Dust ==> vb3AA - Small Scratches and Dust
vb3AB - Cracks ==> vb3AB - Cracks
vb3AC - Veins ==> vb3AC - Veins
vb3AD - Dots (T) ==> vb3AD - Dots (T)
vb3AE - Splash (T) ==> vb3AE - Splash (T)
vb3AF -Small Splats Dull Mix (T) ==> vb3AF -Small Splats Dull Mix (T)
vb3AG - Fuzzy Dull Mix ==> vb3AG - Fuzzy Dull Mix
vb3AH - Patchy Dull Mix ==> vb3AH - Patchy Dull Mix
vb3AI - Fuzzy Rough Blend ==> vb3AI - Fuzzy Rough Blend
vb3BA - Hair Single ==> vb3BA - Hair Single
vb3BB - Hair Multi ==> vb3BB - Hair Multi
vb3BC - Hair Multi Op ==> vb3BC - Hair Multi Op
vb3BD - Strands ==> vb3BD - Strands
vb3BE - Strands Large ==> vb3BE - Strands Large
vb3BF - Short Strands (Fur or Water) ==> vb3BF - Short Strands (Fur or Water)
vb3CA - Smoke ==> vb3CA - Smoke
vb3CB - Clouds ==> vb3CB - Clouds
vb3CC - Ball Smudge ==> vb3CC - Ball Smudge
vb3CD - Cloudy Blender (T) ==> vb3CD - Cloudy Blender (T)
vb3CE - Soft Round Scattered ==> vb3CE - Soft Round Scattered
vb3DA - Branches ==> vb3DA - Branches
vb3DB - Grass (T) ==> vb3DB - Grass (T)
vb3DC - Bush (T) ==> vb3DC - Bush (T)
vb3DD - Foliage (T) ==> vb3DD - Foliage (T)
vb3DE - Dense Foliage (T) ==> vb3DE - Dense Foliage (T)
vb3DF - Vegetation ==> vb3DF - Vegetation
vb3DG - Fruits ==> vb3DG - Fruits
vb3DH - Ivy ==> vb3DH - Ivy
vb3DI - Buds ==> vb3DI - Buds
vb3DJ - Leafs 01 (T) ==> vb3DJ - Leafs 01 (T)
vb3DK - Leafs 02 (T) ==> vb3DK - Leafs 02 (T)
vb3DL - Leafs Darken ==> vb3DL - Leafs Darken
vb3DM - Spikes ==> vb3DM - Spikes
vb3EA - Halo ==> vb3EA - Halo
vb3EB - Folds ==> vb3EB - Folds
vb3EC - Repeater ==> vb3EC - Repeater
vb3ED - Curve ==> vb3ED - Curve
vb3EE - Smokey ==> vb3EE - Smokey
vb3EF - Dense Smokey ==> vb3EF - Dense Smokey
vb3EG - Ribbons ==> vb3EG - Ribbons
w)_Texture_Normal_Map ==> w)_Texture_Normal_Map
wet_knife ==> wet_knife
wojtryb6 N 01 horizontal DA ==> wojtryb6 N 01 horizontal DA
wojtryb6 N 02a square DA impasto ==> wojtryb6 N 02a square DA impasto
wojtryb6 N 02b square DA impasto pat ==> wojtryb6 N 02b square DA impasto pat
wojtryb6 N 03 square strong impasto ==> wojtryb6 N 03 square strong impasto
wojtryb6 N 04 square twoSided impasto ==> wojtryb6 N 04 square twoSided impasto
wojtryb6 N 05 watercolor ==> wojtryb6 N 05 watercolor
wojtryb6 N 06 oil DA impasto ==> wojtryb6 N 06 oil DA impasto
wojtryb6 N 07 roll impasto pat ==> wojtryb6 N 07 roll impasto pat
wojtryb6 N 08 gradient Rakurri impasto ==> wojtryb6 N 08 gradient Rakurri impasto
wojtryb6 N 09 dualGradient impasto ==> wojtryb6 N 09 dualGradient impasto
wojtryb6 N 10a stripes impasto ==> wojtryb6 N 10a stripes impasto
wojtryb6 N 10b dots impasto ==> wojtryb6 N 10b dots impasto
wojtryb6 N 11 hay impasto ==> wojtryb6 N 11 hay impasto
wojtryb6 N 12 messy blobs Aaron ==> wojtryb6 N 12 messy blobs Aaron
wojtryb6 N 13 messy square Aaron ==> wojtryb6 N 13 messy square Aaron
wojtryb6 N 14 grainy dry smudge ==> wojtryb6 N 14 grainy dry smudge
wojtryb6 N 15 spread dry smudge ==> wojtryb6 N 15 spread dry smudge
wojtryb6 N 16 painting smudge pat ==> wojtryb6 N 16 painting smudge pat
wojtryb6 N 17 noise ==> wojtryb6 N 17 noise
wojtryb6 N 18 complementary ==> wojtryb6 N 18 complementary
wojtryb6 N 19 noise painting ==> wojtryb6 N 19 noise painting
wojtryb6 N 20 horizontal DA Pat ==> wojtryb6 N 20 horizontal DA Pat
wojtryb6 N 21 moveTool Ramon ==> wojtryb6 N 21 moveTool Ramon
wojtryb6 N 22 alchemy ==> wojtryb6 N 22 alchemy
wojtryb6 N 23 blur ==> wojtryb6 N 23 blur
wojtryb6 N 24 knife ==> wojtryb6 N 24 knife
x)_Filter_Blur ==> x)_Filter_Blur
x)_Filter_Sharpen ==> x)_Filter_Sharpen
y)_Screentone_Moire ==> y)_Screentone_Moire
y)_Screentone_Pressure ==> y)_Screentone_Pressure
y)_Screentones_Regular ==> y)_Screentones_Regular
y)_Spray_Dust ==> y)_Spray_Dust
y)_Spray_Dust-Dense ==> y)_Spray_Dust-Dense
y)_Spray_Dust-Medium ==> y)_Spray_Dust-Medium
y)_Spray_Dust_Dirty ==> y)_Spray_Dust_Dirty
y)_Spray_Object_Brushtip ==> y)_Spray_Object_Brushtip
y)_Spray_Object_Mix-FG-BG ==> y)_Spray_Object_Mix-FG-BG
y)_Spray_Object_Wash ==> y)_Spray_Object_Wash
y)_Spray_Rain ==> y)_Spray_Rain
y)_Spray_Snow_Calm ==> y)_Spray_Snow_Calm
y)_Spray_Snow_Storm ==> y)_Spray_Snow_Storm
y)_Spray_Special-Confetti ==> y)_Spray_Special-Confetti
y)_Spray_Special-Lights ==> y)_Spray_Special-Lights
y)_Spray_Special_Bubbles ==> y)_Spray_Special_Bubbles
y)_Spray_Special_SuperBig-Area ==> y)_Spray_Special_SuperBig-Area
y)_Texture_Big ==> y)_Texture_Big
y)_Texture_Crackles ==> y)_Texture_Crackles
y)_Texture_Hair ==> y)_Texture_Hair
y)_Texture_Large_Splat ==> y)_Texture_Large_Splat
y)_Texture_Noise ==> y)_Texture_Noise
y)_Texture_Random_Particles ==> y)_Texture_Random_Particles
y)_Texture_Reptile ==> y)_Texture_Reptile
y)_Texture_Snow_Pile ==> y)_Texture_Snow_Pile
y)_Texture_Spines ==> y)_Texture_Spines
y)_Texture_Splat ==> y)_Texture_Splat
y)_Texture_Spray ==> y)_Texture_Spray
y)_Texture_Starfield ==> y)_Texture_Starfield
y)_Texture_Starfield-bitmap ==> y)_Texture_Starfield-bitmap
y)_Texture_Wood_Fiber ==> y)_Texture_Wood_Fiber
z)_Stamp_Bokeh ==> z)_Stamp_Bokeh
z)_Stamp_Floor ==> z)_Stamp_Floor
z)_Stamp_Grass ==> z)_Stamp_Grass
z)_Stamp_Grass_Patch ==> z)_Stamp_Grass_Patch
z)_Stamp_Hearts ==> z)_Stamp_Hearts
z)_Stamp_Herbals ==> z)_Stamp_Herbals
z)_Stamp_Leaves ==> z)_Stamp_Leaves
z)_Stamp_Mountains_Distant ==> z)_Stamp_Mountains_Distant
z)_Stamp_Shoujo_Bubbles ==> z)_Stamp_Shoujo_Bubbles
z)_Stamp_Sparkles ==> z)_Stamp_Sparkles
z)_Stamp_Stylised_Tree ==> z)_Stamp_Stylised_Tree
z)_Stamp_Vegetal ==> z)_Stamp_Vegetal
z)_Stamp_Water ==> z)_Stamp_Water

Thanks!

It’s available from API but it let me see one things I didn’t take care until now.

The error message refers a missing 'b) Basic-5 Size' and the preset name is b)_Basic-5_Size
Plugin tries to find brush from a name for which underscore has been replaced by spaces :thinking:

I need to dig on it…

Grum999

1 Like

This is a recent change, for brush presets, underscores are now replaced with spaces in the “internal” name too, but doesn’t force recreation of the database.

So everyone using a nightly build, please delete your resourcecache.sqlite.
I was also wondering why the preset history is broken once again…

2 Likes

Oooh thanks for info :slight_smile:

But wait.
I’m lost :slight_smile:
I’m not sure to understand what is the final expected result.
What’s really expected for final Krita 5.0.0 (and especially from API for me): names with, or without underscore now?
Are we sure that’s a thing that won’t change?

In the plugin, the default brush is hardcoded with underscore.
I know I have to change this to be sure the plugin doesn’t return a script error in case the basic 5 brush is not available (it can occurs if bundle is deactivated for example so in anyway I have something to do)
And in larger way, I realized that for a note referring to an inexisting brush I may have some problem too.

@Konstrukto I’ve just tested 5.1.0 and I’m able to reproduce the bug (it will be easier for me to analyze problem and try to fix it)
But I’ll wait for an official 5.0.0 beta 2 that I can execute (current one can’t be executed on my side) before trying to work on this (because I prefer to be sure the plugin is available for Krita 5.0.0)

Grum999

No problem, for now I can make notes.
I’ll just have to make sure that I don’t need to edit anything later.

Where can I do this and does this potentially fix the issue for now?

I’m adraid I can’t answer the question about expected final result, this change caught me by surprise too, and I’m not that deep into the new resource system.

The plan certainly was to not have big functional changes after beta 1, but apparently that didn’t quite work out…

Anyway, from what I can tell, brush presets can’t have underscores in their name anymore. At all.
They get replaced with spaces as soon as the resource is instantiated.

In your resource folder.
If you don’t know where it is, go to Settings → Manage Resources → Open Resource Folder.
But close Krita before deleting, or better renaming the existing .sqlite file.

1 Like

Unfortunately this doesn’t work, it actually aggravates the issue.
After removing resourcecache.sqlite I got a scripting error on creating a new note.
Fortunately I had it backed up.

Hi

Just to inform that I don’t forget this point, but as I currently can’t execute Krita 5-beta2 on my system, I’m blocked to work on it (I could try to work with beta1 but it make more sense to me to work on a version more “stable” and for which stuff about resources are mostly fixed)

I have to find time to upgrade my OS before being able to work on the reported bugs.

Grum999

1 Like

Understandable, I suppose I’ll hear from you when you can address the issue
For now I can still make new notes

Yes, when plugin is updated, I write a new post here :slight_smile:
I’ll also ping you :wink:

Grum999

Hi

Release 0.4.0b is available

[2021-10-24]

  • Embedded fonts - allows to embed used fonts in notes
  • Miscellaneous - improve UI, fix bugs

For screenshots and functionalities description, you can read the full detailed release content directly on github repository.
And main BuliNote page.

Notes:

  • Plugin is only compatible with Krita 5.0.0
  • While this Krita bug (not yet fixed with Krita 5.0.0-beta2) is not fixed, you may loose some notes modifications if document is not in modified state

@Konstrukto normally it should be now Ok for the b) Basic-5 Size bug, do not hesitate to inform me here if you still encounter some problems :slight_smile:

Grum999

5 Likes

Note concerning embedding fonts function.

There already was some discussion here:

I personally doesn’t agree with the “copyright issues” as OpenType fonts (TrueType are OpenType fonts) provides an information about the embeddability of a font.

The information is stored in OS/2 table in fsType field:

Microsoft documentation is clear about this:

Embeddable fonts may be stored in a document. When a document with embedded fonts is opened on a system that does not have the font installed (the remote system), the embedded font may be loaded for temporary (and in some cases, permanent) use on that system by an embedding-aware application. Embedding licensing rights are granted by the vendor of the font.

Applications that implement support for font embedding must not embed fonts which are not licensed to permit embedding. Also, when embedding a font into a document, applications must not modify the embedding permissions and restrictions indicated in this field. In addition, applications loading embedded fonts for temporary use (Preview & Print or Editable embedding) must delete the fonts when the document containing the embedded font is closed.

Bits 0 to 3 (the embedding permissions sub-field) are mutually exclusive: fonts should never have more than of these bits set. Note that, if two or more bits are set, some applications could assume the least-restrictive permission indicated. (See version differences for more discussion.) Caution: Font vendors are responsible to set these bits correctly to obtain the desired application behaviors. For Restricted License embedding to take effect, the Embedding permissions sub-field must have the value 2 (that is, only bit 1 is set).

There’s some important things here:

  • Applications that implement support for font embedding must not embed fonts which are not licensed to permit embedding
    Plugin respect this

  • Caution: Font vendors are responsible to set these bits correctly to obtain the desired application behaviors
    On my side, I choose to not let the plugin embed a font for which information is not provided

  • In addition, applications loading embedded fonts for temporary use (Preview & Print or Editable embedding) must delete the fonts when the document containing the embedded font is closed
    For the first case “Preview & Print” I choose to not let the plugin being able to embed this kind of fonts as it’s not possible to guarantee a Krita document being opened in read-only mode
    For the second case “Editable” the situation is a bit different: it’s possible to embed an “Editable” font that is installed on computer, and once font is loaded from note, font is “available” for Krita (so for other documents) but:
    It’s not possible in a document B to embed an “Editable” font loaded from document A
    The plugin doesn’t allow to extract embedded font to let user install it on computer

By nature plugin source code is open and I’m aware that “anybody” is able to modify it to do anything with fonts… but sincerely, I consider it’s easier for “anybody” to just copy a font from a computer to another one if restriction have to be bypassed :sweat_smile:

The initial goal for this functionality is that’s can be useful to store font in a document for the following reasons:

  • When sharing a document across different computers, ensure to always have used fonts available
  • When reopening a document many years later, to be sure font is still available

On my side, I have more than 1300 fonts installed on my computer, 95% of them are “Installable”, there’s some “Editable” (don’t know why, I have to check that and maybe made some cleanup )

My recommendation to anybody: prefer to use “Instalable” fonts, that’s easier for copyrights stuff :slight_smile:

Grum999

1 Like

thanks Grum, going to try it out tonight!

Hi @Grum999

Sorry for taking so long to respond, I got caught up in life stuff a bit.
Unfortunately I still get an error, this time on making a new note.

This is in 5.0 beta 2:


TypeError
Python 3.8.1: C:\Program Files\Krita (x64)\bin\krita.exe
Mon Nov  1 21:53:39 2021

A problem occurred in a Python script.  Here is the sequence of
function calls leading up to the error, in the order they occurred.

 C:\Users\arjen\AppData\Roaming\krita\pykrita\bulinotes\bn\bnuidocker.py in __addNote(self=<bulinotes.bn.bnuidocker.BNUiDocker object>)
   87     def __addNote(self):
   88         """Add a new note in notes"""
   89         note=BNNoteEditor.edit(BNNote())
   90         if note:
   91             note.setPosition(self.__notes.length())
note undefined
global BNNoteEditor = <class 'bulinotes.bn.bnnotes.BNNoteEditor'>
BNNoteEditor.edit = <function BNNoteEditor.edit>
global BNNote = <class 'bulinotes.bn.bnnotes.BNNote'>

 C:\Users\arjen\AppData\Roaming\krita\pykrita\bulinotes\bn\bnnotes.py in edit(note=<BNNote({5d77773f-2f5c-424d-b0bd-4d2a21bcf6af}, None, False, False, False, 0)>)
 1407     def edit(note):
 1408         """Open a dialog box to edit note"""
 1409         dlgBox = BNNoteEditor(note)
 1410 
 1411         returned = dlgBox.exec()
dlgBox undefined
global BNNoteEditor = <class 'bulinotes.bn.bnnotes.BNNoteEditor'>
note = <BNNote({5d77773f-2f5c-424d-b0bd-4d2a21bcf6af}, None, False, False, False, 0)>

 C:\Users\arjen\AppData\Roaming\krita\pykrita\bulinotes\bn\bnnotes.py in __init__(self=<bulinotes.bn.bnnotes.BNNoteEditor object>, note=<BNNote({5d77773f-2f5c-424d-b0bd-4d2a21bcf6af}, None, False, False, False, 0)>, name='Buli Notes', parent=None)
 1461         self.wBrushScratchpad.layout().addWidget(self.__scratchpadTestBrush)
 1462 
 1463         self.__saveViewConfig()
 1464         self.__loadUsedFonts()
 1465         self.__buildUi()
self = <bulinotes.bn.bnnotes.BNNoteEditor object>
self.__saveViewConfig undefined

 C:\Users\arjen\AppData\Roaming\krita\pykrita\bulinotes\bn\bnnotes.py in __saveViewConfig(self=<bulinotes.bn.bnnotes.BNNoteEditor object>)
 1930         """Save current Krita active view properties"""
 1931         self.__activeViewCurrentConfig['brushSize']=self.__activeView.brushSize()
 1932         self.__activeViewCurrentConfig['brushPreset']=BNBrushPreset.getPreset(self.__activeView.currentBrushPreset())
 1933 
 1934         self.__activeViewCurrentConfig['fgColor']=self.__activeView.foregroundColor()
self = <bulinotes.bn.bnnotes.BNNoteEditor object>
self.__activeViewCurrentConfig undefined
global BNBrushPreset = <class 'bulinotes.bn.bnbrush.BNBrushPreset'>
BNBrushPreset.getPreset = <function BNBrushPreset.getPreset>
self.__activeView undefined

 C:\Users\arjen\AppData\Roaming\krita\pykrita\bulinotes\bn\bnbrush.py in getPreset(name=<PyKrita.krita.Resource object>)
  125         Otherwise if can't be found in presets, return the default brush preset
  126         """
  127         return BNBrushPreset.__brushes[BNBrushPreset.getName(name)]
  128 
  129     @staticmethod
global BNBrushPreset = <class 'bulinotes.bn.bnbrush.BNBrushPreset'>
BNBrushPreset.__brushes undefined
BNBrushPreset.getName = <function BNBrushPreset.getName>
name = <PyKrita.krita.Resource object>
TypeError: unhashable type: 'Resource'
    __cause__ = None
    __class__ = <class 'TypeError'>
    __context__ = None
    __delattr__ = <method-wrapper '__delattr__' of TypeError object>
    __dict__ = {}
    __dir__ = <built-in method __dir__ of TypeError object>
    __doc__ = 'Inappropriate argument type.'
    __eq__ = <method-wrapper '__eq__' of TypeError object>
    __format__ = <built-in method __format__ of TypeError object>
    __ge__ = <method-wrapper '__ge__' of TypeError object>
    __getattribute__ = <method-wrapper '__getattribute__' of TypeError object>
    __gt__ = <method-wrapper '__gt__' of TypeError object>
    __hash__ = <method-wrapper '__hash__' of TypeError object>
    __init__ = <method-wrapper '__init__' of TypeError object>
    __init_subclass__ = <built-in method __init_subclass__ of type object>
    __le__ = <method-wrapper '__le__' of TypeError object>
    __lt__ = <method-wrapper '__lt__' of TypeError object>
    __ne__ = <method-wrapper '__ne__' of TypeError object>
    __new__ = <built-in method __new__ of type object>
    __reduce__ = <built-in method __reduce__ of TypeError object>
    __reduce_ex__ = <built-in method __reduce_ex__ of TypeError object>
    __repr__ = <method-wrapper '__repr__' of TypeError object>
    __setattr__ = <method-wrapper '__setattr__' of TypeError object>
    __setstate__ = <built-in method __setstate__ of TypeError object>
    __sizeof__ = <built-in method __sizeof__ of TypeError object>
    __str__ = <method-wrapper '__str__' of TypeError object>
    __subclasshook__ = <built-in method __subclasshook__ of type object>
    __suppress_context__ = False
    __traceback__ = <traceback object>
    args = ("unhashable type: 'Resource'",)
    with_traceback = <built-in method with_traceback of TypeError object>

The above is a description of an error in a Python program.  Here is
the original traceback:

Traceback (most recent call last):
  File "C:\Users\arjen\AppData\Roaming\krita\pykrita\bulinotes\bn\bnuidocker.py", line 89, in __addNote
    note=BNNoteEditor.edit(BNNote())
  File "C:\Users\arjen\AppData\Roaming\krita\pykrita\bulinotes\bn\bnnotes.py", line 1409, in edit
    dlgBox = BNNoteEditor(note)
  File "C:\Users\arjen\AppData\Roaming\krita\pykrita\bulinotes\bn\bnnotes.py", line 1463, in __init__
    self.__saveViewConfig()
  File "C:\Users\arjen\AppData\Roaming\krita\pykrita\bulinotes\bn\bnnotes.py", line 1932, in __saveViewConfig
    self.__activeViewCurrentConfig['brushPreset']=BNBrushPreset.getPreset(self.__activeView.currentBrushPreset())
  File "C:\Users\arjen\AppData\Roaming\krita\pykrita\bulinotes\bn\bnbrush.py", line 127, in getPreset
    return BNBrushPreset.__brushes[BNBrushPreset.getName(name)]
TypeError: unhashable type: 'Resource'

Hi

:woozy_face:
Ok thanks, I’ll try to reproduce it… :sweat_smile:

At least I have the exact line of code on which problem occurs so, I might be able to understand what happen
:slight_smile:

Grum999

I reproduce it… :flushed:

How can I’ve missed this??? :worried:

Grum999

Ok, I found the problem.

I have to download last Krita 5-beta 2 for Linux & Windows
Reset entirely current resources configuration.

But it seems that brushes names for which underscores has been replaced by spaces now have underscore again on my windows Krita version :sob: :sob:

I’ve fixed what’s wrong in the plugin code (the case unable to find any of brush preset, take the first one available was buggy - so for this at least it’s fixed)

But I have to test what happen with brushes resources names…

Grum999