From 40e48bcc5468ed69fd9650e6c8e3d0d94140c98a Mon Sep 17 00:00:00 2001 From: Jean Pierre Cimalando Date: Wed, 2 Sep 2020 12:19:26 +0200 Subject: [PATCH 01/18] User interface update --- editor/CMakeLists.txt | 60 ++ editor/cmake/Vstgui.cmake | 2 + editor/layout/main.fl | 344 +++++++ .../Fonts/fluentui-system-regular-20.ttf | Bin 0 -> 263124 bytes editor/resources/icon_white.png | Bin 0 -> 3412 bytes editor/resources/icon_white.svg | 253 +++++ editor/resources/icon_white@2x.png | Bin 0 -> 7336 bytes editor/resources/knob.knob | Bin 0 -> 22266 bytes editor/resources/knob48.png | Bin 0 -> 10955 bytes editor/resources/knob48@2x.png | Bin 0 -> 109207 bytes editor/resources/logo_text.png | Bin 0 -> 5414 bytes editor/resources/logo_text.svg | 252 +++++ editor/resources/logo_text@2x.png | Bin 0 -> 10935 bytes editor/src/editor/Editor.cpp | 879 +++++++++--------- editor/src/editor/GUIComponents.cpp | 420 ++++++++- editor/src/editor/GUIComponents.h | 134 ++- editor/src/editor/NativeHelpers.cpp | 50 + editor/src/editor/NativeHelpers.h | 9 + editor/src/editor/NativeHelpers.mm | 30 + editor/src/editor/layout/main.hpp | 167 ++++ editor/tools/layout-maker/LICENSE | 23 + editor/tools/layout-maker/README | 2 + editor/tools/layout-maker/sources/layout.h | 42 + editor/tools/layout-maker/sources/main.cpp | 136 +++ editor/tools/layout-maker/sources/reader.cpp | 359 +++++++ editor/tools/layout-maker/sources/reader.h | 13 + lv2/CMakeLists.txt | 7 +- scripts/innosetup.iss.in | 6 +- vst/CMakeLists.txt | 7 +- 29 files changed, 2720 insertions(+), 475 deletions(-) create mode 100644 editor/layout/main.fl create mode 100644 editor/resources/Fonts/fluentui-system-regular-20.ttf create mode 100644 editor/resources/icon_white.png create mode 100644 editor/resources/icon_white.svg create mode 100644 editor/resources/icon_white@2x.png create mode 100644 editor/resources/knob.knob create mode 100644 editor/resources/knob48.png create mode 100644 editor/resources/knob48@2x.png create mode 100644 editor/resources/logo_text.png create mode 100644 editor/resources/logo_text.svg create mode 100644 editor/resources/logo_text@2x.png create mode 100644 editor/src/editor/NativeHelpers.cpp create mode 100644 editor/src/editor/NativeHelpers.h create mode 100644 editor/src/editor/NativeHelpers.mm create mode 100644 editor/src/editor/layout/main.hpp create mode 100644 editor/tools/layout-maker/LICENSE create mode 100644 editor/tools/layout-maker/README create mode 100644 editor/tools/layout-maker/sources/layout.h create mode 100644 editor/tools/layout-maker/sources/main.cpp create mode 100644 editor/tools/layout-maker/sources/reader.cpp create mode 100644 editor/tools/layout-maker/sources/reader.h diff --git a/editor/CMakeLists.txt b/editor/CMakeLists.txt index 65cdb6d9..bd9a38a8 100644 --- a/editor/CMakeLists.txt +++ b/editor/CMakeLists.txt @@ -3,8 +3,23 @@ include("cmake/Vstgui.cmake") set(EDITOR_RESOURCES logo.png + logo_text.png + logo_text@2x.png + icon_white.png + icon_white@2x.png + knob48.png + knob48@2x.png + Fonts/fluentui-system-regular-20.ttf PARENT_SCOPE) +function(copy_editor_resources SOURCE_DIR DESTINATION_DIR) + foreach(res ${EDITOR_RESOURCES}) + get_filename_component(_dir "${res}" DIRECTORY) + file(MAKE_DIRECTORY "${DESTINATION_DIR}/${_dir}") + file(COPY "${SOURCE_DIR}/${res}" DESTINATION "${DESTINATION_DIR}/${_dir}") + endforeach() +endfunction() + # editor add_library(sfizz_editor STATIC EXCLUDE_FROM_ALL src/editor/EditIds.h @@ -14,8 +29,53 @@ add_library(sfizz_editor STATIC EXCLUDE_FROM_ALL src/editor/EditorController.h src/editor/GUIComponents.h src/editor/GUIComponents.cpp + src/editor/NativeHelpers.h + src/editor/NativeHelpers.cpp + src/editor/layout/main.hpp src/editor/utility/vstgui_after.h src/editor/utility/vstgui_before.h) target_include_directories(sfizz_editor PUBLIC "src") target_link_libraries(sfizz_editor PRIVATE sfizz-vstgui) target_link_libraries(sfizz_editor PUBLIC absl::strings) +if(APPLE) + find_library(APPLE_APPKIT_LIBRARY "AppKit") + find_library(APPLE_CORESERVICES_LIBRARY "CoreServices") + find_library(APPLE_FOUNDATION_LIBRARY "Foundation") + target_sources(sfizz_editor PRIVATE + src/editor/NativeHelpers.mm) + target_link_libraries(sfizz_editor PRIVATE + "${APPLE_APPKIT_LIBRARY}" + "${APPLE_CORESERVICES_LIBRARY}" + "${APPLE_FOUNDATION_LIBRARY}") + target_compile_options(sfizz_editor PRIVATE "-fobjc-arc") +endif() + +# dependencies +if(WIN32) + # +elseif(APPLE) + # +else() + find_package(PkgConfig REQUIRED) + pkg_check_modules(sfizz-gio "gio-2.0" REQUIRED) + target_include_directories(sfizz_editor PRIVATE ${sfizz-gio_INCLUDE_DIRS}) + target_link_libraries(sfizz_editor PRIVATE ${sfizz-gio_LIBRARIES}) +endif() +target_include_directories(sfizz_editor PRIVATE "../src/external") # ghc::filesystem + +# layout tool +if(NOT CMAKE_CROSSCOMPILING) + add_executable(layout-maker + "tools/layout-maker/sources/layout.h" + "tools/layout-maker/sources/reader.cpp" + "tools/layout-maker/sources/reader.h" + "tools/layout-maker/sources/main.cpp") + target_link_libraries(layout-maker PRIVATE absl::strings) + + add_custom_command( + OUTPUT "${CMAKE_CURRENT_SOURCE_DIR}/src/editor/layout/main.hpp" + COMMAND "${CMAKE_CURRENT_BINARY_DIR}/layout-maker" + "${CMAKE_CURRENT_SOURCE_DIR}/layout/main.fl" + > "${CMAKE_CURRENT_SOURCE_DIR}/src/editor/layout/main.hpp" + DEPENDS layout-maker "${CMAKE_CURRENT_SOURCE_DIR}/layout/main.fl") +endif() diff --git a/editor/cmake/Vstgui.cmake b/editor/cmake/Vstgui.cmake index 2cac1f17..25f185bb 100644 --- a/editor/cmake/Vstgui.cmake +++ b/editor/cmake/Vstgui.cmake @@ -211,6 +211,8 @@ endif() if(CMAKE_SYSTEM_NAME STREQUAL "Windows") # higher C++ requirement on Windows set_property(TARGET sfizz-vstgui PROPERTY CXX_STANDARD 14) + # Windows 10 RS2 DDI for custom fonts + target_compile_definitions(sfizz-vstgui PRIVATE "NTDDI_VERSION=0x0A000003") endif() if (CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang") diff --git a/editor/layout/main.fl b/editor/layout/main.fl new file mode 100644 index 00000000..1d27e987 --- /dev/null +++ b/editor/layout/main.fl @@ -0,0 +1,344 @@ +# data file for the Fltk User Interface Designer (fluid) +version 1.0305 +header_name {.h} +code_name {.cxx} +widget_class mainView {open + xywh {410 523 800 475} type Double + class LogicalGroup visible +} { + Fl_Group {} { + comment {theme=darkTheme} open + xywh {0 0 800 110} + class LogicalGroup + } { + Fl_Group {} {open + xywh {5 4 100 101} box ROUNDED_BOX align 0 + class RoundedGroup + } { + Fl_Box {} { + comment {tag=kTagFirstChangePanel+kPanelGeneral} + image {../resources/icon_white.png} xywh {7 6 96 96} + class SfizzMainButton + } + } + Fl_Group {} {open + xywh {110 5 380 100} box ROUNDED_BOX + class RoundedGroup + } { + Fl_Box {} { + label {File:} + xywh {125 15 40 25} labelsize 16 + class Label + } + Fl_Box {} { + label {KS:} + xywh {125 45 40 25} labelsize 16 + class Label + } + Fl_Box {} { + label {Separator 1} + xywh {120 40 355 5} box BORDER_BOX labeltype NO_LABEL + class HLine + } + Fl_Box {} { + label {Separator 2} + xywh {120 70 355 5} box BORDER_BOX labeltype NO_LABEL + class HLine + } + Fl_Box sfzFileLabel_ { + label {DefaultInstrument.sfz} + xywh {190 15 230 25} labelsize 20 + class Label + } + Fl_Box {} { + label {Key switch} + xywh {190 45 230 25} labelsize 20 + class Label + } + Fl_Box {} { + label {Voices:} + xywh {120 75 60 25} labelsize 12 align 24 + class Label + } + Fl_Button {} { + comment {tag=kTagLoadSfzFile} + xywh {425 15 25 25} labelsize 24 + class LoadFileButton + } + Fl_Button {} { + comment {tag=kTagEditSfzFile} + xywh {450 15 25 25} labelsize 24 + class EditFileButton + } + Fl_Box infoVoicesLabel_ { + xywh {185 75 50 25} labelsize 12 align 16 + class Label + } + Fl_Box {} { + label {Max:} + xywh {240 75 60 25} labelsize 12 align 24 + class Label + } + Fl_Box numVoicesLabel_ { + xywh {305 75 50 25} labelsize 12 align 16 + class Label + } + Fl_Box {} { + label {Memory:} + xywh {360 75 60 25} labelsize 12 align 24 + class Label + } + Fl_Box memoryLabel_ { + xywh {425 75 50 25} labelsize 12 align 16 + class Label + } + } + Fl_Group {} {open + xywh {495 5 100 100} box ROUNDED_BOX + class RoundedGroup + } { + Fl_Light_Button {} { + label SETUP + comment {tag=kTagFirstChangePanel+kPanelSettings} + xywh {510 42 70 25} + class LightButton + } + Fl_Light_Button {} { + label CC + comment {tag=kTagFirstChangePanel+kPanelControls} + xywh {510 15 70 25} + class LightButton + } + Fl_Light_Button {} { + label INFO + comment {tag=kTagFirstChangePanel+kPanelInfo} + xywh {510 69 70 25} + class LightButton + } + } + Fl_Group {} {open + xywh {600 5 195 100} box ROUNDED_BOX + class RoundedGroup + } { + Fl_Dial {} { + xywh {615 20 48 48} value 0.5 hide + class Knob48 + } + Fl_Box {} { + label Center + xywh {610 70 60 25} labelsize 12 hide + class ValueLabel + } + Fl_Dial volumeSlider_ { + comment {tag=kTagSetVolume} + xywh {680 20 48 48} value 0.5 + class Knob48 + } + Fl_Box volumeLabel_ { + label {0.0 dB} + xywh {675 70 60 25} labelsize 12 + class ValueLabel + } + Fl_Box {} { + xywh {745 20 35 70} box BORDER_BOX + class VMeter + } + } + } + Fl_Group {subPanels_[kPanelGeneral]} { + xywh {5 110 790 285} hide + class LogicalGroup + } { + Fl_Group {} {open + xywh {5 110 120 285} box ROUNDED_BOX + class RoundedGroup + } { + Fl_Box {} { + label {Curves:} + xywh {15 120 60 25} labelsize 12 align 20 + class Label + } + Fl_Box {} { + label {Masters:} + xywh {15 145 60 25} labelsize 12 align 20 + class Label + } + Fl_Box {} { + label {Groups:} + xywh {15 170 60 25} labelsize 12 align 20 + class Label + } + Fl_Box {} { + label {Regions:} + xywh {15 195 60 25} labelsize 12 align 20 + class Label + } + Fl_Box {} { + label {Samples:} + xywh {15 220 60 25} labelsize 12 align 20 + class Label + } + Fl_Box infoCurvesLabel_ { + label 0 + xywh {75 120 40 25} labelsize 12 align 16 + class Label + } + Fl_Box infoMastersLabel_ { + label 0 + xywh {75 145 40 25} labelsize 12 align 16 + class Label + } + Fl_Box infoGroupsLabel_ { + label 0 + xywh {75 170 40 25} labelsize 12 align 16 + class Label + } + Fl_Box infoRegionsLabel_ { + label 0 + xywh {75 195 40 25} labelsize 12 align 16 + class Label + } + Fl_Box infoSamplesLabel_ { + label 0 + xywh {75 220 40 25} labelsize 12 align 16 + class Label + } + } + Fl_Group {} {open + xywh {130 110 665 280} + class LogicalGroup + } { + Fl_Box {} { + image {../resources/logo_text.png} xywh {260 125 400 250} + class SfizzLargePicture + } + } + } + Fl_Group {subPanels_[kPanelControls]} { + xywh {5 110 790 285} hide + class LogicalGroup + } { + Fl_Group {} {open + xywh {5 110 790 285} box ROUNDED_BOX + class RoundedGroup + } { + Fl_Box {} { + label {Controls not available} + xywh {5 110 790 285} labelsize 40 + class Label + } + } + } + Fl_Group {subPanels_[kPanelSettings]} {open + xywh {5 110 790 285} + class LogicalGroup + } { + Fl_Group {} { + label Engine open selected + xywh {260 125 280 110} box ROUNDED_BOX labelsize 12 align 17 + class TitleGroup + } { + Fl_Spinner numVoicesSlider_ { + comment {tag=kTagSetNumVoices} + xywh {285 185 60 25} labelsize 12 textsize 12 + class ValueMenu + } + Fl_Box {} { + label Polyphony + xywh {275 145 80 25} labelsize 12 + class ValueLabel + } + Fl_Spinner oversamplingSlider_ { + comment {tag=kTagSetOversampling} + xywh {370 185 60 25} labelsize 12 textsize 12 + class ValueMenu + } + Fl_Box {} { + label Oversampling + xywh {360 145 80 25} labelsize 12 + class ValueLabel + } + Fl_Box {} { + label {Preload size} + xywh {445 145 80 25} labelsize 12 + class ValueLabel + } + Fl_Spinner preloadSizeSlider_ { + comment {tag=kTagSetPreloadSize} + xywh {455 185 60 25} labelsize 12 textsize 12 + class ValueMenu + } + } + Fl_Group {} { + label Tuning open + xywh {205 260 390 120} box ROUNDED_BOX labelsize 12 align 17 + class TitleGroup + } { + Fl_Box {} { + label {Root key} + xywh {330 280 80 25} labelsize 12 + class ValueLabel + } + Fl_Spinner tuningFrequencySlider_ { + comment {tag=kTagSetTuningFrequency} + xywh {425 320 60 25} labelsize 12 textsize 12 + class ValueMenu + } + Fl_Box {} { + label Frequency + xywh {415 280 80 25} labelsize 12 + class ValueLabel + } + Fl_Dial stretchedTuningSlider_ { + comment {tag=kTagSetStretchedTuning} + xywh {515 305 48 48} value 0.5 + class Knob48 + } + Fl_Box {} { + label Stretch + xywh {500 280 80 25} labelsize 12 + class ValueLabel + } + Fl_Box {} { + label {Scala file} + xywh {225 280 100 25} labelsize 12 + class ValueLabel + } + Fl_Button scalaFileButton_ { + label DefaultScale + comment {tag=kTagLoadScalaFile} + xywh {225 320 100 25} labelsize 12 + class ValueButton + } + Fl_Spinner scalaRootKeySlider_ { + comment {tag=kTagSetScalaRootKey} + xywh {340 320 35 25} labelsize 12 textsize 12 + class ValueMenu + } + Fl_Spinner scalaRootOctaveSlider_ { + comment {tag=kTagSetScalaRootKey} + xywh {375 320 30 25} labelsize 12 textsize 12 + class ValueMenu + } + } + } + Fl_Group {subPanels_[kPanelInfo]} { + xywh {5 110 790 285} hide + class LogicalGroup + } { + Fl_Group {} {open + xywh {5 110 790 285} box ROUNDED_BOX + class RoundedGroup + } { + Fl_Box {} { + label {Informative text goes here} + xywh {5 110 790 285} labelsize 40 + class Label + } + } + } + Fl_Box {} { + xywh {5 400 790 70} + class Piano + } +} diff --git a/editor/resources/Fonts/fluentui-system-regular-20.ttf b/editor/resources/Fonts/fluentui-system-regular-20.ttf new file mode 100644 index 0000000000000000000000000000000000000000..4e838582501533c67dc8a4f23293889f9795f258 GIT binary patch literal 263124 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ðT-teI;ETSiVhsid_R`bi3p7w2)ysN?E4XsB$FN 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 z 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 twl)u2n}@BcX<>7EASZQhW??5F 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 qIA{(BkAZo}Bu&yJP0}QdKl(ouPUnCMx<| + + sfizz logo + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + sfizz logo + 2020-05-16 + + + Tobiasz 'unfa' KaroÅ„ + + + + + CC-0 + + + + + + + + + + + + + + + diff --git a/editor/resources/icon_white@2x.png b/editor/resources/icon_white@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..e5bc80a228e51e6c09cfa811cef11bd6d437c6b4 GIT binary patch literal 7336 zcmZvhRZtvE)3z6P3GN*PJlnp`=5RX zeRtLL)m>e4($zCD>Z)=Ws3fQW002WlURv{?@B7b?;s5F5VsZRGhvFh{;0^!~eEiQ~ z6g266|2rgx%IHJ2AU04hu$wi&%gc-1-uaWeCD_H99pYx2eJMin55oQr(zb^>S_9l| z?0tQy93i%l&ldws)qIwzjgj{Qni~pimbf4i3xzRrIvBgg7}toZbIxn#1LPIadEm;qbL~gK%)N z135+(TkpZp|GFkQ&`~cUZ8clw0iq<)LksN^=W~R zhhz7(C(mDu`%m`Qzeg|G{8!yyAC4OIR z`8R%A!^JCA5LMcGuVKYU<66U$2uWjPY%_|(_ObmD(;I8k*{AImF!?u=XaFH#u5&emGybXb-IfeS4s`w;ax+vTL^I?j!9%u+ zJ_4+Ms(Y`KX+FY~b$DE%%}#9IQ;lYd?@k0ya}4AX8R4T@IJr*vkCXHN8oSiToy1Za z8W}Ph{>^{$_U=O#4cG7z1vKBp^Fn2TnUY?!d=lbW~)JLh^1$Icxg3V&uQhDbFpcR3cGk+4|M z(Z{(v*GXg(keq3ca+d^j|2y?o&gOA8_uDdH459m4iP$qBDLe-SuqPhap7FTfFm*1s zvdlnd?m;0uR4-iq?K`^!*0_U8)+y5SmD-8abhW%U!eZ9QZ(#v@M?Ukgp&HscrT`qH zkj2Hsp+w?9q@o~e8hQA0w;++&v_~dgJ(`!t25I5SJ3K#{!QXwiiAtcB7exq>?w?b2BuMYLuMrs!PWv9OynD+HCM8h3O=S28Ax<0PRhG zP6c)JOmWSNX=`{|$(Q{pF6AXYZTWF)E>?^?ZEhTFs6+IH!uTeyh{$@@ZEDy3OhC5|2e8Doj71>Y*WeCn zWIV8aU$80Z8f0>#oy}t1lV<3hG3fs)yt0smL|@FN?8EpZHLZ~l%jl%w<8h!Hk*M;) zyro2pY~W{9;-N^c8|!cqEb@w$qUKw_!51Nq%z*pY=26XU0gobaM?3uFQ=E}iZa9=)san|acjQxwBXa)2O+^lij4 zSFA6rEdWB9E?mx>c)Fw_wx0PZl<7 zl>sEp)}~Y3?fjNs85*nf}1dG7bP`2QZ&)HFDsyo^2NP>o(%5#tTkk$NdIx zzv$ye?qUuCRSz=XM1N-W{+Jv1C_cYLeE*qsO3($<>J=xI|1<84HFzm+;z$*98f}L7 z*s2`n+&o8a@~ekxydgGa>QSDO2o{yM#9GjAYUt$?Nj3iQ7Mjq)OmE_e-oYe^$0$U2 z+dr_Z*I|FtbqlZ#7V=VaxqI_#R59-3{e4OF`hG;vALM*z8DIns2(F@dt>y7gv2|M< zJE;kId^m5}u(;&wZDk<%q{7EwcWK!eG=sPr>=%zulg!Cx6xtHqCdfE>ShKV06I`|z zIZJQWCG1VGQp)$1*38cvfTM<}g3u-RY6Q7FTqX5R3=KA!z3Ck^OjCI;Q7{#t1Yt+s zP)+{% zO(SkGcn7{=zHNiw2z`{w%|M6KlY!yyLP5e;+|}?`+;5(5zg82~XC@m*uhW0?A9YQ= zr}lCqiDIy2{?M}^c*=O3ln1zGuIq23b#Y!6yEB{~?@2 zyJuwL)?S!PIrBo4?v0*KJMZ0l@a^zH^I-Y#+sspXFXsz~_iMY?b>1FiU+(76U)Vm- zFCm_?fBlEwJop3a6ApwhZ(_OqXiqd;XkoCN0Kr49aIl+J7zxxRaeFS0hZd;42a&$9 zY|y{tTbs`dQmYjuJV@WC_1HqiLqjZ0Y%wk=&yE*4?b@Od?myrVnxZ z*XX4X@VEqr@4!NE^M`HaU%dBlAsI)C%wO&6!Z zp|%kMqGzIuLgFl}u~f1^?MbE_PKD__WLI%bAphhS4d5Cz5SHCRmXk~W;}D*QMnPNa zZ@K<>nx;>edjZ2Uco2@tvg#R1AYmF_TF2{EFgB~iJ*5P}!eNBu3cNgFkCk4RFW}Dv z*~i!ipHFd=A-vbdWRk4m8PjY_rrLz)7$-W517%+#-t&=OmkHM6BwQ&ZF2F>k1CRu+ zP!-b-(_y+yilg}Km%LJ<`sq1Y-c}&fSN-Y;urIn~XfHSth<^2oQTI3(r0{pv~AbUZUL;MWAvM z${Ffwi@IAoAZY3Xht_Olah+W*6Jque(NfV+5v0H(hQRiS9?7J>w)?Ctfif!PN6xuN z2`wdtH$%H*^C^&)G_eJ_Ac{w7Ji7Fes|TVLawO#QegX`tb&~Vvb)M3xj#hV%-4e?h zOXb0`&7}SusAt~6Wc2ICOASqaA3g>tVd%$`S#N(AbWW?PwMzVxYvEfF(~xgGw*WrPubLe7GWZb$$mvB>xJ#67A zPC6*U60r$7f&9sraCe82pz@9Z_+P#((vbJ`r{6-|yVcmDjub5wqsu&w^9&j^1R z=41oQ@NqW3ouB%}tI&mt&_>!%8U!EiMbmUOIDlW*dD;fH2i}p{pSlzqDHM(mO$ZkJ ziH7@9;25IxRwcb@Di{fWjpb}Y>$$-ZM?fMOiVa`_*H>&uBC7b zhWs~qx>DDNc4rd+Ih9RZ2+@w->;_F_!#S-- zVyT;kl|A`19(j>1u_R?YJ;4cp0(vc>(}#z@7J4h4#R|@o#^?+I&ef zv9W4WxaZz=gx$>a_^O;C&Ka8$n>5E>X6uUlK<&da`cAO?ZK4;gEz%7&87HFCW|Fh}d$69* z=UX`i4&@dl1#xY51GUt~KHWfAj;v#aRz&1EpAM})(&1gXg}TmTm4N554xGJ!I%psNtrREU=zGxwsaS(ClX5a( zh}DZ0jZWj{7Y}YHNSG!lb<`cB*y6%@-DN1&z4W%|bq1ist7*7IEG&^7x-%4Pc`Oqn z)#0;0JjcF~4(V>u?vI`8cib|~Te^^HppH3|^eX11)+Plpq+m1k?qh;>XW&kQwI|{K z#!B6nSO0vWit1KlrDfMv_)%qj^`)+9JWG9_#A?DMA!CY5R5dvD!2RHcAKA@u-sE)@ zv$=9ufeta}-0yVpMyF9ZqnSBonIJTIwUMvQ%{i%PLVeW@5A8rf-%}g&02EPMz;YG2 zo6&9OgF8VT6avkBqWxK%f~8W9hlqPgGfekXH_bzJrS07XWbQTI`dOE8U0;A4pK_JF zZmcM1ey4a%BFh{^!*u+`tQGNf`4S#Fuud*5Y|C^FW>; zmhDhO$}zPLoq!l+P?_c`nbn${GhUDc(Kk6m5{3&DoaF-_o|Q|Pke2zwcAjC3G}*jy zdb#*)>x~fiiDg=(a4>jT!tJNbwF7=R?2pmwxt<^BmgEk{*4cYMDxHgqub0Z8qNUi4iV#8c@mL#s(O|jX=YO*);8EFGo6e6ftzgD)8Mq|*j}7)#U!6? zL6oguk{QdM92?g<-SWpC*}Cm>a`Vv!nLncBl*JKY0#ORS8tMq^n||y#u818RI0HEk zG4-0lP(`cxF|IJ$s82CK>G9;seYYokyab@ki8JSn7S9tH(GKUZMDbeMkC{Qh{Dk5S zLAxHlfoV-5XUvn>O!LtBO86h}BBjrWk(~J+n%1x%26tO7GWN)$RPRDw?z$R>YYqVF z{xH9MmX|le3S~sKc+FP%?Znuf%PI*Yn+!tmt=V`&^%pd&8PJ<`ICM5^nmb8qD({(z z4}V&JFC9$o(JIy2D0FF8IO6BgaoYWd#NU2t-y~m`Rr>W)tjtcPv z5!pn#5eFLTcxYwUcrQ6=ero-3S?KYVO%oq|97YV({-wNqO8lH^X(G%MU+rKcO_ zkWWwWu~P8gR6h%9Pp|SBPQH8BN|7H4hD*L{GW?a-;ed19N#Q{lpVkP=amHmQ z59gY+Ef9R#UAr)GhK|K{?HD3-X(7;82T~JQWS81~pYMZd>0JyaVF=-MV3kccTYu)@ z{UjvXOu747S^Bv{L^R(tSm;L-V`~B?rhb?*HNEvB5+ZQ3{Z``-0|%S$AL9VZ&C@#S zEwn0yC~$T%=6091TJ7RusG&u8odLq2b~H4#!f#N?*0CF1$URE0qnodVJs?;}j#OB^ zEL-PO=&lHXXfYoQiDkbZ9Fdlhihb9l!Cr7%E2e4b5`kYy)W6rc0+iQ#lIB>G7m~(D z+AM*5XG`*OxV!ZjmcMlkL`>%`L-)NNk~kNEhm>cIxfOS6g@};+YIp5jf$3ih^-J1j za=1v0rOTwhBt%_74oA!D=J8~9dmR@yzAQ1dtzd2ihe!w6!Ee4|)}M=F5pPA39S|KL z)Nx{(d8inT%h;6V4gyN6@I3iEBGLtH3@R;29W2-4$zsLV*z6T`#W{Gk zdu1aj#XhoN0t!;gD4iwssHM-Ox&=g=e4Iz)rv9;RD<`3af4q#}wJDXUj-AOcn_cMjVmn5GWg3x@_c3wH%M*Kpm+yt)3`m zSJJL(8PY&Q@G9+&%#ax^sy3JOnw0@}77Q+o@rHujv4_n{3gAc}4vl;vr9yuNDS@RG zfRV0zCdisxx~e<0t>9wCkdWWNTp4qu>4Z^bF4|)6&nR0PwWTQ7DH*W>z}t%Z?dqrMqu zJJdliZa6#7W=@afs2K{Pt(j6nCagw*LHaA-Y)u<`ZE%~u zwQi-OyasJV4)?y5H&&r$j<&8M&AYDP)c~)~86!c>z2(9V2|JC%Vj(oa(ZB+*$uI2kw&J^RJ{H(v+ijh$5g~JIf z_SXa@O<)fTY{@KcsOcVC?=diz9iDTkZ|G5XOmi7RheTFGQ1k^fFGhxZ1xbD@1vH%2~dn%oe4m zaiV8QE&k^BWgT632P>UhiDvY-h#nSC&fG|*h= ztmvh^6~o-uudINOvZR(kl=6D8KsQr$OZ$uG3=k8w=njYq6*@`X{HKE znvVL1wF}#I?*`jPwr8K8_XB1^V`}BT1$Op?&DszXHnQ`=q+kf6%ff-=m$&!ZD{cHo z#`sQ9UggcXf1^X%%@)HNBK0s9!+VB*k9=HwFd6>7;ysUy{Eb&cdaqa~GG~OWX#DGh z*UD#$eX#|@9anKQdg3iE-48yKBb0sUOC@a2ha<)e_B8u^Ag))0QesNp00$9xlQ|*e z3n9yx-E!)UW>dKv#JIp*aFmABL35TxJbyirgxr7w_cA>4iSpdY;?EhgP=h1C&oi0Z zz(5OB?hDz+A9yx_>$hFj5rGtU!M29BihKsq@4&1=l^`2$FWd=uk7t z<8C9iF=j;~pNBB{hTXH`15za9X1%#R9Wv>_?J{7)&UMi&f_{V^_E?dwQ{T$kG+xr< zzaR??+4V8s8_|EWc-@?LfN{2~FE;WtGUMWa`vW+HqcM+s^86*Flqon()1bfkLy6Ul z6k@enTvOhWDkb^5(kM&`|9$KM6l7GTYbDJ?{~vl>2G;-p literal 0 HcmV?d00001 diff --git a/editor/resources/knob.knob b/editor/resources/knob.knob new file mode 100644 index 0000000000000000000000000000000000000000..093bd66cc323bb5dcd998d9a7fcb57004ed076b7 GIT binary patch literal 22266 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

BA(xO6jz4z{UdPwKcHf2dsn#I zVgFTCipRA@B&j(cWvXj3>8We0tcBt(9uUj=rTqQPKn98fniM*mTq`Cr$H z%!iEOZqpSe?;uLR-WQ+vN}pm}Tp&kmLsHMuad+PfG;TOo`(?o&?{s&!JzTKjyc7mdb^xhhq^xz^2EhES`P;pnv<@|)Xc*955dSxv)<5=fH|rovbVHd5BJ>~S(OEEr@fqs< z5~U@Y-v0ch(~j$kZT(>WsBwlq_h0Xkp9*TH@{$Owy1sUFuWIY*E(B0{2~C}0#K(g9 ziktu9=o)ng6|4vD4dCkFwYblE{)IIvIJ+gRqf8Elt932gQ&Ku zW&g|z7m163|ym0UMh5v>C?G2>jCDy0qo8OJX49 z{I9lYI_wDZc)Egq$EFn1+{Ok4mk5!0nYOzON92mY8O!BJg^Cs zcexp5FK3&35EYz0K=mi|;Z9u=02fSffcRBwCH<;GYN5 zgFTImJv!DofG>)@IS!2BEjciJmU_uEWV3(ds zG?_d-WK@5@{@bg|026Nwi{{FCWaTQHX+%sPsQM{Bo6uxSe`p9g`YS;K=!zLw^Ca-; zfI9k7^G3t&jq=`bzHYN>GyP_#34*Yl7C7|M%K(jM2f&@=>wmi2y@2hu3!Hy8OryBN zU+s6VdJ=zh^>q2YS`3;BJg3M%Hb&&Yd7a_ZAxVQ?(!SbEm+c>2rbz!&pcQR{(fv?9J_MV$BBr^|Rm zj{(uy`Sm=pBUNla2Z=uknyTjVUFTLdgtYO#e_zMCcM9+2wB?Yha|<*I1Yolf#h zGh}OpXifxp!4!UuY*p#xGz3Yb7 zfO~af1tRJ>Ii;1N7#`_cGAE2bv7Zv%2HoDwZ4c!c^NdtXO5L+ZwQHD}-&qNfL;yrl z)m_?=mcB!DhbJraZ=Q1h6(#=W!o6Pxjf#u!`^R&x9ut^V)1#m!R4;gv#0%cTujG14 z5q*l)#6dMM-FTN2kv*3q&uM4Io3*bFaL5Hx^lcV%ISX0)ah!@-#-@Oe%7Ad2(N=se z8Jfys<2>f6xp7+-(b-SB_;j}GtFJVT&`uqEvBGgO@nkj=%G%uf&RlMuTAaciZ8nbl z%P8yfBC_%lOmxyqMtc;n?Zzgdg%FSo=of0>QIOK;1(LDyXh?gap)S_l?2X7`(! zQJ>C&F8o&yvu_c3U>cmpz)>uIx7|O7NilA1xi4rb4;oR9c;K${m-F^1UP+ar^P*gM zVScw=(K(A?*BcfQP?JTNhp1A27a`G2iHri<55j93hkMr(EWr$%DcW3-yvcA%oB#~y8Ai|;^;1r{)10^R@y8#7veg@ChPEBKw?HQq%TsZeF_7`9WGecd!t3QHlenoaS?W-gz?9-b zPkby#%jG_m^9UUieZ-C9h9w`v(~sg?XK`kZnwvw>~iIFAsQkP&>U4CSf= zt*&8$cID4GXw!qae!o|un3SSPuWL^QRYA7*I)cWwPT(` jfRz8I^YP)-9mYGY$4Wv})hxh=RQIS{Q&Y-A-u3@KY&Vc| literal 0 HcmV?d00001 diff --git a/editor/resources/knob48@2x.png b/editor/resources/knob48@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..2f8d49e67d3ca65f4cf0ccc8ac447557fc08129f GIT binary patch literal 109207 zcmeFZcT`jBy7o;GkgkFhDN#`orFRGrv7ypbR6t5VdIymnLK6^aB29u25do1VC{l!k zfb=fCCKN-5KtK`*@Xol_*?XTo)>?bNXPoaF=ljO_2VpoflRTN3&;7fv>$;uIsG zoM54$p<%yy%B%IspPj=+p3PyiC^d-jZesO(M zCFAkq!oK~9nQDo4XHKcUZGhBqa6YpLwwwK05~z2}?*YE6BLk!=)^a?d_tnhfCDW=W zb6w@z)k7ul``7tzKJxJJXkHnsSbMx~NA}}aiKIJ7tbV<-l}M?Hd40uZ?`;4*=@a#L zD+h-KPL_R0)vrHg+s=#Fyw(WZIZ*Lg9bel?335?2Ehl|AhiX`n&`vVqKcnY1;Aegz35+~R>m^+vxIg=RV&R7CYp3J zx`N&ZMFyoFbfU`(=dcG=PVFf{Y#PLl-qO<2AThTamjuCZ=ZQMGZk+<1{V6PRlz)WqX5~V3Z;ozHeaev3=2jjWR$L;r51SxU^pPsa z4ycy~X+ChSKh2;kp)|XzYYyo%SmE|v>FPuWlS}&7pkY;MX?0cAYQ25I_weZ0(E+p<R7eiTY$Zy6yM=rO87Sv+djUiW67ed@Z~;=~5Ddu5_F9eHgZ#_952 zYIk_m(aYLEf9>E!a*G*NnlspzB}Ck>@cd7iQ}gpiH)aszQS`%O!FT0ZgnMfNMpJ8N_1zLo-z0t$KP zi6GcxI%tdC^*~RZ8}zwAD&TI&!7W;}-_pgvaLnBEMDjY09>sXDC<;>X9MX7VTLPbl zZLaTj4U=BMpB;=P>Z{L>e&3#GNf0^EhQ}-L2mD-vyb%ud0R=gR!Oy>4!NPXE#7Q1D zqQaEq4)jiIvJDB;9r!+ot8#Le@bc4I9emEC+~2>fd}TFmE)#qb-HnKfislU(JJ^g9 zIM|sr@K5vIN>pKoZ{bSp;esU42W%*3aZO%{L0(?cRacMw`>l6!w)81mmONIx0dyMPv=qR)^0NdK+_g zZey2s%WHE>W)3^#=AP-eLRu%!A>9(N6}L;>tlt&nl<%24&Dq-h94+L8@0VHSk?#=5 z5|zH>_^#Qgn{)YJIJQ!1*C&DRX!Y#23ZL1lpEzV4*}=5GC8a^cq?XZ>&Xa<>Su|3gVqcL{>2O13AkwPB z)@rMNt;0-healf!Q+d!x+5t@C7^;I}F;W`h=8HSm596(Q3jHdnESfvn`*`!7({8+O zko2d1>+%MAr5nUVjN6xGk{q^n-*-I}buLc-w)WkE?BZ~GCJuSGs5Vuk4dUylhg)zg z-p*=5X`4;MMz81q>*nozQJ1Sj!+VdK~_FQc=Wy9l8)b;M_r6$pxmgMrybmp zhJ9Kd#sH6d=MPa{RU4R`DqI`h#8$a3E*Gx~O=VqCKe&@3Bt_}7(^t*wdi~@&hwyFA zS1DAkdOUSu55ULZJp!&ZOs;CA))d4@15!1xUd3av60ZFK&2W&| zE-WW7Ul=fQJtl`-_yk6fkcEWcwJ_axy=w?ndYS&sz&(R@&sADk{$xB#R^ zj3Y{lxfU5~JRg4_QK1Mj)eEy3URXNQ{0);OCX6x`5^AMG?Y=yoOkS9x*Pwx$dDE=b z&-t$mzk-8TmlrZp1i2Wr$jYTnS^2j~4hmR0loXMjkZm&uyFe1vSEz@;r(Moo;p)oG z6t)XAY358544W-Hm)D|PYWo!ZJPpJP-|2{dA(TLtgh@JH6?EgDtXPAd(O<&75!d&Q zV`ap2n-IfN5cpBOE<&nY&^6*&N<}>SM~raM{aasmcj9hk4r0V?INByjJK7)$<4CJt zIhP?Z+eVZP#X8A`)+8SHWkxzZ+R$Zr(iKr$9CRb|K}dwh)z=1X8l;dkBqwFrTJ#n% zTNW!0mV|9HIxnmlYJdNNG*D-}oQeY>8> zJ^$LVd?%n)!Mi6dG{r*$B28QZzNI8WG$}$r68wOGg*W(Vn=x@nqK|XlEG`ZEa&qwV zC0R`OMo2n@lH8eeyi>^<9#}3iM7AW*c5mUo$=E$ves(4M=JsHb8}NW^H+%aOcAtr~ zW9Pvmm~JiaxAKsN4y0*F_g1z4sVk_luV3xX4h?Je38)+AL(3kYFElG_qnso~bm$*K zr|d~ml=|g}!|5epeb;w+MMM+oD~-KDG`T=hu?N;&sgCpg%9-%)a?8GRc2~5TgKhz@ z@xkrtqlv{tS|lGT>!WQR`6nUK5%mEB!y|g_aL}C-k^GNtDdOW{lz8DKSCLtIhF%vcLmy9b}O7@<$(~dYR@R zx%bMV@o?1GEk&kJ&n81?1LZxg(-I{Wq=KYp!UVSccQYyiaba>0VTx@#2d?V6`FP3T zfrOsP9NwW-#>2urlFgF%!)#8!`!z8nHXs(Qk|{y?F{+246FSA^m=PB=m8n#a7>F=F0jLIv>rtsZ#ue z&PadXQka0(op*F!gn<1jXy^?&t!~>M<&aS_HDm)kgSpE5GHlg&Z_odWYbQ!G?2EuS z!$NeURi}iMpfC9ir+fd_cqZ>%hpggvZ!k_= zU8VV6xn4$m*rZ2P0F{ zWvG#nz0UzZR5x>@lGUHpX)do@MSpF)YI#h&B-3TDYdx`^0^H#cnX%g)b$O4;H9wm9cw9AeB1Px{1Icki_8P4o&tR^e{=yucE=#w@ zLCvRwM*4PRkfHY(iZiRz6d{&#JQ(=4qZZB0%tv~9OP%k3{QOydL2vtZ5Nd!%!IkD= z$U$Q*?WD}9SBU9?sPdV{cDb~aq;3Sx?sMeQWbjE6s)I8@2nSMoy63@^3->|7cNT0u zajf|s_u6|o9A#*;x1EU%R#~%qg}6KMZPX*@LmCIlBLjJ!xJPJ^#U8?*0h^jI?Uc`Y zZ~s&r9ymYmnJGZ1-Igo3jn+WlA#h$KMb6qC%FUez3rIT1LEH3BbTR?k*-=FI)-pkI z&)IE*B$Qas*zbJ#uW*RnDsO1GZ;A z_$9pPuukhOqHckZ5;3GC1-l)vyYt*;d@%yWyr@L0f_U}%Sqm(S9L4GcC$S^ks?r{P zhgoac!S76c4H2|-d|q;HFwO&~q)W7F;V2LiuC#|wSvPa5y^>L|Nox|2Sq;r1a2+44 zNdv)esj#7Ldi%CM%INm-y152!O|Sln&VK&< z>q$l*-@+g406HDhFxFQ`{#M9Mj&?O1LpK?6IcbeE7#B~MMsymgk>Dd!5<@(w@dg`# z1l`k$2Jh#FwA)&r+c}*Y?#GNC_0be|_bs#}hW91$!`nJ|wRPj--2Fq?pTHTv935$G zgURKzU{GSKp?u?0rA_pld14QAwc><5CNnz@!_|p?(LcVOh|DFiU*%A#tz-0e4XAWF zdm*{4x+^o&!5QU__^u7fX*NRPR72MpCRslpXkqf?!tsZ@<~*t8M$OfA>>*XrL1p=5 za#cp;Ddo1vPF_8OMfGVAY31W-THzC&%+77JPu}z$(iJ$*JMnD!rf1*09S&PW>o&Cp z$0x}$*{Bqxjd)F3Xz zObiD|Q;IR%oO*%;+4E!BFKWgnHc=!F<%@W1S=5Rhz}GG%vhM_45jYOlGFrv$ zgs$K4yFwSLViVK$=ph$<*l_RLi^x_XWp^1gO+3rWw6NuwxNKHopWmLPf9K~zro8Gj zPHEv00QF<{LMbZ3`4%Ft*PrRkTip;eZhtSHs~{u&%%Lc^RP2jY&$>$e+TnH~Qz+@6 zF}4X#%M`5TXkZ>V((G+mAi~CY_9B0L%TrWg#5XggYH+b~V5e!O2XOA5JD)}|w87_| zz!k|v4SCJHlMQduv~(C{lan!T%14r>W{xJ>!e2ED6-zzYoe2!tql0ki&Tndpt~!c4 zN{6A`+`+YtoTCG&Hp1(M*h&$P2Bt7uuyl)4QPrconC-@2Q0*xmp<(~f zII(N1e2mzo`GCbu?p%S<9|;dkt2KXYUwl#{tFiyJc(SNkbB0imec}l{#jRceV&pB3 z=Y55P%6+ZW)`FhscDP(3#m!@{nt=WEVtr%YKHC4)UW;~L)dI1r2#s|P<|IjzFllb| zkcY%T!WF?lhs$}KhzF*lC9~TS_m&0t7aSd2&_knDBWbmYOJPX#@~{J(8#c5XdhW>y zPKQhHj^2TwjP1FB*n*9$B|TZKCRepHo+Rfic831D#_8Qna}9=xfkZJx#`z|&70Q`(;Y zfbVo$G6sFh1giEs-W>obVWqRW#lhZ$byOX2)zct)JSX}`%q9woqVwk2}GICd1%?dvv2{FIB8+bF5NCetJHmW z*T`&<*XH(LmY>!uskswhW}F1u#Aq3v<@jgjgx}Gcp5CD==*pY~s=GVxN%34xf(Vvy z^KT55)MMNwj+LdSI5DUvw~rU?@YJsn-hK44}^Dv%&x zEjl-#XWAK`k|9l!^p&G9b{gW&!iIjZF1=<47$w5*t)<}6xuh~qxCMTW9s(YT`cB=? z+v7ePH#oDPv+s4&B1Dvt-AC8$M_M`HFP7g$f>OvMUn^%e8{y1wt(Q*AZ{!#xW?;bM zfdZ1SKE=Dvu4L+6h#QLiR%%>;J}wG!&@(yW^zdXF&W>Ey2|_*b5M5$VLw;`*iU*(2 zb>DeuYNdtk=@A!Lt(H4`+q*0b8NYnh0UnVi1=E$`yNW6`P6S{~*KN}}2j1G2_0hZa z0x=9HAPYH4v2fC5V_Yw#{{O@?d2~)FG7O*B4UkgssNP-DuRHtsswR$ynhV!;s=JtA zk4O>qhz$H#gZ>9#BSz&KIZe+~5Ab(SJIECO8wZ*j7^~@)4kY~v1Hv17mA2U5&}Xcs zG<6_3BY{o@xlTWi9A%>guH2QwmK!wnDkUH4-S57l?2Q+|bu$PeHZV%|aM!ZLb$Y}4 zxq3Z*EhxaB^EUIjUBd)@B)CYRNDB&H)Da9ap=WQSREC#t5*miciojh9>7dIOW$;3~ zoUM^Wx5iMW%C=uxG5JI}v#X$D`z_B#2f?!oBxNRThoXglUcQO}Sp0OSQjzxw1!#3; zpG#C~`Roa>yHFN)$aX06J}TiT$k#7{nawkf6%q)%xV!<1D&^xy(kg{cd{gY2#TiLp zJ;b3j&(^OUp@fwP{=_JnjX(Xwa=TZ_;ALB!pfH9)hfhY^vml)EP^*tVV|{!V zY&XYt1M}vt_p;WsY}HI_Y|(&WOmuB!K8-=6Z1lRJz89L+|m^_gwfI=n0vOQ_fYUx z9z_FZIjm5;^2Rj0eBaH3FZry>IS#hf7pI(2}*s?Y{r17m)+ zwrv}=x3j6L_Fpk(FHlBmgEish?I6=9=ECaBo6bu^ld3hevRO~un>p+#omMi|&HEuH z+@0HT-&`D=`oc6l9qyd|=sjzxrnvubx&GlpQd4SSj67tSedrLx{+JT+nHWkY`TpZ} z@&1fJHYcs0hb1re+#$Hs@P^`eFAy8=8t6^u4!5XHcW6yZN=p8e5*Ppc^&qC?oW9>U zLj%y!B(C7H$>yX^-`1C9Gq*UcdeXj`ff$Qsx-!5kA3YCL?z}&!lkk$ss=uRT`4Zjm zfd;C3AuF#-hoN5oBG8Wf5?=03YGQJ|gr^UJdX-H2K4RM`S$x2tt*xE7`h;_9&V>E; z4C9;QBkn|PsIX%iuY6p*JziJ2SU&Ee7so-J_P1#>y~8|v;nAP zCB8iS&{{oH4Lb~pH>ulpLhac;Ps(VZ+n;O`cDd8{ee}!6y}F-x)W^*0xgIQa+1j9oNJv!&K-yY+E0e-@+9jz-Ci1t|Q~1QI;)-eovUV6!-gjDHGCj$uicF z0~|oFAMIXd#UkAC3Q?w$?E><_+$Ke_I8AnNLUIHd0mQAbF728Ft7Sa^hx_50*r|*0 z<62I3UNgo_nj004XKK|;A&5y4BHFvVRM89Co$?{nkCbwPbIorOgOeQUOnS8h)FxRU zZd%5Ua{OQ*M|`!VH|W!yn84n-)@XJl46HV|5#iPbV@4L{W$NEd`*1E?!OdmPG735a zV7tg_sJP*}Q3L*>Fbus+NO59?u1*2%?^U66v3}yx*&o)8pURIoFIucT`+Aa7S#9tm zx!$3T4Pt|j&N-*0r3^5ZDujOQ*|N0_D(&v91(w@KlWmn?G!qip$6b&sq7|>~rf+)) zok^}~eEcZ(iUEc3bR@MAu3n)&UVbe3mW`R6ez&|LR9SZ+2l?Gf9O^EFp>71D2ids3 zw9B4{=7=h%yTokF-;&(uGN|Q68)dw!;fUam20Uw?*p~1*C&k++frc}-DInxAjnKTj zW*=kQHKo(+9^>*m{3IWzIup`Yq)JYQrg4{}t+y%R&S8uD1p`rXI6XZbH&)?>{W0CWL6m*W!LTpdy^coC z&e_ZgPSSsz3~R6{yelptv8RbS5akU@LH=U9cWk#>jpk>j;}U!ifI2|KTY2Zvh3KMl zysL41Y#aQFPRfCnis9Hh#&KT`TgZHhC>7ILweUTZF71B>AI0P1bxB`VFYXm&%Aqa1 z{9KS>`gXCt;`{--%RQ2iWmVV`Ym>+icILzQB$*4*4!Ue?kF=tTVds3L)k4V(zW3~T zw-1YW2$~Tp8*JJ0q&jj3D~1Za`a5C4>n(#JAr8yDv)$`A7zCzbw5%_Ku1vQ)yl!I| z&{}sgw;a)wI~=FkJa-r^BJSfJICa3QbYho5kVZIP*Kf-PG-g&5C(V~s_|4}TbD%MM z)K^z`pUvvZ?%&z0H$O5>f$Hqq5-bK-d*LLwG0+<8GA}939v~N04@0XvVf>qcVPgvt@Sb9nIPn>Jr%5PEK!Z^oVQx4Zeh(WPdJWgD$BbT9XaSj66MR-f!8n7U ze7$5zRWhq0_&3Q7`mR|)zu1f;u;=siclHZtXx2>f`a0HY%XNVLL?l#b;Eez-h^v^4 zDYKG6*Bv@Qj5M05?tJ&vLM|m zT|m#f7qJ!wn%=q0rTXhB;AhcpS&y(SHw?9%cGX|^+m&?g;O3;j-Utu_b_)e8Tho;j zM;xvuVZR=sg>B)gOH$IhYC^480Xp0WcboCK%2h4tRfzRPyDQO-oFawGv|fxNKLb_rHP5UMXv6O0;GjPj$WBYBLb(rO__$Q$90EBhcAhU326d zxR;=twx%SU#hkIGcd>Z3>;gtW66o6!ZSd`*U9t5xC@8VPTC3h?h1WjsZNydJkVL23 zV_7vHZQOgdUmiaXhLWe0Y~g~PB_S2PFrSBsu-1nm=+i15Q^@Vg${CtVr{bwxcs9>8 z^p+(Shx6(8E{6LLIOdN~I)LVteP=3gEurdwX253L>Z(m2$~5c`#YCT4DL_c^MpJlDQ?bM2?yguxVxsQX#T)?R1n`G5xwQsh6?(kZ#7rK<#Mt zEC2m$aj<5w)UZ@fkPcV%Y|71#Zf%OE!NxS44_9uGG~FuKg)7%_q9%^EoS?p=HB!FX zO|&Od)om4fjJL~T`Lv0~3nZM0HJq+9J`|a=d?-zKDv(x0kOnAoFbfQdJx&3YJY|U% z$9(SLd09}+YlmlmlYE4}_#<7Axy+!+_v!s<_nb1l$2x+7i0P^Hf!+jh9Iw|I$zrLG zi+>^hiMI7B38GqOIEHv*v}9EnTa9(~564TDv?jCrN%z@SeMUrem%AaGm(Cz1iir#EPX}=6Si_N((DfLhXNNLTh?IHedNR z0BAbQVQZmE4Q@R!2J?C!Gt|efk)DBM*H@w^nvQztiS6Q;Y~dP&Pl*}lJLB5`;r2$l zLPstEd}~YajY=qyEO-=PyJZ}(4f+Gs2eLLAtOs3A#rd28%6L_S9@(xr;PHUm2?D{7 zV%-~TnpxlzHw4qmcT7As67ZiHN^==rGQ(3i$0<|Vygp@psEqY0KyI17;A?`5ES%Gu~s))9EUH`#iYM~&Dlau8cNyaeJFjXXU zy^6rz#dK=|syP5Ams~`}V3OlPGJI61Dthxo+S_DrY#VaSz{bwt~=!}FqCfNCmfH>V=h-SuCq z=I_=TJ+9)tnAaH?*ahIx`>=`@00YNmAsFoxehr+VV4%U@G&?_bP?}%XLkAkr6ZO62 zPba)lggyuOqmf>Y)%^~il_ZZ%-LsmX4~R!N+9-g@XxAdW7-Q$H{OJyX9f3?=wx-l2 z6RJJ}kZ1TfR>+^fI=_$Upnt?C@I`j9Ou6Kje^l~xoa%494mJH?bH0h!SBfCLrQu$& zHoibF=#|g=5(fy2z=wC9Ds;XBDk{BfJn#`zORSfr0BcYzqIP@T+5oWn8S0Od5~2P;k*+o^uF3r)u2oAJ z@nXNu(+g}P)cn-A;ge-niDU#ij#c)dpbYX) z?atXS&79@o_-{6kn-c|0`dnI$yb>xhY!`F8=6R!N@f($$n_ zEJl|LA(e-Eip}`z{spqV3|Dx4?Jb4&$jT&6Q7Z=Ys-I}AX$WE4Wjf%vH^=BedAKp>oc_Qx^ zzqFdJ!*TG}gEGgdY4(zLV9nEJL3YHMP#!|Bq4zH;9dwu zi0N~2M=h|iRn#1j00Y<0@9Lb!CoyWrR-;wQ3n%&PGp>~9b6VL$b`MF4sn)c=Joat2^&IDV}%*13bNXeSC`0E|cpWc`W!?MNW|}Cu3*MwWzw$ zgh&~uos%TZG$apd{p>}NPR@V^1q>(RTc_Hi=WaSS$>XxDUUr~{(FFC-c9tjHFoCu3 zlcexASZRM!VrBlGT)Z+dp%Un>@3FG7uB<|43R(>^eS+OdBTgt@xSV;}yXDI74SY{> z*f4g=ugYPL~^jvs_*{tk%t3I zs$*|~;noUP2O{11!}bfR?_<7y|NagJ6_{w^2Q3 zH|5hg6939nwbIGMfF*yM9KU#UENX%J&*9)u5 z3k7A7O}jbPzB|FoPcq9p-(BXwa71i;>Y&py*3n%b_%?bc)Mtu*k`bj(ZRROp;d0m7 zx-4mf+-%~%ymxSLF&Tzi1Q5mB563J4;M2n4q{R%mK#X0YgtqC~ynCx;(!XVO(3R1t zu;NM2s#PfH2dNvCX>qu47%oA~>qtW*2v#k6TbHhZRDx=3_G%|x#-3Z6EHK*UzCt|a z(mU^NP73CX0KFhHD;ku2hxIu&cfxQ5KeqQKQK(1!71dd8p*y;l;?A8DJuM5hhfmid zK=3fUiEHjFz+csy2E9jeJ*oAZHfbeD((R-0l{EnEW=RB8c|?YR(-v5d+}SBQ}HNFqK+yo!eb-1)z&QBQ{CeoLhkD7+WWWD zlFu+g!cKk-K(qL%{-8m3-a8#YR6|sJA%6T;LS6NQZ1F!Lvf=N8#Y+EQ6U%h%IDP-$+*#;|4g&Bl8? zCc3}2@L4(MLHC_{YJ0d$(B){|BU^SWgID7i!r>v|SPAWzZ|h}Etw*(>YPwY)2WQtD ziIZEcjC<&;SeD;F3FG^&<`gaFwd{2pnWCr=&1L)E<8gm5h!O@qSFV4)Mmlh{J z2*`7wRX=Dd)g7EOC5G9E`ocqwQ=BfAiA?<$#4=MT6*>PK#4=PY_UK=I_T}n zElJ!%fX;!Bp`6f{z{eHN0EZw=!+`ElxI|bODz)&^2)T_D=&a7z!`W+M@n8E8v)Y3! zl;f>YtOqr~w}y#^#qSqVtNb{2k7bvU37!4LbE~i5fp#a}4!HGQbwYK(O12p|Xymhe zp7={}sv&Q|Dz1{zSE0(8DTj#~Ac{tdC)b+Js4 zk-KsMq*rmcK#Ykj2Tj$o%%_m9>Qt9+Mu_fP%}m(SL@s+cH$~h=w8fcajg@bT<|H|X zLr>~si1}DU`HPH0iIv&1=-UK!xE5bL4$zWAXHzdIS2Xk<)svDp@xDAIAYAF!s`ny8 zwn?P$SmecIFQB5r^>A}y3*+LfY0>XRJUjwJ?%V0FeV%=FUb(F~N`XT+yk5V6%tHuF za|;Fm^-~;bil8g(Q;D)rd)X>;qs#H}^B69t>!gBLWRI!5Zpz^iW`JC-e_Q8?(fSkf zrIr79EY)=B5eTRQVFqo2Nww=+sTw5qvP7bzXfa-^U5^j28uJ4?6)nd-!x4tb0H*mI7 zmd(aJb{?S*p+%^q^vCwfrR&qfg#*~nAlM&8R*qPPhgFc?2F&HlvW- z*vD<63#^Pg{d@y}M)A5eR5U7mNoQX8kEYAN3vN7X+Jkc4>T~phbE=fZiz@YhEV~VV z?V7_}05qZD&m7@yJ(O{4(HW-Vr`_QhvT-Qj{r0rq&e@(!6_0y&qtc^zBDr?(&jq)X zgjIpnKCqK#pG%2|mR1g3^6E`9$K*F*#aoM-ht$|1r-{TAq4W-YdcbYM z7HYi=JYc6}n$XgYRBj+};h-b3STS zr3w=fY#}2@jhBn;tIIQ@Sw=mjYH$V2rQs@%3D+X8KXb-K+QA3Y#T;a@LVSm~&iMcm zbVwif?e#I4GvE-xG4HCu=U~elFx({>t;Im+l0!Iy6rfiVGA{b58jN+rwao=P%^|%>a+d! z(K&);;#i9rVYUXc!U@cQFQJQdW-mm+!cLk9(ALXjVZZ}1r+RECo1E)~ijc}JljY;S z9;1~+xy$6DRLOcbuF0x1i5#2?7{vcV96L#Q)1l9bCA~~ez(>|jA#hB()3(AgjY_#? zw_MZ0t3SnCuCxeaY#3BoP_f&Wk5De#po|>bZjSfwr)j+=-xvo3s2mKCt9XnrZmQ8OCKDhoHzQq)P=no2+;nxEySJ@8(W@O5d5!!vsm0^&N#iGv;IBXJZ ze$5Ph#(Vm{@j>mJl10}pe{L?x5x}VoyuctiN*2or5hv;rbjupbz1~3AetP}2XR$D# z)LSQ=eAoNCy#~$z6W;?Xwu|&xP(VL?ap;7in0KTF(-pF@ZAiBGZ%=a`^OZpBMvu({ zc8fiP8#?W@&D_UebVZpKsMGnsLShzI&iyZm-6)~?OA-UTh$#hBFXC}d6x7?dy*ylM z+kND^vxC#n|1fcEn;_kzLQQvcbg!tfVeV*9osM_cjvmyxHLqN`l)Y~LM(`4os&3Ec zkjK5TH?9aO#lji)Cr%J}_E+un#5`}Od_trN@xr+2j0POHwtu%r>biYC=-a=^S&ZsO zE?l3L^Dnb!eG8Z+pB?l4N5>+dja@IT1iJJ;SH^sPOFzE85^~V$31kv~B__9N3b%3Y z`~}>ANF8*WaM1dT)u@u1SlC@zo}J1{t22`jdHLvgp*Ym5wnqi6;a^1-7i*LGebJ}90-iQ zCxGi8Gg156Z34%Rbck8q)mA?mH!QGz z%HLW^-(aT}ekw=3kFrIHIPoVpem-Y9lJ5(j$MZ_k z+T}Q!M2g8LskJfjQ!8>ii&>R{pAqO`$-c-hWMeGq%w+?`zmg|rM`-n|#BVeFWToiH zXZ0~x>Mu1w5BA0qt{>qq8DRz z@q;iB<;V~(qGti{-lhJ$NDgE@zI*+8^}~l_Yvtaq-nRdSHs;?I^P6k&e?jcO3&hww zvp@I|$NUGI3+F^5+>(UkC_g%sbmryS-*Gw#3;T^Kk|uNzn5oVYEmL zaGE-}=7#q1*JD%jhx2$565uSV*R;l3v_+49=IDc{hU7LNOyc2g|2)#|ftFTTFtk6R zvJzGI;ZvT^!^b+@f^$3AhPhAWTAz1C!LE2n?j|9TW9&s*eR%7Yl>13 zq1^AFR1*5^;7^yI`i|cbnf3+5cdG7nJ4F=S%n*i~Dw3C~+L2_`SFgtpUdX9L zQ9X_SD*T4^BG;?hT`@GQw#>BW)B2{8vmCb8O6fkJqlQyO<4DGh}x9c#8N+JEpG_D;n`v(O=AHay6AS{LNpcWsX4U{^T} z34tw4>kR^wkP{6S_K`>6HqTZy#i4+1n&P;Z-7TU0C%}mU>Ax!LmaBVVfuI9Hizw*Puhd%>IEf^q+3h;;J{ z5t3n6>S|=3F#^yWX@VE^ZIx|cqCC%bTND8H(Fuvk4Z1Y(sq1DnDfDU((tAj>_&I!LIw)LK7UP!fMF<+T4U6L)_a;a{k1;^1}j z!yg>=x=r0P`GtQL#i&*|dt8SG43J5SOi_O+x?Pe%y&%+vm&eZ)E3ah+8Xg4Hv6-xJ z2g;qzUv8nQX~9DOsJ!h=MGkq>O=(&GspfX26Cy#`{4+-D^)G+D5y}~cjZqpeR5JK( zjRH$Qqncq}07l0=vCnMi3^m!m3u+G!_|vIwU`1#=qR)15{PLL|O7QwK z(MOn6gcQys?wbv@G`PEj7O17C-?5*Lp*uGv+Da+^nD!{0yz2Wcfp@!LD=50*z4+hK zYsoyQjAf%befeWb0;EZ5v$df8KN4%SMHfBSL?fu(oIh5>S`vlg%TIR3`?ubrcG&*O zyT~HaBytO$|Myth{|_)sz#vBR;Qqu13kL^>?-{FE`>+C9$8nm^bO+G^^fgwOe>crV zr`m~6McVBfb5UY`x=#okIfP9mpDLrLghhUYtXf=IEcRin^{IJY4Zpekt)Of_pxdqP z^|st^N|g+_Q>l>1WrG3%`QLP0x^<+}(j~OU`@xB^F$=@&H{E`&b=#BOg_rksDAzHN zLLBHN@+e@*TWuVbaRG9gH?zsX`V5fE#Hvi8$($jIqvkRD;djGAp+amw?9v#h8c>;N z2j(L4Xk?#}=&D6Oe@XarTsEy@bN_}gbn6I>zW1DR3m%wp`D^sEu z3jO3Dl%&Ueu*78oFf9PNMtJ&gg&Q9tphOMQCGjT5WePJ<-Hbd4V0$sH&#S2ukc5Dj zD7jJ!eLyM?$QU}Q)y(-Zg?%+uGI&%B$YzmL=OJ~dz^uS3f?Y>f$;&55>-h2C{DSQQ zC^6z$SXrjO##x&W2<|~Z9*;Z=kEJHvDp|`+8?D&WOMD4?Weq0960oXBpkmNA`8uhS zl?jy+6TO&O6mDU_M9rD`0ZGsZYG%upBqj$HS5N_h^nj^`%s+hHTJ$2ZGwC$bZf+&( zBlpPW6P#+VbBz>)RQ$jB1;~m3qa@}eQm78YX{947vzv4R^HnQT#mVpQU06~L@Xsv; zoR7Dp_L78ucMkeW_3VQfkW{ZAH9-KFS%}9PgSh5j8_o3G!_RpON8rwbsK&bc3{W<&5OI7pN-<^s}zYd`XrU3Y|25rkxa}DjrogHzk8Z5Mh)X@5G zZphGFrO^Y2gLh1Z(8ca2A{+eb#-AB_0dM40=9+(0!+?=9*+6J?+++9W%Gck5VO?2u z2eT^s+rOsOGz8EL2Dn$o+<%^vlLI+VI+*?CW2DMyNt$B(tbwNEGRM|{0X2=y99mEv zo6>>V`iY}qni{`b2MOQ{?Y%s-;E`_Apz|04l1PIsTAM6j)7w=!S6^Za~2nqQfw=V{k(lU(Mxt@-4M z&ss03z2|3pn6AsOAuQv7*YX?h{dYm^gj$}s80=r8nC#D||Cb&`P9L8nLT!^so}RvC z^%T|gC^_+FWB0hKIX~#Y%y8|XLNz#aB#+I^)d1T}OubCmtJ87opkfevbU%(bZ7 zMsF6b!n-dwwP$BbEL#2)kY}8zfmkP6Q+P=~mJ@d}}i{X4~)kS+nVI!pzWA%&$Y&+9H(QXoAN-r zy&m@!*GUkNhlZpQ%u=NaJr$pLd*L$j&oX zC_o)d%BM<7Z@wgQYy5J&|Ht?eoBN(as}mY^mb`06K?MSK4A|R7pZZ_{q?-!R`sN{S zCtX1y>ev*{)w-S+C12zUQr;>`J*r{XCXwyomr49>aYOfb^bMR9fP*mXZ#b3Szk`v( z+IMb599peCf2~GAWhxAWATyGxY~Z1(;&QOM5&+Fm)a>@eccX#V(BhRh3rtXz!m~}R z`%$qjU8{is$19@?4nZ>TqA5ZvxYcgh5RhcU-aB@67s5HEeD(*c9B)4_WR0@^9i;GN zjo#;<=brFV=?{2+SER1o_twJ18<^j?YoyHyfn~TQk`)PQgHIEb8LIBJ-;R+YnA12v z_?z-e00M(IfN=mB*E>@sSD%eY06GqU$Mj)mNdsrP?m`z}Vnp6O zbbXo{QQHWQywJpp0VqwOPOCv`$M)9Uk%R`3S5O+T={VIoiRD0FzjtYmup$RpEVTV| zGoi)kHrzH zCFT@>UwQ`i{BW=z75YAXAfz%e-Y?((C#NHV73!M%v`+uyXe)~bHClERO(W+7XlOkG zL|`0TokQCp2x#Qy8#3+8(ccG-R0u}>3W?_o1}XV7F>dyLOKUHey)xPXWlb0RlC~D7 zCFtjYet1x!9Mkqvkc)}Yr{#zu)M09@^-tnv_tZ-|YLR@uMF{^eU#9P^HW(@oSv-4D z9T*+b?RBPDi>SK0yd-l;5q{I zGr|e*5m7D@a47Zo{CSe%B&#NYHJSVz*h@yLmknZLy^+#jjAROvaV2VNcz(&Ju) zxNDo~ym#-{eKouG@j{&;m(?;bpN4KKFIk8gGFJak88$<&bdnf?E~z#|QY`)(vSYwx zk6O9;+L`3=fs6y`GcYy{JiWwM1QTc^qbIBld zqPCXZTY+Wg^&BH?ZLi}(e@V9+H>H7P{}h=YNH{H-?|l1ii%QCnM{ttv5k%yXOCwWe z{+%T}XF?)$pHG|`#@vRd7~{@I{}yn&MUaHmjn!>Cpcr6i{FqzrjS&@b+*;9cFOPym zkqhe>r?Xq84S$G-P;M^Yh~>)pDJ>gd*a-CYNPf({P21>d_%gQYQ&n!DtHso_WRW!{ zBQT?iE(4~-WQYc^k@eJ=!&-yP}p1}vWkLpahRBVv3B{tXjsV2WfXJ2{C5bxnMo?&q zidYmjYN|b%Yt@;*Tftv{MZ;>jKXN9|OZc zHphRu58b+VA=xWKUA=D@HYI=GY13&SMXEB+f;v%Z<=_rsK_~0C0Kr_6tkfNfQb-r| z3^s7rIm^Rw8@~pO_{Wm~??K^>;K=JUwU<;tisl$8B9xP!!Bqd%xN$GeO<*5aGM2+|uh zLH~!nH;;$9-~azDSxU%Kgh46NV#<;-)>0~2N+rUivSe36jIkwK(V~PHOSZ_qCB`;G z)*<`Oh_PfDLuQ!xzTUd7^Eub&oa;K*IiK_S{Jy`>?fXyvG%=>}n%Cp`cs%Y;YwKNN z2obMiukhDia=2-2XQgeAQFx0z8dE)=c3A7imYg?6H9h>B)h`{v@;wyIQ2*yA9_OAo zNt_H#l@{oVrkmOieNyd>-%u>LH0t(foGS}17#^XxPyCHR?Jr0U*pbr3s1A^IoDdkf zlwdj_A-Oa<=~oB)*-|USdcDN%nYL7|biXrGSt12-Jg*TY*oBQy;io^CxER7aQp#5I!e_ItX$fw>aBVZAuvs8; zaWipVjsB=Sc2hYoA!&jd`gh`rcM@6KU)khK*VIW!Hq#G;BmQ()(cj8IGGM;2%OuyJ zcI}oO>Y^I%ta^0A-)4DE7H798>df%uy>TwL3A z@cYvz076wXeEUx4w?ZQ^I^Cj9my$H{X-EJ(%>5km-lsu}o&tM)vPDf+I%V6V44v#o z*&21R3-r>syVavkv0&|k$h&!qa+1}(RZfpdsQmcv$b!{O@WsZK_Rs)i6-P1b4 z^E=OmxsN2$KDW?Gl;;Z;0OA?O3Bd^yCIWBFnK_#Lf& zMDd0zJqlh9-$Yj4vxdT)_lyc}#u8+kO+j0t@+>7^2L7mCR~}_BvG!EU`V{FCXzG2; zyZ{QX(CHRM%PYE{PK+2?dks3aBOdNAmJPJ&{d_0o~?mwOaXP+^6DWouSwY;#-< z3UnI-BgC^D4i&x1lRkO&7QnmXH*?v>cP6a1dJjd=EUA|=Vha{b=R?i+pOI(y!gl1L zg^=BKeS+igKvG7uV#Nn5uO<)lE$Z3cV>QSYRLvt*2trv0AvGXg2;qT&mD_{tBAJx9 zjRTFk&t^Ejb1aFqKa%-F-ejH2mU)h$7tRcyEyANXUAoHcB%7Ywdj;~>N^B+U}r1Usuc`YYZj0AB= zaUhr6?d3FP;!jZK zwCP9y~P6atW8l~ zzVY#=xr;mjh1^-FcrkfimsY&aTV-d^dHVa}t?i}7!OYl=G1~Zdv39&e+l=Frz-ql0 zpbhlfTASawm7!dc7kfgjCxd!UM!GOjD@l97Ct(;;cn^!Jy_s(dAwtx zVyR}O%XK2lD-%0lM2by!d+P>3u<>0>e_Ve9SkI!I*WnXVk1z?}+;uF-^7v~8;EN70 ztU7&g%LDEYBibPfGqS&NyV$~^Fl@Rb=ytml%UiCaPSAsz2yAGjX1&9RzN$eCEepy$ zrvCwu@~?!M;)4`Fu?U(o$A7liRHQd8wlV>Rn4KsjK!<>=EI;b>gcQ_0Nxeh?KIh<(gswJuN@_52zw{M^htVe*h8@ z05oLFvQf)Ta^!F5Aqf`L*{{!O4;x$FS0hCQuXL^wdiVhbB!}ifPv_)5im;JEeT?E| zQme9&Iz-*98T?>s$^^;b(~eD!bL)($(tLE(oqtRR`L6^QxvWj2Jk^fZ;!env z2rWeE)Vpg+E}ciGGrMWTeRI!bxr^@5zUBeWc+AW>lkka{E}9UC3N_r+7d$3<2_TIM z21jJhArFh%rZlmYJp%sQckY2iYpmNo2kjd%qT8djLwS7*CAi1HZ!FU&n+5t`;(B~1 z{2tfCD*HD~k5{tFY25x@&ZL%D*Pf3XZx3{MkGw8@qd%G!bF_Zg{Hjm3WNpvyLOoQO z@q$ap&JWwbZBTM>N_3h~EEHeMseWjo0(@j5B)9yO3T5sOYk2`P6r)f@u;%VAXVd`m z1hKt{N;P-(wK1-XKju8FT0QGB(q z@@mfJ&D;P+d_>XUVs!Yo$tL(gl;SgqUo1v0ddgiO1I+=ETc8>K_S+jjHo26P!|m4n zbpX|YPOOerq}1q12SRl`sQOOh(o5^qH5V;$W`+uN4=+tkPB}XP4d<8uNQy7_qZ&8> zi90{P#c}nroX%z~u%focGtTX3N#g^#{S!)H1egXY6G=sgV8rDoDe2A5L+{-gOu|HJFVZYY)tSRIX5Ay!8S+b|qaHr`hq=~-eY zQB+Vk)673jTYhmbkJxL>e*8g>E6(&8n~10_q@gSxV`Krr<|PFGy2%`i@wL}<&66Fz zD19%-@fXG;xw7VN$kq1eNm_4iRi_RGbUr5f&%1^Zt zih;jPS^ACvY#bG?t(z1?4EP&x!q45uupWh15mS;B#yubKoz?ZE`d1z1K4)^&@0!f&-WfPb9 z7v5sT^Gk#)*5l;eCW#$BfSGYNwiMIojK$N=2=HBRBP?b2wJpXaKfTaNy_G;WZlwp^gtzb+w z#Ei<>nxuFq&f57XZ(XC1l$MAWS$@3Q_+>>#vuC%I@HDn_hPL8e`>%u-rMqvMfDH@4 z*MbSYsYPo*+ZA$nTA+jU*uJpL&7cFwKo(p(86)d1=u!|XtE%-2LS&<&q^$=&!mx18 zz9Hl1iiAg1@ptx*@kF(fV7x1xI&$EG{%Ijwco1gz7WbtVt3EZwlM;f8 z1Re-3d5W3cb7B~==76vo4fFYyw}?di@OQQHF;t@G~g{B%{(TI8=66oldFOnh`(O98j3N$s(Zh@6OPCjS#z zM#3}FLzcQ-=$vm~IfiRNS|EOe1 z2pp>sjoFUQx2VI=zO3CMQnwWD3xwd5pfSeLMLXO+&>7~*Y$vZavv}&wH%+LsI_&;P z(gln7Q1YVj{T9a(2wxN#1-C^gZi}R$o4H@Ywhk8}<6}dFc)>&TvNS*ew)%CI#<2Fa z_;0B3K(G_RS-ygG=qzRMuFm3Lb_fgsIu0{KfbwP>_3gc_zqdI6+r7pFVG>mCf3&e%~UFiJHGUVUiAbYU91V&l=tKJk(n6W@834S`I{j|e z?APsTDRqOBZN|y`-2%`flbbG6fTmq-;NY9TxC&B(HJ;ybk1?A6X_vs?#wh{bxS!S@ ziJ7U%;?0}76!@HeT-r}JUG z5g>qR&2dYIV;>(1u(*=K)m*~Lms33Ud)N1V@~)t~_b^CVdZr1Qcz>w<$koMt^&xD) zJONnC?Q%%aOgkEcx}7fx%%kX`$@&l*j*v%~)8_U^p5TCuCx(DpdQZ>As_mqU$Zz5i z**aWb0AM4O@__zs+Xcm2NfUK}+*I5GXMh5txi}DW1;lbtI=NlAwo5>sEsb!c6%XEt z8s7eQaV5rTPVN8G$}Lqq(q?xEM056O-uCNwVH`mH>U1*QqT%?Vp*!F|KTH7b{5)n7h6a7~!00OHVYlR(tEuZ0_ z+3nBvnepRcUC}5^@wd!_^l@K}s~tQ+@S%xy-w zDHA`3u63?f;LWeR{`%&`(UQ}Tb7&VhhIL&Jk4Omx$8e(Np{qpaxK-@eHwTZFjQMoE z`nbYZ^AqvXr~72gFM|=&8v%jDFyNqa68KslR%iTdLaY2vGIa2N48tw|MDd40MTY>M zF`oSu9UA?dbAC&BVynt;=z}6F!p11Y;Sl_1wdbPLKr&ugrRU)(9Y<76I<w|G5*iu7=IW3A?SYd|3*@NNs+a+{18V3^Q3y} z*68E@{3cT174~ZIV0wg8pdud|;P=fZG7pYfWYowfOx0fd#dPVH-d8 zslg>k3!*;Dq9QW4U)}oKwS4*)YEOv?xIMwG1wOVU=hn0VZmgZc=2-I?;b##{njY40 zuiy+rXp{m(<7KOn=y}v8EUQ;=;$LOuZ?>03clO~`s?Ul1Q;oB2xB^L5)?={>)^;J@ z{}$br)?9`A18zR~u|~foI-(9XxDN3aDhZkpwJ`XTP^eH-{Jijht|Qssb=e|Hi{7a? zcWz+e*yNC}#?+|i2ZcWeX578>XTgmBbm(yxh2!GC*;=!m9r)H{7PDMMK)QYd-6X)Q z(BM;g8YnORCFnqf+a4zBbkzgo5xLm^|LHb8dlDG$JIgd(L|B2vGKLeXpq*(F-?U=Iq#?F3)G3!W-7V;_wHs{(=|bk}u*ZhZ}j*W-zFmV`hLpAzz~x57rLmN5qQf zOP9f^X1}%T%<@VY=T3_BHa{-4f5~!liw_#92n9M=k*D4xHGJ&~R-K49~eB zl63{p0D}Eb8{GLgHF<7aeb$gL(bw^5|IWYf%kA8PS*!*%Etpx;zOOm9-+E?(|3T0a zvW8-B^Es}H$7Cg#e!3TkQKd-Sk;09I3Gvk3I4TN3NBr~D$4YMQK+RijGdg14I79RD zRQOi1@auZG-zAi=SyW_pLV{VvO0TdKCH`7lrSd`7{hP<{PSpJwj%3{dX@Y6YRfg;n z5h?A;PJcj@RICr%x^C=Q)7*!LrNX~!FCYM;pDkAU96O1^ELS0ea21~XO|0@};9n~? zx_gW?Sys)P3Uoy#z|mh2a8sVMmam%92I{~I>|U`enQ4hohxQ5leIxFYWzgRjW`DEu zZL5mrVB4F9+hvQOuY@oEIu)0{*GP9x% z@U%#;XIX!O2$>XW2wAY+$gT@0)a0xF+aan5T|G*xL>l43t1 z_hGAq^R|2GuM-53BjpS|nSa>^@q1tq{g6sea|M980p-5mfk3kCpQeJSPWfH?HNawLq|_}@kX z`63Wn7cEU;gpX=9hW%hJJ`g<*3-15YmBQvf@g-67=IrMhcRPBa`k!JlGL_y)9O-w5 zZ>fS`0r2pYw>X_y%tKsMIL`DxFFJc%LooY~oo1r7@rNwj_5T4R|4FW1Y}B?#m}`H# zz|4z1^4Mg>`x`p}np>x|U8Mu#sG$B-*yq}aH`tl#c9H!jWW$}j_+&qQp-Iiw57Q=^ z<;m;^-n43(u0GxiJHFS!-mDHTx5Tf68D8p!2gkZ!?ed1){Gm>|I?c(wkX*Oj#=R_?Dobh3MK=HPh1Fx#ojMW$~J zeg}8C*U?wyl>8@5+Ev%y)|LUhwy_1ut{#%kBTKx6WAO6uD2A+e$I zPog~y`+TC9AS(am>SVl@dpR|_37#9p+d$FDkKIS%LF!b9Z4ZCa!7&i6iQ?-}WJE+q z#Y%rhjna|@y7Gu_53ysGA@!8p*b|hQgJ|9!9({w7=y;etZa#{1qlYUW#%iKm;aYTi z8>?k}%Ek5r{ed!X4x!Tn3SA~hn9D7E!*>wMca9NAa>_}Th{D}Y_RNWg^$kR?6mfE% zX=S;OcUwTk&OYMDjI+c!J)Cc%c&c_TZH-THQlJUx&3PVUax$E<3>jBOS|KuR@^WhX zxEeVYx4I3o>bK8=b+|bp+e~*wGVMkqp) zfWfc((uOvv{4B#4)9>dv{`{T_tjgyMnxeyEPwXl`CVY;rJ3-<9nXBZ){alx3;aM`X z-}pn%?Hm=)e5I z1le*!2r#Z0BU;fs_;v>JuCH~FE9S>%bgqa@G3QMA*XU$kIt+(zoC@B6%b;IpE4FF! z>A16M*NZPDlrZy(#lE@jbDOPAAnovV9hu262G)n1O+xSBHw_lTqQ|WR)en1gwH^;> zfysy8gm}(2<9T{O?gpZmr6G>nukP-U{(#JSURK@dR23y?{xR{C{tNz zs&Q#xRoeF;m&v5_B1YO7hf5XOjs`h=NGX!evTq#~sX{P)WCrlZU5Y|^uzrYO7BjtHml=JTPtJ9l(7}R-`=5?^cb&_fP z?{>@o0A;t*ye|NHt7uWAlBkR7Zi3$$xHQYX#zbeD58mrC9j|Su(4{b`p(cwB>>~#L zn6CK}PHoJ7`MMBcwi8VzY_fZE8p?3CS*wwZXfM!Y(}$ zg+H(xpvSu^GWPGG@NCo~)f$7~_H3h}I4!C^Q9y1k?~MX%K4|aKtL2pD72Dfd+e_S4 zi|+rR%vTC0FY=))qJTd&0mLW5(ilB$9;N&{N&!@}2!W z$t5acZ=!5u`^_s~#d(j99cr5+NfM17l~Gg5(p7`Z=w|)8$0_^QZcQ}r?s~Cz^EE8Z zG&)MqYQ0nRa==Gz!$QVv+w1B^+ujmdz8CzcE(Zy$Y zWwlru32yqCJ=U#_Ri%K6kHRd|mHVF)rKl_o>DNyu@*7SY+|4PfS**?<8;c6ejFphs z{hT7x5O}R?H57;B8NyRuI_NC!vAs&a+L*g@!z6^r#pn~DJRL8Mf2DMlHqlkh$KE1DMqwJ0JhUi~8@64uD%su!{u(T6kZ z({oW)PG5bbPXz23RBBMOky>!e>Myf0R>v zI*kZwPSyt{vYHi2Jl(L=v;D_HHx5uZVXI9=W0I=hI2Jf|FdR6Q?P5Sm{=P0~+T?+q z+q&{9NlO-dD+$lIMxF|EQBo4t2N}QqX0J>7jb}H9BcK$;4%8X?oRmq|#djsgyVukG zlW}mx&h2p3R-PUK<^87_((XX{PTVcwOT}fCeJ!L7%3YJjLo70-EpHJqJ1ZWM1cJrB zxVq#>_Xwaw*%>aY&5uCg`9q#169I*WX7}^=v@GAj!9UZDgE2%Hqo}VJBU)pc^eY$T z-R$S9I$h3jFyTh_51-EFV}OKPDxICHp0zHZvPp)M!3iQVXCbxQwX3W1W9f zUz1x+l9EbN+@N36u}ck_jDcf=o!ORI7S28UkKJ#??Dnh8C^CngRG@PmBpn&T&#A-$ z>3E&Bj^zPy=D5K?7lnfF)=_A-MeGc9tS>>JZ&@VsPltB2p9ChLMsJMw+Fl8C=dL$+bKwfjv&i;8A-!%l{C4X(Gm6 z>sFVKP8DKNhz)$2RfR|p@kM;P;B%cCiixC+O3yvR_P~AJ_B|-%I%u!}whY+HRoq56 z2v0shRW}#Iq{s+y=cBgPY<3r>ZD0{B$5PMidr95HHZYBkI6YhKRnX{@Ilx_rwzgdY&#Pl3Oy^=m6Wz=meV)wRrz>=jqn$r9rK3}+gfX)l!Cj&n<+!6F zuL(|mX0c0b)G!!3r0BEF<^7FPxeX62l_d)Kl!}f+_PO5j^E^)Bdn>DngmWa)F&aHe z6iy=C2DB+~itcEOB0l%ZSH%0i29GBXJtz!w7b^9t)JB<3^vh(@LNRItw|bNSd8%v6 zxwkAQv+o`l;ppLD7rsEhI3bLK7sc)+b4DRI?{*FZ@Z!BcVs4~u`hj_xU7IIIpzAVf zqe(Gneuf4kQ#=eLe{iTz=JPY2GXX!IIP$ta6DmPKO{HIhdW$>*_78Qr-l4Fs3dFE9q*}CAWj-`goJ0j)`nirpH zB+r%<!!4)0J{m=IJ!0fNIrxz?dB(4y*DlS=u=uJp*`loru-wy=uL~)%_iv`#B zpXu-It#t6-9Y@n(Yijle@8Vh*CuXLQ_8#ot(u#?V%@HDG?Izb#!Fte#`6akIK`1@- zK2Df|VB2UufBYr2vqyI;p}Rm!*VNi%)F^W?@m z>mEH9otx?JREQmoY@PH9c;eO99l0(HB{h#LQM8bGO9U4&(k58=EZxOZQ)%hJH!J^+ zwnGd9&gwHs_!aF?q#fc6QMk+XFrY&QP?u8PsqBTVzC#Z&nm&6DtBr1^*nm3L84+7zw3aI7yzsgNu;P*c*n3WIeY@eyOQNMWvD8r&wIgV_Xx_Wo zeO;%8U6h>NqBZKASLO!M1={N-2Roqhn@d^{D8G%n#cvz2Id%G^m!<9@Z1(Iqa*a&p zc&MX@lR^~e{PeAjoh~WR*to=YHK(jhImTs0Uu}4rxAXW8!}C23vf6zBMc6xl$}q&|#tX(b(trqkT#De^@RCxVL0W?lZpm^2;21UqS-v$aVDy z7MpE`d>4KBRe8ilO>qQwtUuL=;5K~mdC~nVK@}B+@UtCD_PrjSganoH)314aW_+TV z@|b52;NcCZG3APsqV{MTJQT5XSfY_UIcBw)9!VU~isM#COrJAQA{)wjx4fmga{D7lF_wt)6B5{Hw3?vk z?sS0?gn$8i>B2VL3u^ z4$Kk(Za(N)yE^{uP3k&PDVK`4O^+JVFN4T-6G1KctrWK2)&29WID(b?*=AQ8xsg6r zO{4e}Og?!LOoB-wjd;<&+e!u(Jem;QFqUz`<1FpIht0b~nVRJ(sU8QPGk) zc(@)F_cLCJ_3hcS2|=^tb}QG+=DNh`uYz%LeG}i!9UZ(6Jh^ArP!*u?@dT zYCe$~@i2%utm&eg>1=(F`Z2Z+tg~i=grY|nRjLeTxi2VCtH$i+NpR+e#7l$To6vJV z(0g0nP9NM^wMHHEhCXS*(ll1kd)v3=R$>1v#vkRY#6dBz2gnGz!QssA3CnoXnaX5VwUuAm5l2Okx$Wtkv?Q7(} z#A3H?=u*DO?2e!_1fjl^){p)ZJm+tpC_2m-T$A_sD|?$jinM^W4!Zcuyoze?jt%bv zNq%ly?y*gCj69!sZ0)CNQP7ZhgO3y1Wql9>$-8)O#wQ_fh-M7Dfs;&QTt7vi@LF-5 zqUK;zppO>V=+f+ud^SH84CwrK!_Nh(MguzkFJEP{%f=>#*vATM;VF}NhR{b+9i5Y^ z;OY$Si2%+Y=rx_}>KRfCB9*f|Q>|A0`&uGs!BoX3E_GMGbO$sF?5&iDDdNNpZ)a!V zPoNBaUGuW@yPy%R(GCFp?+zV$s$uA1Fj1^^IEHrS3F7?^bEFS)MCH;WU6{+%``S`g zl}WAI75y9Z9HiIvRUU8JgD{x?60H`S4G}L_q7!#Z>+!ejcuzg40uAN zZoCT5)+E7W!#7qohUj7(WK+AkW=beduSbAC!NC0-S22 zASZ}IJ_QSlmlb8A5%){AQIELyqmPZrgc`Mz!w#H68aei%DvrD2d_ut~*R57Dw11sV z%xecc=zNt<_c*sq4`&L+zzvXfM2uQ6{$Ao(Br=ivI=EuETFg5+<_!=N%ZB=MW@<#g?LvKrZlU zf@>^4IJ)SE-5>3B8Gj$z;Zmig`Pi(9g&#Y{Dm3UjM@^O0rn>ft$99HTkgwu11~X0VFA8Q;_ZbT;CTv)vip;*roP> zx?O6o03@Y`kDs8j_Zi;JdDrw_lEb#NNiWWcTMQA+(>>u~WE6RgK9ka<7>bndC+}1< zM_xR5D3Rfrl6AUa>&+U!W%_#TX|lnrq4)fqa!VDlj&lC)38l3;gc12^(d}IumnMXj zmZI$IbWlA4BLdYhqXdwebrH4+M5E#d++w&r>mQMXrphu5}Z+5V4&x z{spw+jVHujGnS-He%a0u8Nr~uU%RSZAoH;syliF`ObP-EU@*IF-&rthOg*a_$3p zupjRyrWcuRVco`6_J8$57mZ0^%_~1NxVoIMsFY~pmAdhP^K#vnssw4)VSO#FQ%#ha zK3;)o4r9*koCIx{Hj5VR1cVGWAtT}{b`h;)hsA-6;^*IV6TTt%hpJwdljD7(231c|W&jXw3x8nM(fap1b=@cyn@fBJQlcI_aU z@6e%SeI&RG|Ab$H6zFd9Cp%K8jofe-1-zg2=$h{NRMWU@aFvvbfVZBEas9SnI}se{ ztohcUVK=!Dk{_dXsh=sKvcq-=-h5VY;y>>`q3*o764cBNF^cQ%4XXf`E3r5t*Hq{a zUU#j_hBNW9EbuWDkb8)tv7)Ef>!b!y{m#4<%)D&*T@Me+41al>Cq7XSbca{%tIv&c z>WfW^PAlfMYqzUZ)EL$rXuv1vqW`HsxV8ppR_3TpL0N&<9pLP+SLCl7(`= zDT|G2hdN%rexHJJBR6_r`NguNt#yLJpr_61W_K&`&cq71B!!5zx_;3&dXsWfAvvoH zz)iTiA672cqx`9_EYQJ$hx4iI6&IG4vCw37@JlSMn}P?@-v+lrp?@jj;~U5ay}5`z zs~$!>#y7TCcL9~>ed#_JYhbG=hw@`9nX~vY9FUp=8VT3lI?HTEoRJ-NHE%}J=?}5m z6Q6?giY3*Fhd)2mIn4;hzUn>te|dWZJAS5Lj&qEjb@9Z$D>1O&+Gq@Za(%7qAwK0f zuZf#76-k&6!gR;TP9YgiVUpR^iQva$pjG?vj&PJyr+T@n1wxT4%@KJ;5;0n>6%4cS zC6M47;)1qqTjJda^u+w=tNmfx6Kg?wB(7-aF^{m|HSD?QQ(O~lfh7O1uk(6uggus4 z09$!o;xb1apE!aRmfez*^wdV_)h<;%x|#Cmdip!_9Xk_T=AL;dvAvTn+dibb zGYVNao0(1x7h)|$NNuqGP#mv9sr<;$;r4|sUju!(7ZT{;Ufl!ayRXg^OHQ*)8c8g> zgt^~FlSV4`=tSYNYh5q6V^dU!(uc^&Bn~p{2Js6t<{etc;1+tWqvW3_a!8}2nvmQv z(pgcM0gfQr5gPW;q!sG7boymM9I4$M$Qf!4dz7;t99bI9h^TyKAfZae+Df;t$5ysJF` z?%fl#Txue8QD_VL9t6fi@!wcW#UJDz?YbBh4hAB(`klp`W{9+@*Ck#ziff;09Fo4Y zR~;cMhy;?Ud?dp= z98ez5S8**0o)VqMr)ayeB*8Vr>jub$De*(5R3D$ z_Scn~)0LY%F*j7+AMRR@(GFN;b4U;6+WEY6Yd)Rp3Zse63H4M$(_Q>ZAxs+G6HtgE zKV{C61XEIVPj3`^G*B0BO|R|&WTQwZkQ(av7S0K>V3{Zy;O(&r@sR?!;Tz4 zqd^@mSj?JR@gt)WSuP558xiD9Wv7nWtN)lw_H0e<2X(l>FZ&=)319(*PIdnjdV(z! zP73{U6lSLyoT5XFu?w{A?y)v`rg%bmARyyXB0R;RvUsZd?I|xWbRtgeJx*;eQo<)% zcAjN+GKTiW6$O5?%W?1pRMzlC><$90^N}Wp-Q_-*20}g}n}s7N4^kg~t`XHzM2WIc z>TZJD4z(HDT#WP=*RXBmmE!OCplIxo8;0K7udKiT$2%4fT~i1$Hh3 zy3J>?70GVBnW7HbaH$bacgZ|vaI7Rn+b-qNBC6d^svd1XVo4sb<65UO z%+k_on=H~DJrz)x3C`#FlBipYC_AYZdT9t|i|dw6ZL1|r_MD*YDyp#yWE3D|$Iia- z^WB{$-7eqoJpl+Xq>cHJSQ;%gf`U`*<>EGKqR_Sz(t366Sxx$V4sditu)VTBeVWIm z%7hGqjIup=tB1Z)CPN4cJx))-iz!XoLL>qNovQZq&btMgG;b#`@qu|p?Rh+ zEssyl7NI;|8nTJ;e`Hi=xow6PyMO#%sMXA#o({%YcGG8!T(v@P;O7i1$trTli@(w% zA96#GlAS2I_rkeW}(?oQ#Mf7#xP$?s&x=h)sCpD*%s- zv@SFj1~b!%Dxm*DQqc|J8d!B0BZ|?}cX4AcIsIb7iOnUaq=w#3-8R5dEubpZSldMDsE1O(I?yEn}^W&h+mJ681v z7=y!gFCMPU^`GRpvMWTRNkKT4gIq$^Xy-_Is_^unmOCHcr{o2I!JWtO2B7 zWBB#slu$vpD{D1ahKfqhMD|#v$uC!*KH&6d4SzD9P(VI8nB)W(P0mEuW^YgzhkZPT#C2S$MxGsYkcYn17n9Tk(zU5 zZsV7?KpU<*Gz>xxsS!$pqe2C|l~xCaV!(#$Xt3cLpC!7~8H&+!iy)>}Nu&5N~bbSjy}#I5&+jhZ_9*0v49!UJ?e!zUpD#Ww6U>ni_%IzFlA*n+DDx99|K z-}9gl7xHP}>ScFb9uKQTrn1KUV#o)di%B zhS~$_tI7Kc!*Dn{mt=(_Bw+P{Y?V(gi9ps9Ze*M|s!*8ZsJ-E3{044v<8u($!);PO_nIf`VH-{SK?mVgNcD&@jrCi zjLB1CaD3rM$(7ms9m7XQUN6y6Ut2!4rGG5Gg-GNtCV_gf4m6`uB50wqAfp3_sSIz@ zO9AB$#DV2qD-pNUwLa~TEBX0 zvT3rw*n)SvS`K+g05b}I%5*n56fB*kJuH&I>n(6Z800?Il+Nl%{c_Vja6G`Ou1=2I zD0ucA#);N?*(Anxo})r1xMFWvC`oEC`s?Yg_tcEnw-2p<Y?{#dA;iNcumn+IOl_SP-e*>5BqSK$D*H&f5# z!;oaY@A!9ld$%#9`@i;J;XHmA48(>{@@LzimsfPVZe)=v7WhY)@w=uPJOCr3^R767@^K&=wOC8_bR`|wJj8x_SafZ`ICJyQFezzGaULptXe&I2Le!Zxi@Z_BX{Xxg$ zkS-nx3tNl-+HJGm!l*t?f`LM`88$C)<|bmllCyvX`U6gn9L5k{34XW5mnqv?W}RFf zae^CdzU1$kYMc*T_C5N0Hrnm@rk%sx6c~YYSMdGCqf->4QO~VD)auw_JJg- z?HgJVxM8DxXTKhuyAEw17~ug%0@yzAJa)`aiJb8rHF%}HtjHjj`ufSIF{x|UE+k+f zUu|;_9IY5GOLXhi#plCr5PS_BR=ray-p-qpxr|d??8}p1a{u^gMR~m*%Jz_ zuW7!AtGYiF`L7Bv_@Z2&0}b+WCdG<1)k(L$9_{ENR$Y_d%F4m`vllM zmVZWo)ooiQrdlD`k%!TPiUtjRVRq05X@Ngc28ddB1nTJtw&c)pxp$=!O8~@+duMP0kRS5n75D+dX{Ro?L@oHvgAIn1$Tr2E}_r3UV9T zf~UG~W7gZhU33{AL)Bnj4)Z!K%SUy< zlC@ig+#WJ{>nj^S>Lw!}bM=4fjHeI1YTS<}q#`bm+eeWqf=V^=942^cyVu(6u`WO9)hQ*(W^qoQ)(x`G_ul-EmIIhDO! z?ox?PTQL1?;Sd=ayf6A(&g~%QXI+BsT}pS^GQ!iXkc#WylDadpS0WR zIjPp-@e%ji@1)>>>>#Ig*={VOH=@YGUgS(yWvxYaw+#oGy zIbZ>XEkitKCJ)W%#LRcsh6y^6QFf$NQa1Zt>HAV;QXw9m0_Ne1^F z@vfTE4g@yKl;|c`L8k|C*?gG5%=K7*@Rem=A2yLiN&(N~jvO)%ZaMVU{D^cS^g^dM zMzc^*kIq{n>N%gq!7)yq%({?YwiH!yJrqhEf>{%WB^-L=K@rD1$tpe>XvSqR(O4K8 zbL-(Kr$WXv;x5y}(h?<4|5GaRP4lIYL(A#%*Za*Mj`ottO{ZUXxni4SGC7q$9g?^= zw7e>o8msbW3^wHiGhnbezn8Yxl95Ilm7IE+4@A{W@pSOXi+`-$0)Qc)X4Fp`N#gE^ za0#f3|3vlBgQ3p^dlg>s#3lBIWmC7V-MVbV!{XDSpM1pI zq?_^}BU-t)1<1tJ<*#=NOjWe(hOiPsqOhmm#gqk`4>2y<*BxF@YEpEWlXqJhaZ1>kS|owy__ zD%t!H0e+%f{{VU`0nV%TZg%pfK@Pl?{WtEK|7^r0&NSjzBaI0}oBcWnhc=gYzh?5V zM|}L}H5=IQl10VF&5NTYfz>0>uglY>h(z&?aY69{@xS0tcH@yXO~pHbAN03T$0y%J z1UiC|g`}C3=!wGE5Pb2S0hn5D-sNq}XQrn_Am;G5<_fRpJQaFb4rHjaKhJf7-%4+OHEz zM=JU#nUEN}rNDoW;cMD{(Yz+21pQ!J_Zq9dukHhFw+SRcph6sELWchP6SJ| zA4o9HSZG9S$g$r5c}x14=7jVoR8~TElPeQ<$z_y`Q^O7~;K=dloi65f56*5x^#>?; zlPM$`kV<=12csE+^TkODoGf6z%V>TYWW|7Ghc7bN2Vf-H53zTP+GlCNZ!Fw@*cMoC z>M(O@rtj6pA)9K|OQk{rZRXhU&YO|l>-AoSV8|2u%E58L2fp-Q)@+{z{#nz^-e7WI z&$0{GIRp3IWw8fkD{T6W49H>%+imLB_4@h2*ujV9v1%A2%G5UbfqGAFzZRW0KUSaE z4tZf69Ig3h!F!loOK++2J{>I!gf&dXwgiF4&t8H#yM=TjJ4$^bH&?oUFK@SXYz_qg1JabC9VscL- zl0MgzU9jH)gia~+>!`L@uWIA1H9a-cF>d;<%%;yuuL}Z%KRp6HlLc=TLpPg83?gA>YyOQ*!r> z$zJwaA!4rPN06v7pA6vYsI?A>iB%_au7)e6`GIg%@4HWdtF&v8X+^%R7pP({gr7O^ zG5t&_hDO3qgkUfQVrQ{N9xuO`R`8(RD* zPIs)lwW{zlviF#Rs!^`EGGT=$G@@QoCHqJF6pjlCeC6cgb{n;cm<&x9Ua((PNYzJT zFbBxt2g%`|yV>JYnmjcStCrXT5HQhlhm$#!F*AxU;kf%~g*|OdF%hm>tz4YrwpC0} z@e1lgB`*Y1+2{A7YoRHb2X@Ueq#!ow6#d5suVaZRj*VUYo?Nq2u)HS>CTt!2&tTSC z(jeq5Orj|i#&%sfG-P+F+bxNpHhjYx$ty0RadHvG(055I`b%)d3)+1^k<=z1u}k$z z+bMR^yVP;)$LQdv8Q%{Vnchh21H8ZVeiLKVqwdh`dOB~6bOMOQ_Mev(BX=&XRV{oz zS6=zyJWf%=i!UcBsyE87NgxjCVSeNgI+BENNO_|y)*mcakwuj9g)u4wWNhtgJ4=sy z2m+NyK{*3Yv9&^^+`P$Z(;)ve&uh}}BQetWy0#U1U3y%ZtW#8TdKU$yS|evuWDvvH zeO$Z&bmBBD`djt4fHWkE4On8j=g3B8BU>X^T9hkD209o95D0ylP5z1%kYI3o<&bi{ zh4P@N2FlfB&gPVfW1PC}859OpPf$5C(pp&<2db`T7=xaWHo4xTi(+)y^6JZg!lk~J zF1cJS51rjbA ztS6v{it9w-SDHYQ_barHwMU(#lJoSl?zM&H2qmy~?dSKrUFk26&z$NBzTGCA?~9wi zqpFt+l?nKV)xSN1(A9=TfuGD0J8kR*1%;y7C@gmm#;r=LvC^0xY*}FW#?r76ic6IZ zAhNfR?n6-#WlgfA^FRmuZ9G)Yh&Z2atHNyAa zrKjgK!1`+s*7doN5ik0j+AnZ_f3W_VmnpYz_B-LHMW@jwJiZa(ec4|aIc@cx=i$@n z!wr6Ez_3f?Df{aRTD0|EeNZf&Ex%7{QQ0h*U2;A!TA>HqSTn;8Y2u%&GQ_B!7{CeP z7Z(@d5!4OhW>XEgZ;z~UBDS9r3qgpJ+k%5xPPp#y@@??z{0faMpLJJeYOFFHXPHkk z3Ug)0C0cPpM>2@6A2%m*Mp>=yRVU_T?m2mCDd27ci}B0h4@;imddG1aVhw3O4J{`3 zcOUme$LsC>kT=<-StIURkk*iTpRHM963LLXH>E_t2e+rRvV=LGb&8{hzd8OR#P#2z zoM&riCrbB2iRl4&q%IUAZv*hi&BNMSP_y`&L4U-CLXhJr+v=0Q?JfW`Hpn}3G(6XzV7P%Pe z-GYgOy1T#Q>!)6l#anU(f2y(DrnOjqHtuwd1yPmB-TY)%137Ef8=957T)O3AiqATh zDcrdH&&W9G^72)p@b+CqQadp3?=F0vDkk|jXhM#Qwn7>mRT$QtlImS_ z+uhJ4-g(Kb?smc_+(v0XMQx2Pv^$cg&&AmQZlW|V^H=gMc0)9|gg^E(!Kl%FnMzhw zc;i)fx*b6wCEnPez6a66NandlEiNlfnNmTCC8B^Q`Yc^!n&Zsm<~OCiqL&qhFdG;k zR*RN~hh=l*j7y51@gVzjW&1}Hw71#aKVq`>f7m-58>>hEfSxN~n`HYnBPIXS5(>d35Kd$?} ze&_F_a-=b@@B8(7KKE)M;ax9zK*J6k=lZuW2l8&M#hnS+k2Duvu1QKYpF~zgR&<(L z;^L-23&iapmuE>!wiDUEvxmtxpk9Nv(Pv&l7`&oi)g7X;8LHH>+IVGmn+g9>DbjQY z8d+0BQfZS0zwzp-7eC&yz41WZq`c&@Uu-N7Ej+|;e(2Cgk(Ia%zPXCO@5n8{G8v&PD4~F z@?dA9HXwep*(e?#+aQDsv@J4vNO32rCH*GFeY=f%Nt2yU>n9=(U&o9u*8 za>Dr~_nyUL_GWT{yWNq3?bL|8oeRGVwg>x29&!qxD?1&>^6*NHAPA_ylO=gaPf$q?77t0DE z)w!MQcW)bmB76F7@Z(W8a|~HRIX0Opj}J86=Xp>`1hXOT9_q|WS1}OV2>cDMNGzzs zM%D)JpnJq|>fKrZOfgf!_z?9!;KxD$2$n4Q6A;z^Un`AS>_AKlc2gWv>f$J zj#Yr=%~TJcYbC37=wwrjW#b!qZpD?Ca*x(AZnrWYhI>Ex6L2G>0qPm+IrP2#QQ^ zWqERbq_2tB-{EnR@Rq7f8!eN^Fe};JGKw%4iM5}U-y%`XrO6Lo06 zC?VwE$YhQkmq3dQe4qr~xugFWrmsuvyDi0LCcij+NS!9x^~62@{3sQCzlx%^mKf6{ zafTIIB%WIS;rrTfSBfmTs&envMzO(AN@snhI?XZP;4KyOe)0u^j2XdCfEt@kiOV$+ zaJF+KjM`QsXeITWx=sO;Sk%fAVQ4@W?HA>AK`)jn(533`MH;1Cjdg(Q5I}w2tW`l5 zJ9s+AfUoL4-_4_hfK851`4Rd{MgcGV?z7#;tQbbLKm-&9J$u{2>N{emx>ky!WTDT2 zUK-)3O~3ja-mLXeMl1M%C~MryX}ne2D8D8jZ##MHa&*ArHXzp@3)Q@kX$v+bN=jQhJZf=9C zIpGb71BG5Q_9~qsK9XzS2^A(wDjYxfZhQSlxE`~k?3PXO%F?Oe{_pyTa+bgKBUYZH zFb4cMWgMF)Z87OgTzu@m)5z2`Uc1Qaae{+Oko88^^s9?op3{%WZCUOVmbg>>l0fss zr*#`DQK|ba%P=Sspu)yBFZ2udg%{9I6-RwgO|Z{=m?5MY31LeB_eUZH!3d4Va?kI@ z$=8#$%uy%7D~f!O!!v=5Gv||>RD1g-9QiZUgV6Vi=R;BJv5&Llv$wIb8J;YVEBY2 z!BP>g3g!mIz|YpTZ)X)A-^nj*J)3V^T1sq+@7+?zTIRA}o4(_U>umx*@Uz7u47x6A z=MftCT)gFHY2?yt(<1a0T(^aBD-s1<9*MMI5wof6jC@-cn#aZ58@`YIC z|44p&-7Uyfw-4?kH=F4yuCFXO@ABw0hJ+ANrkPD1Dkr!cG@XfbBcHjPS63n;oDX7`&JR>dU-7Iew@EBjnj)<3VN z?(9Kw1B)n|EvUPbB4BBC<~gq_uz*<|O%v673VY?r69LV@xzjAJ>TGR%QUqd$ zj?^2PW51@lN!MsM_3~^zF8lKhZX5HL7$@tfq}Ntm(UL=G)|WnGMO%;IqYy3q9vocMYwIv;X#pDX6= zaL(@Z7)+XBvr9Ds53MZAg~3u14=S?1J;2=s)kGsN%Y`_1J4Em<*aFA3J|L3%Lo$g( z`WP~LEe1}W(k7HWP=d?dga%aX)KAs)yHjzKL~=0ddOkaH zBK1j%_K+oCYm5JzuJQXp31JBd_d{n^p9)BM_`HDF3f%|4KYF_cmhvc1yHo%b(4qbL z`R#Hm*+04aHDD3Ri8iNvFrP*wnBTTN~+S&$6jduT^NalpsnyJ z4`u1NPzpyhq5`ZaIWNK$+Iioz$@tNM(jx~nV*XAiGE0KvYxKz9ysy#kFhnAtl|&?X z9}l)LKLm-K9qNJ(D9rhhm4)YT1P<)-)qplbTBVQlZJGCRpG2HNCK9W3Fr)Q7MH zBV(~^vs=MoLr3hg-t-V2T@#2mhp)xC+A4t*__0d&s(c83kg5qD{vV(+#N}M9=D=9Q zyRXxz+LwHv3lU3w6DZW^8mx%fL2k$w-eXgi(kI|?gOPVx3HLJ)5mpBnN+7|JY*&4R z#&LL4{VC#;LZsH^TEBbETW=kqMKIb=5kSZ=cBnz>2E#+)tF$+JgPe8#!nt!-*k=l* z4%vX=8(1L)E2@|cv1N$)s=nV?9|KLyJd?K9&24$=cP($KiJQM{^Cmcy3~wAJ#YR!q zx}$vnZ=)@3?DpCOwjyC)Rp`I1(v&^d;h|g+#fQ(z8XBU0AVf`p#k+|?Q_LCxaOhHH z|Il7_@MZn@HDVO6O5)g~2hVnEms>;8ZsUG|46^Si^w%R^N8{!+wjgn#?hKE5Gd|v* zT9gbYXA(mY5#Y-;PNXK=iEb~nlvXJR@oVbY=Gw*eSJOdQTzELtbX*=lbP_|O2&}Vvo4ZJyo=6G|SC=FUk@9iUt3~Od34$*N#_>UTX zzT0$&VXQ9Bbq(5xR^*U!J5Qhk;&fT9z@7mqbi$Rg!HGjg9PKs4ANMA$)73-@uko4X zwRsX+=UFh62t>fpggJo2IG%$%uXhptVVBcLH>s}SG)?XTtC_~}r;o1Tcrg6Bg%9Kn zkWwla*B$KQRd55%T*lYDrs`V`e!WRMznE$l42G3uKRZejTk-$%dCm8_*#F!pt*rfD z9i`D*7Y6-vTl?p>_RnqY|Kr=5K*3Mn)_BisoK(!+eqY#KW3yW#dIC>S_Xm&OCk_HH z8|Pe$*4Q-f4b_)Rtp?cf$ij{4MFTrWMk@x{xcY8tcd-y0SeWR7n>-vo&MV8QCU0&? z9ML$+@){~Qh?k0yyM$Au7n87@NopFVH(J<3!`ECQk)d!l19xvoqjXo9SYubJ$N_ z+NPx%5_OMa;<>t=1q>JC(*AVFX2kTF2Ir)+*yB)R5LRBdk>rLCUV?Z{;E#Qm+#3%fL({)7p6f6TWT zH(NjRNGxq1{E!cc4jJ2K&_L$LSytthf*fjK1^4(NEYdRlDdn~6Esq5_dHllFywaiG zh07U#7|xJ4DM!4jI91TMxLT)+XywepZMkrA&W|9H*9dj>fR|vqu1YPIw_td~I#laD zsvHObi09uSM}mvnK2lB{o9N=iTxi*$wjlhXj`&wy$skdduhSaX!!4z?*lV)!*2V`T zx5j2zR=>DCA#{7qXLKa3UyK5K?trGze>8ME)kT#ON4X7k$pjVi;YJYqJh%1UyIEl%Kn8m2mc;p9VbafFCH*0+ zq=L3=-37G$Svyi^^{Xe%K4Bafb*1*3_Zk`WpYQx3U2?4j>M)5-!ELw-7BfZ(PRN37 zzq9rj-C=>;7ICYrv*n(s#l{EjC&*7R00wwT3G|YbcRBq5MRMU(myQ@oyb-W;m}m@B z)w~b1diRs(C0(2I{%vBrtzRsXbuZpp2zhRC<+hyIb8l=`cOA+7~{%#Xe z2R7O1dI>APy6{9t7)R=A_p8Q)3s3V@-x(=@O>^JIcf*HSNk1Zpcq@VDx}SM|4;|2y z?JoqN?XGH=>ZOyB1{dxdNe5%DM>~jv5W?TC15g{XTf++I1fes;3iI_H#;cqEwI(E% z(3c_rr^R>>&TirYV`_Dz-H@R$YHyd=N7}=B`L3|4H2PRSx3{t!ddq${P}$r|a>*Zn zp-hJYQVZ2)&taH)Z-Nx{_-J|E-h|8s8hCiIHIBkJ zAuzEI7fQE~mBc>m{;)&l%A^PYAl?LJ4%Y-iEpIxQ$YC}>pM!5StT2U+CEH=Q4b*EK z24#}*fV5S7t*vTWCUpLe@1gse>{hIUDZ#Lhx&UsHh@5O0C7p6B5ak;Z@ml0MBhKk|BQg$(mkF>pY#r*kQ6 zWX#Y7@h?+?tfhD%8mmD$@i23SJ&_^q-Q5rMn0OdU6@0nS3B;)UxO;u^4K$|I)vwy> z{B|r_uE}o%CB~3_Sgu3yi0CmULC0i@2}BnGAy7E}y1mc@H|W9Tv)OVHJg8n&Cg4(>%?;Y}Z_h{wSwyeB-=x7a&fRx>vB5MiU~bM=Cc%WHB{x z?~O>AkaCBgxPW?-pOZpRv0m2_HlL6$1}`oQ!VPMi|67fQq2yP(bkEo~y>F6~EAB zY&Uz~Y&n!mnCk=>tM?VB(3BVShLO}jpTtrX<*Qm7Cxu+}nCt55a*nuhPLb0kkJ&Lk zxHF*wIwC#WnIP6gQy4!C;mE6^LdL~ZapnfZcGJaCqQS#dfhrXw6OAO7h?;q=G~7IP zqGd|$B6nu(tb+mG7dvUQe1cm|q+a(xJ*me919UWarGXeg%aU`2~)_K2HuNsjcb&-({twzYUA&w7tCzxY=&Q0 zPhZIKSZp)A39#9~YhNST#u}df5^ z`e@8u!s&LMIX!XZOAF5U7ju=xZf%UGqnUOaB&KvTv7Y=7!b8q)O^O+7u_()9hd?SG zdL42yysG?QHC+z+jXe6uyZr7IgQe2Aaq97AQ3&Yr)<*I9IF_~SOmeK)T{0-mWc~88 zVuKA_0#+m1?Xq#db^#{`s&ePfWs=7)5Z+oJ`7C}4xm={#RhmyOtO|#SEmtLLoYz7~ z5I89(ztSM%DdiGplwB1%eV+8ci5?=wd5jht*cc?sq0OvPK;FxwL4}Bu`Z%t|s|Ash zod2C2NP=Aczp(@P*N$lIxvIL-ANqa<$NzVhYkO44nHoO(=3HA))Ilr4HGaY#`q5dy z9TYqZAmXr}LO{x6_E?!#CW1*<=yli3`(~|YR@W076QmP=>W&s*#WLSWgTGoVa2hPp z?L9=lh4ER~PoL3B!zm$}hdHR4+1mWoLiplK`wagQDAITgu^W&>LTe7SE%=WOzx%Rg zi(3Rl!#}D+;&>1V)Sd?6y$uoopibdKBBvNjmuddldqC8~+)5}o>11YY9Wa|XQ?UAd zC||~|3sp1OaR+JSsK%wN7N;`04OM{#E!7IORcpi!-cBgyyF#(<^Gr;Me&r&|>9!W( z0PpZvcupR-Sk7uWtpFPZ&O6@&MoJO10HJy-fG-8(7+Y5el_r3|HX9Pd4phiL0!D&v zWIeKU3_O~Sca&GC_q`ReXFm)jM{el5`Q2d~0y2dFprKSwqW6l^cYn}~q&mK|6@5-G z8J~$T-5r9PA`t?@Pwusoj9;I)!1pUMa>4F1hy;TCBP`G+UC-C=AUDsmL3qi`d9Cb0 zZ1cy{wQ@yRoF^(C(3N>;41>qhwtRQm7K{fZsCdjJ5jLBrPh*I8_T$2Cm;;1Ic~5at z0iLQg^cnx3@I->(Z|eJ_W@KDS%oZs`!7o%I=6*28(Yz$U0O5ZkcCG~!B`v*o{ApGz zRPMjN<_8SPUxt<#l7pTAyykt1u;D9gp?q0T&_ zqtYcSjytX}L<)0~km|1Ct6}u$6;^*^#%ixK}dy z{@kR0sQmwXsQd!^+K--9!sI+Mu_xIoF~uq@8P>|mji8}etpwU~DCEg@XiQMXqA-31 z^7Z&Rq_pg7m%k>-+6RD;jDnBEK)rNo+3d^|wKn7zheWuhs z#hrfArn0Q5NfF{Ul3H}BdusR}3;V*%V0sIPZOV7VK6OOE-fT;-56?fW$A69WckVxehM@)+eApXzu>Lz*n^#m_8{x7{|lG1 zQM>AHjPH7#OTKkO1iChC9l57OSoPEOO!=EMHdy?-Qe&GX+8D{wxo2wk_Cu0IYuZ@k z4nZIma6Uqbs5qn(%34~&(7WcpL@`b~cp%1cY5;;Hx~%$hzZ#PCyfGdg%hfgw%0l)T zl#398grr~nqJh)ejVDV0taTk|Q#qmFzP1K^7|;Z`6Kr(Y@97(Ljn+RefD*B={Fm_|HACw-S=Cu%a(`T)uh-sUf5RD!qxi%Ob1q?u3XyL8UZeB zv&T0;W8aDQ6!)PmS~hTm1rYimH{yV8ttFPbNWqI$-_~Pld{Zd)G?&ktOSV{*sE37W zbY@$^A=g8)&K)N4Yr+Eq_^kZPQ_W9x3>uoEVXB0vUKOGF*#eAruJB!SyFhGr0gSKp z%^x%xh4g8DjRGTi0$0zGlczo&2ahrIoX^d=h!Bc5;AWtu;rCenU*|CP{3ITPWLorB zSL6L2^>2fL*NWp;wEABs@7FYXY>cCv@B-X@G5Mypqrc}PtDh=@<+Ordd@OO)AS(u3>H1jo0!9`4W+5tPtrVt8?XEHMDnew| z6Av)VPwYn;X`@sE{{=wF1ZC%oT|p~9bkyrYgpg8+z>hvGXGg(w4Rdd2pmeaq1g+Lq zbi!90OJo3tHA7G=B*{3>`9^_Phk`RkWPTN&`0-m*NkVh_%80#emrR@W%J{SR*T~%l zM+mTgThew(VV3ktJ@Me=c>Hw5v%BEv*TQvos~IdU84MI1)&PbmoIspPISR?mEX5ci z3PIS~kIqVDq8#|C1sXnObA~1fobdi~!|^sH^^Y2kvYvm?aNOsB|C7Vnbs2MR=#1J= zjhPNiO{*v)_19!BOq6qC*ya zrhA8;2M@eo)R8k4Sv;tZ-CA5d)xHYG&AM&<1Aeyicq#fu)x9jC?m-{7o-f>jD(_zN zzS<4NDjFPl=$B7I`$f)`*_0Ctbj8mSgPD8x==u!Zzxj>QUURtJvC%DqJQn`}t!((o z$yS}3@?;lE>Je0&R9Tc-E>7AmIoTK?CmXGT`n8iyWT1vLAlkB-60ziDo3oJjUzm6i z;B=b&T;4~pl-l~liuC&2ZIv>l zMxnc&o=t`@H1~o}26jW~g=i@JVh24}xB@xegA-T5qXSw!LMY6|EbpEQB^+GxnRzrMJ zptOf|<1_v>?Og~QdE#H?bC0o-dAE{ zg%8Z5wCVG@vC>Jrg_I8&El+NlB|9Rm--*XdjnhbB&Bt?U>!bD#s%7FVuC|`Bez$4f zEwue6!4jk(!7BjxG5g`>O_wiH?WNjd6o6l@O$ZU~N~-P}?TRe2aks74g0$LCztw67 zOy76`S;-1)iQzPYL=(d?Y@?){hILHo!=L=WFL3D9nNF3 zDW>-4!2Yp61NJwtPjrZZ!2Z}XC4(+7A7?@y^aED zZqAG=W`>5j?S0v$U)WP+!zMj3=R|%WAfsj5iYB`G3|zMBATlEERFvp?d_8` zkRs3hT-w8L{*?B1k2KH*fv{W(vw<|Ph{+wRVw$lX5{33^rhEsfD*jn6pk9g46o`@f zLE6J*{hhQ|3Z=czor97+B$aAZD`2LMNE+Ko6N;K=PFdPM3naO4X2 zVlMaM?H>R~Oyj(F#gm_|4B~5llncM+YPAEw#<#}&%96Ny$2Hw54R?N$G=%7FB?H;T zqp|yZ1R*&{#_Dt#fP+%Q0nT+`(0hYSi|N#{$yn=<|9CVuNG)LY zcTQ}0v=8<^HFn8~t(yy+*f>sG9~sxa{a>8eboZn9g!-olHsFzwh2{>Ne1q$)dJUxP zJW5ec*%anz!%foG!!y0NA`#B14gqj2@FuRsRFehd4UU2-eN{BVkQ7-Kw(O;|5=P+_ z0o>%?*lzH!I4?)QVE1lDS@Rh64rNH5rnM_ASz2ZB_N90Ty}2dCLphHnMFIx)7haa}_?agux^w`}^0Li+x@MHiw^&o&K!OOo z*=GR-QnuCA$TUK?@U)z7%!l>sslg|X5Bt%5FiShJ3oQm}=NFVlsS;v2pj3GZJdwT_ zG+qg0>A;>gvNKe6H^LRXfe1)7F(eHNN_GWCG7zF9WL1@)rW9j4h2 zk$LN&o+F99ien$R*m;_J6`mG3mEM})|LWB!grLM4s0>zbMkI#Op?ypDQ+;kyj;DO8 z{a@CM4%o4vbC3v~@B9+FJT~|xA)#OMgc#^k(REhc&)r?-J@Z{?#LOBar6>6dmssFH z$}wD-PZt-`7e5~WxpW58EV2gta0fP@EbdwObmjx=Yg)obU2Deyt@)#}TQiSE9x`47 z9sOkd8iB_! zUyYcJ4_D6Kegy%1Wmccl2>Ipn&UyFFbHQHphc`WB3xzNLF?K?oJP_nRfljbPWuJ!t z#EZoJh!^?I{SAY?!GfWq?~CrdZ74MTymD-M)7OJG957B(}aq%@-;QDye68+eBpmcL9IQ9Qk!&!LyrUsbna z{8C21MM9j4#MESBrYQ|sl*9`z5YJ~nto@b{l78))(3n7%5Wm%ZWw;PqkMKeiH6C1) z0v4FJlT_yM!)`*0x-#JXx-+HynCzjr8=VgIheD$G&U<>rc&qmBJ2c!ARIzHA8KTpO z<9uBHexqQFav^G0(M&kZvq}S)cBTM&8r@6w@tGSKK0IecbG-ieBZ1yQRr`v_oZmO} zknHErOBsu=3yy8*cc4}!qY3G*)bOCb()(DNgx!$l;eH+2BW0U#Y);&bVW&8Kz425$^KF9qO2hp1PO!N zpZbgHJcu>|AJv8nz4?Ujx1{3gmbPhKVIh?3^aXI7&k6Qi5b8qCU4B{WOXoPg{ zfgPJGt3Mvu!NHi(NUjSKdI1~(+qDFM?QHaIbaV8^h(3Nkyzzx!5&kIv;oob!q+AOj z2AG;g>>Yfxw{prF<8(kA<%a;(&c!g`tFB97(k)zV^y$P_>|H~9yTyhWUka%QF?SKAxg*%+tN>l9;cZ!siV$Hs=CnyYs|3^BKk8yhYY zUJ_y}Nj>8jdn#kJJQ=R2=M-CbCPr=`_!}%xd{p$CYZ=$yBxmICHyQ_l-I>L=yR(HR z^eeDC3&FVMEbq?LyY_@&IPT2jPrsVe+})XV80f2Q4oVUrDC!gz`nl=x z@DvWg(B8e&6z=KL*C3De2gUx%eAG$#-B?ZLltD$x*J&)Z_J4gE%K?lBBF^O-!`fT{ z#-eIGJ1*D~o*xh13xcs{MJ#rlgcK>^Re6BC(%6yhmWhzoRSXp-+}Cdm1S2!+Do#r{ z7*^e;T6EpKCu?Rf5mxeoepyIEItM_E=tfrnD6FGR@VXsFypJk_-vS}&j+py;A~`P_ z56-Iv{FpG^LTdiNHWdFh4vX};<0k0jeden57r9<;L)Fk1c#;4TBTfDSS`;hrLg3o= z2sGH5?NOG#9Q!9Uk%5}{Wm^B~e;=*?Wpp&4^>h9lt)JyrTED{(?9XW;w|-0$@w#66 zM>G-NQs1lxzv}n6@e$Ny2=hHMg*@Vv+R1%44@B3*uqwYvPc-#U0!Jy&e4b|ka!h)*g%he%pH|mmN zZEt%Fq_{?XrMR}#9{DY;zvDQmZ6izGS2&TyW&vGafhog3a9rbSzI9xi|K4%k{`LY= zhIF0#XfR?sxuC)#*k(v{jEmU2H)Cj#kt_Y#qp)PgG66ZJp*lmPe3#Q2%yF&m-GtOG z03yq@QR#XVW=h`|#&`;Ym@WK<)^G7+T7U0fr}bYcFE89Qu?sQ?}d)KJEqVuMb-)YU^t)%7>0gpS`acGObn7_bI ztpM!QI0Y5g9a!F}G0%M3sf8?CuG?)4@x>2+PkTH+mb65B^vMj_3EuY=-*cYPQ^AjN zy^&jUYUSdYON_7W4lD-(cXBJc28k@a=p9M9GVK_-F_8yQaQ5Zbn!$jC9rv4s19Y#-HMyzq3C z)tpRjVW%j}#~3`$#BqX~?j1_%TN@@lgQ3zy0dHwUXIMBH7e`gnc2Y@w9* zxgwwMTdprJTdt38QfNW^me!AdNfRHc#~)py^*@AY{V21!q-@3&?|!BAGt^Y)Qdl$j z5s_38IfDa`b0ZP}&7O|T3}ll?o>xvs20Hl7Za32i;pb=jRdTKLL&^2rUzA+KzLi|} zBqe=Ua*h5Xxz5or4gbF6y5|{?T;pnL4AUO|!L3bK3n}zt$@Qjnn}X#HfPhs}Eb6pk z*Q)Xq4#IPDD=;M;k)8u zuyJ$rWy^;JFrZkA{hng&B&1lgb9bIp_|xvA&YI~jGc}oSW@?q8Or!~`b~cF>z|g`a zW1eVoTv&fiwRTecmBoBv3LR#SGxheq9d*VHX4T9I*Y>Bm7SErLfaz(_A@nBIsVajB zEqyPdW}~eSnkH=zdA50{!HzI1CWnXL!1`HvpFVxMVjPcIj0i~>9MwL)Nt5DWP`!x0 zlPQ19=@DmH3MYqr_L1!T{AnJM1xz8u7%=>SAiICPgouAr0Dt=6gU*0020cSe*D(8B>*ixT8b~ovIJsTs}W+$W8h)r8&D`W;4(qE1% z%=ZpNvXd6o)~_uQj(|hVX&L#0JdnnhrFVUx8wXN=W!v#B!Jd> z5Jsi(hiK<;xWEK8?>|3ZIgyc7i-%XD274C6P?t&auLi}V2EbK_?T_wQIxYkR#$%V~ zm}S5TS2vCi+xfBA0xT>CL`P&mhJzewbB)!X9cc;kgP^?$=!^gW!YZVRd|7y!(f}Lq zFS*!1h>hXaZ5*lf`Qwb$)qwcM_IMDq5?4xLMkCWSvYB|hY~0@`n~->Z#LP#3SlMP@md68e2^6G>{+3bh>ZX6a&x(K7%%w1UB$FM9I z#b*oM;rSAONU`GfrPMgXrDA-t&~@H_xV@W1(c6E@{nuyiZ2X*YdO;%)G2HDtzp?VpsMQ@M;6U1y`>GDx4_ZpG;Xf7$Q(0;59S* z?}G0u12*KDCHVeRuZlYrUBQS85P)A50Qif34!}PkEnU#z7%py*o6n;|v$jpGAv0Q_ z`(hZ@RiVq%Ak_XtdFy8-LeF*@8Fj7NIj&BQKKJ*=+3N$0bq5xF|xUEOYwGSI0mPv87L^vHo^F4dsqHLSpRH z*|3wXnKvy31fD|rmVO1!LS@L0@T?w2iZBO{wdDiRz4E@RoPRm(DebfGPXYWyLkS5IcCx9~_=-SM-NqGv_Qcjk|6_4jf-sy>2M9IRs>K z5%=d1iY?KKPsOl*?;@5oX034Nx1p?h!w*84OIUfc9OU>jL&qZ`!%Kz)_*#P=*kn_aSZw;qiSpU?;Y?wo`i zM+wxCyM>JY{!ZtcG&OItHifNzLFAXT!UDu+Cgnvy+WzR-<6>^%mTL|9G@ra9ytG!I zwivY~Xxs*_Ps?Jnp%ON(Fwq_oUdWz)MOhQC)mxR_W+WqHcj9@Q@`RDcL!S(eY-y z`#KYHf*m@W$E%easj2;Zlp!j4#Qj$g-mEEUM0j&=_ zIBkWWMXp6kCpVU(#g=&`>n1j9gUQO}4@W1bvHJ;b(g~?X(7Zd?VY6!u^ozv1DtmUm zvd+tA4-Yf_DS?{X7lB&yPYcw#!ulA$6{zto3Dm;>x+2=%U81wscd)h5T~fAvU}8JrK3FKw6jlAS9nkT zYCn79mPyz1wZPh8mjumfynO)(tS39DM#F+6O#KW1UF@BN?G9Re5>1c{Li5HOT9eQ_2HfGsB?7!I!D8YE^M+Kk>%DERcEMQ&P^6GZfQ6Fgo4*!D`M@7mF1 zr!jkmd^PZcz|x0mpbjWatYF1i5x|YP=M)9>h3*=>58PT~U6p^iA+QJB=Gz-TCPcAe zmj+|}5S(Ep&PT(zAvRU_(3rf=K~cQI+B4`&N3vkbp*{fu$AY_Nu0%iCo+H3w5=V^U z@gdt0>!~@4%+=C@9@(`;l*V(MbABoYptUFYCQ(01n{9|%^72A{WH%i@jVQD%6N^P@pYvr(POo>(MUGa$d|p+eA!XPP8iWpf;Q4z0 zIkHBu&1C^)R~bgZ=o2Ro(ruqIYWe^YVp9!l0?y*G0to z*vnsJX9!F9MbaX1h~?Ex{c|d%!*^s`{YpM!3c^D~dDqSCIG5K^f;le=m?sWLoR7Hw z<}L4f(biCc!#Tj&2WKi*y^i;`)z_V>H*i&-rV9tHEr0)KNcMe_kHI+u*QPD&Vgrxe z3RGzJ3nrGyyzfE){%&t_y=q6X&zy}qP4KrWG{Mg*G`alqp zj3s>I8|D7mI(6FCE+=jb8~2Kw>#k)f5NgqQ&E-=ErGkVmm8F}4Bai4Pd-V7brvN97 z2P+@Jz$z>hSKn>%vr{zj+$!eXtkpUoP8}D%BvGkFTcx2)49!%MwStA3Twm)M-%Bx* zg&_0ni5zVnWmAw(`i?m&C_o~I!irIyoI=wdPc-Ox9ZRkI^C{Y+eKL2r@O{)f9XfsV zhT!vpY-!;0B3vAfKMNy)VQX>L5Dc}Th!-KBsY*S~v)PI7ZAr=lXu`hPcE_)#yejz% zC^4wkNFn(qSD%g4eJhssRbkCK)&aG69mEN)ag8j_gd^qDq0fv>4A@~rC0 ziEBTV#ZbM*4GmcWQS~!i35^0W&<%~%8~h$w(R2xs9q$bD(lSwS zD=EAjg}=U<{=HRkj85`z+KE*j!oTA7|7j=wuAO)<7|1k#x|~RpanLX|w@uBAhNZ+j zLaR}Z%8%lB{nEVF(ylVOFO$pfW}_G@`a(hbIp?PRV+qd6-iYn0qD ze)Qq0*49?Z?LA5@xEarbdF)qDR`^79`#Q(2Sw zcK7%z_n00!gTJ$#^h?^J!W6raCWd8Mh3y#caE};OOG~48L_2WfFThQ}19pO6$<6F+ zL6aNY-eN9{XdTQD@4HblqsYQVkp(g82KtuU9xy8ne0@~@zyOtXTm*H6c)3(z?$j3< z+N!T)XvJy`>EAq8ndnDU0n~T zmMO>bIf0>?rq5FQo{E*@v;uG-*gE#3E-4Dw!3;6@_bQ1Eyk=pC*U zQ?6rE?ElysO`P%mWrPPpYkriCSNiD5)R*zPfw#^BbRmp@=JZCMz+L{gJRk0|C#HC* ztE11YUAt+uFMOTN2|zFd_7Y>9r?OUUn)S1+yQW;^zLm%qvpUpDF_WHIl5(hckp_TU)cIRHk zuE6&fnDIxST+VV>b!JVOK&UK>;$egO7>J8j>b)m|(o;_qy9+h{2^#|iEMzc9ls#*+)8=^q|$z5>Jqq^VMxt+3Dre;9+$dhZ|w@` z)9?(Vh?WRgYzqv~s5CX(2cEwLCyFr+KHPBAZ?FA^snxUsf$|lU9v|ojt#P9@3tW;S z!E`RKYfQ)=c}0PN;`dO#c2R8c5sN&!1$SKd;|5vd+swzJ4>%nZb_chuuj`44MrY0_ zxi2ov2Q2pv33?Siu?h<_>B!QcU}0}MId8|pAnoA1ygcA@U&JmI7=cV}CC*H2{Z(aN zAROfZk1_k(RVSHuvYm`vGR>HNa!i*bS?ufFvL+;6Hdp%rWTI}r8YF+gbX_1_Q024h zZ&_dQr-<=eX`|XkW&{OKMVx@G!-(vk~pW#7&D$jG*GSj`OSDD%etT#ZL+LfV9y zQ=NxF=lr^=vyE(?wv(Md2a$ET0!cgFZ3VrZjDMo-F?BWp-ffTjT4X&}f7q>ivv*IS zi!g)Yv-2~Kv4Wp;iV(arO?Ha5h)LeT?3Xs3J-!RA&t_NM1J8BfejL>yk=r!*LY)RP|{#HkD3z zzKUeiUT;@rz9J18jI0DQ5XU^*QG$muZW8_o=8PvgA0pTg~>( z<_-6%poh62X&K;qgix^Y30x`xvj@H*d$f0V_g*=p7VgSE9%Ap~2^U6z_TUhp-iiLn zIV_J*JOS2G;ZX|t<4BX@Sl_V-YT#lAV&OIrS94VG2Zc{OsDfE^n|~sA#7(8dgmYbz6ZXjqozXhhy@f98 zYuy;>$&*Z=8zWc40h(jM61*fT$oCbDBW|$F+_-Qxs;w?lF!(0h%4I!tv4(o<1MfR5 z%ddtf?@_m45pw2eV;~vR*{a+sr8upxZrcpq)HvtPoiyfR_H9wsD)nR8$d^Xs9NT!q zP!>b+k{{jGMh0(La|LoJqtOn-O;OXd)}Vp)H$$KjVnz0A0dp*`zb)Z=v?jBCmY|wMW?h(gDX=#zATDnAiOj^f%`%&Ya)S?GZY% z&yB`z6FNH!xL4t4V{`y_LdbJ8Z|iih!~S45CU+({BLuw| z0se<wqivB)&`m-tc$U```p+`BZ>!mJ zxY7Dja43(BI!S&H*$!Lqk~Z1N(X1(!JEGuP5?A-F%WUD;H!ib%B;ziRaeud@XhXQR z`$tK+cOkoN$V3J4WIY5VKNBo*YHS!fHUhbB0WNozKJ5ofDk^LGwM0*9Awt#%5d%gN$7ab=7dya{agr4AxM#;Iy`+kB% zjfb`xJ)+EXf4knV+?XJT8k&B*L(JHuC)nH>*sZKP1(K+qhEcF@DOg7>T?G-i@!*8E zSg8>N-GPK;*8Kz!H|eMqe%yU*rIe8l@RAyWz*+>~p{xZ7p3wYnGN64PjD7b!rosP% z^Vt85&SEO)HBS7`EynKs!u=OA+20(D{dr-rto=V(SUetjm5i)Z#2g>81RZE(Bs6mB zRN2SH|Mo`cjj2BC+rwHp#uO#9l_p zZh7_l>)36Y)_2JIsn;kPr!~$UY$(epzca$qJg;__%Xic_hG8GW*bXeL7CE4ZNy%@H zvBAdfdN*r9XnL@4VD1)OKWptxB4bln6SG~__=SbFmxmluD17@<~{89oDg-&NXrtnAU3E7ISSPH$VlZ%HtT$YSo$_ONYy>4%KTOs+LZ|? zf>-h_SWAy9q9(m?GVMR#S4_nGzON|QtmnFV0r7oW<3EG3zc(1$I&z`>uE@W+u$U`~ z-U4Wi^oq}XE`3y>FjJM|pO^{XhsL%^M>ZKRk(^%b4zy2C$rsD8YwG_@)%OY6$d00C zD3i_;%T#`UIiPE7-v<9%cc3JPc)Z;yVf{$h#z&bO3+xa2YPh}^48yF4jse8dmosxM zOn3Zb{8NPXtUqjca)ZCCr@>HxhD7X-{L}v$tK*+Y_O~M0WMcL2hFy5jFS9^jfSQIi zr}PhgIe#5(zV&O>@Id?+@2|LeWjJs#M`^E&ck}=cnPAcg(6mcGGi0fxg8MER@%Pw_ zal$9d^Ol9{gYCgSyAC-8e2bw6-yZ05cEm=Z@x9uza|z&amDn^Og#gkd z+sVFc4@uumRtv`1)*^E#hjIiEB%Wz(+Ow^z=$`oB^<-w3lQ6;wb;@tZv__F;>|0M~ z5Tp3;R&Wban>4=Z0nQdKK*G=U^;mr%IviY)lA83uTliIccDB{KJBAMC|R6+315Q)qyTwI@9MwE-4a=`(I^`{)lmJ=|Ai>)Qtps^pJpTnQ_*4Y<)L3S8v|;^re`TPTG1b zzN)@pEnbcs86eTP;>cM$$!7wunzO`SFn_U=Q3Lk=dfaNTfe%&@SI+dzWWLZ^1=66F zvG(;z**_~D1}8|sjtY4~luwuU?&4~*3{uPrmeswbs0KyS?y$hin)`&&a^$C6D)-0U z8g#$BAQuJro*^QunA*;^LZjY~8&>QH>q9DQRE0p`423QdKmI;7FhQ@oeB&aftD$bq zORT{-%%?OF$emyFbGl4~L02yGRg3Gs?8JP?363FEQE_n8)O6<7slI67IN$yzG$K0u zByA~+E$+$^1NlRbuWCp5H-5AAsrB`N%}%hV+5LS!r71MD0IcE&PPa*y{lE6kJRZuvVf&US*|L-*REnmAk}P9wp$J7~DW=7mJ$sE& zC|jtItV4xF_FavAU&b04Sw;-WGKS1Bcz-8#U3Fhw_jTXTbKlSNzR&yghrcGpXXZT5 z<98g#_c;AF!fNx?ElZ3!!oVa7=zmo|i>iBl^_tC3rrD4DM*6%4_136Xep(i2W?JXm zYmUYi5(g%i{NTQnG}e_z$%Mf6+dQ?H5US{}^_eqqQgT34vBD0p8SQAcj$J62Gh4ZZ zAu~iGg2<>iM6b(ruRF&`T#x`0XMRpatMtf$$!Kv)HcitiX*ZNO zz5{BHcQUu;sDgMSv4)Cy?0F*UhkfeCOLz?|4<4Rhl?YWG-YzToXVuq}E%2=So^h9+ z9ksjP%-!9j-7D1c&f!Y)>c%~Wrf2vyHr|C>Z)%FjAlv2-??Rw1;bffam z@V}!g2LF)8rGSh|TjneY!mS2lhB~iOs^#G1yDNI^Hh!Z+%0?07?>jN#;{=j6+!$ z=sO8o2?ntbwKFc?F}hF=Qd8A0OMDk8#v!lr@3pFvr=RdWvgM*%_q?JDY-Iw#MD=v^ z-wdC5lDNskAC;E{lJ2x7<5FKul(g?P4xdLPV`w$TyVq8>W^VpEy6E5jAEJ4raJBwX zoW=7e&iIozP47X~koc>xw=qj*0lBg3(M1P^4}UApvg!X3aVFOurbX2nMI1I?F$=J} z2A|}5L$0Hc=y8HU{4(d*txY-0&fbf<#U*xds2wl#))=Wd8qsr>X@rvWLF);{FC%Fn zq_(DZg27gE4~FS;^j-c###cn^kVBM2p7+`K1vkvFSwKB0D^`XyaR9~H!?E7J1A;J` zaJh#K3jN5Jy5!&3%xD&$bhcwZ&KD3mP$~EGoJI*~ofaNsiM9l;FyIE3~T)&|{xvf8I+2LNz zcn&G6RRQlAISru##}HRJS9K+;jX*v?K6%qS_<8+=v6HA4!ug;wgBN9Bo*jolfi z7FLL-LdcuYA{a#wuMz)BeYn0!mg1fCeL=c*bo49RmmRlrt=te!OC2~~Vrl`uG*+Aw z;L^|eXbtUV@Z;XofHewKMoQT$T;L|gfo2GndLzk?)|vI+P6uK zid~sa{tbH1z7KVHSnS)}*mRooB=Q0u{5m)#%8DIP66Xm3y2%bMhUa7KdlH8Z>7z&# zBS&$^*4U0wS055W3iU0p<0z9S*TH6|%)84Cs< zx$j__s7L?O1`Ez0GyN0Rmw7(FH1QhZE|_Fj=D3|0E$53`-*GZCtD)k?)_s> zQ^niWkM%gG+(;SRFDUX}=4kjqOa`XD4N4)XyBZTXm3N*=lI+|Ti2xobAW{L<9cjg&ta4aUwTTqGa^LC;f)FKH&i@%Qf6 z#Jmr#o*LA`Ups0DA!H=Yu}~p@maj@PWx0I5TC1G?9YpJ?R4T? zeM(0#+Ii#bpcm8CEq{;Gff&dcZ7$F5KUo% za*7cQ=U1@1tYayR#2-s#ozd-k6?q^GBlz9=B`5p{`dD;FU5Bp;vyV|U{*s#WQ4i<< z5bR%s`tW7@0rk<)9CqcO5@y=1yXK%=ry1Q_{zu}!7^VJhoe2dSzx3#@Euii`U@)Y0M%Fpcvnh=aOD3?BQPo0~@qPj~?^aM759t1+u9CVoO!O zj86jS6>LZ~kCA~TOMq&wS{R@)no74a$jUO_Xbz)n60a7|=U<>L5Q{_G`okq;wo5a< zd3n;GX0q-o5;f#?328LC6kvy}+x&^*u3achbdD_?S8Kxa85tznmLLE4fuIb}R;0T?R>j$>htH%RSgXd=Vr|dqaMz-GLWj-rzw`iCE}xf zHX>O9z3~Ul-P->XLB_j*e;s6$<#PWwa6TGC|Hp7XDopoXF+}=w2WHe$Iiq0-5U%G8 z*!k(2TO#(5-QJbGIa4LA;=z^qqB<~;AyQnvbgshi5>)`}+IRM_yJ9|Ej%SZ)fQy+`pnniwav!el2>&M?@P$)nE}PZzt# zqCvUnmFmk~!O^M;^s6>%Gqk7$K`of$xu-c%<-yE~%=h#sU6#J#9OK7=W<48}Qp$tG z=Ow%R-l}SDGgX1$j%}OPC>_5i89DY}($iz_FZEpA&7;%^ffd7M29knTJq{x5p5spo z-qjS`X?s2Nx{b}Gh&t8NftUjVj>1tE6_Wbuj0x=3{Ex_0O-(j3E?YeAHF$M>@|xOo z^-*_On#v;GF^1_^2Ei_ys-By(+USl!@TOze@T`$MjC+*vKkZRFFTSf4;lr=`9y#Eq z1|3$@2w2+s36JTjrivCz0mF;`(CgW6^rx~{ey}NqT@HR?5>xB{OrD2@Hu6MgGm_5D zWcAZ0=NaZ%4|&~kRT=0|OD$9;`{}o0+DAi88{I3o_)1wX*A2Heer8_XCcT47x8bh& zO-(LVcsMl+Zw&f%Z^Pl(WH?ZraygKGmbvF>Cts6a!#kj#CdcVt+ zDo_mCr=TQQM7rkmOCI76w%PUqiI?0FH_rjKAz&c>uP*!7=rZb~{1@IJYN#x7Ix?D z6YJ#3-66nVBIYc*b?3-1gr>dqdta-x$0fiI^A3-GXMapC1B|CsBM3*Pplb=!EtV%a zQ89altD??RHJgx^LHDNg2HXy@=sY)@poe!%V#%z}GiqKk522oYhk15SGfTCKxUEb` zN1HGhFS@#`mcbdXH%Tc@NpiOlNh2q>!~`%M0u-53Xw4Sx#J?0;vGT;w@~=0WMAWqm zc#OoScC7o34LoBpe@fPf<+Gpvs6lM^;+C84Rg(JPNdLRPb+C@(C+4AXz)~NUaD z2zj|>72hXk#@f!awC}sO+15}19RrI+e&shNLW$XdcvUM6*InN z&yzFMNA$Myc#QzK0otQZCm-wujz*zI2Ia0w2%PAg-sJ(ZiZ_se?Zh|bU>fk=rNSQ( zG|BCb0j>D1)eh-h2>`SEM-WG9_P#01@{%OjiO5JLcpWw5D%-Ua4!LMSr-{)KMP$*-7-RjCOnb!&hF2V8^^39I zZ3kE94Mhu^s2jk1S$Ct?{#ElW`7J>8Yeb#Un8W zjlWNw{Q$p5C}E{-l0NxQA9wis6|-PMbT#%^NUJ*tHAe;}f53Jm-jCc96nydNvw%o>N83fPbVW!L%D*@ut zy0@yt5965jDZa@bdw=pBje-^U%N%x1(|i=^m#|Q1Ab|tC?s|UlDTpuA6jnYcLs9~!&ERbK zh@1X=s#GV4_2oQi9^Kh?kfzT;d166BFk%~YiK&uKn+yZ5F-G3jZ5MdV<^e8pcg5=J z*luVND5uyBRsf0#m3YWO7bMgOwfMmFw4;otgnEV40Z}NMZ_KN+xcyP5I zWp4rr$(QkLENnGFDhFZb_b9__M9Q}PQ^b#dpKGRH_%C$L#It-;8>ycd#{fVS6+F3X zWvyvuR=IMmc%w)0yMSWMK~4NcgH`9xe3@Y=)>klsnKJyrFLRB88iKrh6Xjj|+ah$N z2PfvNv=T6iO6TzCOL+8?3=Yt(TJUn2`v-H4Elqb_!YV|7eHBRN#ky`$nxFt8X}gOS zGchDTxXLf;o{{w0lKUr`~NZdxe@la0OSp^9&fJ4(|gS*klg`f}%db5+8L<@;av z(N=JT31K(J^EBnsy7c!Q>bM8sR2Kq}e3r$dXI!2=-X$QwdgtB<7`uddC9#AB-aNS( zUufAWIWyq0L2%G@btvq}MpM~T-YE>#VpuwNZW?c8KJ3G%0E-x(z-dYo20VkMNZ9bC+3TEep4+PKA_RN(J z2_J)j&L`@5)hf@LlCuCnM|tl=lP!zq`e^;No0|F_+}PO0^GZ}-Qw+MRy0bRzcqtB@ zndbei#YOB4w-D60On&vdIbR>N!=0|G@BB zKKrDZ5%`#Mek`Q_9Un*b|5CmFSMw#d)` zUez182s3AG8dBMp`i5NY1lPoytmPGWUZ3eRS1lf99G|Fp!^biBn7_n#*p3kjnz`G} zE-Ol@B<^aCA6Gle*d88U6Cc|jMw#SjG(&L=2jBFBrfJ=@A@yQZ{5mULg?*8jVtF$V z&62{dp@helo;AdeN;9(JB=!fr?<<2KnOB;l-nm42YuItZViDaYUlD)0iYcu#lnf z-`|$S%s;p|b@I$GcM9tIh&eNJeu>Tws?*x$HDLzVL4M>)|9IC*1XYw`=Jq$(L&<4V zzP1KZ=twP*WU@(lr}I??-t zE(<0hIM`=PY5F0D1WbI_%-?apbWhGT^9)q|Nxf?UOQplrU+eoxfC<5W6ky5MiHCSy za~0JjUx`Bk4Z6BcuS{m}67N_i<39wyA@Ja|;>i9pX2d)42qy7r?fr;&N0%=jC%T)s z*oXaOlEWnNR+3<#s`3Na)gqX$hhQJBqPC9Y|&kIDGiL(MQ|yrA;lQ1b4LeV?l%xLvc2(UgcVEc+BLf}_s~kY8Q` zr0#I=ajw${VBl;=M;0|dxN{})d0wnNUhf7V<7Z%z>3RrsvtNvBilw>J6pwlLIJn4X z*-2PIZrT{@G-)kQ_@?1$VUxW~@P05eVXQc(&i-dYOwlA(&QVS%y%`*@xq=z!VxhY# zkX+lWE_MBbyJ7`M<7Q@#jskN^vQ{ZA=_44J2qYe9{xvYMnrq6+7l8%Pn8Q+xIBDzTXaoRH*h z7q|EweO9ZxYT8c}|2?D!rUs~~`r?-31rPKCVlmGsZxevju$(2kN#%ain}WE=l$uK5L!%YAUY24YO~1B17{znMvaeh zh@L2Qm<=KqXWDDwN_SZbsI1cEdgCGa<_1Rw$!v_;I-o!bY`J;K23UCF)vl9&myvH; zxohERq0^L`13|2mm6xuk%|$9!of$2HQUXg`(Xf%Kg+}VjYg?e>+T8#kdRo_w_igNf zBY?pFU&6^x?K?XjF}e4@m6Kl$+isQAq~-<#n`edWh0a8(lSbcvjFTT;ei`EA8}%^D z5v{@jKpX~l$oZbsES9>UiRbw;1aduQsJ|U5%elAu&%;0t)&J{Y zAR{cSe~*=qWHJ4Zff@NN)kRPuq>N{ho|4rCnXzB}FCjlsDfcErYS?zZ+L(WY>1vX) zW)V|FxVB+8e{e^S=*MZxa{WW`dcawliB9fSb>N zgJkt5N{?0y#d)g|)0a)JU{^F-gOA}Cnn{POeZfMHSR4Y5JIp{Yc}_RUGHeo1Ik%Q} zRv5~Wqy;jsR7-zgV>f6bQCR*Tg5|$by?4}f+khm9@Pwez( zC3+puA4JRE&YhDaNh2ZlPoeVFJ!wFvH=YX8KM=HjE$AzS1>90H_U`y!&|o2Dr+hEtHGvgwsds0DuO zl4OrVx%uubsUK}uzYD>4=U22TB2tCKL{!p_$K9{$pNsl6a0dwOD36B36~K9X`$AU@ z%<%H1g=wWvcyr2auC2bDE4WT#sofelf1EyZ+`CfKS_jZkmrweyim$O7Aq&opQKNp> zTtXo|C;C}r5o;~mbMbQqnNe4uQ2*?XXHusTWl4klQjKkF_w?t|5};Ev3xRUsvu}5k zDwH?;N}*NCU1Isac&E(uwBP?0&;FMMLK^99S!aQetknY0gFO3_ue17t_@j1WIdqaF zuBmA%ke!=Pa=%3FZz>>CgJ(dB#mVXky8$2GPCxj~pUpM@hO}Re%*cto4pNkW#SaN7 zkA=EAx!jEQt7jrFYHoYKSyJgGxiP6pIuLObN8AcxqfG}6KBsvkXOW`UdbQGPo|@qC zg7|ur$8*~3-NjWAukxFQk(((E6t^cnSwf zhoemzf#e!y`*j0MiNtIz;`=kz@Zp!8Je~fCJivIV_kyS51G+OuS_nYiS;05iiKF<@_9UCy zGi$vq!-bSWq=sXI*RzhFTrRshq;>%OA$+qYg$S^iI#!~9t-EPUkvx93LYCB zdhMzFTz(f(x&K*-l4DDcKVvsas8V1uG`$8mOM9SbgZwk zh5OAUw+Ko$KXim*8@U>njc1-V-qeE7KkFx6l=Qop8xM*To%T)R+-wDx;*2<}BumoL zpRUz;K2f@~z!2J@<~%H1fNe2_MO3Vmy8itQUf8%@;j ztEcTc4nz~+Kz0Khh(->7vzdBsi@EM8fWvv0FvaWe6vQdk5{{c95;m?+nb|;SkU3`% zavs|~Q5S*=+tNLXXWf+S;-rk{{`B_gH)`W~yvUJ(U8wv?6F><;1`!%X`drPlMZod~ z+p!%++^)rkt{G?;y`lfSNm{6f8UCBP12eJq;RInMzH`;O8895RVRVlQft9L^nc<-a za!wEd9Alm9?XqV(?ciEndfieT4Uv9z(jsgJGnBdyq0FytxuN^) zo9Lr@&$u+yQL}Ao)sP0bgnmg+7e$!@r+mj8DOQ%7_w6`u=tAz@=tP(FSH+DkotKFt zX6gatr>XorL}z+$C%oi=KugUzW{I_W+fWTP;qj_6RBsEO{4|4XcB`7WgctFxa`vB= z;fy$MaMo(}>+1d;p`k-A4rghI;i;aZgYnxpo4Y%9%_O#HlW-oVHzR|}u?6)TUgP{Z3=Tc1tK$Y4JO)!U2& zimw)vtM8z$P>tnH&fxshd=HN`@W#15Q1K;_iNm{d16N`Wb|PlZ8J&H#sWaL>X!_oP zyQxgum%I^utpRIn{ym$m^6`9jg;Ai{@ZtUV%oed5t)*QmTdi$vjRTYJyvh)C@n2{2 z3*V;4-}t_lw$yS+jo2Z%8X-*7{c7Kg7m-xD4Hm0Kjwn@w#p=F2$p`Z(pnMMI&K>#^9fipFtjM{}gTP?FtM`{lZd$NfJM`pr!-4zY;yILj94%I0m(9`&+EFu9*;RH)b&Ww{SK++x%9U?n%AL`$Q(!eM zkINLSrj0D*)R5is%HEv!0jp_yud1bXUy_7Y)21p6b*N&$g(=NY7pp^{FeN0tUj&gA zNMH}(T3#h94>lua@|hPO5Q0xFbAb>%yH!c=+MzfKj$J<;A8qaHEBc;7Wy?tE(lWIz z%%?rS?G=puz>=C8{g_t@9_|M4W&zyjSvu`P>X$Uq9ZcspuWow)-xCKKngeoYPO4l$ z$GF33?Daka-%bwrb{C{zY3FeXZ+D^XU2SNj6eNz!%3i#n6-5iy%r4~vj9UagbiR`W zgXwm?%-ohS`F20irZ6g=KY=;>%6))+Y}BH@oSX@pIDqM^H0672CVx!#6~R@#ff8U| z@}1SsxAUQtoX#%I$m)eAWLD>=u}zTuMlfI7PpgpDef_&6yM{VM-I0?0Hsg15lFI-5frVwZpI2-w##Qgw6cOVvU~CPfvrF8SKpa*pB}1z zz}A?IUR|+TpHS=FVhY_ez)XXsSSL)s8-5{PuQi34Y6J<-ev-a zdF!A{a=y84QixhpG{xW{ym%QZ6%Cp{XNpxE>oW?v$ZFOaqRpRBK&CueG>ufF)|

jLW!z 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 literal 0 HcmV?d00001 diff --git a/editor/resources/logo_text.png b/editor/resources/logo_text.png new file mode 100644 index 0000000000000000000000000000000000000000..d683e44e1a582f68ca4ce15119afafea6b358c49 GIT binary patch literal 5414 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 + + sfizz logo + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + sfizz logo + 2020-05-16 + + + Tobiasz 'unfa' Karoń + + + + + CC-0 + + + + + + + + + + + + + + + diff --git a/editor/resources/logo_text@2x.png b/editor/resources/logo_text@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..c3e28c637e5168d34c6262c2ed284a4871e6cc06 GIT binary patch literal 10935 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 z +#include +#include #include #include @@ -18,19 +21,20 @@ using namespace VSTGUI; -const int Editor::viewWidth { 482 }; -const int Editor::viewHeight { 225 }; +const int Editor::viewWidth { 800 }; +const int Editor::viewHeight { 475 }; struct Editor::Impl : EditorController::Receiver, IControlListener { EditorController* ctrl_ = nullptr; CFrame* frame_ = nullptr; - SharedPointer view_; + SharedPointer mainView_; + + std::string currentSfzFile_; enum { kPanelGeneral, - // kPanelControls, + kPanelControls, kPanelSettings, - kPanelTuning, kPanelInfo, kNumPanels, }; @@ -40,6 +44,7 @@ struct Editor::Impl : EditorController::Receiver, IControlListener { enum { kTagLoadSfzFile, + kTagEditSfzFile, kTagSetVolume, kTagSetNumVoices, kTagSetOversampling, @@ -54,19 +59,21 @@ struct Editor::Impl : EditorController::Receiver, IControlListener { CTextLabel* sfzFileLabel_ = nullptr; CTextLabel* scalaFileLabel_ = nullptr; - CSliderBase *volumeSlider_ = nullptr; + CTextButton* scalaFileButton_ = nullptr; + CControl *volumeSlider_ = nullptr; CTextLabel* volumeLabel_ = nullptr; - CSliderBase *numVoicesSlider_ = nullptr; + SValueMenu *numVoicesSlider_ = nullptr; CTextLabel* numVoicesLabel_ = nullptr; - CSliderBase *oversamplingSlider_ = nullptr; + SValueMenu *oversamplingSlider_ = nullptr; CTextLabel* oversamplingLabel_ = nullptr; - CSliderBase *preloadSizeSlider_ = nullptr; + SValueMenu *preloadSizeSlider_ = nullptr; CTextLabel* preloadSizeLabel_ = nullptr; - CSliderBase *scalaRootKeySlider_ = nullptr; + SValueMenu *scalaRootKeySlider_ = nullptr; + SValueMenu *scalaRootOctaveSlider_ = nullptr; CTextLabel* scalaRootKeyLabel_ = nullptr; - CSliderBase *tuningFrequencySlider_ = nullptr; + SValueMenu *tuningFrequencySlider_ = nullptr; CTextLabel* tuningFrequencyLabel_ = nullptr; - CSliderBase *stretchedTuningSlider_ = nullptr; + CControl *stretchedTuningSlider_ = nullptr; CTextLabel* stretchedTuningLabel_ = nullptr; CTextLabel* infoCurvesLabel_ = nullptr; @@ -76,6 +83,8 @@ struct Editor::Impl : EditorController::Receiver, IControlListener { CTextLabel* infoSamplesLabel_ = nullptr; CTextLabel* infoVoicesLabel_ = nullptr; + CTextLabel* memoryLabel_ = nullptr; + void uiReceiveValue(EditId id, const EditValue& v) override; void createFrameContents(); @@ -90,11 +99,16 @@ struct Editor::Impl : EditorController::Receiver, IControlListener { } void chooseSfzFile(); + void changeSfzFile(const std::string& filePath); void chooseScalaFile(); + void changeScalaFile(const std::string& filePath); + + static absl::string_view simplifiedFileName(absl::string_view path, absl::string_view removedSuffix, absl::string_view ifEmpty); void updateSfzFileLabel(const std::string& filePath); void updateScalaFileLabel(const std::string& filePath); - static void updateLabelWithFileName(CTextLabel* label, const std::string& filePath); + static void updateLabelWithFileName(CTextLabel* label, const std::string& filePath, absl::string_view removedSuffix); + static void updateButtonWithFileName(CTextButton* button, const std::string& filePath, absl::string_view removedSuffix); void updateVolumeLabel(float volume); void updateNumVoicesLabel(int numVoices); void updateOversamplingLabel(int oversamplingLog2); @@ -142,7 +156,7 @@ void Editor::open(CFrame& frame) Impl& impl = *impl_; impl.frame_ = &frame; - frame.addView(impl.view_.get()); + frame.addView(impl.mainView_.get()); } void Editor::close() @@ -150,7 +164,7 @@ void Editor::close() Impl& impl = *impl_; if (impl.frame_) { - impl.frame_->removeView(impl.view_.get(), false); + impl.frame_->removeView(impl.mainView_.get(), false); impl.frame_ = nullptr; } } @@ -161,22 +175,27 @@ void Editor::Impl::uiReceiveValue(EditId id, const EditValue& v) case EditId::SfzFile: { const std::string& value = v.to_string(); + currentSfzFile_ = value; updateSfzFileLabel(value); } break; case EditId::Volume: { const float value = v.to_float(); - if (volumeSlider_) + if (volumeSlider_) { volumeSlider_->setValue(value); + volumeSlider_->setDirty(); + } updateVolumeLabel(value); } break; case EditId::Polyphony: { const int value = static_cast(v.to_float()); - if (numVoicesSlider_) + if (numVoicesSlider_) { numVoicesSlider_->setValue(value); + numVoicesSlider_->setDirty(); + } updateNumVoicesLabel(value); } break; @@ -188,16 +207,20 @@ void Editor::Impl::uiReceiveValue(EditId id, const EditValue& v) for (int f = value; f > 1; f /= 2) ++log2Value; - if (oversamplingSlider_) + if (oversamplingSlider_) { oversamplingSlider_->setValue(log2Value); + oversamplingSlider_->setDirty(); + } updateOversamplingLabel(log2Value); } break; case EditId::PreloadSize: { const int value = static_cast(v.to_float()); - if (preloadSizeSlider_) + if (preloadSizeSlider_) { preloadSizeSlider_->setValue(value); + preloadSizeSlider_->setDirty(); + } updatePreloadSizeLabel(value); } break; @@ -209,25 +232,35 @@ void Editor::Impl::uiReceiveValue(EditId id, const EditValue& v) break; case EditId::ScalaRootKey: { - const int value = static_cast(v.to_float()); - if (scalaRootKeySlider_) - scalaRootKeySlider_->setValue(value); + const int value = std::max(0, static_cast(v.to_float())); + if (scalaRootKeySlider_) { + scalaRootKeySlider_->setValue(value % 12); + scalaRootKeySlider_->setDirty(); + } + if (scalaRootOctaveSlider_) { + scalaRootOctaveSlider_->setValue(value / 12); + scalaRootOctaveSlider_->setDirty(); + } updateScalaRootKeyLabel(value); } break; case EditId::TuningFrequency: { const float value = v.to_float(); - if (tuningFrequencySlider_) + if (tuningFrequencySlider_) { tuningFrequencySlider_->setValue(value); + tuningFrequencySlider_->setDirty(); + } updateTuningFrequencyLabel(value); } break; case EditId::StretchTuning: { const float value = v.to_float(); - if (stretchedTuningSlider_) + if (stretchedTuningSlider_) { stretchedTuningSlider_->setValue(value); + stretchedTuningSlider_->setDirty(); + } updateStretchedTuningLabel(value); } break; @@ -284,405 +317,319 @@ void Editor::Impl::uiReceiveValue(EditId id, const EditValue& v) void Editor::Impl::createFrameContents() { - const CRect bounds { 0.0, 0.0, static_cast(viewWidth), static_cast(viewHeight) }; - CViewContainer* view = new CViewContainer(bounds); - view_ = owned(view); + CViewContainer* mainView; - view->setBackgroundColor(CColor(0xff, 0xff, 0xff)); + SharedPointer iconWhite = owned(new CBitmap("icon_white.png")); + SharedPointer knob48 = owned(new CBitmap("knob48.png")); + SharedPointer logoText = owned(new CBitmap("logo_text.png")); - SharedPointer logo = owned(new CBitmap("logo.png")); + { + const CColor frameBackground = { 0xd3, 0xd7, 0xcf }; - CRect bottomRow = bounds; - bottomRow.top = bottomRow.bottom - 30; + struct Theme { + CColor boxBackground; + CColor text; + CColor titleBoxText; + CColor titleBoxBackground; + CColor icon; + CColor valueText; + CColor valueBackground; + }; - CRect topRow = bounds; - topRow.bottom = topRow.top + 30; + Theme lightTheme; + lightTheme.boxBackground = { 0xba, 0xbd, 0xb6 }; + lightTheme.text = { 0x00, 0x00, 0x00 }; + lightTheme.titleBoxText = { 0xff, 0xff, 0xff }; + lightTheme.titleBoxBackground = { 0x2e, 0x34, 0x36 }; + lightTheme.icon = lightTheme.text; + lightTheme.valueText = { 0xff, 0xff, 0xff }; + lightTheme.valueBackground = { 0x2e, 0x34, 0x36 }; + Theme darkTheme; + darkTheme.boxBackground = { 0x2e, 0x34, 0x36 }; + darkTheme.text = { 0xff, 0xff, 0xff }; + darkTheme.titleBoxText = { 0x00, 0x00, 0x00 }; + darkTheme.titleBoxBackground = { 0xba, 0xbd, 0xb6 }; + darkTheme.icon = darkTheme.text; + darkTheme.valueText = { 0x2e, 0x34, 0x36 }; + darkTheme.valueBackground = { 0xff, 0xff, 0xff }; + Theme& defaultTheme = lightTheme; + Theme* theme = &defaultTheme; + auto enterTheme = [&theme](Theme& t) { theme = &t; }; + + typedef CViewContainer LogicalGroup; + typedef SBoxContainer RoundedGroup; + typedef STitleContainer TitleGroup; + typedef CKickButton SfizzMainButton; + typedef CTextLabel Label; + typedef CViewContainer HLine; + typedef CTextButton LightButton; + typedef CAnimKnob Knob48; + typedef CTextLabel ValueLabel; + typedef CViewContainer VMeter; + typedef CView SfizzLargePicture; + typedef SValueMenu ValueMenu; +#if 0 + typedef CTextButton Button; +#endif + typedef CTextButton ValueButton; + typedef CTextButton LoadFileButton; + typedef CTextButton EditFileButton; + typedef SPiano Piano; + + auto createLogicalGroup = [](const CRect& bounds, int, const char*, CHoriTxtAlign, int) { + CViewContainer* container = new CViewContainer(bounds); + container->setBackgroundColor(CColor(0x00, 0x00, 0x00, 0x00)); + return container; + }; + auto createRoundedGroup = [&theme](const CRect& bounds, int, const char*, CHoriTxtAlign, int) { + auto* box = new SBoxContainer(bounds); + box->setCornerRadius(10.0); + box->setBackgroundColor(theme->boxBackground); + return box; + }; + auto createTitleGroup = [&theme](const CRect& bounds, int, const char* label, CHoriTxtAlign, int fontsize) { + auto* box = new STitleContainer(bounds, label); + box->setCornerRadius(10.0); + box->setBackgroundColor(theme->boxBackground); + box->setTitleFontColor(theme->titleBoxText); + box->setTitleBackgroundColor(theme->titleBoxBackground); + auto font = owned(new CFontDesc(*box->getTitleFont())); + font->setSize(fontsize); + box->setTitleFont(font); + return box; + }; + auto createSfizzMainButton = [this, &iconWhite](const CRect& bounds, int tag, const char*, CHoriTxtAlign, int) { + return new CKickButton(bounds, this, tag, iconWhite); + }; + auto createLabel = [&theme](const CRect& bounds, int, const char* label, CHoriTxtAlign align, int fontsize) { + CTextLabel* lbl = new CTextLabel(bounds, label); + lbl->setFrameColor(CColor(0x00, 0x00, 0x00, 0x00)); + lbl->setBackColor(CColor(0x00, 0x00, 0x00, 0x00)); + lbl->setFontColor(theme->text); + lbl->setHoriAlign(align); + auto font = owned(new CFontDesc(*lbl->getFont())); + font->setSize(fontsize); + lbl->setFont(font); + return lbl; + }; + auto createHLine = [](const CRect& bounds, int, const char*, CHoriTxtAlign, int) { + int y = static_cast(0.5 * (bounds.top + bounds.bottom)); + CRect lineBounds(bounds.left, y, bounds.right, y + 1); + CViewContainer* hline = new CViewContainer(lineBounds); + hline->setBackgroundColor(CColor(0xff, 0xff, 0xff, 0xff)); + return hline; + }; + auto createLightButton = [this](const CRect& bounds, int tag, const char* label, CHoriTxtAlign align, int) { + CTextButton* button = new CTextButton(bounds, this, tag, label); + button->setTextAlignment(align); + return button; + }; + auto createKnob48 = [this, &knob48](const CRect& bounds, int tag, const char*, CHoriTxtAlign, int) { + return new CAnimKnob(bounds, this, tag, 31, 48, knob48); + }; + auto createValueLabel = [&theme](const CRect& bounds, int, const char* label, CHoriTxtAlign align, int fontsize) { + CTextLabel* lbl = new CTextLabel(bounds, label); + lbl->setFrameColor(CColor(0x00, 0x00, 0x00, 0x00)); + lbl->setBackColor(CColor(0x00, 0x00, 0x00, 0x00)); + lbl->setFontColor(theme->text); + lbl->setHoriAlign(align); + auto font = owned(new CFontDesc(*lbl->getFont())); + font->setSize(fontsize); + lbl->setFont(font); + return lbl; + }; + auto createVMeter = [](const CRect& bounds, int, const char*, CHoriTxtAlign, int) { + // TODO the volume meter... + CViewContainer* container = new CViewContainer(bounds); + container->setBackgroundColor(CColor(0x00, 0x00, 0x00, 0x00)); + return container; + }; + auto createSfizzLargePicture = [&logoText](const CRect& bounds, int, const char*, CHoriTxtAlign, int) { + CView* picture = new CView(bounds); + picture->setBackground(logoText); + return picture; + }; +#if 0 + auto createButton = [this](const CRect& bounds, int tag, const char* label, CHoriTxtAlign align, int fontsize) { + CTextButton* button = new CTextButton(bounds, this, tag, label); + auto font = owned(new CFontDesc(*button->getFont())); + font->setSize(fontsize); + button->setFont(font); + button->setTextAlignment(align); + return button; + }; +#endif + auto createValueButton = [this, &theme](const CRect& bounds, int tag, const char* label, CHoriTxtAlign align, int fontsize) { + CTextButton* button = new CTextButton(bounds, this, tag, label); + auto font = owned(new CFontDesc(*button->getFont())); + font->setSize(fontsize); + button->setFont(font); + button->setTextAlignment(align); + button->setTextColor(theme->valueText); + button->setFrameColor(CColor(0x00, 0x00, 0x00, 0x00)); + SharedPointer gradient = owned(CGradient::create(0.0, 1.0, theme->valueBackground, theme->valueBackground)); + button->setGradient(gradient); + button->setGradientHighlighted(gradient); + return button; + }; + auto createValueMenu = [this, &theme](const CRect& bounds, int tag, const char*, CHoriTxtAlign align, int fontsize) { + SValueMenu* vm = new SValueMenu(bounds, this, tag); + vm->setHoriAlign(align); + auto font = owned(new CFontDesc(*vm->getFont())); + font->setSize(fontsize); + vm->setFont(font); + vm->setFontColor(theme->valueText); + vm->setBackColor(theme->valueBackground); + vm->setFrameColor(CColor(0x00, 0x00, 0x00, 0x00)); + vm->setStyle(CParamDisplay::kRoundRectStyle); + vm->setRoundRectRadius(5.0); + return vm; + }; + auto createGlyphButton = [this, &theme](UTF8StringPtr glyph, const CRect& bounds, int tag, int fontsize) { + CTextButton* btn = new CTextButton(bounds, this, tag, glyph); + btn->setFont(new CFontDesc("Fluent System Regular W20", fontsize)); + btn->setTextColor(theme->icon); + btn->setFrameColor(CColor(0x00, 0x00, 0x00, 0x00)); + btn->setGradient(nullptr); + btn->setGradientHighlighted(nullptr); + return btn; + }; + auto createLoadFileButton = [&createGlyphButton](const CRect& bounds, int tag, const char*, CHoriTxtAlign, int fontsize) { + return createGlyphButton("\ue142", bounds, tag, fontsize); + }; + auto createEditFileButton = [&createGlyphButton](const CRect& bounds, int tag, const char*, CHoriTxtAlign, int fontsize) { + return createGlyphButton("\ue148", bounds, tag, fontsize); + }; + auto createPiano = [](const CRect& bounds, int, const char*, CHoriTxtAlign, int) { + SPiano* piano = new SPiano(bounds); + return piano; + }; + + #include "layout/main.hpp" + + mainView->setBackgroundColor(frameBackground); + + mainView_ = owned(mainView); + } + + /// + SharedPointer fileDropTarget = owned(new SFileDropTarget); + + fileDropTarget->setFileDropFunction([this](const std::string& file) { + changeSfzFile(file); + }); + + mainView_->setDropTarget(fileDropTarget); + + /// + adjustMinMaxToEditRange(volumeSlider_, EditId::Volume); + adjustMinMaxToEditRange(numVoicesSlider_, EditId::Polyphony); + adjustMinMaxToEditRange(oversamplingSlider_, EditId::Oversampling); + adjustMinMaxToEditRange(preloadSizeSlider_, EditId::PreloadSize); + if (scalaRootKeySlider_) { + scalaRootKeySlider_->setMin(0.0); + scalaRootKeySlider_->setMax(11.0); + scalaRootKeySlider_->setDefaultValue( + static_cast(EditRange::get(EditId::ScalaRootKey).def) % 12); + } + if (scalaRootOctaveSlider_) { + scalaRootOctaveSlider_->setMin(0.0); + scalaRootOctaveSlider_->setMax(10.0); + scalaRootOctaveSlider_->setDefaultValue( + static_cast(EditRange::get(EditId::ScalaRootKey).def) / 12); + } + adjustMinMaxToEditRange(tuningFrequencySlider_, EditId::TuningFrequency); + adjustMinMaxToEditRange(stretchedTuningSlider_, EditId::StretchTuning); + + for (int value : {1, 2, 4, 8, 16, 32, 64, 96, 128, 160, 192, 224, 256}) + numVoicesSlider_->addEntry(std::to_string(value), value); + numVoicesSlider_->setValueToStringFunction2( + [](float value, std::string& result, CParamDisplay*) -> bool + { + result = std::to_string(static_cast(value)); + return true; + }); + + for (int log2value = 0; log2value <= 3; ++log2value) { + int value = 1 << log2value; + oversamplingSlider_->addEntry(std::to_string(value) + "x", log2value); + } + oversamplingSlider_->setValueToStringFunction2( + [](float value, std::string& result, CParamDisplay*) -> bool + { + result = std::to_string(1 << static_cast(value)) + "x"; + return true; + }); + + for (int log2value = 10; log2value <= 16; ++log2value) { + int value = 1 << log2value; + char text[256]; + sprintf(text, "%d kB", value / 1024); + text[sizeof(text) - 1] = '\0'; + preloadSizeSlider_->addEntry(text, value); + } + preloadSizeSlider_->setValueToStringFunction2( + [](float value, std::string& result, CParamDisplay*) -> bool + { + result = std::to_string(static_cast(std::round(value * (1.0 / 1024)))) + " kB"; + return true; + }); + + static const std::pair tuningFrequencies[] = { + {380.0f, "English pitchpipe 380 (1720)"}, + {409.0f, "Handel fork 409 (1780)"}, + {415.0f, "Baroque 415"}, + {422.5f, "Handel fork 422.5 (1740)"}, + {423.2f, "Dresden opera 423.2 (1815)"}, + {435.0f, "French Law 435 (1859)"}, + {439.0f, "British Phil 439 (1896)"}, + {440.0f, "International 440"}, + {442.0f, "European 442"}, + {445.0f, "Germany, China 445"}, + {451.0f, "La Scala in Milan 451 (18th)"}, + }; + + for (std::pair value : tuningFrequencies) + tuningFrequencySlider_->addEntry(value.second, value.first); + tuningFrequencySlider_->setValueToStringFunction( + [](float value, char result[256], CParamDisplay*) -> bool + { + sprintf(result, "%.1f Hz", value); + return true; + }); + + static const char* notesInOctave[12] = { + "C", "C#", "D", "D#", "E", + "F", "F#", "G", "G#", "A", "A#", "B", + }; + for (int note = 0; note < 12; ++note) + scalaRootKeySlider_->addEntry(notesInOctave[note], note); + for (int octave = 0; octave <= 10; ++octave) + scalaRootOctaveSlider_->addEntry(std::to_string(octave - 1), octave); + scalaRootKeySlider_->setValueToStringFunction2( + [](float value, std::string& result, CParamDisplay*) -> bool + { + result = notesInOctave[std::max(0, static_cast(value)) % 12]; + return true; + }); + scalaRootOctaveSlider_->setValueToStringFunction2( + [](float value, std::string& result, CParamDisplay*) -> bool + { + result = std::to_string(static_cast(value) - 1); + return true; + }); + + /// CViewContainer* panel; activePanel_ = 0; - CRect topLeftLabelBox = topRow; - topLeftLabelBox.right -= 20 * kNumPanels; - - // general panel - { - panel = new CViewContainer(bounds); - view->addView(panel); - panel->setTransparency(true); - - CKickButton* sfizzButton = new CKickButton(bounds, this, kTagLoadSfzFile, logo); - panel->addView(sfizzButton); - - CTextLabel* topLeftLabel = new CTextLabel(topLeftLabelBox, "No file loaded"); - topLeftLabel->setFontColor(CColor(0x00, 0x00, 0x00)); - topLeftLabel->setBackColor(CColor(0x00, 0x00, 0x00, 0x00)); - panel->addView(topLeftLabel); - sfzFileLabel_ = topLeftLabel; - - subPanels_[kPanelGeneral] = panel; - } - - // settings panel - { - panel = new CViewContainer(bounds); - view->addView(panel); - panel->setTransparency(true); - - CTextLabel* topLeftLabel = new CTextLabel(topLeftLabelBox, "Settings"); - topLeftLabel->setFontColor(CColor(0x00, 0x00, 0x00)); - topLeftLabel->setBackColor(CColor(0x00, 0x00, 0x00, 0x00)); - panel->addView(topLeftLabel); - - CRect row = topRow; - row.top += 45.0; - row.bottom += 45.0; - row.left += 20.0; - row.right -= 20.0; - - static const CCoord interRow = 35.0; - static const CCoord interColumn = 20.0; - static const int numColumns = 3; - - auto nthColumn = [&row](int colIndex) -> CRect { - CRect div = row; - CCoord columnWidth = (div.right - div.left + interColumn) / numColumns - interColumn; - div.left = div.left + colIndex * (columnWidth + interColumn); - div.right = div.left + columnWidth; - return div; - }; - - CTextLabel* label; - SimpleSlider* slider; - - label = new CTextLabel(nthColumn(0), "Volume"); - label->setFontColor(CColor(0x00, 0x00, 0x00)); - label->setFrameColor(CColor(0x00, 0x00, 0x00, 0x00)); - label->setBackColor(CColor(0x00, 0x00, 0x00, 0x00)); - label->setHoriAlign(kLeftText); - panel->addView(label); - slider = new SimpleSlider(nthColumn(1), this, kTagSetVolume); - panel->addView(slider); - adjustMinMaxToEditRange(slider, EditId::Volume); - volumeSlider_ = slider; - label = new CTextLabel(nthColumn(2), ""); - volumeLabel_ = label; - panel->addView(label); - - row.top += interRow; - row.bottom += interRow; - - label = new CTextLabel(nthColumn(0), "Polyphony"); - label->setFontColor(CColor(0x00, 0x00, 0x00)); - label->setFrameColor(CColor(0x00, 0x00, 0x00, 0x00)); - label->setBackColor(CColor(0x00, 0x00, 0x00, 0x00)); - label->setHoriAlign(kLeftText); - panel->addView(label); - slider = new SimpleSlider(nthColumn(1), this, kTagSetNumVoices); - panel->addView(slider); - adjustMinMaxToEditRange(slider, EditId::Polyphony); - numVoicesSlider_ = slider; - label = new CTextLabel(nthColumn(2), ""); - numVoicesLabel_ = label; - panel->addView(label); - - row.top += interRow; - row.bottom += interRow; - - label = new CTextLabel(nthColumn(0), "Oversampling"); - label->setFontColor(CColor(0x00, 0x00, 0x00)); - label->setFrameColor(CColor(0x00, 0x00, 0x00, 0x00)); - label->setBackColor(CColor(0x00, 0x00, 0x00, 0x00)); - label->setHoriAlign(kLeftText); - panel->addView(label); - slider = new SimpleSlider(nthColumn(1), this, kTagSetOversampling); - panel->addView(slider); - adjustMinMaxToEditRange(slider, EditId::Oversampling); - oversamplingSlider_ = slider; - label = new CTextLabel(nthColumn(2), ""); - oversamplingLabel_ = label; - panel->addView(label); - - row.top += interRow; - row.bottom += interRow; - - label = new CTextLabel(nthColumn(0), "Preload size"); - label->setFontColor(CColor(0x00, 0x00, 0x00)); - label->setFrameColor(CColor(0x00, 0x00, 0x00, 0x00)); - label->setBackColor(CColor(0x00, 0x00, 0x00, 0x00)); - label->setHoriAlign(kLeftText); - panel->addView(label); - slider = new SimpleSlider(nthColumn(1), this, kTagSetPreloadSize); - panel->addView(slider); - adjustMinMaxToEditRange(slider, EditId::PreloadSize); - preloadSizeSlider_ = slider; - label = new CTextLabel(nthColumn(2), ""); - preloadSizeLabel_ = label; - panel->addView(label); - - subPanels_[kPanelSettings] = panel; - } - - // tuning panel - { - panel = new CViewContainer(bounds); - view->addView(panel); - panel->setTransparency(true); - - CTextLabel* topLeftLabel = new CTextLabel(topLeftLabelBox, "Tuning"); - topLeftLabel->setFontColor(CColor(0x00, 0x00, 0x00)); - topLeftLabel->setBackColor(CColor(0x00, 0x00, 0x00, 0x00)); - panel->addView(topLeftLabel); - - CRect row = topRow; - row.top += 45.0; - row.bottom += 45.0; - row.left += 20.0; - row.right -= 20.0; - - static const CCoord interRow = 35.0; - static const CCoord interColumn = 20.0; - static const int numColumns = 3; - - auto nthColumn = [&row](int colIndex) -> CRect { - CRect div = row; - CCoord columnWidth = (div.right - div.left + interColumn) / numColumns - interColumn; - div.left = div.left + colIndex * (columnWidth + interColumn); - div.right = div.left + columnWidth; - return div; - }; - - CTextLabel* label; - SimpleSlider* slider; - CTextButton* textbutton; - - label = new CTextLabel(nthColumn(0), "Scala file"); - label->setFontColor(CColor(0x00, 0x00, 0x00)); - label->setFrameColor(CColor(0x00, 0x00, 0x00, 0x00)); - label->setBackColor(CColor(0x00, 0x00, 0x00, 0x00)); - label->setHoriAlign(kLeftText); - panel->addView(label); - textbutton = new CTextButton(nthColumn(1), this, kTagLoadScalaFile, "Choose"); - panel->addView(textbutton); - label = new CTextLabel(nthColumn(2), ""); - scalaFileLabel_ = label; - panel->addView(label); - - row.top += interRow; - row.bottom += interRow; - - label = new CTextLabel(nthColumn(0), "Scala root key"); - label->setFontColor(CColor(0x00, 0x00, 0x00)); - label->setFrameColor(CColor(0x00, 0x00, 0x00, 0x00)); - label->setBackColor(CColor(0x00, 0x00, 0x00, 0x00)); - label->setHoriAlign(kLeftText); - panel->addView(label); - slider = new SimpleSlider(nthColumn(1), this, kTagSetScalaRootKey); - panel->addView(slider); - adjustMinMaxToEditRange(slider, EditId::ScalaRootKey); - scalaRootKeySlider_ = slider; - label = new CTextLabel(nthColumn(2), ""); - scalaRootKeyLabel_ = label; - panel->addView(label); - - row.top += interRow; - row.bottom += interRow; - - label = new CTextLabel(nthColumn(0), "Tuning frequency"); - label->setFontColor(CColor(0x00, 0x00, 0x00)); - label->setFrameColor(CColor(0x00, 0x00, 0x00, 0x00)); - label->setBackColor(CColor(0x00, 0x00, 0x00, 0x00)); - label->setHoriAlign(kLeftText); - panel->addView(label); - slider = new SimpleSlider(nthColumn(1), this, kTagSetTuningFrequency); - panel->addView(slider); - adjustMinMaxToEditRange(slider, EditId::TuningFrequency); - tuningFrequencySlider_ = slider; - label = new CTextLabel(nthColumn(2), ""); - tuningFrequencyLabel_ = label; - panel->addView(label); - - row.top += interRow; - row.bottom += interRow; - - label = new CTextLabel(nthColumn(0), "Stretched tuning"); - label->setFontColor(CColor(0x00, 0x00, 0x00)); - label->setFrameColor(CColor(0x00, 0x00, 0x00, 0x00)); - label->setBackColor(CColor(0x00, 0x00, 0x00, 0x00)); - label->setHoriAlign(kLeftText); - panel->addView(label); - slider = new SimpleSlider(nthColumn(1), this, kTagSetStretchedTuning); - panel->addView(slider); - adjustMinMaxToEditRange(slider, EditId::StretchTuning); - stretchedTuningSlider_ = slider; - label = new CTextLabel(nthColumn(2), ""); - stretchedTuningLabel_ = label; - panel->addView(label); - - subPanels_[kPanelTuning] = panel; - } - - // info panel - { - panel = new CViewContainer(bounds); - view->addView(panel); - panel->setTransparency(true); - - CTextLabel* topLeftLabel = new CTextLabel(topLeftLabelBox, "Information"); - topLeftLabel->setFontColor(CColor(0x00, 0x00, 0x00)); - topLeftLabel->setBackColor(CColor(0x00, 0x00, 0x00, 0x00)); - panel->addView(topLeftLabel); - - CRect row = topRow; - row.top += 45.0; - row.bottom += 45.0; - row.left += 20.0; - row.right -= 20.0; - - static const CCoord interRow = 20.0; - static const CCoord interColumn = 20.0; - static const int numColumns = 3; - - auto nthColumn = [&row](int colIndex) -> CRect { - CRect div = row; - CCoord columnWidth = (div.right - div.left + interColumn) / numColumns - interColumn; - div.left = div.left + colIndex * (columnWidth + interColumn); - div.right = div.left + columnWidth; - return div; - }; - - CTextLabel* label; - - label = new CTextLabel(nthColumn(0), "Curves"); - label->setFontColor(CColor(0x00, 0x00, 0x00)); - label->setFrameColor(CColor(0x00, 0x00, 0x00, 0x00)); - label->setBackColor(CColor(0x00, 0x00, 0x00, 0x00)); - label->setHoriAlign(kLeftText); - panel->addView(label); - label = new CTextLabel(nthColumn(1), ""); - label->setFontColor(CColor(0x00, 0x00, 0x00)); - label->setFrameColor(CColor(0x00, 0x00, 0x00, 0x00)); - label->setBackColor(CColor(0x00, 0x00, 0x00, 0x00)); - label->setHoriAlign(kLeftText); - infoCurvesLabel_ = label; - panel->addView(label); - - row.top += interRow; - row.bottom += interRow; - - label = new CTextLabel(nthColumn(0), "Masters"); - label->setFontColor(CColor(0x00, 0x00, 0x00)); - label->setFrameColor(CColor(0x00, 0x00, 0x00, 0x00)); - label->setBackColor(CColor(0x00, 0x00, 0x00, 0x00)); - label->setHoriAlign(kLeftText); - panel->addView(label); - label = new CTextLabel(nthColumn(1), ""); - label->setFontColor(CColor(0x00, 0x00, 0x00)); - label->setFrameColor(CColor(0x00, 0x00, 0x00, 0x00)); - label->setBackColor(CColor(0x00, 0x00, 0x00, 0x00)); - label->setHoriAlign(kLeftText); - infoMastersLabel_ = label; - panel->addView(label); - - row.top += interRow; - row.bottom += interRow; - - label = new CTextLabel(nthColumn(0), "Groups"); - label->setFontColor(CColor(0x00, 0x00, 0x00)); - label->setFrameColor(CColor(0x00, 0x00, 0x00, 0x00)); - label->setBackColor(CColor(0x00, 0x00, 0x00, 0x00)); - label->setHoriAlign(kLeftText); - panel->addView(label); - label = new CTextLabel(nthColumn(1), ""); - label->setFontColor(CColor(0x00, 0x00, 0x00)); - label->setFrameColor(CColor(0x00, 0x00, 0x00, 0x00)); - label->setBackColor(CColor(0x00, 0x00, 0x00, 0x00)); - label->setHoriAlign(kLeftText); - infoGroupsLabel_ = label; - panel->addView(label); - - row.top += interRow; - row.bottom += interRow; - - label = new CTextLabel(nthColumn(0), "Regions"); - label->setFontColor(CColor(0x00, 0x00, 0x00)); - label->setFrameColor(CColor(0x00, 0x00, 0x00, 0x00)); - label->setBackColor(CColor(0x00, 0x00, 0x00, 0x00)); - label->setHoriAlign(kLeftText); - panel->addView(label); - label = new CTextLabel(nthColumn(1), ""); - label->setFontColor(CColor(0x00, 0x00, 0x00)); - label->setFrameColor(CColor(0x00, 0x00, 0x00, 0x00)); - label->setBackColor(CColor(0x00, 0x00, 0x00, 0x00)); - label->setHoriAlign(kLeftText); - infoRegionsLabel_ = label; - panel->addView(label); - - row.top += interRow; - row.bottom += interRow; - - label = new CTextLabel(nthColumn(0), "Samples"); - label->setFontColor(CColor(0x00, 0x00, 0x00)); - label->setFrameColor(CColor(0x00, 0x00, 0x00, 0x00)); - label->setBackColor(CColor(0x00, 0x00, 0x00, 0x00)); - label->setHoriAlign(kLeftText); - panel->addView(label); - label = new CTextLabel(nthColumn(1), ""); - label->setFontColor(CColor(0x00, 0x00, 0x00)); - label->setFrameColor(CColor(0x00, 0x00, 0x00, 0x00)); - label->setBackColor(CColor(0x00, 0x00, 0x00, 0x00)); - label->setHoriAlign(kLeftText); - infoSamplesLabel_ = label; - panel->addView(label); - - row.top += interRow; - row.bottom += interRow; - - label = new CTextLabel(nthColumn(0), "Voices"); - label->setFontColor(CColor(0x00, 0x00, 0x00)); - label->setFrameColor(CColor(0x00, 0x00, 0x00, 0x00)); - label->setBackColor(CColor(0x00, 0x00, 0x00, 0x00)); - label->setHoriAlign(kLeftText); - panel->addView(label); - label = new CTextLabel(nthColumn(1), ""); - label->setFontColor(CColor(0x00, 0x00, 0x00)); - label->setFrameColor(CColor(0x00, 0x00, 0x00, 0x00)); - label->setBackColor(CColor(0x00, 0x00, 0x00, 0x00)); - label->setHoriAlign(kLeftText); - infoVoicesLabel_ = label; - panel->addView(label); - - subPanels_[kPanelInfo] = panel; - } - // all panels for (unsigned currentPanel = 0; currentPanel < kNumPanels; ++currentPanel) { panel = subPanels_[currentPanel]; - CTextLabel* descLabel = new CTextLabel( - bottomRow, "Paul Ferrand and the SFZ Tools work group"); - descLabel->setFontColor(CColor(0x00, 0x00, 0x00)); - descLabel->setBackColor(CColor(0x00, 0x00, 0x00, 0x00)); - panel->addView(descLabel); - - for (unsigned i = 0; i < kNumPanels; ++i) { - CRect btnRect = topRow; - btnRect.left = topRow.right - (kNumPanels - i) * 50; - btnRect.right = btnRect.left + 50; - - const char *text; - switch (i) { - case kPanelGeneral: text = "File"; break; - case kPanelSettings: text = "Setup"; break; - case kPanelTuning: text = "Tuning"; break; - case kPanelInfo: text = "Info"; break; - default: text = "?"; break; - } - - CTextButton* changePanelButton = new CTextButton(btnRect, this, kTagFirstChangePanel + i, text); - panel->addView(changePanelButton); - - changePanelButton->setRoundRadius(0.0); - } + if (!panel) + continue; panel->setVisible(currentPanel == activePanel_); } @@ -697,14 +644,18 @@ void Editor::Impl::chooseSfzFile() if (fs->runModal()) { UTF8StringPtr file = fs->getSelectedFile(0); - if (file) { - std::string str(file); - ctrl_->uiSendValue(EditId::SfzFile, str); - updateSfzFileLabel(str); - } + if (file) + changeSfzFile(file); } } +void Editor::Impl::changeSfzFile(const std::string& filePath) +{ + ctrl_->uiSendValue(EditId::SfzFile, filePath); + currentSfzFile_ = filePath; + updateSfzFileLabel(filePath); +} + void Editor::Impl::chooseScalaFile() { SharedPointer fs = owned(CNewFileSelector::create(frame_)); @@ -714,42 +665,64 @@ void Editor::Impl::chooseScalaFile() if (fs->runModal()) { UTF8StringPtr file = fs->getSelectedFile(0); - if (file) { - std::string str(file); - ctrl_->uiSendValue(EditId::ScalaFile, str); - updateScalaFileLabel(str); - } + if (file) + changeScalaFile(file); } } +void Editor::Impl::changeScalaFile(const std::string& filePath) +{ + ctrl_->uiSendValue(EditId::ScalaFile, filePath); + updateScalaFileLabel(filePath); +} + +absl::string_view Editor::Impl::simplifiedFileName(absl::string_view path, absl::string_view removedSuffix, absl::string_view ifEmpty) +{ + if (path.empty()) + return ifEmpty; + +#if defined (_WIN32) + size_t pos = path.find_last_of("/\\"); +#else + size_t pos = path.rfind('/'); +#endif + path = (pos != path.npos) ? path.substr(pos + 1) : path; + + if (!removedSuffix.empty() && absl::EndsWithIgnoreCase(path, removedSuffix)) + path.remove_suffix(removedSuffix.size()); + + return path; +} + void Editor::Impl::updateSfzFileLabel(const std::string& filePath) { - updateLabelWithFileName(sfzFileLabel_, filePath); + updateLabelWithFileName(sfzFileLabel_, filePath, ".sfz"); } void Editor::Impl::updateScalaFileLabel(const std::string& filePath) { - updateLabelWithFileName(scalaFileLabel_, filePath); + updateLabelWithFileName(scalaFileLabel_, filePath, ".scl"); + updateButtonWithFileName(scalaFileButton_, filePath, ".scl"); } -void Editor::Impl::updateLabelWithFileName(CTextLabel* label, const std::string& filePath) +void Editor::Impl::updateLabelWithFileName(CTextLabel* label, const std::string& filePath, absl::string_view removedSuffix) { if (!label) return; - std::string fileName; - if (filePath.empty()) - fileName = ""; - else { -#if defined (_WIN32) - size_t pos = filePath.find_last_of("/\\"); -#else - size_t pos = filePath.rfind('/'); -#endif - fileName = (pos != filePath.npos) ? - filePath.substr(pos + 1) : filePath; - } + std::string fileName = std::string(simplifiedFileName(filePath, removedSuffix, "")); label->setText(fileName.c_str()); + label->setDirty(); +} + +void Editor::Impl::updateButtonWithFileName(CTextButton* button, const std::string& filePath, absl::string_view removedSuffix) +{ + if (!button) + return; + + std::string fileName = std::string(simplifiedFileName(filePath, removedSuffix, "")); + button->setTitle(fileName.c_str()); + button->setDirty(); } void Editor::Impl::updateVolumeLabel(float volume) @@ -762,6 +735,7 @@ void Editor::Impl::updateVolumeLabel(float volume) sprintf(text, "%.1f dB", volume); text[sizeof(text) - 1] = '\0'; label->setText(text); + label->setDirty(); } void Editor::Impl::updateNumVoicesLabel(int numVoices) @@ -774,6 +748,7 @@ void Editor::Impl::updateNumVoicesLabel(int numVoices) sprintf(text, "%d", numVoices); text[sizeof(text) - 1] = '\0'; label->setText(text); + label->setDirty(); } void Editor::Impl::updateOversamplingLabel(int oversamplingLog2) @@ -786,6 +761,7 @@ void Editor::Impl::updateOversamplingLabel(int oversamplingLog2) sprintf(text, "%dx", 1 << oversamplingLog2); text[sizeof(text) - 1] = '\0'; label->setText(text); + label->setDirty(); } void Editor::Impl::updatePreloadSizeLabel(int preloadSize) @@ -795,9 +771,10 @@ void Editor::Impl::updatePreloadSizeLabel(int preloadSize) return; char text[64]; - sprintf(text, "%.1f kB", preloadSize * (1.0 / 1024)); + sprintf(text, "%d kB", static_cast(std::round(preloadSize * (1.0 / 1024)))); text[sizeof(text) - 1] = '\0'; label->setText(text); + label->setDirty(); } void Editor::Impl::updateScalaRootKeyLabel(int rootKey) @@ -826,6 +803,7 @@ void Editor::Impl::updateScalaRootKeyLabel(int rootKey) }; label->setText(noteName(rootKey)); + label->setDirty(); } void Editor::Impl::updateTuningFrequencyLabel(float tuningFrequency) @@ -838,6 +816,7 @@ void Editor::Impl::updateTuningFrequencyLabel(float tuningFrequency) sprintf(text, "%.1f", tuningFrequency); text[sizeof(text) - 1] = '\0'; label->setText(text); + label->setDirty(); } void Editor::Impl::updateStretchedTuningLabel(float stretchedTuning) @@ -850,6 +829,7 @@ void Editor::Impl::updateStretchedTuningLabel(float stretchedTuning) sprintf(text, "%.3f", stretchedTuning); text[sizeof(text) - 1] = '\0'; label->setText(text); + label->setDirty(); } void Editor::Impl::setActivePanel(unsigned panelId) @@ -857,9 +837,11 @@ void Editor::Impl::setActivePanel(unsigned panelId) panelId = std::max(0, std::min(kNumPanels - 1, static_cast(panelId))); if (activePanel_ != panelId) { - subPanels_[activePanel_]->setVisible(false); + if (subPanels_[activePanel_]) + subPanels_[activePanel_]->setVisible(false); + if (subPanels_[panelId]) + subPanels_[panelId]->setVisible(true); activePanel_ = panelId; - subPanels_[panelId]->setVisible(true); } } @@ -893,6 +875,14 @@ void Editor::Impl::valueChanged(CControl* ctl) Call::later([this]() { chooseSfzFile(); }); break; + case kTagEditSfzFile: + if (value != 1) + break; + + if (!currentSfzFile_.empty()) + openFileInExternalEditor(currentSfzFile_.c_str()); + break; + case kTagLoadScalaFile: if (value != 1) break; @@ -921,8 +911,15 @@ void Editor::Impl::valueChanged(CControl* ctl) break; case kTagSetScalaRootKey: - ctrl.uiSendValue(EditId::ScalaRootKey, value); - updateScalaRootKeyLabel(static_cast(value)); + { + if (scalaRootKeySlider_ && scalaRootOctaveSlider_) { + int key = static_cast(scalaRootKeySlider_->getValue()); + int octave = static_cast(scalaRootOctaveSlider_->getValue()); + int midiKey = key + 12 * octave; + ctrl.uiSendValue(EditId::ScalaRootKey, midiKey); + updateScalaRootKeyLabel(midiKey); + } + } break; case kTagSetTuningFrequency: diff --git a/editor/src/editor/GUIComponents.cpp b/editor/src/editor/GUIComponents.cpp index a85bf64b..c4e6f958 100644 --- a/editor/src/editor/GUIComponents.cpp +++ b/editor/src/editor/GUIComponents.cpp @@ -5,34 +5,422 @@ // If not, contact the sfizz maintainers at https://github.com/sfztools/sfizz #include "GUIComponents.h" +#include #include "utility/vstgui_before.h" #include "vstgui/lib/cdrawcontext.h" +#include "vstgui/lib/cgraphicspath.h" +#include "vstgui/lib/cframe.h" #include "utility/vstgui_after.h" -SimpleSlider::SimpleSlider(const CRect& bounds, IControlListener* listener, int32_t tag) - : CSliderBase(bounds, listener, tag) +/// +SBoxContainer::SBoxContainer(const CRect& size) + : CViewContainer(size) { - setStyle(kHorizontal|kLeft); - - CPoint offsetHandle(2.0, 2.0); - setOffsetHandle(offsetHandle); - - CCoord handleSize = 20.0; - setHandleSizePrivate(handleSize, bounds.bottom - bounds.top - 2 * offsetHandle.y); - setHandleRangePrivate(bounds.right - bounds.left - handleSize - 2 * offsetHandle.x); + CViewContainer::setBackgroundColor(CColor(0, 0, 0, 0)); } -void SimpleSlider::draw(CDrawContext* dc) +void SBoxContainer::setCornerRadius(CCoord radius) +{ + cornerRadius_ = radius; + setDirty(); +} + +void SBoxContainer::setBackgroundColor(const CColor& color) +{ + backgroundColor_ = color; + setDirty(); +} + +CColor SBoxContainer::getBackgroundColor() const +{ + return backgroundColor_; +} + +void SBoxContainer::drawRect(CDrawContext* dc, const CRect& updateRect) { CRect bounds = getViewSize(); - CRect handle = calculateHandleRect(getValueNormalized()); dc->setDrawMode(kAntiAliasing); - dc->setFrameColor(_frame); - dc->drawRect(bounds, kDrawStroked); + SharedPointer path = owned(dc->createGraphicsPath()); + path->addRoundRect(bounds, cornerRadius_); - dc->setFillColor(_fill); - dc->drawRect(handle, kDrawFilled); + dc->setFillColor(backgroundColor_); + dc->drawGraphicsPath(path.get(), CDrawContext::kPathFilled); + + CViewContainer::drawRect(dc, updateRect); +} + +/// +STitleContainer::STitleContainer(const CRect& size, UTF8StringPtr text) + : SBoxContainer(size), text_(text ? text : ""), titleFont_(kNormalFont) +{ +} + +void STitleContainer::setTitleFont(CFontRef font) +{ + titleFont_ = font; + setDirty(); +} + +void STitleContainer::setTitleFontColor(CColor color) +{ + titleFontColor_ = color; + setDirty(); +} + +void STitleContainer::setTitleBackgroundColor(CColor color) +{ + titleBackgroundColor_ = color; + setDirty(); +} + +void STitleContainer::drawRect(CDrawContext* dc, const CRect& updateRect) +{ + SBoxContainer::drawRect(dc, updateRect); + + CRect bounds = getViewSize(); + CCoord cornerRadius = cornerRadius_; + + dc->setDrawMode(kAntiAliasing); + + CCoord fontHeight = titleFont_->getSize(); + CCoord titleHeight = fontHeight + 8.0; + + CRect titleBounds = bounds; + titleBounds.bottom = titleBounds.top + titleHeight; + + SharedPointer path = owned(dc->createGraphicsPath()); + path->beginSubpath(titleBounds.getBottomRight()); + path->addLine(titleBounds.getBottomLeft()); + path->addArc(CRect(titleBounds.left, titleBounds.top, titleBounds.left + 2.0 * cornerRadius, titleBounds.top + 2.0 * cornerRadius), 180., 270., true); + path->addArc(CRect(titleBounds.right - 2.0 * cornerRadius, titleBounds.top, titleBounds.right, titleBounds.top + 2.0 * cornerRadius), 270., 360., true); + path->closeSubpath(); + + dc->setFillColor(titleBackgroundColor_); + dc->drawGraphicsPath(path, CDrawContext::kPathFilled); + + dc->setFont(titleFont_); + dc->setFontColor(titleFontColor_); + dc->drawString(text_.c_str(), titleBounds, kCenterText); +} + +/// +void SFileDropTarget::setFileDropFunction(FileDropFunction f) +{ + dropFunction_ = std::move(f); +} + +DragOperation SFileDropTarget::onDragEnter(DragEventData data) +{ + op_ = isFileDrop(data.drag) ? + DragOperation::Copy : DragOperation::None; + return op_; +} + +DragOperation SFileDropTarget::onDragMove(DragEventData data) +{ + (void)data; + return op_; +} + +void SFileDropTarget::onDragLeave(DragEventData data) +{ + (void)data; + op_ = DragOperation::None; +} + +bool SFileDropTarget::onDrop(DragEventData data) +{ + if (op_ != DragOperation::Copy || !isFileDrop(data.drag)) + return false; + + IDataPackage::Type type; + const void* bytes; + uint32_t size = data.drag->getData(0, bytes, type); + std::string path(reinterpret_cast(bytes), size); + + if (dropFunction_) + dropFunction_(path); + + return true; +} + +bool SFileDropTarget::isFileDrop(IDataPackage* package) +{ + return package->getCount() == 1 && + package->getDataType(0) == IDataPackage::kFilePath; +} + +/// +SPiano::SPiano(const CRect& bounds) + : CView(bounds), font_(kNormalFont) +{ +} + +void SPiano::setFont(CFontRef font) +{ + font_ = font; + setDirty(); +} + +void SPiano::clearKeyRanges() +{ + keyInRange_.reset(); +} + +void SPiano::addKeyRange(int start, int end) +{ + start = std::min(127, std::max(0, start)); + end = std::min(127, std::max(0, end)); + + for (int x = start; x <= end; ++x) + keyInRange_.set(x); +} + +CCoord SPiano::getKeyWidth() +{ + return 6.0; +} + +CCoord SPiano::getKeySwitchesHeight() +{ + return 20.0; +} + +CCoord SPiano::getKeyRangesHeight() +{ + return 11.0; +} + +CCoord SPiano::getKeysHeight() const +{ + return getHeight() - + (getKeySwitchesHeight() + getKeyRangesHeight() + getOctavesHeight()); +} + +CCoord SPiano::getOctavesHeight() const +{ + return font_->getSize(); +} + +void SPiano::getZoneDimensions( + CRect* pKeySwitches, + CRect* pKeyboard, + CRect* pKeyRanges, + CRect* pOctaves) +{ + CRect bounds = getViewSize(); + + CRect keySwitches(bounds); + keySwitches.setHeight(getKeySwitchesHeight()); + + CRect keyboard(bounds); + keyboard.top = keySwitches.bottom; + keyboard.setHeight(getKeysHeight()); + + CRect keyRanges(bounds); + keyRanges.top = keyboard.bottom; + keyRanges.setHeight(getKeyRangesHeight()); + + CRect octaves(bounds); + octaves.top = keyRanges.bottom; + octaves.setHeight(getOctavesHeight()); + + // apply some paddings + keySwitches.extend(-2.0, -2.0); + keyboard.extend(-2.0, -2.0); + keyRanges.extend(-2.0, -4.0); + octaves.extend(-2.0, -2.0); + + // offsets for centered keyboard + CCoord keyWidth = getKeyWidth(); + CCoord offset = std::round((keyboard.getWidth() - (128.0 * keyWidth)) * 0.5); + if (offset > 0) { + keySwitches.extend(-offset, 0.0); + keyboard.extend(-offset, 0.0); + keyRanges.extend(-offset, 0.0); + octaves.extend(-offset, 0.0); + } + + // + if (pKeySwitches) + *pKeySwitches = keySwitches; + if (pKeyboard) + *pKeyboard = keyboard; + if (pKeyRanges) + *pKeyRanges = keyRanges; + if (pOctaves) + *pOctaves = octaves; +} + +void SPiano::draw(CDrawContext* dc) +{ + CRect bounds = getViewSize(); + + dc->setDrawMode(kAntiAliasing); + + SharedPointer path; + + path = owned(dc->createGraphicsPath()); + path->addRoundRect(bounds, 5.0); + dc->setFillColor(CColor(0xca, 0xca, 0xca)); + dc->drawGraphicsPath(path, CDrawContext::kPathFilled); + + // + CRect rectKeySwitches; + CRect rectKeyboard; + CRect rectKeyRanges; + CRect rectOctaves; + getZoneDimensions(&rectKeySwitches, &rectKeyboard, &rectKeyRanges, &rectOctaves); + + // + path = owned(dc->createGraphicsPath()); + path->addRoundRect(rectKeyboard, 1.0); + dc->setFillColor(CColor(0xff, 0xff, 0xff)); + dc->drawGraphicsPath(path, CDrawContext::kPathFilled); + + CCoord keyWidth = getKeyWidth(); + for (int key = 0; key < 128; ++key) { + CCoord keyX = rectKeyboard.left + key * keyWidth; + int key12 = key % 12; + if (key12 == 1 || key12 == 3 || + key12 == 6 || key12 == 8 || key12 == 10) + { + CRect blackRect(keyX, rectKeyboard.top + 2, keyX + keyWidth, rectKeyboard.bottom - 2); + path = owned(dc->createGraphicsPath()); + path->addRoundRect(blackRect, 1.0); + dc->setFillColor(CColor(0x02, 0x02, 0x02)); + dc->drawGraphicsPath(path, CDrawContext::kPathFilled); + } + if (key != 0 && key12 == 0) { + dc->setLineWidth(1.5); + dc->setFrameColor(CColor(0x63, 0x63, 0x63)); + dc->drawLine(CPoint(keyX, rectKeyboard.top), CPoint(keyX, rectKeyboard.bottom)); + } + if (key12 == 5) { + CCoord pad = rectKeyboard.getHeight() * 0.4; + dc->setLineWidth(1.0); + dc->setFrameColor(CColor(0x63, 0x63, 0x63)); + dc->drawLine(CPoint(keyX, rectKeyboard.top + pad), CPoint(keyX, rectKeyboard.bottom - pad)); + } + } + + // + + for (int rangeStart = 0; rangeStart < 128;) + { + if (!keyInRange_[rangeStart]) { + ++rangeStart; + } + else { + int rangeEnd = rangeStart; + while (rangeEnd + 1 < 128 && keyInRange_[rangeEnd + 1]) + ++rangeEnd; + + CCoord rangeStartX = rectKeyRanges.left + rangeStart * keyWidth; + CCoord rangeEndX = rectKeyRanges.left + (rangeEnd + 1.0) * keyWidth; + CRect rectRange(rangeStartX, rectKeyRanges.top, rangeEndX, rectKeyRanges.bottom); + + path = owned(dc->createGraphicsPath()); + path->addRoundRect(rectRange, 2.0); + dc->setFillColor(CColor(0x0f, 0x0f, 0x0f)); + dc->drawGraphicsPath(path, CDrawContext::kPathFilled); + + rangeStart = rangeEnd + 1; + } + } + + // + + for (int key = 0; key < 128; ++key) { + CCoord keyX = rectOctaves.left + key * keyWidth; + int key12 = key % 12; + if (key12 == 0) { + CRect textRect(keyX, rectOctaves.top, keyX + 12 * keyWidth, rectOctaves.bottom); + dc->setFont(font_); + dc->setFontColor(CColor(0x63, 0x63, 0x63)); + dc->drawString(std::to_string(key / 12 - 1).c_str(), textRect, kLeftText); + } + } + + // +} + +/// +SValueMenu::SValueMenu(const CRect& bounds, IControlListener* listener, int32_t tag) + : CParamDisplay(bounds), menuListener_(owned(new MenuListener(*this))) +{ + setListener(listener); + setTag(tag); +} + +CMenuItem* SValueMenu::addEntry(CMenuItem* item, float value, int32_t index) +{ + if (index < 0 || index > getNbEntries()) { + menuItems_.emplace_back(owned(item)); + menuItemValues_.emplace_back(value); + } + else + { + menuItems_.insert(menuItems_.begin() + index, owned(item)); + menuItemValues_.insert(menuItemValues_.begin() + index, value); + } + return item; +} + +CMenuItem* SValueMenu::addEntry(const UTF8String& title, float value, int32_t index, int32_t itemFlags) +{ + if (title == "-") + return addSeparator(index); + CMenuItem* item = new CMenuItem(title, nullptr, 0, nullptr, itemFlags); + return addEntry(item, value, index); +} + +CMenuItem* SValueMenu::addSeparator(int32_t index) +{ + CMenuItem* item = new CMenuItem("", nullptr, 0, nullptr, CMenuItem::kSeparator); + return addEntry(item, 0.0f, index); +} + +int32_t SValueMenu::getNbEntries() const +{ + return static_cast(menuItems_.size()); +} + +CMouseEventResult SValueMenu::onMouseDown(CPoint& where, const CButtonState& buttons) +{ + (void)where; + + if (buttons & (kLButton|kRButton|kApple)) { + CFrame* frame = getFrame(); + CRect bounds = getViewSize(); + + CPoint frameWhere = bounds.getBottomLeft(); + this->localToFrame(frameWhere); + + auto self = shared(this); + frame->doAfterEventProcessing([self, frameWhere]() { + if (CFrame* frame = self->getFrame()) { + SharedPointer menu = owned(new COptionMenu(CRect(), self->menuListener_, -1, nullptr, nullptr, COptionMenu::kPopupStyle)); + for (const SharedPointer& item : self->menuItems_) { + menu->addEntry(item); + item->remember(); // above call does not increment refcount + } + menu->popup(frame, frameWhere + CPoint(0.0, 1.0)); + } + }); + return kMouseDownEventHandledButDontNeedMovedOrUpEvents; + } + + return kMouseEventNotHandled; +} + +void SValueMenu::onItemClicked(int32_t index) +{ + float oldValue = getValue(); + setValue(menuItemValues_[index]); + if (getValue() != oldValue) + valueChanged(); } diff --git a/editor/src/editor/GUIComponents.h b/editor/src/editor/GUIComponents.h index c76c2e44..8c295f5e 100644 --- a/editor/src/editor/GUIComponents.h +++ b/editor/src/editor/GUIComponents.h @@ -5,22 +5,144 @@ // If not, contact the sfizz maintainers at https://github.com/sfztools/sfizz #pragma once +#include #include "utility/vstgui_before.h" #include "vstgui/lib/controls/cslider.h" +#include "vstgui/lib/controls/cknob.h" +#include "vstgui/lib/controls/ctextlabel.h" +#include "vstgui/lib/controls/coptionmenu.h" +#include "vstgui/lib/cviewcontainer.h" #include "vstgui/lib/ccolor.h" +#include "vstgui/lib/dragging.h" #include "utility/vstgui_after.h" using namespace VSTGUI; -class SimpleSlider : public CSliderBase { +/// +class SBoxContainer : public CViewContainer { public: - SimpleSlider(const CRect& bounds, IControlListener* listener, int32_t tag); - void draw(CDrawContext* dc) override; + explicit SBoxContainer(const CRect& size); + virtual ~SBoxContainer() {} + void setCornerRadius(CCoord radius); + void setBackgroundColor(const CColor& color) override; + CColor getBackgroundColor() const override; - CLASS_METHODS(SimpleSlider, CSliderBase) +protected: + void drawRect(CDrawContext* dc, const CRect& updateRect) override; + +protected: + CCoord cornerRadius_ = 0.0; + CColor backgroundColor_; +}; + +/// +class STitleContainer : public SBoxContainer { +public: + explicit STitleContainer(const CRect& size, UTF8StringPtr text = nullptr); + ~STitleContainer() {} + + void setTitleFont(CFontRef font); + CFontRef getTitleFont() { return titleFont_; } + + void setTitleFontColor(CColor color); + CColor getTitleFontColor() const { return titleFontColor_; } + void setTitleBackgroundColor(CColor color); + CColor getTitleBackgroundColor() const { return titleBackgroundColor_; } + +protected: + void drawRect(CDrawContext* dc, const CRect& updateRect) override; private: - CColor _frame = CColor(0x00, 0x00, 0x00); - CColor _fill = CColor(0x00, 0x00, 0x00); + std::string text_; + CColor titleFontColor_; + CColor titleBackgroundColor_; + SharedPointer titleFont_; +}; + +/// +class SFileDropTarget : public IDropTarget, + public NonAtomicReferenceCounted { +public: + typedef std::function FileDropFunction; + void setFileDropFunction(FileDropFunction f); + +protected: + DragOperation onDragEnter(DragEventData data) override; + DragOperation onDragMove(DragEventData data) override; + void onDragLeave(DragEventData data) override; + bool onDrop(DragEventData data) override; + +private: + static bool isFileDrop(IDataPackage* package); + +private: + DragOperation op_ = DragOperation::None; + FileDropFunction dropFunction_; +}; + +/// +class SPiano : public CView { +public: + explicit SPiano(const CRect& bounds); + CFontRef getFont() const { return font_; } + void setFont(CFontRef font); + + void clearKeyRanges(); + void addKeyRange(int start, int end); + +protected: + static CCoord getKeyWidth(); + static CCoord getKeySwitchesHeight(); + static CCoord getKeyRangesHeight(); + CCoord getKeysHeight() const; + CCoord getOctavesHeight() const; + + void getZoneDimensions( + CRect* pKeySwitches, + CRect* pKeyboard, + CRect* pKeyRanges, + CRect* pOctaves); + + void draw(CDrawContext* dc) override; + +private: + SharedPointer font_; + std::bitset<128> keyInRange_; +}; + +/// +class SValueMenu : public CParamDisplay { +public: + explicit SValueMenu(const CRect& bounds, IControlListener* listener, int32_t tag); + CMenuItem* addEntry(CMenuItem* item, float value, int32_t index = -1); + CMenuItem* addEntry(const UTF8String& title, float value, int32_t index = -1, int32_t itemFlags = CMenuItem::kNoFlags); + CMenuItem* addSeparator(int32_t index = -1); + int32_t getNbEntries() const; + +protected: + CMouseEventResult onMouseDown(CPoint& where, const CButtonState& buttons); + +private: + class MenuListener; + + // + void onItemClicked(int32_t index); + + // + CMenuItemList menuItems_; + std::vector menuItemValues_; + SharedPointer menuListener_; + + // + class MenuListener : public IControlListener, public NonAtomicReferenceCounted { + public: + explicit MenuListener(SValueMenu& menu) : menu_(menu) {} + void valueChanged(CControl* control) override + { + menu_.onItemClicked(static_cast(control->getValue())); + } + private: + SValueMenu& menu_; + }; }; diff --git a/editor/src/editor/NativeHelpers.cpp b/editor/src/editor/NativeHelpers.cpp new file mode 100644 index 00000000..ab760d73 --- /dev/null +++ b/editor/src/editor/NativeHelpers.cpp @@ -0,0 +1,50 @@ +// SPDX-License-Identifier: BSD-2-Clause + +// This code is part of the sfizz library and is licensed under a BSD 2-clause +// license. You should have receive a LICENSE.md file along with the code. +// If not, contact the sfizz maintainers at https://github.com/sfztools/sfizz + +#include "NativeHelpers.h" + +#if defined(_WIN32) +#include "ghc/fs_std.hpp" +#include +#include + +bool openFileInExternalEditor(const char *filename) +{ + std::wstring path = fs::u8path(filename).wstring(); + + SHELLEXECUTEINFOW info; + memset(&info, 0, sizeof(info)); + + info.cbSize = sizeof(info); + info.fMask = SEE_MASK_CLASSNAME; + info.lpVerb = L"open"; + info.lpFile = path.c_str(); + info.lpClass = L"txtfile"; + info.nShow = SW_SHOW; + + return ShellExecuteExW(&info); +} +#elif defined(__APPLE__) + // implemented in NativeHelpers.mm +#else +#include + +bool openFileInExternalEditor(const char *filename) +{ + GAppInfo* appinfo = g_app_info_get_default_for_type("text/plain", FALSE); + if (!appinfo) + return 1; + + GList* files = nullptr; + GFile* file = g_file_new_for_path(filename); + files = g_list_append(files, file); + gboolean success = g_app_info_launch(appinfo, files, nullptr, nullptr); + g_object_unref(file); + g_list_free(files); + g_object_unref(appinfo); + return success == TRUE; +} +#endif diff --git a/editor/src/editor/NativeHelpers.h b/editor/src/editor/NativeHelpers.h new file mode 100644 index 00000000..b9c29bb6 --- /dev/null +++ b/editor/src/editor/NativeHelpers.h @@ -0,0 +1,9 @@ +// SPDX-License-Identifier: BSD-2-Clause + +// This code is part of the sfizz library and is licensed under a BSD 2-clause +// license. You should have receive a LICENSE.md file along with the code. +// If not, contact the sfizz maintainers at https://github.com/sfztools/sfizz + +#pragma once + +bool openFileInExternalEditor(const char *filename); diff --git a/editor/src/editor/NativeHelpers.mm b/editor/src/editor/NativeHelpers.mm new file mode 100644 index 00000000..9cb8cd28 --- /dev/null +++ b/editor/src/editor/NativeHelpers.mm @@ -0,0 +1,30 @@ +// SPDX-License-Identifier: BSD-2-Clause + +// This code is part of the sfizz library and is licensed under a BSD 2-clause +// license. You should have receive a LICENSE.md file along with the code. +// If not, contact the sfizz maintainers at https://github.com/sfztools/sfizz + +#include "NativeHelpers.h" + +#if defined(__APPLE__) +#import +#import +#import + +bool openFileInExternalEditor(const char *fileNameUTF8) +{ + BOOL wasOpened = NO; + + NSURL* applicationURL = (__bridge_transfer NSURL*)LSCopyDefaultApplicationURLForContentType( + kUTTypePlainText, kLSRolesEditor, nil); + if (!applicationURL) + return false; + if ([applicationURL isFileURL]) { + NSWorkspace* workspace = [NSWorkspace sharedWorkspace]; + NSString* fileName = [NSString stringWithUTF8String:fileNameUTF8]; + wasOpened = [workspace openFile:fileName withApplication:[applicationURL path]]; + } + + return wasOpened == YES; +} +#endif diff --git a/editor/src/editor/layout/main.hpp b/editor/src/editor/layout/main.hpp new file mode 100644 index 00000000..808e5a10 --- /dev/null +++ b/editor/src/editor/layout/main.hpp @@ -0,0 +1,167 @@ +/* This file is generated by the layout maker tool. */ +LogicalGroup* const view__0 = createLogicalGroup(CRect(0, 0, 800, 475), -1, "", kCenterText, 14); +mainView = view__0; +enterTheme(darkTheme); +LogicalGroup* const view__1 = createLogicalGroup(CRect(0, 0, 800, 110), -1, "", kCenterText, 14); +view__0->addView(view__1); +RoundedGroup* const view__2 = createRoundedGroup(CRect(5, 4, 105, 105), -1, "", kCenterText, 14); +view__1->addView(view__2); +SfizzMainButton* const view__3 = createSfizzMainButton(CRect(2, 2, 98, 98), kTagFirstChangePanel+kPanelGeneral, "", kCenterText, 14); +view__2->addView(view__3); +RoundedGroup* const view__4 = createRoundedGroup(CRect(110, 5, 490, 105), -1, "", kCenterText, 14); +view__1->addView(view__4); +Label* const view__5 = createLabel(CRect(15, 10, 55, 35), -1, "File:", kCenterText, 16); +view__4->addView(view__5); +Label* const view__6 = createLabel(CRect(15, 40, 55, 65), -1, "KS:", kCenterText, 16); +view__4->addView(view__6); +HLine* const view__7 = createHLine(CRect(10, 35, 365, 40), -1, "", kCenterText, 14); +view__4->addView(view__7); +HLine* const view__8 = createHLine(CRect(10, 65, 365, 70), -1, "", kCenterText, 14); +view__4->addView(view__8); +Label* const view__9 = createLabel(CRect(80, 10, 310, 35), -1, "DefaultInstrument.sfz", kCenterText, 20); +sfzFileLabel_ = view__9; +view__4->addView(view__9); +Label* const view__10 = createLabel(CRect(80, 40, 310, 65), -1, "Key switch", kCenterText, 20); +view__4->addView(view__10); +Label* const view__11 = createLabel(CRect(10, 70, 70, 95), -1, "Voices:", kRightText, 12); +view__4->addView(view__11); +LoadFileButton* const view__12 = createLoadFileButton(CRect(315, 10, 340, 35), kTagLoadSfzFile, "", kCenterText, 24); +view__4->addView(view__12); +EditFileButton* const view__13 = createEditFileButton(CRect(340, 10, 365, 35), kTagEditSfzFile, "", kCenterText, 24); +view__4->addView(view__13); +Label* const view__14 = createLabel(CRect(75, 70, 125, 95), -1, "", kCenterText, 12); +infoVoicesLabel_ = view__14; +view__4->addView(view__14); +Label* const view__15 = createLabel(CRect(130, 70, 190, 95), -1, "Max:", kRightText, 12); +view__4->addView(view__15); +Label* const view__16 = createLabel(CRect(195, 70, 245, 95), -1, "", kCenterText, 12); +numVoicesLabel_ = view__16; +view__4->addView(view__16); +Label* const view__17 = createLabel(CRect(250, 70, 310, 95), -1, "Memory:", kRightText, 12); +view__4->addView(view__17); +Label* const view__18 = createLabel(CRect(315, 70, 365, 95), -1, "", kCenterText, 12); +memoryLabel_ = view__18; +view__4->addView(view__18); +RoundedGroup* const view__19 = createRoundedGroup(CRect(495, 5, 595, 105), -1, "", kCenterText, 14); +view__1->addView(view__19); +LightButton* const view__20 = createLightButton(CRect(15, 37, 85, 62), kTagFirstChangePanel+kPanelSettings, "SETUP", kCenterText, 14); +view__19->addView(view__20); +LightButton* const view__21 = createLightButton(CRect(15, 10, 85, 35), kTagFirstChangePanel+kPanelControls, "CC", kCenterText, 14); +view__19->addView(view__21); +LightButton* const view__22 = createLightButton(CRect(15, 64, 85, 89), kTagFirstChangePanel+kPanelInfo, "INFO", kCenterText, 14); +view__19->addView(view__22); +RoundedGroup* const view__23 = createRoundedGroup(CRect(600, 5, 795, 105), -1, "", kCenterText, 14); +view__1->addView(view__23); +Knob48* const view__24 = createKnob48(CRect(15, 15, 63, 63), -1, "", kCenterText, 14); +view__23->addView(view__24); +view__24->setVisible(false); +ValueLabel* const view__25 = createValueLabel(CRect(10, 65, 70, 90), -1, "Center", kCenterText, 12); +view__23->addView(view__25); +view__25->setVisible(false); +Knob48* const view__26 = createKnob48(CRect(80, 15, 128, 63), kTagSetVolume, "", kCenterText, 14); +volumeSlider_ = view__26; +view__23->addView(view__26); +ValueLabel* const view__27 = createValueLabel(CRect(75, 65, 135, 90), -1, "0.0 dB", kCenterText, 12); +volumeLabel_ = view__27; +view__23->addView(view__27); +VMeter* const view__28 = createVMeter(CRect(145, 15, 180, 85), -1, "", kCenterText, 14); +view__23->addView(view__28); +enterTheme(defaultTheme); +LogicalGroup* const view__29 = createLogicalGroup(CRect(5, 110, 795, 395), -1, "", kCenterText, 14); +subPanels_[kPanelGeneral] = view__29; +view__0->addView(view__29); +view__29->setVisible(false); +RoundedGroup* const view__30 = createRoundedGroup(CRect(0, 0, 120, 285), -1, "", kCenterText, 14); +view__29->addView(view__30); +Label* const view__31 = createLabel(CRect(10, 10, 70, 35), -1, "Curves:", kLeftText, 12); +view__30->addView(view__31); +Label* const view__32 = createLabel(CRect(10, 35, 70, 60), -1, "Masters:", kLeftText, 12); +view__30->addView(view__32); +Label* const view__33 = createLabel(CRect(10, 60, 70, 85), -1, "Groups:", kLeftText, 12); +view__30->addView(view__33); +Label* const view__34 = createLabel(CRect(10, 85, 70, 110), -1, "Regions:", kLeftText, 12); +view__30->addView(view__34); +Label* const view__35 = createLabel(CRect(10, 110, 70, 135), -1, "Samples:", kLeftText, 12); +view__30->addView(view__35); +Label* const view__36 = createLabel(CRect(70, 10, 110, 35), -1, "0", kCenterText, 12); +infoCurvesLabel_ = view__36; +view__30->addView(view__36); +Label* const view__37 = createLabel(CRect(70, 35, 110, 60), -1, "0", kCenterText, 12); +infoMastersLabel_ = view__37; +view__30->addView(view__37); +Label* const view__38 = createLabel(CRect(70, 60, 110, 85), -1, "0", kCenterText, 12); +infoGroupsLabel_ = view__38; +view__30->addView(view__38); +Label* const view__39 = createLabel(CRect(70, 85, 110, 110), -1, "0", kCenterText, 12); +infoRegionsLabel_ = view__39; +view__30->addView(view__39); +Label* const view__40 = createLabel(CRect(70, 110, 110, 135), -1, "0", kCenterText, 12); +infoSamplesLabel_ = view__40; +view__30->addView(view__40); +LogicalGroup* const view__41 = createLogicalGroup(CRect(125, 0, 790, 280), -1, "", kCenterText, 14); +view__29->addView(view__41); +SfizzLargePicture* const view__42 = createSfizzLargePicture(CRect(130, 15, 530, 265), -1, "", kCenterText, 14); +view__41->addView(view__42); +LogicalGroup* const view__43 = createLogicalGroup(CRect(5, 110, 795, 395), -1, "", kCenterText, 14); +subPanels_[kPanelControls] = view__43; +view__0->addView(view__43); +view__43->setVisible(false); +RoundedGroup* const view__44 = createRoundedGroup(CRect(0, 0, 790, 285), -1, "", kCenterText, 14); +view__43->addView(view__44); +Label* const view__45 = createLabel(CRect(0, 0, 790, 285), -1, "Controls not available", kCenterText, 40); +view__44->addView(view__45); +LogicalGroup* const view__46 = createLogicalGroup(CRect(5, 110, 795, 395), -1, "", kCenterText, 14); +subPanels_[kPanelSettings] = view__46; +view__0->addView(view__46); +TitleGroup* const view__47 = createTitleGroup(CRect(255, 15, 535, 125), -1, "Engine", kCenterText, 12); +view__46->addView(view__47); +ValueMenu* const view__48 = createValueMenu(CRect(25, 60, 85, 85), kTagSetNumVoices, "", kCenterText, 12); +numVoicesSlider_ = view__48; +view__47->addView(view__48); +ValueLabel* const view__49 = createValueLabel(CRect(15, 20, 95, 45), -1, "Polyphony", kCenterText, 12); +view__47->addView(view__49); +ValueMenu* const view__50 = createValueMenu(CRect(110, 60, 170, 85), kTagSetOversampling, "", kCenterText, 12); +oversamplingSlider_ = view__50; +view__47->addView(view__50); +ValueLabel* const view__51 = createValueLabel(CRect(100, 20, 180, 45), -1, "Oversampling", kCenterText, 12); +view__47->addView(view__51); +ValueLabel* const view__52 = createValueLabel(CRect(185, 20, 265, 45), -1, "Preload size", kCenterText, 12); +view__47->addView(view__52); +ValueMenu* const view__53 = createValueMenu(CRect(195, 60, 255, 85), kTagSetPreloadSize, "", kCenterText, 12); +preloadSizeSlider_ = view__53; +view__47->addView(view__53); +TitleGroup* const view__54 = createTitleGroup(CRect(200, 150, 590, 270), -1, "Tuning", kCenterText, 12); +view__46->addView(view__54); +ValueLabel* const view__55 = createValueLabel(CRect(125, 20, 205, 45), -1, "Root key", kCenterText, 12); +view__54->addView(view__55); +ValueMenu* const view__56 = createValueMenu(CRect(220, 60, 280, 85), kTagSetTuningFrequency, "", kCenterText, 12); +tuningFrequencySlider_ = view__56; +view__54->addView(view__56); +ValueLabel* const view__57 = createValueLabel(CRect(210, 20, 290, 45), -1, "Frequency", kCenterText, 12); +view__54->addView(view__57); +Knob48* const view__58 = createKnob48(CRect(310, 45, 358, 93), kTagSetStretchedTuning, "", kCenterText, 14); +stretchedTuningSlider_ = view__58; +view__54->addView(view__58); +ValueLabel* const view__59 = createValueLabel(CRect(295, 20, 375, 45), -1, "Stretch", kCenterText, 12); +view__54->addView(view__59); +ValueLabel* const view__60 = createValueLabel(CRect(20, 20, 120, 45), -1, "Scala file", kCenterText, 12); +view__54->addView(view__60); +ValueButton* const view__61 = createValueButton(CRect(20, 60, 120, 85), kTagLoadScalaFile, "DefaultScale", kCenterText, 12); +scalaFileButton_ = view__61; +view__54->addView(view__61); +ValueMenu* const view__62 = createValueMenu(CRect(135, 60, 170, 85), kTagSetScalaRootKey, "", kCenterText, 12); +scalaRootKeySlider_ = view__62; +view__54->addView(view__62); +ValueMenu* const view__63 = createValueMenu(CRect(170, 60, 200, 85), kTagSetScalaRootKey, "", kCenterText, 12); +scalaRootOctaveSlider_ = view__63; +view__54->addView(view__63); +LogicalGroup* const view__64 = createLogicalGroup(CRect(5, 110, 795, 395), -1, "", kCenterText, 14); +subPanels_[kPanelInfo] = view__64; +view__0->addView(view__64); +view__64->setVisible(false); +RoundedGroup* const view__65 = createRoundedGroup(CRect(0, 0, 790, 285), -1, "", kCenterText, 14); +view__64->addView(view__65); +Label* const view__66 = createLabel(CRect(0, 0, 790, 285), -1, "Informative text goes here", kCenterText, 40); +view__65->addView(view__66); +Piano* const view__67 = createPiano(CRect(5, 400, 795, 470), -1, "", kCenterText, 14); +view__0->addView(view__67); diff --git a/editor/tools/layout-maker/LICENSE b/editor/tools/layout-maker/LICENSE new file mode 100644 index 00000000..36b7cd93 --- /dev/null +++ b/editor/tools/layout-maker/LICENSE @@ -0,0 +1,23 @@ +Boost Software License - Version 1.0 - August 17th, 2003 + +Permission is hereby granted, free of charge, to any person or organization +obtaining a copy of the software and accompanying documentation covered by +this license (the "Software") to use, reproduce, display, distribute, +execute, and transmit the Software, and to prepare derivative works of the +Software, and to permit third-parties to whom the Software is furnished to +do so, all subject to the following: + +The copyright notices in the Software and this entire statement, including +the above license grant, this restriction and the following disclaimer, +must be included in all copies of the Software, in whole or in part, and +all derivative works of the Software, unless such copies or derivative +works are solely in the form of machine-executable object code generated by +a source language processor. + +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, TITLE AND NON-INFRINGEMENT. IN NO EVENT +SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE +FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN 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/editor/tools/layout-maker/README b/editor/tools/layout-maker/README new file mode 100644 index 00000000..e8402cc3 --- /dev/null +++ b/editor/tools/layout-maker/README @@ -0,0 +1,2 @@ +This purpose of this tool is to accept UI designs make with Fluid, the FLTK +design editor, and convert these designs to music plugin interfaces. diff --git a/editor/tools/layout-maker/sources/layout.h b/editor/tools/layout-maker/sources/layout.h new file mode 100644 index 00000000..35a1978e --- /dev/null +++ b/editor/tools/layout-maker/sources/layout.h @@ -0,0 +1,42 @@ +#pragma once +#include +#include + +struct LayoutImage { + std::string filepath; + int x = 0; + int y = 0; + int w = 0; + int h = 0; +}; + +struct LayoutItem { + std::string id; + std::string classname; + std::string label; + int x = 0; + int y = 0; + int w = 0; + int h = 0; + std::string box; + std::string down_box; + int labelfont = 0; + int labelsize = 14; + std::string labeltype; + int textsize = 14; + int align = 0; + double value = 0; + double minimum = 0; + double maximum = 0; + double step = 0; + std::string type; + std::string callback; + LayoutImage image; + bool hidden = false; + std::string comment; + std::vector items; +}; + +struct Layout { + std::vector items; +}; diff --git a/editor/tools/layout-maker/sources/main.cpp b/editor/tools/layout-maker/sources/main.cpp new file mode 100644 index 00000000..06e5283b --- /dev/null +++ b/editor/tools/layout-maker/sources/main.cpp @@ -0,0 +1,136 @@ +#include "layout.h" +#include "reader.h" +#include +#include +#include +#include + +/// +typedef std::unordered_map Metadata; + +static Metadata metadata_from_comment(absl::string_view comment) +{ + Metadata md; + + while (!comment.empty()) { + absl::string_view line; + + size_t pos = comment.find_first_of("\r\n"); + if (pos != comment.npos) { + line = comment.substr(0, pos); + comment.remove_prefix(pos + 1); + } + else { + line = comment; + comment = {}; + } + + line = absl::StripAsciiWhitespace(line); + if (line.empty() || line[0] == '#') + continue; + + std::string key, value; + pos = line.find_first_of('='); + if (pos != comment.npos) { + key = std::string(line.substr(0, pos)); + value = std::string(line.substr(pos + 1)); + } + else + key = std::string(line); + + md.emplace(std::move(key), std::move(value)); + } + + return md; +} + +/// +static void codegen_item(int& idCounter, int parentId, int parentX, int parentY, const LayoutItem& item, absl::string_view oldTheme) +{ + const Metadata md = metadata_from_comment(item.comment); + + absl::string_view tag = "-1"; + absl::string_view newTheme; + + Metadata::const_iterator it; + it = md.find("tag"); + if (it != md.end()) + tag = it->second; + it = md.find("theme"); + if (it != md.end()) + newTheme = it->second; + + absl::string_view currentTheme = newTheme.empty() ? oldTheme : newTheme; + + int id = idCounter++; + int myX = item.x; + int myY = item.y; + if (parentId == -1) { + myX = 0; + myY = 0; + } + int relX = myX - parentX; + int relY = myY - parentY; + + //std::cout << "// Begin " << id << " " << item.classname << " {" << item.label << "}" << "\n"; + + if (!newTheme.empty()) + std::cout << "enterTheme(" << newTheme << ");\n"; + + absl::string_view label; + if (!item.label.empty() && item.labeltype != "NO_LABEL") + label = item.label; + + absl::string_view align = "kCenterText"; + if (item.align & 4) + align = "kLeftText"; + else if (item.align & 8) + align = "kRightText"; + + std::cout << item.classname << "* const view__" << id << " = create" << item.classname << "(CRect(" << relX << ", " << relY << ", " << (relX + item.w) << ", " << (relY + item.h) << "), " << tag << ", \"" << label << "\", " << align << ", " << item.labelsize << ");\n"; + + if (!item.id.empty()) + std::cout << item.id << " = view__" << id << ";\n"; + + if (parentId != -1) + std::cout << "view__" << parentId << "->addView(view__" << id << ");\n"; + + if (item.hidden) + std::cout << "view__" << id << "->setVisible(false);\n"; + + for (const LayoutItem& subItem : item.items) + codegen_item(idCounter, id, myX, myY, subItem, currentTheme); + + if (!newTheme.empty()) + std::cout << "enterTheme(" << oldTheme << ");\n"; + + //std::cout << "// End " << id << " " << item.classname << " {" << item.label << "}" << "\n"; +} + +static void codegen_layout(const LayoutItem& item) +{ + int idCounter = 0; + codegen_item(idCounter, -1, 0, 0, item, "defaultTheme"); +} + +/// +int main(int argc, char *argv[]) +{ + if (argc != 2) { + std::cerr << "Please indicate a fluid design file.\n"; + return 1; + } + + Layout layout = read_file_layout(argv[1]); + + if (layout.items.size() != 1) { + std::cerr << "There must be exactly 1 top level component."; + return 1; + } + + std::cout << "/* This file is generated by the layout maker tool. */\n"; + + codegen_layout(layout.items[0]); + + return 0; +} diff --git a/editor/tools/layout-maker/sources/reader.cpp b/editor/tools/layout-maker/sources/reader.cpp new file mode 100644 index 00000000..788f93d7 --- /dev/null +++ b/editor/tools/layout-maker/sources/reader.cpp @@ -0,0 +1,359 @@ +#include "reader.h" +#include +#include +#include + +typedef std::vector TokenList; +static bool read_file_tokens(const char *filename, TokenList &tokens); +static Layout read_tokens_layout(TokenList::iterator &tok_it, TokenList::iterator tok_end); + +Layout read_file_layout(const char *filename) +{ + std::vector tokens; + if (!read_file_tokens(filename, tokens)) + throw std::runtime_error("Cannot read fluid design file."); + + TokenList::iterator tok_it = tokens.begin(); + TokenList::iterator tok_end = tokens.end(); + return read_tokens_layout(tok_it, tok_end); +} + +static std::string consume_next_token(TokenList::iterator &tok_it, TokenList::iterator tok_end) +{ + if (tok_it == tok_end) + throw file_format_error("Premature end of tokens"); + return *tok_it++; +} + +static bool try_consume_next_token(const char *text, TokenList::iterator &tok_it, TokenList::iterator tok_end) +{ + if (tok_it == tok_end) + return false; + + if (*tok_it != text) + return false; + + ++tok_it; + return true; +} + +static void ensure_next_token(const char *text, TokenList::iterator &tok_it, TokenList::iterator tok_end) +{ + std::string tok = consume_next_token(tok_it, tok_end); + if (tok != text) + throw file_format_error("Unexpected token: " + tok); +} + +static std::string consume_enclosed_string(TokenList::iterator &tok_it, TokenList::iterator tok_end) +{ + ensure_next_token("{", tok_it, tok_end); + unsigned depth = 1; + + std::string text; + for (;;) { + std::string part = consume_next_token(tok_it, tok_end); + if (part == "}") { + if (--depth == 0) + return text; + } + else if (part == "{") + ++depth; + if (!text.empty()) + text.push_back(' '); + text.append(part); + } + + return text; +} + +static std::string consume_any_string(TokenList::iterator &tok_it, TokenList::iterator tok_end) +{ + if (tok_it != tok_end && *tok_it == "{") + return consume_enclosed_string(tok_it, tok_end); + else + return consume_next_token(tok_it, tok_end); +} + +static int consume_int_token(TokenList::iterator &tok_it, TokenList::iterator tok_end) +{ + std::string text = consume_next_token(tok_it, tok_end); + return std::stoi(text); +} + +static int consume_real_token(TokenList::iterator &tok_it, TokenList::iterator tok_end) +{ + std::string text = consume_next_token(tok_it, tok_end); + return std::stod(text); +} + +static void consume_image_properties(LayoutImage &image, TokenList::iterator &tok_it, TokenList::iterator tok_end) +{ + for (bool have = true; have;) { + if (try_consume_next_token("xywh", tok_it, tok_end)) { + ensure_next_token("{", tok_it, tok_end); + image.x = consume_int_token(tok_it, tok_end); + image.y = consume_int_token(tok_it, tok_end); + image.w = consume_int_token(tok_it, tok_end); + image.h = consume_int_token(tok_it, tok_end); + ensure_next_token("}", tok_it, tok_end); + } + else + have = false; + } +} + +// static void consume_layout_item_properties(LayoutItem &item, TokenList::iterator &tok_it, TokenList::iterator tok_end) +// { +// ensure_next_token("{", tok_it, tok_end); +// for (std::string text; (text = consume_next_token(tok_it, tok_end)) != "}";) { +// if (text == "open" || text == "selected") +// ; // skip +// else if (text == "label") +// item.label = consume_any_string(tok_it, tok_end); +// else if (text == "xywh") { +// ensure_next_token("{", tok_it, tok_end); +// item.x = consume_int_token(tok_it, tok_end); +// item.y = consume_int_token(tok_it, tok_end); +// item.w = consume_int_token(tok_it, tok_end); +// item.h = consume_int_token(tok_it, tok_end); +// ensure_next_token("}", tok_it, tok_end); +// } +// else if (text == "box") +// item.box = consume_next_token(tok_it, tok_end); +// else if (text == "labelfont") +// item.labelfont = consume_int_token(tok_it, tok_end); +// else if (text == "labelsize") +// item.labelsize = consume_int_token(tok_it, tok_end); +// else if (text == "labeltype") +// item.labeltype = consume_any_string(tok_it, tok_end); +// else if (text == "align") +// item.align = consume_int_token(tok_it, tok_end); +// else if (text == "type") +// item.type = consume_any_string(tok_it, tok_end); +// else if (text == "callback") +// item.callback = consume_any_string(tok_it, tok_end); +// else if (text == "class") +// item.classname = consume_any_string(tok_it, tok_end); +// else if (text == "minimum") +// item.minimum = consume_real_token(tok_it, tok_end); +// else if (text == "maximum") +// item.maximum = consume_real_token(tok_it, tok_end); +// else if (text == "step") +// item.step = consume_real_token(tok_it, tok_end); +// else if (text == "image") { +// item.image.filepath = consume_any_string(tok_it, tok_end); +// consume_image_properties(item.image, tok_it, tok_end); +// } +// } +// } + +static void consume_layout_item_properties(LayoutItem &item, TokenList::iterator &tok_it, TokenList::iterator tok_end) +{ + ensure_next_token("{", tok_it, tok_end); + for (bool have = true; have;) { + if (try_consume_next_token("open", tok_it, tok_end)) + ; // skip + else if (try_consume_next_token("selected", tok_it, tok_end)) + ; // skip + else if (try_consume_next_token("label", tok_it, tok_end)) + item.label = consume_any_string(tok_it, tok_end); + else if (try_consume_next_token("xywh", tok_it, tok_end)) { + ensure_next_token("{", tok_it, tok_end); + item.x = consume_int_token(tok_it, tok_end); + item.y = consume_int_token(tok_it, tok_end); + item.w = consume_int_token(tok_it, tok_end); + item.h = consume_int_token(tok_it, tok_end); + ensure_next_token("}", tok_it, tok_end); + } + else if (try_consume_next_token("box", tok_it, tok_end)) + item.box = consume_next_token(tok_it, tok_end); + else if (try_consume_next_token("down_box", tok_it, tok_end)) + item.down_box = consume_next_token(tok_it, tok_end); + else if (try_consume_next_token("labelfont", tok_it, tok_end)) + item.labelfont = consume_int_token(tok_it, tok_end); + else if (try_consume_next_token("labelsize", tok_it, tok_end)) + item.labelsize = consume_int_token(tok_it, tok_end); + else if (try_consume_next_token("labeltype", tok_it, tok_end)) + item.labeltype = consume_any_string(tok_it, tok_end); + else if (try_consume_next_token("textsize", tok_it, tok_end)) + item.textsize = consume_int_token(tok_it, tok_end); + else if (try_consume_next_token("align", tok_it, tok_end)) + item.align = consume_int_token(tok_it, tok_end); + else if (try_consume_next_token("type", tok_it, tok_end)) + item.type = consume_any_string(tok_it, tok_end); + else if (try_consume_next_token("callback", tok_it, tok_end)) + item.callback = consume_any_string(tok_it, tok_end); + else if (try_consume_next_token("class", tok_it, tok_end)) + item.classname = consume_any_string(tok_it, tok_end); + else if (try_consume_next_token("value", tok_it, tok_end)) + item.value = consume_real_token(tok_it, tok_end); + else if (try_consume_next_token("minimum", tok_it, tok_end)) + item.minimum = consume_real_token(tok_it, tok_end); + else if (try_consume_next_token("maximum", tok_it, tok_end)) + item.maximum = consume_real_token(tok_it, tok_end); + else if (try_consume_next_token("step", tok_it, tok_end)) + item.step = consume_real_token(tok_it, tok_end); + else if (try_consume_next_token("image", tok_it, tok_end)) + item.image.filepath = consume_any_string(tok_it, tok_end); + else if (try_consume_next_token("hide", tok_it, tok_end)) + item.hidden = true; + else if (try_consume_next_token("visible", tok_it, tok_end)) + /* skip */; + else if (try_consume_next_token("comment", tok_it, tok_end)) + item.comment = consume_any_string(tok_it, tok_end); + else + have = false; + } + ensure_next_token("}", tok_it, tok_end); +} + +static LayoutItem consume_layout_item(const std::string &classname, TokenList::iterator &tok_it, TokenList::iterator tok_end, bool anonymous = false) +{ + LayoutItem item; + item.classname = classname; + if (!anonymous) + item.id = consume_any_string(tok_it, tok_end); + consume_layout_item_properties(item, tok_it, tok_end); + if (tok_it != tok_end && *tok_it == "{") { + consume_next_token(tok_it, tok_end); + for (std::string text; (text = consume_next_token(tok_it, tok_end)) != "}";) { + if (text == "decl") { + consume_any_string(tok_it, tok_end); + consume_any_string(tok_it, tok_end); + } + else if (text == "Function") { + consume_any_string(tok_it, tok_end); + consume_any_string(tok_it, tok_end); + consume_any_string(tok_it, tok_end); + } + else + item.items.push_back(consume_layout_item(text, tok_it, tok_end)); + } + } + return item; +} + +static Layout read_tokens_layout(TokenList::iterator &tok_it, TokenList::iterator tok_end) +{ + Layout layout; + + std::string version_name; + std::string header_name; + std::string code_name; + + while (tok_it != tok_end) { + std::string key = consume_next_token(tok_it, tok_end); + + if (key == "version") + version_name = consume_next_token(tok_it, tok_end); + else if (key == "header_name") { + ensure_next_token("{", tok_it, tok_end); + header_name = consume_next_token(tok_it, tok_end); + ensure_next_token("}", tok_it, tok_end); + } + else if (key == "code_name") { + ensure_next_token("{", tok_it, tok_end); + code_name = consume_next_token(tok_it, tok_end); + ensure_next_token("}", tok_it, tok_end); + } + else if (key == "decl") { + consume_any_string(tok_it, tok_end); + consume_any_string(tok_it, tok_end); + } + else if (key == "widget_class") { + key = consume_next_token(tok_it, tok_end); + layout.items.push_back(consume_layout_item(key, tok_it, tok_end, true)); + layout.items.back().id = key; + } + else + layout.items.push_back(consume_layout_item(key, tok_it, tok_end)); + } + + return layout; +} + +/// +class tokenizer { +public: + tokenizer( + absl::string_view text, + absl::string_view dropped_delims, + absl::string_view kept_delims); + + absl::string_view next(); + +private: + absl::string_view text_; + absl::string_view dropped_delims_; + absl::string_view kept_delims_; +}; + +tokenizer::tokenizer( + absl::string_view text, + absl::string_view dropped_delims, + absl::string_view kept_delims) + : text_(text), dropped_delims_(dropped_delims), kept_delims_(kept_delims) +{ +} + +absl::string_view tokenizer::next() +{ + auto is_dropped = [this](char c) -> bool { + return dropped_delims_.find(c) != dropped_delims_.npos; + }; + auto is_kept = [this](char c) -> bool { + return kept_delims_.find(c) != kept_delims_.npos; + }; + auto is_delim = [this](char c) -> bool { + return dropped_delims_.find(c) != dropped_delims_.npos || + kept_delims_.find(c) != kept_delims_.npos; + }; + + absl::string_view text = text_; + + while (!text.empty() && is_dropped(text[0])) + text.remove_prefix(1); + + if (text.empty()) + return {}; + + size_t pos; + { + auto it = std::find_if(text.begin(), text.end(), is_delim); + if (it == text.end()) + pos = text.size(); + else { + pos = std::distance(text.begin(), it); + pos += is_kept(text[0]); + } + } + + absl::string_view token = text.substr(0, pos); + text_ = text.substr(pos); + return token; +} + +/// +static bool read_file_tokens(const char *filename, TokenList &tokens) +{ + std::ifstream stream(filename); + std::string line; + + std::string text; + while (std::getline(stream, line)) { + if (!line.empty() && line[0] != '#') { + text.append(line); + text.push_back('\n'); + } + } + + if (stream.bad()) + return false; + + tokenizer tok(text, " \t\r\n", "{}"); + absl::string_view token; + while (!(token = tok.next()).empty()) + tokens.emplace_back(token); + + return !stream.bad(); +} diff --git a/editor/tools/layout-maker/sources/reader.h b/editor/tools/layout-maker/sources/reader.h new file mode 100644 index 00000000..589bd307 --- /dev/null +++ b/editor/tools/layout-maker/sources/reader.h @@ -0,0 +1,13 @@ +#pragma once +#include "layout.h" +#include +#include + +Layout read_file_layout(const char *filename); + +/// +struct file_format_error : public std::runtime_error { +public: + explicit file_format_error(const std::string &reason = "Format error") + : runtime_error(reason) {} +}; diff --git a/lv2/CMakeLists.txt b/lv2/CMakeLists.txt index 3322d3d1..a888ca81 100644 --- a/lv2/CMakeLists.txt +++ b/lv2/CMakeLists.txt @@ -98,10 +98,9 @@ endforeach() if (SFIZZ_LV2_UI) execute_process ( COMMAND "${CMAKE_COMMAND}" -E make_directory "${PROJECT_BINARY_DIR}/Contents/Resources") - foreach(res ${EDITOR_RESOURCES}) - file (COPY "${CMAKE_CURRENT_SOURCE_DIR}/../editor/resources/${res}" - DESTINATION "${PROJECT_BINARY_DIR}/Contents/Resources") - endforeach() + copy_editor_resources( + "${CMAKE_CURRENT_SOURCE_DIR}/../editor/resources" + "${PROJECT_BINARY_DIR}/Contents/Resources") endif() # Installation diff --git a/scripts/innosetup.iss.in b/scripts/innosetup.iss.in index b287de6a..7c845a4b 100644 --- a/scripts/innosetup.iss.in +++ b/scripts/innosetup.iss.in @@ -50,9 +50,7 @@ Name: "vst3"; Description: "VST3 plugin"; Types: full custom; [Files] Source: "sfizz.lv2\Contents\Binary\sfizz.dll"; Components: lv2; DestDir: "{commoncf}\LV2\sfizz.lv2\Contents\Binary"; Flags: ignoreversion Source: "sfizz.lv2\Contents\Binary\sfizz_ui.dll"; Components: lv2; DestDir: "{commoncf}\LV2\sfizz.lv2\Contents\Binary"; Flags: ignoreversion -Source: "sfizz.lv2\Contents\Resources\DefaultInstrument.sfz"; Components: lv2; DestDir: "{commoncf}\LV2\sfizz.lv2\Contents\Resources" -Source: "sfizz.lv2\Contents\Resources\DefaultScale.scl"; Components: lv2; DestDir: "{commoncf}\LV2\sfizz.lv2\Contents\Resources" -Source: "sfizz.lv2\Contents\Resources\logo.png"; Components: lv2; DestDir: "{commoncf}\LV2\sfizz.lv2\Contents\Resources" +Source: "sfizz.lv2\Contents\Resources\*"; Components: lv2; DestDir: "{commoncf}\LV2\sfizz.lv2\Contents\Resources" Source: "sfizz.lv2\manifest.ttl"; Components: lv2; DestDir: "{commoncf}\LV2\sfizz.lv2" Source: "sfizz.lv2\sfizz.ttl"; Components: lv2; DestDir: "{commoncf}\LV2\sfizz.lv2" Source: "sfizz.lv2\sfizz_ui.ttl"; Components: lv2; DestDir: "{commoncf}\LV2\sfizz.lv2" @@ -60,7 +58,7 @@ Source: "sfizz.lv2\lgpl-3.0.txt"; Components: main; DestDir: "{app}" Source: "sfizz.lv2\LICENSE.md"; Components: main; DestDir: "{app}" Source: "sfizz.vst3\desktop.ini"; Components: vst3; DestDir: "{commoncf}\VST3\sfizz.vst3" Source: "sfizz.vst3\Contents\@VST3_PACKAGE_ARCHITECTURE@-win\sfizz.vst3"; Components: vst3; DestDir: "{commoncf}\VST3\sfizz.vst3\Contents\@VST3_PACKAGE_ARCHITECTURE@-win"; Flags: ignoreversion -Source: "sfizz.vst3\Contents\Resources\logo.png"; Components: vst3; DestDir: "{commoncf}\VST3\sfizz.vst3\Contents\Resources" +Source: "sfizz.vst3\Contents\Resources\*"; Components: vst3; DestDir: "{commoncf}\VST3\sfizz.vst3\Contents\Resources" Source: "sfizz.vst3\Plugin.ico"; Components: vst3; DestDir: "{commoncf}\VST3\sfizz.vst3" Source: "sfizz.vst3\gpl-3.0.txt"; Components: main; DestDir: "{app}" ;Source: "setup\vc_redist.x64.exe"; DestDir: {tmp}; Flags: deleteafterinstall diff --git a/vst/CMakeLists.txt b/vst/CMakeLists.txt index c4b3538e..bbd2ff2e 100644 --- a/vst/CMakeLists.txt +++ b/vst/CMakeLists.txt @@ -68,10 +68,9 @@ endif() # Create the bundle (see "VST 3 Locations / Format") execute_process ( COMMAND "${CMAKE_COMMAND}" -E make_directory "${PROJECT_BINARY_DIR}/${VSTPLUGIN_BUNDLE_NAME}/Contents/Resources") -foreach(res ${EDITOR_RESOURCES}) - file (COPY "${CMAKE_CURRENT_SOURCE_DIR}/../editor/resources/${res}" - DESTINATION "${PROJECT_BINARY_DIR}/${VSTPLUGIN_BUNDLE_NAME}/Contents/Resources") -endforeach() +copy_editor_resources( + "${CMAKE_CURRENT_SOURCE_DIR}/../editor/resources" + "${PROJECT_BINARY_DIR}/${VSTPLUGIN_BUNDLE_NAME}/Contents/Resources") if(WIN32) set_target_properties(${VSTPLUGIN_PRJ_NAME} PROPERTIES SUFFIX ".vst3" From e3de5d245bdc50e8c6e4abe5bc9779a689ac5bbc Mon Sep 17 00:00:00 2001 From: Jean Pierre Cimalando Date: Mon, 7 Sep 2020 13:37:50 +0200 Subject: [PATCH 02/18] Attempt to fix MSVC and the layout tool --- editor/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/editor/CMakeLists.txt b/editor/CMakeLists.txt index bd9a38a8..cce49479 100644 --- a/editor/CMakeLists.txt +++ b/editor/CMakeLists.txt @@ -74,7 +74,7 @@ if(NOT CMAKE_CROSSCOMPILING) add_custom_command( OUTPUT "${CMAKE_CURRENT_SOURCE_DIR}/src/editor/layout/main.hpp" - COMMAND "${CMAKE_CURRENT_BINARY_DIR}/layout-maker" + COMMAND "$" "${CMAKE_CURRENT_SOURCE_DIR}/layout/main.fl" > "${CMAKE_CURRENT_SOURCE_DIR}/src/editor/layout/main.hpp" DEPENDS layout-maker "${CMAKE_CURRENT_SOURCE_DIR}/layout/main.fl") From c2a82afdcea6fba7825719a3d9859b6d94927749 Mon Sep 17 00:00:00 2001 From: Jean Pierre Cimalando Date: Mon, 7 Sep 2020 13:46:28 +0200 Subject: [PATCH 03/18] appveyor: vstgui wants a Windows SDK update --- appveyor.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/appveyor.yml b/appveyor.yml index ebc8dc20..3bb7f7f6 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -1,5 +1,5 @@ version: build-{build} -image: Visual Studio 2017 +image: Visual Studio 2019 configuration: Release platform: - Win32 @@ -22,7 +22,7 @@ before_build: - cmd: git submodule update --init - cmd: mkdir CMakeBuild - cmd: cd CMakeBuild -- cmd: cmake .. -G"Visual Studio 15 2017" -A"%platform%" -DSFIZZ_JACK=OFF -DSFIZZ_BENCHMARKS=OFF -DSFIZZ_TESTS=OFF -DSFIZZ_LV2=ON -DSFIZZ_VST=ON -DCMAKE_BUILD_TYPE=Release -DVCPKG_TARGET_TRIPLET=%VCPKG_TRIPLET% -DCMAKE_TOOLCHAIN_FILE=C:/Tools/vcpkg/scripts/buildsystems/vcpkg.cmake +- cmd: cmake .. -G"Visual Studio 16 2019" -A"%platform%" -DSFIZZ_JACK=OFF -DSFIZZ_BENCHMARKS=OFF -DSFIZZ_TESTS=OFF -DSFIZZ_LV2=ON -DSFIZZ_VST=ON -DCMAKE_BUILD_TYPE=Release -DVCPKG_TARGET_TRIPLET=%VCPKG_TRIPLET% -DCMAKE_TOOLCHAIN_FILE=C:/Tools/vcpkg/scripts/buildsystems/vcpkg.cmake build_script: - cmd: cmake --build . --config Release -j From fc036c8e3bb15ceb849903814f231330addd691a Mon Sep 17 00:00:00 2001 From: Jean Pierre Cimalando Date: Mon, 7 Sep 2020 14:10:20 +0200 Subject: [PATCH 04/18] Ensure to use utf8 coded literals --- editor/src/editor/Editor.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/editor/src/editor/Editor.cpp b/editor/src/editor/Editor.cpp index 8e3089a8..794eb331 100644 --- a/editor/src/editor/Editor.cpp +++ b/editor/src/editor/Editor.cpp @@ -496,10 +496,10 @@ void Editor::Impl::createFrameContents() return btn; }; auto createLoadFileButton = [&createGlyphButton](const CRect& bounds, int tag, const char*, CHoriTxtAlign, int fontsize) { - return createGlyphButton("\ue142", bounds, tag, fontsize); + return createGlyphButton(u8"\ue142", bounds, tag, fontsize); }; auto createEditFileButton = [&createGlyphButton](const CRect& bounds, int tag, const char*, CHoriTxtAlign, int fontsize) { - return createGlyphButton("\ue148", bounds, tag, fontsize); + return createGlyphButton(u8"\ue148", bounds, tag, fontsize); }; auto createPiano = [](const CRect& bounds, int, const char*, CHoriTxtAlign, int) { SPiano* piano = new SPiano(bounds); From a285d387d7c09fa41b225539a5bbe9e3de9c7d7c Mon Sep 17 00:00:00 2001 From: Jean Pierre Cimalando Date: Mon, 7 Sep 2020 05:52:18 -0700 Subject: [PATCH 05/18] Allow the AudioUnit to build again --- cmake/SfizzConfig.cmake | 15 +++++++++++++++ vst/CMakeLists.txt | 1 + 2 files changed, 16 insertions(+) diff --git a/cmake/SfizzConfig.cmake b/cmake/SfizzConfig.cmake index 270954e8..f9201ec8 100644 --- a/cmake/SfizzConfig.cmake +++ b/cmake/SfizzConfig.cmake @@ -27,6 +27,21 @@ if (WIN32) add_compile_definitions(NOMINMAX) endif() +# Find macOS system libraries +if(APPLE) + find_library(APPLE_COREFOUNDATION_LIBRARY "CoreFoundation") + find_library(APPLE_FOUNDATION_LIBRARY "Foundation") + find_library(APPLE_COCOA_LIBRARY "Cocoa") + find_library(APPLE_CARBON_LIBRARY "Carbon") + find_library(APPLE_OPENGL_LIBRARY "OpenGL") + find_library(APPLE_ACCELERATE_LIBRARY "Accelerate") + find_library(APPLE_QUARTZCORE_LIBRARY "QuartzCore") + find_library(APPLE_AUDIOTOOLBOX_LIBRARY "AudioToolbox") + find_library(APPLE_AUDIOUNIT_LIBRARY "AudioUnit") + find_library(APPLE_COREAUDIO_LIBRARY "CoreAudio") + find_library(APPLE_COREMIDI_LIBRARY "CoreMIDI") +endif() + # The variable CMAKE_SYSTEM_PROCESSOR is incorrect on Visual studio... # see https://gitlab.kitware.com/cmake/cmake/issues/15170 diff --git a/vst/CMakeLists.txt b/vst/CMakeLists.txt index bbd2ff2e..cddf56b2 100644 --- a/vst/CMakeLists.txt +++ b/vst/CMakeLists.txt @@ -144,6 +144,7 @@ elseif(SFIZZ_AU) "${APPLE_COCOA_LIBRARY}" "${APPLE_CARBON_LIBRARY}" "${APPLE_AUDIOTOOLBOX_LIBRARY}" + "${APPLE_AUDIOUNIT_LIBRARY}" "${APPLE_COREAUDIO_LIBRARY}" "${APPLE_COREMIDI_LIBRARY}") From 0e7ba04c8cca53c35723a966266d02a5f296716c Mon Sep 17 00:00:00 2001 From: Jean Pierre Cimalando Date: Tue, 8 Sep 2020 08:25:07 +0200 Subject: [PATCH 06/18] Don't search these libs, already done in SfizzConfig --- editor/cmake/Vstgui.cmake | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/editor/cmake/Vstgui.cmake b/editor/cmake/Vstgui.cmake index 25f185bb..06031d80 100644 --- a/editor/cmake/Vstgui.cmake +++ b/editor/cmake/Vstgui.cmake @@ -136,16 +136,6 @@ if(WIN32) "${SHLWAPI_LIBRARY}") endif() elseif(APPLE) - find_library(APPLE_COREFOUNDATION_LIBRARY "CoreFoundation") - find_library(APPLE_FOUNDATION_LIBRARY "Foundation") - find_library(APPLE_COCOA_LIBRARY "Cocoa") - find_library(APPLE_OPENGL_LIBRARY "OpenGL") - find_library(APPLE_ACCELERATE_LIBRARY "Accelerate") - find_library(APPLE_QUARTZCORE_LIBRARY "QuartzCore") - find_library(APPLE_CARBON_LIBRARY "Carbon") - find_library(APPLE_AUDIOTOOLBOX_LIBRARY "AudioToolbox") - find_library(APPLE_COREAUDIO_LIBRARY "CoreAudio") - find_library(APPLE_COREMIDI_LIBRARY "CoreMIDI") target_link_libraries(sfizz-vstgui PRIVATE "${APPLE_COREFOUNDATION_LIBRARY}" "${APPLE_FOUNDATION_LIBRARY}" From 935b07603e7baf2ee8fc44c4c39bcd9638df5a24 Mon Sep 17 00:00:00 2001 From: Paul Ferrand Date: Thu, 10 Sep 2020 13:37:36 +0200 Subject: [PATCH 07/18] Adjust the preload value to account for 4-byte floats --- editor/src/editor/Editor.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/editor/src/editor/Editor.cpp b/editor/src/editor/Editor.cpp index 794eb331..35772396 100644 --- a/editor/src/editor/Editor.cpp +++ b/editor/src/editor/Editor.cpp @@ -565,14 +565,14 @@ void Editor::Impl::createFrameContents() for (int log2value = 10; log2value <= 16; ++log2value) { int value = 1 << log2value; char text[256]; - sprintf(text, "%d kB", value / 1024); + sprintf(text, "%d kB", value / 1024 * 4); text[sizeof(text) - 1] = '\0'; preloadSizeSlider_->addEntry(text, value); } preloadSizeSlider_->setValueToStringFunction2( [](float value, std::string& result, CParamDisplay*) -> bool { - result = std::to_string(static_cast(std::round(value * (1.0 / 1024)))) + " kB"; + result = std::to_string(static_cast(std::round(value * (1.0 / 1024 * 4)))) + " kB"; return true; }); From 279382a7b218b9d1b310613088b3fe1b5ad971d8 Mon Sep 17 00:00:00 2001 From: Paul Ferrand Date: Thu, 10 Sep 2020 15:45:26 +0200 Subject: [PATCH 08/18] Clear adjustment for the preload value --- editor/src/editor/Editor.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/editor/src/editor/Editor.cpp b/editor/src/editor/Editor.cpp index 35772396..1d7bc7b4 100644 --- a/editor/src/editor/Editor.cpp +++ b/editor/src/editor/Editor.cpp @@ -565,14 +565,14 @@ void Editor::Impl::createFrameContents() for (int log2value = 10; log2value <= 16; ++log2value) { int value = 1 << log2value; char text[256]; - sprintf(text, "%d kB", value / 1024 * 4); + sprintf(text, "%lu kB", value / 1024 * sizeof(float)); text[sizeof(text) - 1] = '\0'; preloadSizeSlider_->addEntry(text, value); } preloadSizeSlider_->setValueToStringFunction2( [](float value, std::string& result, CParamDisplay*) -> bool { - result = std::to_string(static_cast(std::round(value * (1.0 / 1024 * 4)))) + " kB"; + result = std::to_string(static_cast(std::round(value * (1.0 / 1024 * sizeof(float))))) + " kB"; return true; }); From 59c64bcb91017fd9965ddf4865f4630b9b18c7e2 Mon Sep 17 00:00:00 2001 From: Paul Ferrand Date: Fri, 11 Sep 2020 03:23:39 +0200 Subject: [PATCH 09/18] Tweaking the GUI The instrument information can be on the main tab Put the button behind the logo Embed the ABeeZee font and use it everywhere Add hover colors to glyph buttons Replace the "file open" glyph by a folder --- editor/CMakeLists.txt | 3 + editor/layout/main.fl | 174 +++++-------- editor/resources/Fonts/ABeeZee-Italic.ttf | Bin 0 -> 45780 bytes editor/resources/Fonts/ABeeZee-Regular.ttf | Bin 0 -> 44184 bytes editor/resources/logo_full_white.png | Bin 0 -> 4516 bytes editor/src/editor/Editor.cpp | 80 ++++-- editor/src/editor/GUIComponents.cpp | 3 + editor/src/editor/layout/main.hpp | 288 ++++++++++----------- 8 files changed, 269 insertions(+), 279 deletions(-) create mode 100644 editor/resources/Fonts/ABeeZee-Italic.ttf create mode 100644 editor/resources/Fonts/ABeeZee-Regular.ttf create mode 100644 editor/resources/logo_full_white.png diff --git a/editor/CMakeLists.txt b/editor/CMakeLists.txt index cce49479..935f5c79 100644 --- a/editor/CMakeLists.txt +++ b/editor/CMakeLists.txt @@ -5,11 +5,14 @@ set(EDITOR_RESOURCES logo.png logo_text.png logo_text@2x.png + logo_full_white.png icon_white.png icon_white@2x.png knob48.png knob48@2x.png Fonts/fluentui-system-regular-20.ttf + Fonts/ABeeZee-Regular.ttf + Fonts/ABeeZee-Regular.ttf PARENT_SCOPE) function(copy_editor_resources SOURCE_DIR DESTINATION_DIR) diff --git a/editor/layout/main.fl b/editor/layout/main.fl index 1d27e987..477d2d40 100644 --- a/editor/layout/main.fl +++ b/editor/layout/main.fl @@ -1,9 +1,9 @@ # data file for the Fltk User Interface Designer (fluid) -version 1.0305 +version 1.0304 header_name {.h} code_name {.cxx} widget_class mainView {open - xywh {410 523 800 475} type Double + xywh {572 266 800 475} type Double class LogicalGroup visible } { Fl_Group {} { @@ -12,112 +12,104 @@ widget_class mainView {open class LogicalGroup } { Fl_Group {} {open - xywh {5 4 100 101} box ROUNDED_BOX align 0 + xywh {5 4 175 101} box ROUNDED_BOX align 0 class RoundedGroup } { Fl_Box {} { comment {tag=kTagFirstChangePanel+kPanelGeneral} - image {../resources/icon_white.png} xywh {7 6 96 96} + image {../resources/logo_full_white.png} xywh {10 11 165 63} class SfizzMainButton } + Fl_Button {} { + comment {tag=kTagFirstChangePanel+kPanelGeneral} + xywh {55 75 25 25} labelsize 24 + class HomeButton + } + Fl_Button {} { + comment {tag=kTagFirstChangePanel+kPanelControls} + xywh {80 75 25 25} labelsize 24 + class CCButton + } + Fl_Button {} { + comment {tag=kTagFirstChangePanel+kPanelSettings} + xywh {105 75 25 25} labelsize 24 + class SettingsButton + } } Fl_Group {} {open - xywh {110 5 380 100} box ROUNDED_BOX + xywh {185 5 380 100} box ROUNDED_BOX class RoundedGroup } { Fl_Box {} { label {File:} - xywh {125 15 40 25} labelsize 16 + xywh {200 13 40 30} labelsize 16 class Label } Fl_Box {} { label {KS:} - xywh {125 45 40 25} labelsize 16 + xywh {200 45 40 30} labelsize 16 class Label } Fl_Box {} { label {Separator 1} - xywh {120 40 355 5} box BORDER_BOX labeltype NO_LABEL + xywh {195 41 360 5} box BORDER_BOX labeltype NO_LABEL class HLine } Fl_Box {} { label {Separator 2} - xywh {120 70 355 5} box BORDER_BOX labeltype NO_LABEL + xywh {195 73 360 5} box BORDER_BOX labeltype NO_LABEL class HLine } Fl_Box sfzFileLabel_ { label {DefaultInstrument.sfz} - xywh {190 15 230 25} labelsize 20 + xywh {265 12 230 30} labelsize 20 class Label } Fl_Box {} { label {Key switch} - xywh {190 45 230 25} labelsize 20 + xywh {265 44 230 30} labelsize 20 class Label } Fl_Box {} { label {Voices:} - xywh {120 75 60 25} labelsize 12 align 24 + xywh {195 76 60 25} labelsize 12 align 24 class Label } Fl_Button {} { comment {tag=kTagLoadSfzFile} - xywh {425 15 25 25} labelsize 24 + xywh {500 14 25 25} labelsize 24 class LoadFileButton } Fl_Button {} { comment {tag=kTagEditSfzFile} - xywh {450 15 25 25} labelsize 24 + xywh {525 14 25 25} labelsize 24 class EditFileButton } Fl_Box infoVoicesLabel_ { - xywh {185 75 50 25} labelsize 12 align 16 + xywh {260 76 50 25} labelsize 12 align 16 class Label } Fl_Box {} { label {Max:} - xywh {240 75 60 25} labelsize 12 align 24 + xywh {315 76 60 25} labelsize 12 align 24 class Label } Fl_Box numVoicesLabel_ { - xywh {305 75 50 25} labelsize 12 align 16 + xywh {380 76 50 25} labelsize 12 align 16 class Label } Fl_Box {} { label {Memory:} - xywh {360 75 60 25} labelsize 12 align 24 + xywh {435 76 60 25} labelsize 12 align 24 class Label } Fl_Box memoryLabel_ { - xywh {425 75 50 25} labelsize 12 align 16 + xywh {500 76 50 25} labelsize 12 align 16 class Label } } Fl_Group {} {open - xywh {495 5 100 100} box ROUNDED_BOX - class RoundedGroup - } { - Fl_Light_Button {} { - label SETUP - comment {tag=kTagFirstChangePanel+kPanelSettings} - xywh {510 42 70 25} - class LightButton - } - Fl_Light_Button {} { - label CC - comment {tag=kTagFirstChangePanel+kPanelControls} - xywh {510 15 70 25} - class LightButton - } - Fl_Light_Button {} { - label INFO - comment {tag=kTagFirstChangePanel+kPanelInfo} - xywh {510 69 70 25} - class LightButton - } - } - Fl_Group {} {open - xywh {600 5 195 100} box ROUNDED_BOX + xywh {570 5 225 100} box ROUNDED_BOX class RoundedGroup } { Fl_Dial {} { @@ -126,7 +118,7 @@ widget_class mainView {open } Fl_Box {} { label Center - xywh {610 70 60 25} labelsize 12 hide + xywh {610 70 60 5} labelsize 12 hide class ValueLabel } Fl_Dial volumeSlider_ { @@ -136,83 +128,74 @@ widget_class mainView {open } Fl_Box volumeLabel_ { label {0.0 dB} - xywh {675 70 60 25} labelsize 12 + xywh {675 70 60 22} labelsize 12 class ValueLabel } Fl_Box {} { - xywh {745 20 35 70} box BORDER_BOX + xywh {745 20 35 55} box BORDER_BOX class VMeter } } } - Fl_Group {subPanels_[kPanelGeneral]} { - xywh {5 110 790 285} hide + Fl_Group {subPanels_[kPanelGeneral]} {open selected + xywh {5 110 791 285} class LogicalGroup } { Fl_Group {} {open - xywh {5 110 120 285} box ROUNDED_BOX + xywh {5 110 175 280} box ROUNDED_BOX class RoundedGroup } { Fl_Box {} { label {Curves:} - xywh {15 120 60 25} labelsize 12 align 20 + xywh {20 120 60 25} align 20 class Label } Fl_Box {} { label {Masters:} - xywh {15 145 60 25} labelsize 12 align 20 + xywh {20 145 60 25} align 20 class Label } Fl_Box {} { label {Groups:} - xywh {15 170 60 25} labelsize 12 align 20 + xywh {20 170 60 25} align 20 class Label } Fl_Box {} { label {Regions:} - xywh {15 195 60 25} labelsize 12 align 20 + xywh {20 195 60 25} align 20 class Label } Fl_Box {} { label {Samples:} - xywh {15 220 60 25} labelsize 12 align 20 + xywh {20 220 60 25} align 20 class Label } Fl_Box infoCurvesLabel_ { label 0 - xywh {75 120 40 25} labelsize 12 align 16 + xywh {120 120 40 25} align 16 class Label } Fl_Box infoMastersLabel_ { label 0 - xywh {75 145 40 25} labelsize 12 align 16 + xywh {120 145 40 25} align 16 class Label } Fl_Box infoGroupsLabel_ { label 0 - xywh {75 170 40 25} labelsize 12 align 16 + xywh {120 170 40 25} align 16 class Label } Fl_Box infoRegionsLabel_ { label 0 - xywh {75 195 40 25} labelsize 12 align 16 + xywh {120 195 40 25} align 16 class Label } Fl_Box infoSamplesLabel_ { label 0 - xywh {75 220 40 25} labelsize 12 align 16 + xywh {120 220 40 25} align 16 class Label } } - Fl_Group {} {open - xywh {130 110 665 280} - class LogicalGroup - } { - Fl_Box {} { - image {../resources/logo_text.png} xywh {260 125 400 250} - class SfizzLargePicture - } - } } Fl_Group {subPanels_[kPanelControls]} { xywh {5 110 790 285} hide @@ -229,114 +212,99 @@ widget_class mainView {open } } } - Fl_Group {subPanels_[kPanelSettings]} {open - xywh {5 110 790 285} + Fl_Group {subPanels_[kPanelSettings]} { + xywh {5 109 790 286} hide class LogicalGroup } { Fl_Group {} { - label Engine open selected - xywh {260 125 280 110} box ROUNDED_BOX labelsize 12 align 17 + label Engine open + xywh {260 110 280 110} box ROUNDED_BOX labelsize 12 align 17 class TitleGroup } { Fl_Spinner numVoicesSlider_ { comment {tag=kTagSetNumVoices} - xywh {285 185 60 25} labelsize 12 textsize 12 + xywh {285 170 60 25} labelsize 12 textsize 12 class ValueMenu } Fl_Box {} { label Polyphony - xywh {275 145 80 25} labelsize 12 + xywh {275 130 80 25} labelsize 12 class ValueLabel } Fl_Spinner oversamplingSlider_ { comment {tag=kTagSetOversampling} - xywh {370 185 60 25} labelsize 12 textsize 12 + xywh {370 170 60 25} labelsize 12 textsize 12 class ValueMenu } Fl_Box {} { label Oversampling - xywh {360 145 80 25} labelsize 12 + xywh {360 130 80 25} labelsize 12 class ValueLabel } Fl_Box {} { label {Preload size} - xywh {445 145 80 25} labelsize 12 + xywh {445 130 80 25} labelsize 12 class ValueLabel } Fl_Spinner preloadSizeSlider_ { comment {tag=kTagSetPreloadSize} - xywh {455 185 60 25} labelsize 12 textsize 12 + xywh {455 170 60 25} labelsize 12 textsize 12 class ValueMenu } } Fl_Group {} { label Tuning open - xywh {205 260 390 120} box ROUNDED_BOX labelsize 12 align 17 + xywh {205 268 390 120} box ROUNDED_BOX labelsize 12 align 17 class TitleGroup } { Fl_Box {} { label {Root key} - xywh {330 280 80 25} labelsize 12 + xywh {330 288 80 25} labelsize 12 class ValueLabel } Fl_Spinner tuningFrequencySlider_ { comment {tag=kTagSetTuningFrequency} - xywh {425 320 60 25} labelsize 12 textsize 12 + xywh {425 328 60 25} labelsize 12 textsize 12 class ValueMenu } Fl_Box {} { label Frequency - xywh {415 280 80 25} labelsize 12 + xywh {415 288 80 25} labelsize 12 class ValueLabel } Fl_Dial stretchedTuningSlider_ { comment {tag=kTagSetStretchedTuning} - xywh {515 305 48 48} value 0.5 + xywh {515 313 48 48} value 0.5 class Knob48 } Fl_Box {} { label Stretch - xywh {500 280 80 25} labelsize 12 + xywh {500 288 80 25} labelsize 12 class ValueLabel } Fl_Box {} { label {Scala file} - xywh {225 280 100 25} labelsize 12 + xywh {225 288 100 25} labelsize 12 class ValueLabel } Fl_Button scalaFileButton_ { label DefaultScale comment {tag=kTagLoadScalaFile} - xywh {225 320 100 25} labelsize 12 + xywh {225 328 100 25} labelsize 12 class ValueButton } Fl_Spinner scalaRootKeySlider_ { comment {tag=kTagSetScalaRootKey} - xywh {340 320 35 25} labelsize 12 textsize 12 + xywh {340 328 35 25} labelsize 12 textsize 12 class ValueMenu } Fl_Spinner scalaRootOctaveSlider_ { comment {tag=kTagSetScalaRootKey} - xywh {375 320 30 25} labelsize 12 textsize 12 + xywh {375 328 30 25} labelsize 12 textsize 12 class ValueMenu } } } - Fl_Group {subPanels_[kPanelInfo]} { - xywh {5 110 790 285} hide - class LogicalGroup - } { - Fl_Group {} {open - xywh {5 110 790 285} box ROUNDED_BOX - class RoundedGroup - } { - Fl_Box {} { - label {Informative text goes here} - xywh {5 110 790 285} labelsize 40 - class Label - } - } - } Fl_Box {} { xywh {5 400 790 70} class Piano diff --git a/editor/resources/Fonts/ABeeZee-Italic.ttf b/editor/resources/Fonts/ABeeZee-Italic.ttf new file mode 100644 index 0000000000000000000000000000000000000000..d98743aff8bc049de88675e3c7efbfd89264d8f5 GIT binary patch literal 45780 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 literal 0 HcmV?d00001 diff --git a/editor/resources/Fonts/ABeeZee-Regular.ttf b/editor/resources/Fonts/ABeeZee-Regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..71e6d16245f37eb1e7aecd847f4c4ae54c9e836d GIT binary patch literal 44184 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 @+H{4m&%{0J+I_`J9Vk_k+ss_AGuWe z=vwLR$Ja{5_O&nmj=LLQ7AYD^JOn$i6=S_|;D%vG_D8Xcy6H3@G_sF^qez%UaKYAq z8>PvaGdZyblNL%Ji{$dLKs5;IzvVJq39^S*8hdgiCE)jJCWX*^zL{Cv&F-it0LwxCLwR1sh_6sh+Vu{tHr+ zG5<%SrDIdMTZ%5Og&g;Hwhei5UD0%Z!L3z~Z8ICH?{%bm(pq(ECe_5>DaRle;31%> z_9^EPh+3?YRYds$e-?;W zAnh2hfN~{XsViUN?paq(yh6`|S2`{|O~q+ z*hZF)Jm*P*TlS=y zrvqYJVUv1bN)wpK`&yDNN4!ahYeMONj4o}kp2B3f~*vKNw_?UQj&XbXE@tfzQo_ z&jXhOmujK9rPAN;x>QP-kVW?N<4cxp@$jv zBw0`}iq1YzIFGfX;3F@%3+X~fVXQD)SSXw3$4`h23xo}_WLg;yU0K8Q9Soxz%a^!Q>&gk!^gJ*< zc&Qe`sZ@IVekzsXlZcA0VRbJ7%fxllurd;`hA0;FZIULd8{^i+Y%x1SHagbiD-!o! zIv)k$pe(}*;d%(3c&Q94hgHgpK%|aiLwxLuXIRxDWBE{hSnN;4<^NirU`27U{Qs^C zid};bL5<*}6HxNKmXv>CCOS z)@Mp=+cqb>Vep;L%a#})+zZUF{u~`ivr(2bA{AH9kUhQn7|O#;+DKCP_n)91Lk4jl z$K1x+`WVblD)XXjXiA9{NTv|ffE}&yN}hCiY}?1%7=8A@U-lK`R3y0rt0cJ&(mXAm zr`0qbXJh0(d`$&Qew>Ywk%Pf+0<@FdZ$Cmfz?#x{dU`cXc@MzMA$pp-$lZk}C?Dc4 zSd+^H9My7XS>xoE)|q2<@$<|!gE@vY36>?GW(OMkIxsA9sjvp(^xP92-~LSxdM2p< z^H&|;_({*jXQ-b55LUxLO9og=p5%T}eHi87PyQ9G-G^CuoO?T)!BBvDRDg>C@{JKl zU0SgW%N2oRYh0+=f%0eAS{fLYVS)uMLVl>KdT7Ld`N2p0zvBmZoqs6BUtazC?x90J zA&e0;$;a)X(F}(DWM#5|C+Z_-bd$_{86k#t_9PqDs%m~nc^RxW)|Ruc3f)(i(y=Lo zB%RN8Z65ply3~$$`!;9!J%l$v3!{7THATbtWq$CpP� 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 iconWhite = owned(new CBitmap("icon_white.png")); + SharedPointer iconWhite = owned(new CBitmap("logo_full_white.png")); SharedPointer knob48 = owned(new CBitmap("knob48.png")); SharedPointer logoText = owned(new CBitmap("logo_text.png")); @@ -332,6 +357,7 @@ void Editor::Impl::createFrameContents() CColor titleBoxText; CColor titleBoxBackground; CColor icon; + CColor iconHighlight; CColor valueText; CColor valueBackground; }; @@ -342,6 +368,7 @@ void Editor::Impl::createFrameContents() lightTheme.titleBoxText = { 0xff, 0xff, 0xff }; lightTheme.titleBoxBackground = { 0x2e, 0x34, 0x36 }; lightTheme.icon = lightTheme.text; + lightTheme.iconHighlight = { 0xa8, 0x62, 0x34 }; lightTheme.valueText = { 0xff, 0xff, 0xff }; lightTheme.valueBackground = { 0x2e, 0x34, 0x36 }; Theme darkTheme; @@ -350,6 +377,7 @@ void Editor::Impl::createFrameContents() darkTheme.titleBoxText = { 0x00, 0x00, 0x00 }; darkTheme.titleBoxBackground = { 0xba, 0xbd, 0xb6 }; darkTheme.icon = darkTheme.text; + darkTheme.iconHighlight = { 0xa8, 0x62, 0x34 }; darkTheme.valueText = { 0x2e, 0x34, 0x36 }; darkTheme.valueBackground = { 0xff, 0xff, 0xff }; Theme& defaultTheme = lightTheme; @@ -363,18 +391,19 @@ void Editor::Impl::createFrameContents() typedef CKickButton SfizzMainButton; typedef CTextLabel Label; typedef CViewContainer HLine; - typedef CTextButton LightButton; typedef CAnimKnob Knob48; typedef CTextLabel ValueLabel; typedef CViewContainer VMeter; - typedef CView SfizzLargePicture; typedef SValueMenu ValueMenu; #if 0 typedef CTextButton Button; #endif typedef CTextButton ValueButton; - typedef CTextButton LoadFileButton; - typedef CTextButton EditFileButton; + typedef CHoverButton LoadFileButton; + typedef CHoverButton CCButton; + typedef CHoverButton HomeButton; + typedef CHoverButton SettingsButton; + typedef CHoverButton EditFileButton; typedef SPiano Piano; auto createLogicalGroup = [](const CRect& bounds, int, const char*, CHoriTxtAlign, int) { @@ -394,7 +423,7 @@ void Editor::Impl::createFrameContents() box->setBackgroundColor(theme->boxBackground); box->setTitleFontColor(theme->titleBoxText); box->setTitleBackgroundColor(theme->titleBoxBackground); - auto font = owned(new CFontDesc(*box->getTitleFont())); + auto font = owned(new CFontDesc("ABeeZee", fontsize)); font->setSize(fontsize); box->setTitleFont(font); return box; @@ -408,7 +437,7 @@ void Editor::Impl::createFrameContents() lbl->setBackColor(CColor(0x00, 0x00, 0x00, 0x00)); lbl->setFontColor(theme->text); lbl->setHoriAlign(align); - auto font = owned(new CFontDesc(*lbl->getFont())); + auto font = owned(new CFontDesc("ABeeZee", fontsize)); font->setSize(fontsize); lbl->setFont(font); return lbl; @@ -420,11 +449,6 @@ void Editor::Impl::createFrameContents() hline->setBackgroundColor(CColor(0xff, 0xff, 0xff, 0xff)); return hline; }; - auto createLightButton = [this](const CRect& bounds, int tag, const char* label, CHoriTxtAlign align, int) { - CTextButton* button = new CTextButton(bounds, this, tag, label); - button->setTextAlignment(align); - return button; - }; auto createKnob48 = [this, &knob48](const CRect& bounds, int tag, const char*, CHoriTxtAlign, int) { return new CAnimKnob(bounds, this, tag, 31, 48, knob48); }; @@ -434,7 +458,7 @@ void Editor::Impl::createFrameContents() lbl->setBackColor(CColor(0x00, 0x00, 0x00, 0x00)); lbl->setFontColor(theme->text); lbl->setHoriAlign(align); - auto font = owned(new CFontDesc(*lbl->getFont())); + auto font = owned(new CFontDesc("ABeeZee", fontsize)); font->setSize(fontsize); lbl->setFont(font); return lbl; @@ -445,11 +469,6 @@ void Editor::Impl::createFrameContents() container->setBackgroundColor(CColor(0x00, 0x00, 0x00, 0x00)); return container; }; - auto createSfizzLargePicture = [&logoText](const CRect& bounds, int, const char*, CHoriTxtAlign, int) { - CView* picture = new CView(bounds); - picture->setBackground(logoText); - return picture; - }; #if 0 auto createButton = [this](const CRect& bounds, int tag, const char* label, CHoriTxtAlign align, int fontsize) { CTextButton* button = new CTextButton(bounds, this, tag, label); @@ -462,7 +481,7 @@ void Editor::Impl::createFrameContents() #endif auto createValueButton = [this, &theme](const CRect& bounds, int tag, const char* label, CHoriTxtAlign align, int fontsize) { CTextButton* button = new CTextButton(bounds, this, tag, label); - auto font = owned(new CFontDesc(*button->getFont())); + auto font = owned(new CFontDesc("ABeeZee", fontsize)); font->setSize(fontsize); button->setFont(font); button->setTextAlignment(align); @@ -476,7 +495,7 @@ void Editor::Impl::createFrameContents() auto createValueMenu = [this, &theme](const CRect& bounds, int tag, const char*, CHoriTxtAlign align, int fontsize) { SValueMenu* vm = new SValueMenu(bounds, this, tag); vm->setHoriAlign(align); - auto font = owned(new CFontDesc(*vm->getFont())); + auto font = owned(new CFontDesc("ABeeZee", fontsize)); font->setSize(fontsize); vm->setFont(font); vm->setFontColor(theme->valueText); @@ -487,19 +506,30 @@ void Editor::Impl::createFrameContents() return vm; }; auto createGlyphButton = [this, &theme](UTF8StringPtr glyph, const CRect& bounds, int tag, int fontsize) { - CTextButton* btn = new CTextButton(bounds, this, tag, glyph); + CHoverButton* btn = new CHoverButton(bounds, this, tag, glyph); btn->setFont(new CFontDesc("Fluent System Regular W20", fontsize)); btn->setTextColor(theme->icon); + btn->setHoverColor(theme->iconHighlight); btn->setFrameColor(CColor(0x00, 0x00, 0x00, 0x00)); btn->setGradient(nullptr); btn->setGradientHighlighted(nullptr); return btn; }; - auto createLoadFileButton = [&createGlyphButton](const CRect& bounds, int tag, const char*, CHoriTxtAlign, int fontsize) { - return createGlyphButton(u8"\ue142", bounds, tag, fontsize); + auto createHomeButton = [&createGlyphButton](const CRect& bounds, int tag, const char*, CHoriTxtAlign, int fontsize) { + return createGlyphButton(u8"\ue1d6", bounds, tag, fontsize); + }; + auto createCCButton = [&createGlyphButton](const CRect& bounds, int tag, const char*, CHoriTxtAlign, int fontsize) { + // return createGlyphButton(u8"\ue240", bounds, tag, fontsize); + return createGlyphButton(u8"\ue140", bounds, tag, fontsize); + }; + auto createSettingsButton = [&createGlyphButton](const CRect& bounds, int tag, const char*, CHoriTxtAlign, int fontsize) { + return createGlyphButton(u8"\ue2e4", bounds, tag, fontsize); }; auto createEditFileButton = [&createGlyphButton](const CRect& bounds, int tag, const char*, CHoriTxtAlign, int fontsize) { - return createGlyphButton(u8"\ue148", bounds, tag, fontsize); + return createGlyphButton(u8"\ue142", bounds, tag, fontsize); + }; + auto createLoadFileButton = [&createGlyphButton](const CRect& bounds, int tag, const char*, CHoriTxtAlign, int fontsize) { + return createGlyphButton(u8"\ue1a3", bounds, tag, fontsize); }; auto createPiano = [](const CRect& bounds, int, const char*, CHoriTxtAlign, int) { SPiano* piano = new SPiano(bounds); diff --git a/editor/src/editor/GUIComponents.cpp b/editor/src/editor/GUIComponents.cpp index c4e6f958..d604d76e 100644 --- a/editor/src/editor/GUIComponents.cpp +++ b/editor/src/editor/GUIComponents.cpp @@ -408,6 +408,9 @@ CMouseEventResult SValueMenu::onMouseDown(CPoint& where, const CButtonState& but menu->addEntry(item); item->remember(); // above call does not increment refcount } + menu->setFont(self->getFont()); + menu->setFontColor(self->getFontColor()); + menu->setBackColor(self->getBackColor()); menu->popup(frame, frameWhere + CPoint(0.0, 1.0)); } }); diff --git a/editor/src/editor/layout/main.hpp b/editor/src/editor/layout/main.hpp index 808e5a10..c8e93a39 100644 --- a/editor/src/editor/layout/main.hpp +++ b/editor/src/editor/layout/main.hpp @@ -4,164 +4,150 @@ mainView = view__0; enterTheme(darkTheme); LogicalGroup* const view__1 = createLogicalGroup(CRect(0, 0, 800, 110), -1, "", kCenterText, 14); view__0->addView(view__1); -RoundedGroup* const view__2 = createRoundedGroup(CRect(5, 4, 105, 105), -1, "", kCenterText, 14); +RoundedGroup* const view__2 = createRoundedGroup(CRect(5, 4, 180, 105), -1, "", kCenterText, 14); view__1->addView(view__2); -SfizzMainButton* const view__3 = createSfizzMainButton(CRect(2, 2, 98, 98), kTagFirstChangePanel+kPanelGeneral, "", kCenterText, 14); +SfizzMainButton* const view__3 = createSfizzMainButton(CRect(5, 7, 170, 70), kTagFirstChangePanel+kPanelGeneral, "", kCenterText, 14); view__2->addView(view__3); -RoundedGroup* const view__4 = createRoundedGroup(CRect(110, 5, 490, 105), -1, "", kCenterText, 14); -view__1->addView(view__4); -Label* const view__5 = createLabel(CRect(15, 10, 55, 35), -1, "File:", kCenterText, 16); -view__4->addView(view__5); -Label* const view__6 = createLabel(CRect(15, 40, 55, 65), -1, "KS:", kCenterText, 16); -view__4->addView(view__6); -HLine* const view__7 = createHLine(CRect(10, 35, 365, 40), -1, "", kCenterText, 14); -view__4->addView(view__7); -HLine* const view__8 = createHLine(CRect(10, 65, 365, 70), -1, "", kCenterText, 14); -view__4->addView(view__8); -Label* const view__9 = createLabel(CRect(80, 10, 310, 35), -1, "DefaultInstrument.sfz", kCenterText, 20); -sfzFileLabel_ = view__9; -view__4->addView(view__9); -Label* const view__10 = createLabel(CRect(80, 40, 310, 65), -1, "Key switch", kCenterText, 20); -view__4->addView(view__10); -Label* const view__11 = createLabel(CRect(10, 70, 70, 95), -1, "Voices:", kRightText, 12); -view__4->addView(view__11); -LoadFileButton* const view__12 = createLoadFileButton(CRect(315, 10, 340, 35), kTagLoadSfzFile, "", kCenterText, 24); -view__4->addView(view__12); -EditFileButton* const view__13 = createEditFileButton(CRect(340, 10, 365, 35), kTagEditSfzFile, "", kCenterText, 24); -view__4->addView(view__13); -Label* const view__14 = createLabel(CRect(75, 70, 125, 95), -1, "", kCenterText, 12); -infoVoicesLabel_ = view__14; -view__4->addView(view__14); -Label* const view__15 = createLabel(CRect(130, 70, 190, 95), -1, "Max:", kRightText, 12); -view__4->addView(view__15); -Label* const view__16 = createLabel(CRect(195, 70, 245, 95), -1, "", kCenterText, 12); -numVoicesLabel_ = view__16; -view__4->addView(view__16); -Label* const view__17 = createLabel(CRect(250, 70, 310, 95), -1, "Memory:", kRightText, 12); -view__4->addView(view__17); -Label* const view__18 = createLabel(CRect(315, 70, 365, 95), -1, "", kCenterText, 12); -memoryLabel_ = view__18; -view__4->addView(view__18); -RoundedGroup* const view__19 = createRoundedGroup(CRect(495, 5, 595, 105), -1, "", kCenterText, 14); -view__1->addView(view__19); -LightButton* const view__20 = createLightButton(CRect(15, 37, 85, 62), kTagFirstChangePanel+kPanelSettings, "SETUP", kCenterText, 14); -view__19->addView(view__20); -LightButton* const view__21 = createLightButton(CRect(15, 10, 85, 35), kTagFirstChangePanel+kPanelControls, "CC", kCenterText, 14); -view__19->addView(view__21); -LightButton* const view__22 = createLightButton(CRect(15, 64, 85, 89), kTagFirstChangePanel+kPanelInfo, "INFO", kCenterText, 14); -view__19->addView(view__22); -RoundedGroup* const view__23 = createRoundedGroup(CRect(600, 5, 795, 105), -1, "", kCenterText, 14); -view__1->addView(view__23); -Knob48* const view__24 = createKnob48(CRect(15, 15, 63, 63), -1, "", kCenterText, 14); -view__23->addView(view__24); +HomeButton* const view__4 = createHomeButton(CRect(50, 71, 75, 96), kTagFirstChangePanel+kPanelGeneral, "", kCenterText, 24); +view__2->addView(view__4); +CCButton* const view__5 = createCCButton(CRect(75, 71, 100, 96), kTagFirstChangePanel+kPanelControls, "", kCenterText, 24); +view__2->addView(view__5); +SettingsButton* const view__6 = createSettingsButton(CRect(100, 71, 125, 96), kTagFirstChangePanel+kPanelSettings, "", kCenterText, 24); +view__2->addView(view__6); +RoundedGroup* const view__7 = createRoundedGroup(CRect(185, 5, 565, 105), -1, "", kCenterText, 14); +view__1->addView(view__7); +Label* const view__8 = createLabel(CRect(15, 8, 55, 38), -1, "File:", kCenterText, 16); +view__7->addView(view__8); +Label* const view__9 = createLabel(CRect(15, 40, 55, 70), -1, "KS:", kCenterText, 16); +view__7->addView(view__9); +HLine* const view__10 = createHLine(CRect(10, 36, 370, 41), -1, "", kCenterText, 14); +view__7->addView(view__10); +HLine* const view__11 = createHLine(CRect(10, 68, 370, 73), -1, "", kCenterText, 14); +view__7->addView(view__11); +Label* const view__12 = createLabel(CRect(80, 7, 310, 37), -1, "DefaultInstrument.sfz", kCenterText, 20); +sfzFileLabel_ = view__12; +view__7->addView(view__12); +Label* const view__13 = createLabel(CRect(80, 39, 310, 69), -1, "Key switch", kCenterText, 20); +view__7->addView(view__13); +Label* const view__14 = createLabel(CRect(10, 71, 70, 96), -1, "Voices:", kRightText, 12); +view__7->addView(view__14); +LoadFileButton* const view__15 = createLoadFileButton(CRect(315, 9, 340, 34), kTagLoadSfzFile, "", kCenterText, 24); +view__7->addView(view__15); +EditFileButton* const view__16 = createEditFileButton(CRect(340, 9, 365, 34), kTagEditSfzFile, "", kCenterText, 24); +view__7->addView(view__16); +Label* const view__17 = createLabel(CRect(75, 71, 125, 96), -1, "", kCenterText, 12); +infoVoicesLabel_ = view__17; +view__7->addView(view__17); +Label* const view__18 = createLabel(CRect(130, 71, 190, 96), -1, "Max:", kRightText, 12); +view__7->addView(view__18); +Label* const view__19 = createLabel(CRect(195, 71, 245, 96), -1, "", kCenterText, 12); +numVoicesLabel_ = view__19; +view__7->addView(view__19); +Label* const view__20 = createLabel(CRect(250, 71, 310, 96), -1, "Memory:", kRightText, 12); +view__7->addView(view__20); +Label* const view__21 = createLabel(CRect(315, 71, 365, 96), -1, "", kCenterText, 12); +memoryLabel_ = view__21; +view__7->addView(view__21); +RoundedGroup* const view__22 = createRoundedGroup(CRect(570, 5, 795, 105), -1, "", kCenterText, 14); +view__1->addView(view__22); +Knob48* const view__23 = createKnob48(CRect(45, 15, 93, 63), -1, "", kCenterText, 14); +view__22->addView(view__23); +view__23->setVisible(false); +ValueLabel* const view__24 = createValueLabel(CRect(40, 65, 100, 70), -1, "Center", kCenterText, 12); +view__22->addView(view__24); view__24->setVisible(false); -ValueLabel* const view__25 = createValueLabel(CRect(10, 65, 70, 90), -1, "Center", kCenterText, 12); -view__23->addView(view__25); -view__25->setVisible(false); -Knob48* const view__26 = createKnob48(CRect(80, 15, 128, 63), kTagSetVolume, "", kCenterText, 14); -volumeSlider_ = view__26; -view__23->addView(view__26); -ValueLabel* const view__27 = createValueLabel(CRect(75, 65, 135, 90), -1, "0.0 dB", kCenterText, 12); -volumeLabel_ = view__27; -view__23->addView(view__27); -VMeter* const view__28 = createVMeter(CRect(145, 15, 180, 85), -1, "", kCenterText, 14); -view__23->addView(view__28); +Knob48* const view__25 = createKnob48(CRect(110, 15, 158, 63), kTagSetVolume, "", kCenterText, 14); +volumeSlider_ = view__25; +view__22->addView(view__25); +ValueLabel* const view__26 = createValueLabel(CRect(105, 65, 165, 87), -1, "0.0 dB", kCenterText, 12); +volumeLabel_ = view__26; +view__22->addView(view__26); +VMeter* const view__27 = createVMeter(CRect(175, 15, 210, 70), -1, "", kCenterText, 14); +view__22->addView(view__27); enterTheme(defaultTheme); -LogicalGroup* const view__29 = createLogicalGroup(CRect(5, 110, 795, 395), -1, "", kCenterText, 14); -subPanels_[kPanelGeneral] = view__29; -view__0->addView(view__29); -view__29->setVisible(false); -RoundedGroup* const view__30 = createRoundedGroup(CRect(0, 0, 120, 285), -1, "", kCenterText, 14); +LogicalGroup* const view__28 = createLogicalGroup(CRect(5, 110, 796, 395), -1, "", kCenterText, 14); +subPanels_[kPanelGeneral] = view__28; +view__0->addView(view__28); +RoundedGroup* const view__29 = createRoundedGroup(CRect(0, 0, 175, 280), -1, "", kCenterText, 14); +view__28->addView(view__29); +Label* const view__30 = createLabel(CRect(15, 10, 75, 35), -1, "Curves:", kLeftText, 14); view__29->addView(view__30); -Label* const view__31 = createLabel(CRect(10, 10, 70, 35), -1, "Curves:", kLeftText, 12); -view__30->addView(view__31); -Label* const view__32 = createLabel(CRect(10, 35, 70, 60), -1, "Masters:", kLeftText, 12); -view__30->addView(view__32); -Label* const view__33 = createLabel(CRect(10, 60, 70, 85), -1, "Groups:", kLeftText, 12); -view__30->addView(view__33); -Label* const view__34 = createLabel(CRect(10, 85, 70, 110), -1, "Regions:", kLeftText, 12); -view__30->addView(view__34); -Label* const view__35 = createLabel(CRect(10, 110, 70, 135), -1, "Samples:", kLeftText, 12); -view__30->addView(view__35); -Label* const view__36 = createLabel(CRect(70, 10, 110, 35), -1, "0", kCenterText, 12); -infoCurvesLabel_ = view__36; -view__30->addView(view__36); -Label* const view__37 = createLabel(CRect(70, 35, 110, 60), -1, "0", kCenterText, 12); -infoMastersLabel_ = view__37; -view__30->addView(view__37); -Label* const view__38 = createLabel(CRect(70, 60, 110, 85), -1, "0", kCenterText, 12); -infoGroupsLabel_ = view__38; -view__30->addView(view__38); -Label* const view__39 = createLabel(CRect(70, 85, 110, 110), -1, "0", kCenterText, 12); -infoRegionsLabel_ = view__39; -view__30->addView(view__39); -Label* const view__40 = createLabel(CRect(70, 110, 110, 135), -1, "0", kCenterText, 12); -infoSamplesLabel_ = view__40; -view__30->addView(view__40); -LogicalGroup* const view__41 = createLogicalGroup(CRect(125, 0, 790, 280), -1, "", kCenterText, 14); -view__29->addView(view__41); -SfizzLargePicture* const view__42 = createSfizzLargePicture(CRect(130, 15, 530, 265), -1, "", kCenterText, 14); +Label* const view__31 = createLabel(CRect(15, 35, 75, 60), -1, "Masters:", kLeftText, 14); +view__29->addView(view__31); +Label* const view__32 = createLabel(CRect(15, 60, 75, 85), -1, "Groups:", kLeftText, 14); +view__29->addView(view__32); +Label* const view__33 = createLabel(CRect(15, 85, 75, 110), -1, "Regions:", kLeftText, 14); +view__29->addView(view__33); +Label* const view__34 = createLabel(CRect(15, 110, 75, 135), -1, "Samples:", kLeftText, 14); +view__29->addView(view__34); +Label* const view__35 = createLabel(CRect(115, 10, 155, 35), -1, "0", kCenterText, 14); +infoCurvesLabel_ = view__35; +view__29->addView(view__35); +Label* const view__36 = createLabel(CRect(115, 35, 155, 60), -1, "0", kCenterText, 14); +infoMastersLabel_ = view__36; +view__29->addView(view__36); +Label* const view__37 = createLabel(CRect(115, 60, 155, 85), -1, "0", kCenterText, 14); +infoGroupsLabel_ = view__37; +view__29->addView(view__37); +Label* const view__38 = createLabel(CRect(115, 85, 155, 110), -1, "0", kCenterText, 14); +infoRegionsLabel_ = view__38; +view__29->addView(view__38); +Label* const view__39 = createLabel(CRect(115, 110, 155, 135), -1, "0", kCenterText, 14); +infoSamplesLabel_ = view__39; +view__29->addView(view__39); +LogicalGroup* const view__40 = createLogicalGroup(CRect(5, 110, 795, 395), -1, "", kCenterText, 14); +subPanels_[kPanelControls] = view__40; +view__0->addView(view__40); +view__40->setVisible(false); +RoundedGroup* const view__41 = createRoundedGroup(CRect(0, 0, 790, 285), -1, "", kCenterText, 14); +view__40->addView(view__41); +Label* const view__42 = createLabel(CRect(0, 0, 790, 285), -1, "Controls not available", kCenterText, 40); view__41->addView(view__42); -LogicalGroup* const view__43 = createLogicalGroup(CRect(5, 110, 795, 395), -1, "", kCenterText, 14); -subPanels_[kPanelControls] = view__43; +LogicalGroup* const view__43 = createLogicalGroup(CRect(5, 109, 795, 395), -1, "", kCenterText, 14); +subPanels_[kPanelSettings] = view__43; view__0->addView(view__43); view__43->setVisible(false); -RoundedGroup* const view__44 = createRoundedGroup(CRect(0, 0, 790, 285), -1, "", kCenterText, 14); +TitleGroup* const view__44 = createTitleGroup(CRect(255, 1, 535, 111), -1, "Engine", kCenterText, 12); view__43->addView(view__44); -Label* const view__45 = createLabel(CRect(0, 0, 790, 285), -1, "Controls not available", kCenterText, 40); +ValueMenu* const view__45 = createValueMenu(CRect(25, 60, 85, 85), kTagSetNumVoices, "", kCenterText, 12); +numVoicesSlider_ = view__45; view__44->addView(view__45); -LogicalGroup* const view__46 = createLogicalGroup(CRect(5, 110, 795, 395), -1, "", kCenterText, 14); -subPanels_[kPanelSettings] = view__46; -view__0->addView(view__46); -TitleGroup* const view__47 = createTitleGroup(CRect(255, 15, 535, 125), -1, "Engine", kCenterText, 12); -view__46->addView(view__47); -ValueMenu* const view__48 = createValueMenu(CRect(25, 60, 85, 85), kTagSetNumVoices, "", kCenterText, 12); -numVoicesSlider_ = view__48; -view__47->addView(view__48); -ValueLabel* const view__49 = createValueLabel(CRect(15, 20, 95, 45), -1, "Polyphony", kCenterText, 12); -view__47->addView(view__49); -ValueMenu* const view__50 = createValueMenu(CRect(110, 60, 170, 85), kTagSetOversampling, "", kCenterText, 12); -oversamplingSlider_ = view__50; -view__47->addView(view__50); -ValueLabel* const view__51 = createValueLabel(CRect(100, 20, 180, 45), -1, "Oversampling", kCenterText, 12); -view__47->addView(view__51); -ValueLabel* const view__52 = createValueLabel(CRect(185, 20, 265, 45), -1, "Preload size", kCenterText, 12); -view__47->addView(view__52); -ValueMenu* const view__53 = createValueMenu(CRect(195, 60, 255, 85), kTagSetPreloadSize, "", kCenterText, 12); -preloadSizeSlider_ = view__53; -view__47->addView(view__53); -TitleGroup* const view__54 = createTitleGroup(CRect(200, 150, 590, 270), -1, "Tuning", kCenterText, 12); -view__46->addView(view__54); -ValueLabel* const view__55 = createValueLabel(CRect(125, 20, 205, 45), -1, "Root key", kCenterText, 12); -view__54->addView(view__55); -ValueMenu* const view__56 = createValueMenu(CRect(220, 60, 280, 85), kTagSetTuningFrequency, "", kCenterText, 12); -tuningFrequencySlider_ = view__56; -view__54->addView(view__56); -ValueLabel* const view__57 = createValueLabel(CRect(210, 20, 290, 45), -1, "Frequency", kCenterText, 12); -view__54->addView(view__57); -Knob48* const view__58 = createKnob48(CRect(310, 45, 358, 93), kTagSetStretchedTuning, "", kCenterText, 14); -stretchedTuningSlider_ = view__58; -view__54->addView(view__58); -ValueLabel* const view__59 = createValueLabel(CRect(295, 20, 375, 45), -1, "Stretch", kCenterText, 12); -view__54->addView(view__59); -ValueLabel* const view__60 = createValueLabel(CRect(20, 20, 120, 45), -1, "Scala file", kCenterText, 12); -view__54->addView(view__60); -ValueButton* const view__61 = createValueButton(CRect(20, 60, 120, 85), kTagLoadScalaFile, "DefaultScale", kCenterText, 12); -scalaFileButton_ = view__61; -view__54->addView(view__61); -ValueMenu* const view__62 = createValueMenu(CRect(135, 60, 170, 85), kTagSetScalaRootKey, "", kCenterText, 12); -scalaRootKeySlider_ = view__62; -view__54->addView(view__62); -ValueMenu* const view__63 = createValueMenu(CRect(170, 60, 200, 85), kTagSetScalaRootKey, "", kCenterText, 12); -scalaRootOctaveSlider_ = view__63; -view__54->addView(view__63); -LogicalGroup* const view__64 = createLogicalGroup(CRect(5, 110, 795, 395), -1, "", kCenterText, 14); -subPanels_[kPanelInfo] = view__64; -view__0->addView(view__64); -view__64->setVisible(false); -RoundedGroup* const view__65 = createRoundedGroup(CRect(0, 0, 790, 285), -1, "", kCenterText, 14); -view__64->addView(view__65); -Label* const view__66 = createLabel(CRect(0, 0, 790, 285), -1, "Informative text goes here", kCenterText, 40); -view__65->addView(view__66); -Piano* const view__67 = createPiano(CRect(5, 400, 795, 470), -1, "", kCenterText, 14); -view__0->addView(view__67); +ValueLabel* const view__46 = createValueLabel(CRect(15, 20, 95, 45), -1, "Polyphony", kCenterText, 12); +view__44->addView(view__46); +ValueMenu* const view__47 = createValueMenu(CRect(110, 60, 170, 85), kTagSetOversampling, "", kCenterText, 12); +oversamplingSlider_ = view__47; +view__44->addView(view__47); +ValueLabel* const view__48 = createValueLabel(CRect(100, 20, 180, 45), -1, "Oversampling", kCenterText, 12); +view__44->addView(view__48); +ValueLabel* const view__49 = createValueLabel(CRect(185, 20, 265, 45), -1, "Preload size", kCenterText, 12); +view__44->addView(view__49); +ValueMenu* const view__50 = createValueMenu(CRect(195, 60, 255, 85), kTagSetPreloadSize, "", kCenterText, 12); +preloadSizeSlider_ = view__50; +view__44->addView(view__50); +TitleGroup* const view__51 = createTitleGroup(CRect(200, 159, 590, 279), -1, "Tuning", kCenterText, 12); +view__43->addView(view__51); +ValueLabel* const view__52 = createValueLabel(CRect(125, 20, 205, 45), -1, "Root key", kCenterText, 12); +view__51->addView(view__52); +ValueMenu* const view__53 = createValueMenu(CRect(220, 60, 280, 85), kTagSetTuningFrequency, "", kCenterText, 12); +tuningFrequencySlider_ = view__53; +view__51->addView(view__53); +ValueLabel* const view__54 = createValueLabel(CRect(210, 20, 290, 45), -1, "Frequency", kCenterText, 12); +view__51->addView(view__54); +Knob48* const view__55 = createKnob48(CRect(310, 45, 358, 93), kTagSetStretchedTuning, "", kCenterText, 14); +stretchedTuningSlider_ = view__55; +view__51->addView(view__55); +ValueLabel* const view__56 = createValueLabel(CRect(295, 20, 375, 45), -1, "Stretch", kCenterText, 12); +view__51->addView(view__56); +ValueLabel* const view__57 = createValueLabel(CRect(20, 20, 120, 45), -1, "Scala file", kCenterText, 12); +view__51->addView(view__57); +ValueButton* const view__58 = createValueButton(CRect(20, 60, 120, 85), kTagLoadScalaFile, "DefaultScale", kCenterText, 12); +scalaFileButton_ = view__58; +view__51->addView(view__58); +ValueMenu* const view__59 = createValueMenu(CRect(135, 60, 170, 85), kTagSetScalaRootKey, "", kCenterText, 12); +scalaRootKeySlider_ = view__59; +view__51->addView(view__59); +ValueMenu* const view__60 = createValueMenu(CRect(170, 60, 200, 85), kTagSetScalaRootKey, "", kCenterText, 12); +scalaRootOctaveSlider_ = view__60; +view__51->addView(view__60); +Piano* const view__61 = createPiano(CRect(5, 400, 795, 470), -1, "", kCenterText, 14); +view__0->addView(view__61); From 574afcaf7435e54abafbe417cd9f7a66ee1b71cc Mon Sep 17 00:00:00 2001 From: Paul Ferrand Date: Fri, 11 Sep 2020 10:21:48 +0200 Subject: [PATCH 10/18] Move HoverButton to GUIComponents --- editor/src/editor/Editor.cpp | 26 -------------------------- editor/src/editor/GUIComponents.cpp | 18 ++++++++++++++++++ editor/src/editor/GUIComponents.h | 15 +++++++++++++++ 3 files changed, 33 insertions(+), 26 deletions(-) diff --git a/editor/src/editor/Editor.cpp b/editor/src/editor/Editor.cpp index 3d0c70ea..dc46b41a 100644 --- a/editor/src/editor/Editor.cpp +++ b/editor/src/editor/Editor.cpp @@ -313,32 +313,6 @@ void Editor::Impl::uiReceiveValue(EditId id, const EditValue& v) break; } } -class CHoverButton: public CTextButton { -public: - CHoverButton(const CRect& size, IControlListener* listener = nullptr, int32_t tag = -1, UTF8StringPtr title = nullptr) - : CTextButton(size, listener, tag, title) {} - - void setHoverColor(const CColor& color) - { - hoverColor = color; - } - - CMouseEventResult onMouseEntered (CPoint& where, const CButtonState& buttons) override - { - backupColor = getTextColor(); - setTextColor(hoverColor); - return CTextButton::onMouseEntered(where, buttons); - } - - CMouseEventResult onMouseExited (CPoint& where, const CButtonState& buttons) override - { - setTextColor(backupColor); - return CTextButton::onMouseExited(where, buttons); - } -private: - CColor hoverColor; - CColor backupColor; -}; void Editor::Impl::createFrameContents() { diff --git a/editor/src/editor/GUIComponents.cpp b/editor/src/editor/GUIComponents.cpp index d604d76e..cf344489 100644 --- a/editor/src/editor/GUIComponents.cpp +++ b/editor/src/editor/GUIComponents.cpp @@ -427,3 +427,21 @@ void SValueMenu::onItemClicked(int32_t index) if (getValue() != oldValue) valueChanged(); } + +void CHoverButton::setHoverColor (const CColor& color) +{ + hoverColor_ = color; +} + +CMouseEventResult CHoverButton::onMouseEntered (CPoint& where, const CButtonState& buttons) +{ + backupColor_ = getTextColor(); + setTextColor(hoverColor_); + return CTextButton::onMouseEntered(where, buttons); +} + +CMouseEventResult CHoverButton::onMouseExited (CPoint& where, const CButtonState& buttons) +{ + setTextColor(backupColor_); + return CTextButton::onMouseExited(where, buttons); +} diff --git a/editor/src/editor/GUIComponents.h b/editor/src/editor/GUIComponents.h index 8c295f5e..6b970864 100644 --- a/editor/src/editor/GUIComponents.h +++ b/editor/src/editor/GUIComponents.h @@ -11,6 +11,7 @@ #include "vstgui/lib/controls/cslider.h" #include "vstgui/lib/controls/cknob.h" #include "vstgui/lib/controls/ctextlabel.h" +#include "vstgui/lib/controls/cbuttons.h" #include "vstgui/lib/controls/coptionmenu.h" #include "vstgui/lib/cviewcontainer.h" #include "vstgui/lib/ccolor.h" @@ -146,3 +147,17 @@ private: SValueMenu& menu_; }; }; + +/// +class CHoverButton: public CTextButton { +public: + CHoverButton(const CRect& size, IControlListener* listener = nullptr, int32_t tag = -1, UTF8StringPtr title = nullptr) + : CTextButton(size, listener, tag, title) {} + + void setHoverColor(const CColor& color); + CMouseEventResult onMouseEntered (CPoint& where, const CButtonState& buttons) override; + CMouseEventResult onMouseExited (CPoint& where, const CButtonState& buttons) override; +private: + CColor hoverColor_; + CColor backupColor_; +}; From 65e75523bb0f2720dac8808856e0a13d3ead8ad4 Mon Sep 17 00:00:00 2001 From: Paul Ferrand Date: Fri, 11 Sep 2020 12:52:19 +0200 Subject: [PATCH 11/18] Change button name --- editor/src/editor/Editor.cpp | 12 ++++++------ editor/src/editor/GUIComponents.cpp | 6 +++--- editor/src/editor/GUIComponents.h | 4 ++-- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/editor/src/editor/Editor.cpp b/editor/src/editor/Editor.cpp index dc46b41a..24503d1e 100644 --- a/editor/src/editor/Editor.cpp +++ b/editor/src/editor/Editor.cpp @@ -373,11 +373,11 @@ void Editor::Impl::createFrameContents() typedef CTextButton Button; #endif typedef CTextButton ValueButton; - typedef CHoverButton LoadFileButton; - typedef CHoverButton CCButton; - typedef CHoverButton HomeButton; - typedef CHoverButton SettingsButton; - typedef CHoverButton EditFileButton; + typedef SHoverButton LoadFileButton; + typedef SHoverButton CCButton; + typedef SHoverButton HomeButton; + typedef SHoverButton SettingsButton; + typedef SHoverButton EditFileButton; typedef SPiano Piano; auto createLogicalGroup = [](const CRect& bounds, int, const char*, CHoriTxtAlign, int) { @@ -480,7 +480,7 @@ void Editor::Impl::createFrameContents() return vm; }; auto createGlyphButton = [this, &theme](UTF8StringPtr glyph, const CRect& bounds, int tag, int fontsize) { - CHoverButton* btn = new CHoverButton(bounds, this, tag, glyph); + SHoverButton* btn = new SHoverButton(bounds, this, tag, glyph); btn->setFont(new CFontDesc("Fluent System Regular W20", fontsize)); btn->setTextColor(theme->icon); btn->setHoverColor(theme->iconHighlight); diff --git a/editor/src/editor/GUIComponents.cpp b/editor/src/editor/GUIComponents.cpp index cf344489..84afec45 100644 --- a/editor/src/editor/GUIComponents.cpp +++ b/editor/src/editor/GUIComponents.cpp @@ -428,19 +428,19 @@ void SValueMenu::onItemClicked(int32_t index) valueChanged(); } -void CHoverButton::setHoverColor (const CColor& color) +void SHoverButton::setHoverColor (const CColor& color) { hoverColor_ = color; } -CMouseEventResult CHoverButton::onMouseEntered (CPoint& where, const CButtonState& buttons) +CMouseEventResult SHoverButton::onMouseEntered (CPoint& where, const CButtonState& buttons) { backupColor_ = getTextColor(); setTextColor(hoverColor_); return CTextButton::onMouseEntered(where, buttons); } -CMouseEventResult CHoverButton::onMouseExited (CPoint& where, const CButtonState& buttons) +CMouseEventResult SHoverButton::onMouseExited (CPoint& where, const CButtonState& buttons) { setTextColor(backupColor_); return CTextButton::onMouseExited(where, buttons); diff --git a/editor/src/editor/GUIComponents.h b/editor/src/editor/GUIComponents.h index 6b970864..31d14bae 100644 --- a/editor/src/editor/GUIComponents.h +++ b/editor/src/editor/GUIComponents.h @@ -149,9 +149,9 @@ private: }; /// -class CHoverButton: public CTextButton { +class SHoverButton: public CTextButton { public: - CHoverButton(const CRect& size, IControlListener* listener = nullptr, int32_t tag = -1, UTF8StringPtr title = nullptr) + SHoverButton(const CRect& size, IControlListener* listener = nullptr, int32_t tag = -1, UTF8StringPtr title = nullptr) : CTextButton(size, listener, tag, title) {} void setHoverColor(const CColor& color); From fa548a6193fcd45fe92c514583fa2ff873719676 Mon Sep 17 00:00:00 2001 From: Paul Ferrand Date: Fri, 11 Sep 2020 13:19:23 +0200 Subject: [PATCH 12/18] Change font, top left icon, and engraving --- editor/CMakeLists.txt | 8 +- editor/layout/main.fl | 16 +- editor/resources/Fonts/ABeeZee-Italic.ttf | Bin 45780 -> 0 bytes editor/resources/Fonts/ABeeZee-Regular.ttf | Bin 44184 -> 0 bytes editor/resources/Fonts/Roboto-Regular.ttf | Bin 0 -> 171272 bytes editor/resources/background.png | Bin 0 -> 6312 bytes editor/resources/background@2x.png | Bin 0 -> 13771 bytes editor/resources/knob48.png | Bin 10955 -> 7382 bytes editor/resources/knob48@2x.png | Bin 109207 -> 92347 bytes editor/resources/logo_full_white.png | Bin 4516 -> 0 bytes editor/resources/logo_text_white.png | Bin 0 -> 2591 bytes editor/resources/logo_text_white@2x.png | Bin 0 -> 4056 bytes editor/src/editor/Editor.cpp | 19 +- editor/src/editor/layout/main.hpp | 288 +++++++++++---------- 14 files changed, 173 insertions(+), 158 deletions(-) delete mode 100644 editor/resources/Fonts/ABeeZee-Italic.ttf delete mode 100644 editor/resources/Fonts/ABeeZee-Regular.ttf create mode 100644 editor/resources/Fonts/Roboto-Regular.ttf create mode 100644 editor/resources/background.png create mode 100644 editor/resources/background@2x.png delete mode 100644 editor/resources/logo_full_white.png create mode 100644 editor/resources/logo_text_white.png create mode 100644 editor/resources/logo_text_white@2x.png diff --git a/editor/CMakeLists.txt b/editor/CMakeLists.txt index 935f5c79..33f99afe 100644 --- a/editor/CMakeLists.txt +++ b/editor/CMakeLists.txt @@ -4,15 +4,17 @@ include("cmake/Vstgui.cmake") set(EDITOR_RESOURCES logo.png logo_text.png + logo_text_white.png logo_text@2x.png - logo_full_white.png + logo_text_white@2x.png + background.png + background@2x.png icon_white.png icon_white@2x.png knob48.png knob48@2x.png Fonts/fluentui-system-regular-20.ttf - Fonts/ABeeZee-Regular.ttf - Fonts/ABeeZee-Regular.ttf + Fonts/Roboto-Regular.ttf PARENT_SCOPE) function(copy_editor_resources SOURCE_DIR DESTINATION_DIR) diff --git a/editor/layout/main.fl b/editor/layout/main.fl index 477d2d40..3ad0e0f5 100644 --- a/editor/layout/main.fl +++ b/editor/layout/main.fl @@ -6,8 +6,12 @@ widget_class mainView {open xywh {572 266 800 475} type Double class LogicalGroup visible } { + Fl_Box {} {selected + image {../resources/background.png} xywh {190 110 600 280} + class Background + } Fl_Group {} { - comment {theme=darkTheme} open + comment {theme=darkTheme} xywh {0 0 800 110} class LogicalGroup } { @@ -17,22 +21,22 @@ widget_class mainView {open } { Fl_Box {} { comment {tag=kTagFirstChangePanel+kPanelGeneral} - image {../resources/logo_full_white.png} xywh {10 11 165 63} + image {../resources/logo_text_white.png} xywh {35 9 120 60} class SfizzMainButton } Fl_Button {} { comment {tag=kTagFirstChangePanel+kPanelGeneral} - xywh {55 75 25 25} labelsize 24 + xywh {49 73 25 25} labelsize 24 class HomeButton } Fl_Button {} { comment {tag=kTagFirstChangePanel+kPanelControls} - xywh {80 75 25 25} labelsize 24 + xywh {81 73 25 25} labelsize 24 class CCButton } Fl_Button {} { comment {tag=kTagFirstChangePanel+kPanelSettings} - xywh {105 75 25 25} labelsize 24 + xywh {112 73 25 25} labelsize 24 class SettingsButton } } @@ -137,7 +141,7 @@ widget_class mainView {open } } } - Fl_Group {subPanels_[kPanelGeneral]} {open selected + Fl_Group {subPanels_[kPanelGeneral]} { xywh {5 110 791 285} class LogicalGroup } { diff --git a/editor/resources/Fonts/ABeeZee-Italic.ttf b/editor/resources/Fonts/ABeeZee-Italic.ttf deleted file mode 100644 index d98743aff8bc049de88675e3c7efbfd89264d8f5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 45780 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 diff --git a/editor/resources/Fonts/ABeeZee-Regular.ttf b/editor/resources/Fonts/ABeeZee-Regular.ttf deleted file mode 100644 index 71e6d16245f37eb1e7aecd847f4c4ae54c9e836d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 44184 zcmd44cYGaJnKwQ~xA)$AZ@QAMq$|nlR+lZyRkGq5+mRg7NV8Lbkb*?$Z7m>_T_6z3 zaxEK!A%wn!vaHE2WZ@-C_9e817qTP-NbuF~`<%HW>naJ!e%|+w-`I0!=FH5QbDn;l z^E^i!&vBd?KMfo=I=yY@f8W}1faBiqWsVE~aNEve%N1Ln=;gR;K8&Xh9l84Obq9Cf zeJjVk_CAi|xg$5<7;Y$Y7dY4OgaozmYZy)&avmAFP-9J2k_=fAa+qo9h_etEh z&tG-R6%T#P`LDRA=eR5Wx^VRBlOG(~^D2(J7GJk6FC063RQSa`IKQ$L&$ln2K;;sD zh40^i>-fUeH=g{9w)ri%e-#>Rzv|i}hyNqFV|gv?7G(J)j{0H4KYUE$296~fa^&9;aolCZ=qSMqmPZ|D2} zDm-{`Xh>+i_+2!Ln_GRFdtCStr{FA{4K)^7Jtov+LOpo7TWhV1aTUH;QApL+wY34?Xh6g9 z4OJ{v!v0G2sQS;?g$I9%jcOXj&qsy3IUg6|Ud>fB#fm|yNrjhH>RPXLxX{TLtm*Ov z`yl$kI_1J+E?k^x5c!5&MFsGPPgg7#D%J~?26M%Bp~9Oh4)*I|C4Ss8SArKRp$kpT zrE;t+?Il&Ij9nFDd#oH&(Tz7cFVpYKVRueDzm9#Me*fB4?CZI&-#-5A`0d!F!#AD< zfexZLN($ zs!?of?G?&^n$zi0C6lqJ(qRt@uAu0!8wHgsR!$~U*F<)73~tqhyBb@DvNm^dD6gK? z6ei>0@Xp4b5pA$sXdlnpe9c2?&8)inXyiVBtX#B5f#rA`mPxC( zDQOM({APQ$sT@i77lVo$u4{<;KsCwLe-{r3PkLe>9Y^m&fA3j{SLLwZA;raY-6@r+k)++ZOOK5 z)9$ZC%%@Aj)BO%r$yG`LF{7oK(tPPeX|Z&wq}_k^{?fUUu)nF<#k+VLqu(}0%c@oh zXaH%ipm?zx-{e2jU7fsTcGs>wvpaXr?rh9u8XL2Yh*K}Ly-=a>i{wSGU|qQJhT{vb zeC5LAmd(2+r_AxLUq7z|3{Jc!d|G&z({V0tn7dcv=P*DKmVwlTi!PaddvVcAKxz`3 z0iIs-X*EwBSG&|Hbs2m!qn=lvP%o-asj1`Yb82CKC2T(J5CKHTc?Scc!|g~rIvit; zS;vCoq+`jk?9lFCNjEoHteq>F-Y^bL&AgJ46R52$+MTX;5FJ4aghpgnY6%Ju1u9ps zqU4Gi8&ob;N(sr(C;+s)rI2$ZO2OPj;MbvOUu#o3-Kt5(J&gmIbYIRjG5ry(USn{l z!%m0Cq|q95H+Ni_IXY38?vC~I)1l2pZ$4tp#Q8Tzdn4h#Y`oO|?aXLXyr4ZSx#dTnq9 z@)vF3|AD_3{A1*bti@_-#tNt92_K?#P)Y}lbkMT{z69 z0Y6WIF0@?Z3usLd-xKk@(>(t)fKX9hSW$_b#0i#?Bhpr~0L1()C#oNO%j=r|1^V-y z)6@K4j%|Jy)x8@(zXumbxCyCl8>+L(9K0sxZ06H?9*n3zuV;*?ck9#o4*i&ZR==P> zsbA7B>mkjcvqL;|c8NHxp~iL~B#Gz1YZ1q+SRC0tQtWNc4hLJ(hx_y6C4X*U>rhF- zw_0ue3%kcRZ%$^*5r0oS?=AMmo3@W{9@&!LL2d0{eHw6hm}}y0mfFe$@5Z*Cv5F=} z7pGNBz%Uvst438bs(IB3)uQT@iUf@6oC*R4^4ClK@}BpyetF&Aw70`M=AHE}cu#tl zyvtq)n2gEF;Hij$J=XMC43q}(yRn-}Xf@Jfyf}C;n(>df4{mi9N1HoZ^Mg6ZXlv7$ zD-k@<*SxjOzp1@%G|)Atk9j5?;o&x4OTszsh!@<&E=UM_%HPx%?cU~f@9RrVcEzaw zuqWKY*CcKuQd0s~O1b|$E_f2K`gMGvH&@i)iv;*0(q?msHP-mXT=fUvpZemr=61g8 zUGEy>e-Wt;fAgCR#=9ZaMbKJ^o0eegM72)&8wy+~=o>!X4j3yKRX~XAUHX*1tRL0S z=;!q(^o#maAcwQ}>(7B&Do*ohH&I0bK!F7&K~REQ%o1@#97G<17#o-?_s+zN{-Io? zoO15ob~`^;eXgZzUw`yRExUT6KF?OW&z@)r_D%7Jwm%f=oFW@*1nsp64{>3xnY&AB zu@{Z>$}JAyA|PLwabc$BE5!(!?=_$12>IN3jv=3O!z}IK#<*Fq+(~YUTjqd#F`@+W zD`xZQETgBaE1Sxev!mIW?0oh_b}@S@OMT6r%aW$%p=j0!9^ECiLQ2Q!awL-~+;jxR z8rAUsc+DHl{+Z6~XlpRqy{oxtcYmUB?sa=L4z=3;>ipIq?@F}=gUvD9h;Y?CH~I>} z_N`6j%lhN7@$0tiUcP=a&+p**zh-03;zY^k%5+2qra>k90TvH1Xe7IgsDxRYG6>c< znhZ$Bt7M8rAk~bb<7=T!vz^sX^A8U1>u}$&^7dQ0c8qO)^;5ZDUm3Lp`+ z`E(EI`JVGV3==)>o^($~&sfiF&qB}1o~54U9xZ@tt5@L?pVd^i0;&sLfE@|N&qELP z!pdv}29)1v?+BGAbB$Zeq2AVssd)cvsdImSY=j@#JsD_Cx!u{WX#bAtlOx^E6s*Tc z-dh^vZwYMeO!hT;NCx$6@rExOEKIfrf^DOj!GrH>+Tv4rVg;YSDP|w!m-E9`l{=Vp zx>9~~8)$NX@zBG7f150+>;R2jhSQq8m=LufL&zY3fk9*p|-gww+YaHA+aP%$va+w70O!|TcFLxx`BGI;lom*X%bfjPx zQh*1?zlT%O5#?sm#wbs6(LZp|$#G7^U7mX-cRl}@(2eKJ%%*54t|<8iCVvyEL|ek8 z;2$egzry$Ds~69YKHT}Okq-do^V|>k|K@)TI#t1|y(5?ZssIVDcW0mC_xEg~OehQgW@XmB`UjBsU*Xj^9&6w;RuXNOz-fqW?+m{KVG z*`}<&y)irBi^vv(u-M$;&2Nh4x{K+2d$Pllwq$#Y$y7cNYfHy2J|PeZjrwMM^S%?lMc*kO(Wvj74{Y3TKAj-qOq@?J;!L;`=|o3jEHRr{NSsV8C6*Jg z657qDi;Uiju41ZKE{+ywiu1)2#l_;OBGpwqS43S(^XUnZ1_%?biPS`SVsv6=Vt(Sp z#Nx!M33_Vc+yu#6QpxpHUM`8S|0Vio0zjg18VVtwa;P;F@7>kZI_}VH%ZP5jw<+#u-h1o#{jH0_nW{cGbrr9=%OiZ~ z;{Mpf|HM1_X>iWm>Ys&i;p?20^K&WgPU$<$yp+EqdsfZ_L=UJ$;|UOzm@w332(`Iv zDO=e#YMZgm+fLXPZKp8CJ$t|H9EQLZ--U_~9A-WpBNB<7k1-O7xnt>AM{F!M8(WB- zj4j2MV<3^_g-Vi!Bg8}GxM3z0a0laod48(0XO3@inf15A@ida9lxYt9g(@Q%o)9nH;S(Lmy0-|#DU6bide zjF+~@1EGO@(~j;4f3Ro+EGI2XmSqc2A@M)F8L;8ddAG}*a+lqs?iu&I z`-FSZeacOpcb{_;H!_4tjK$Op>>Uf)%Vg~}3UkG|uDLt+WU@1h2Re6WzZ__?I~qNk zFYgNmdk+bpS139zzjJ*2uFE?W3gJ3YxcDipqU_4A}(h^`KUt}?Q1YC$tCa+_s;XFb>Q zVj3NQc@|{=kGi6%XgN9>or%szPed1^r=kS#=(#A2f(BKT7|_D7bM^uEd0+v)Cb!$2 zc6YeP+_UZl_euAXdl^WAZCbL#Hkbs=`z8xW7=mpv{^sB8iXH9gxnd%l+i_yc;ITq1 zyQjT4-4zM8PZskY>`!k%reU~=N>k-j6taf8EScsKPO z@DyIj@YN&1Q+AoM?$#NOb%0pIq)Hlb^AUJ|OO^=sm|(4b^x#2$FZRCbSA++vKj3p0 zhiYHr&f{w${CMmGb@EYGbr_nWnmM3IdW(Y|KY+I^7+XD`rkLSOd~al!FuIH>W7#-r zoH5QDPZ$@Cr;LON<2fTE{gP$<_@=#W^`O6XEZ?}@*J$quG zwHeg0P52UI`mpqMHoTIlqYgsy;Epv?9`UaTJhQV^?0^B5if5pL3qja6Sp6iRlA8e}y01RDGfbE&f^bTLBrts;u*L%FsI9Km&vbK|aDiTRn7;9{}LqUBm6K z@V=hgBE4TX5@j9`xf^w=iTSz#(G{+N230GfbWpPc2o%nG>VeHhxPJW?4m>z_&sV>+ zbWqq_y^R0J#V?`{!~7S3I*GdG(E^POyE;8p*PJ@o$$Y%R@glWA!46<#`Yum2c6RR7 zeB0dZ!r(=~?BeHz5qwWzocv92vJINCrX%XGC2Pjh9!4u3mnY>ZdqzDoo_Ws+&!Xp) zhiJuf&I28RVe?DtKs0I1TS?>QMxo4fh9pYKUTG=pzIAHrZMz!_dv2YYx^;KqaHxBx z+%>Z)7{;+Y(;eauZoT_(x%2Y7CMWMc(%E_B?#cEmri!`A`R?|kbcELt`T{?B=nD%M zgw=S7z+?oj4VtaI0fNb3u9z-VOiYtQCA@^tk+eSgvStmVD=ACtlJbUrn9Ck+AGl&9 zp4)oWKsJ8x{M_OFv%V&Wxj;H0+_9~(1AP&zf97{>8yeUm2-RN;BDI{P>vw?@7e=J7 zdI1iSal-n<{8}JAf<7ec*$1NMAweN5qwZ)r+7TU#&PEraC!i}_O+V4b}`e-7iXm7+-jB3h3sIF@C9vZBm<&ol;=C2V`SCBN(B z)-AW}D&&KEbBB{h`nR6kmFI6u&$%6;O}pFMcXx$?UAx+|gYHYno4O&}ylpI$0RnFu zA4u)nMA*wtUeQh1w40dDe_EIX4m}t}9g!fxSWU*E%+U-Ij5$b^1<5{Ku_=P2Lv%04 z6IKaas03h`DN-<*V_+E>tx8o;bh*g+0dEf3W&9szB1fl82ip&J^dIVv%QAEW&TGczcIh7)?XG@@5bSFi%8c)IYFv@V$cKeJg7BOE?v??PQbFKX3H&z8-UbJ> zr$g>jBQ6?AI*SZXqDxGPWpPxT5$DAd;-Yv;Bs_`dL~xwLeA-Vq_n-GOocrDWw7do!OHvx@cUL&aP`5|A;iSAg5lAFj|va& zy0|Qm1DTryG@ug!W%HhyJ;FqfT-2)G3K&zYX(mC8Sp+`tT+`U;SYx;hHFCE55IOLFm?57BU$@ zC6h4$eBwhOAhFChJu>;<2cMeeFXs>Dt2b4j;kEo5nov7UlM`KPxZDfqi#4!fd_hwZ z@a-wdjwtiwW#nOnr}-PJ@8d62-^kxtwM+=%9b*?C--UXoSMTFiF&>jVI3n!$GrTA; zXG#e~jeYvl2M>N)cw+M6)Fhs-n?Hf~Mj*+=mwA4?`ilwPJ1R|}@bK2$2TxP2US7mJ z4jjND)$79K2)y`~0;)YaDXdKX^>e8A0AGc5^aN;A&!JKZD^SpAG*vD^xc^aUvLDf-9QJw3_ zhqGT4`mWgZD#&p7l!O7n&UpdVn5ZAGnMg9eP+Vb`u$ zoTS2_r_rLCry2kOAFHD9r;^>_f{Vl=yGVjUAwF(6${cbVlOso76A$n%o6BDs%VkGPe$wI7=yd|H zcEYY&M6abew7LKZCiP_wVFM_-zyRrGh;%{ar`}&3UT-Wp(;Xqo51&BYp`u zk6?b234kD!T2MwZa~e}$gJx24XCDyHLz%&35#3^1>=4JqS#d!;DK3f2&~@Y*Hn2__ zT!xgPY#24n80HNp42y~J?4tIpd!n5Ip@X7E}csUFOZP3yTKXnxTrWGe=q$>|7 zSFvuMMbbi`UZpZsPr1CKX?I^d(YLGEI_a1L`5tt*rqYScF5Bj8d{frx&TZ0zN_#gQ z8_#B)y!qmLK)YMQrRkWT7u=a(>u4rBQVK}@>4hNMI7rzxdNllWIP& z<)`C2Y^JRidt&(5K-banOmc9xITrcl^wbvS1%c+^-z+={OR^TBB`d}=P97rjjGEV= zLzr$iT!3W9Pyh;p2ukU|lshv#F#TSWBm51Hra-pzp7+d6PkS2&Q`sKBaF@>7R@yvO z-OGP;swY3v;%T&OVSm zk4ZT&OxB%EXFIZE+1czu_GES`yNo%z6_Lw=fL2U8nk^>-*vi<)>awP+W$UPQ#yW33 zVO_MIvJ(4P&skwfdR~?!ae5?4!oy-DX}WIWv%PJd3&ysAK!b%*?~Z8SYb9}!jj{i)i{mPl@r}**C&6Z%=S^XHA z1sXskB=?~3Q|L$&W^-W*v6e8yNp7PoJK)Aa#i=O53~CPIkI&5&yoqQ4yP)2i@CKr^ zbHeH;R^8k;QL72OiUFK z0BDyiEP@73pXs^Zw0`T4z164Ypmz5DpmXJq-MpjvN7N3hpWltzEnGWSF|U)ysQqOK zC5Rhl(yxgdOX(wpv@LFQTHC_0O?l7UC)-;!%5k;co*gU-0}`c)W8md9w zQCLTFb@ol2NyFywWdI~lL4r}EiTP}l>;NHj+Dkfqb{LZ?=Xq&gv)VtVYOcssG?KJ2>sA)c-ooP}lz#<2mZ({}s=D)IZY=o@;G# zL&(ns_b^>#GrMwQvd90%38cGPWXsJViEETr67P>;sDPnB;&!Rk#&tMTcTc zF{@ZmoK!3+mN5rHGubc80+Eaq?d?4_mV!Yd^(-!Qpl4)FUoYW-L0j%w zodjS?MAj&>g}EX)R3r{kOev&XsT2a$MpHAX`P7NjV(L_iltSuUiW!b6!Wc|a1QS)l zL~$*MKUi-)$GosFD}ptGVnLY=jmPrHcwT<2YkB3y1)+STD2bIrOITqj*i zu4NZgti$TU!>|$1e`z!!8wYKwbzU(HF9cyu7f9qih27A0gR?CdVJwBa@*Z!YE1Vv* z`vwH{ML%!RxorB_@X^7ZV`FIyF9y9Wqm6~J7H`tSdu%QmYeCcT_W%lZng19<>X|fm%*LmLa;J;G z(&qKIWju2;nqa0qVhZT^(`t9qWa%kE{YrOZ)FHxq$#XGC=1-!XMcKQ>Jd|=f^WePv z%ahUMtMpRz%-;@T(|Pk~@Jdv)v39TXZpl$KFXG)A_iih6bm{^v>4`C4X}nn48uIvt zv#sqKcRJWSl(ix*sn~rWbd$@U2$;NXm(era6KqX69p(wdTzm9(t5s`>Wt)Ssj+7(l zM&GsQ`(47jVP#H&P9?1*+Z+g>Kj0z@TZ%}F7W4O$BUk~CJbjp9LX8Gh?q4bG6olec^9Ly5_mxqZUBKRoqZAnn$f zbz^$h<@=vTG@0ZhYZcU(|DKolhfV#;IALN!zL0GZW>3g2)fG{x2Xs$kUKN8)i_4O- zlr5u{8Oyxogk{lk3KObl@3)-8d}{^a`F`?OT#8?i-DhPwK^T(|Y3k6$E^CkWH3#NO zrRw~R(>*WjRTE>{ z9j8xkedGZDWVE`A|75gkCb)RuRr3gjOJ21)xxzR{{z%-A31XJmLnhD`MO&VpAZazs+qs5`YQg(00s-Ms@_HI(60W8|1ZG?zgn+^ zpE~ofZpg64&M)9s1F69IB8MM;ZDr)|-@o}&4-I|#Q~kX9dp#Gv+xhMP)%BxCJLrpw zRky%{OWoY%(ihouh}_vaiOOI?c4Px*CL(z0@Y59odve9X4sb_NfP*w&UM|NZpPy0O zA1oN``k2d+h=xqArteID_0-NUIh#8Mex+AWsTy0VNaG>NR|*`b$AQTz%8@D1QTLRjuC3 zCxmCe6dP~L+F zQnm)Pm6VV%_0TBF+JM%LQgCiUU* zaBh9u5`jQsecN+yion=GSX2I($Y{nlTP#E>#H%n}NUes}h107Q>>RENT z)x&?I&aGs$HeB~gWp4C9M`_2$gyJ(iwL zFQiYVm(t5=7WC0Vf{sFErKw3wzakxgRDL`1E?n(!LDb@8iC_7AF<0*Ea=6`&uD)`% zss5_H%M#4E*{@)?jkgVY2a>4)&tTichO6q=2g{y9#4i034?v9|w(J|=fEw=V=4I-_ zt=2qFY7xFB2p07SMzIpuBuf`8Q*hHAQBvV+1NJGs}k0}BOme{pZ*m%DB zUh#_Rhw=1PtDob4BRt0Dco1>w5fKr8rdjBqd4&W^I)VohF@-KUOc|mbY`vBN*Upe2 zMdq%XRb-gri;bHa%T2wdn>yPNMUunhc=uGPQ|Bwjvzro@;jVJKuX!Yw+Z9ea2V?Ce zZLlpjIk@>}#`bii)y{rfJ-yj*DQ+tc~NDEj1r#{~HW6)TC>3d;>z=i?}?JHN&g3;VIZr*;$$#@)Wi z`kkW3kF7o}hQPZ4%t#H(^Bdiu=x&*RTX4|=ix>7EqN2~(c^`KjojZ5kHQQL6yOTdW zyxn3PH`_v8J6l_Jbw`bc37uhU^$q#yYX%0dp2qxvbnGi1x@T(g?#nynBSG#8?r#1M zn9+1Y^5$f3GgII)? zsmdCZ*5-sHRYh|`ZIa&?QbWYV-W7r7!9<{FpTLC6kjvbeiS#xHKJU$0EE!K@zcrYA zJ--X$1=Btjy|em^&(haqiFukvC*1am&e+!-D1pwa?h+?I-Mu_ET^-oxR_F4&Es8_=9fG zJ`g+)`otJA=nkfX9l^2SY;YlXGPo362KiQ+&6UOrmB!*qIoD6pt=nAbyHM$4!-B?I z;)q0ksSV^=P9;+qa!USI79Z-zOsP?cWfZhPql|8xB1G+ZF?IFu8^_mb4HJ@ zC0@wtWy+I}eH&?X$H_tdH2+btVN-Xu#i)x1j`Q1i{^~%$h177K>lSWc5p^QQ-)v|k z%lXrsNH!)YrJIimH;j*y#BJff4XSto@+JhVv*+bO${7nufAWI)NXz-oBfuPh^tpX$ zUx#nZH|tyQo%AjFmJxrBdZoYvDbaI-Kk2pcU@%VmHdnee7;H_u4 zY%ShEU(sJoCz5IRX0&aTH}bckZH?TFgo_YFa!BR|=AR|=L&X}3>0>ms5<=)HwfAp^ zp01=!21%O80~{8*4b{xZnx>B^-&FFK$@z2toE-Kg9nIcCQ%6r@E|Br)3t?};8g~yS z6J05XKO9TibA!CmY1w43#l8Ma4-8?QGiWnxGP-QRv?Ee5o7*%3uQ{g^-fhE^(IaBv}?=A_I~~mLA-oVcDya9X!z?x;^1E&61<}D zzXV~Zsil`?|L|e%NBsSmx`>1P^MG=2RnO}n&z<8J)oL6%=dJWz1YkV&wu= zi<8$`qODP1i_0BJd85U_*pQ>t^G;jTXV&QYELNM9@Zzxg85W7d zkYorB6Kbi#>vCfw)2rN}9gU|Dsr2rF0bbo!MiQOKT@B6q8}Ne(qv;ekDAmTCKvY|T zj{~fR+F}Q^8pBJt$6=kWcYL>R^m~(RETi^P#R`)&kl%7 z5tg-0vaB~Fp|08IYaY!*vHIW&uYQtg&^c((XPE|lj%m>6mmrn1I0=}@TlS8h(F&Ad@xrg66dfQc7J3F^l{W2!lS_H3Yuz=*Lmk56V2> z&+^1->DP7rVB;rQfXV8d5rsV4bVkY6Y={Zq5#$_IG#6HMtnHN5QlJG$s0-qyHe<*O zR*_S=>Ll+ES$CqfF7U5^Q9&$7D=j>+Mr{{|WXT+}KVLG7Tod|BdeR8I4R9Y|GkIj0 z%LtLX$ZTl&A`0mpl?7Ivj9S-u3Wo9uHgw)*M*JY9)-xzzcv;b1s6?3+NoIJCqKdxrN-x+){2i2bXwPl#EG?e(DjfAOQXk1i$dTOY~r1AU*uDRKd(8 zYGLr@+h2}qAS-0m%|8Uc31#!u@&FQmT|$N(Gf5!qPY0P>_iqhFAWkI%nbAmFiH-dl zSUMV3qmXB-A=mkbUNrIVqp}y~HB#PRwr4HxFW0k{_b2#e-wZ5fmLDcABbTzB@q3j! z%bk6GIYQMwy{`Oj`FWn!82I?w^9yU`A~GZ|)pMO(&aEO=>$8v|(s!?cB=^8t#|$%3 zWL?U&Ols`Tnxt0@}szMu}=E@R%48Qy4p!=&7>& zwe39T4QY|YR&d!hcDKjn^a{^-^I@wsocBgb=8KC+Y>NmdOl{RJetOvjw@uLNic$2A zV)akracBq=xM@ggvuvf-$p&_@=8dpW`1=_pPtGNt1@utJh=x2y2yJw%{cA&}UCE;0 zKfr&Z`c?9y@x9e6suyql#3L!;T`b$^p>KjCXyFA=o}T5Mm9df&`x^7{$P6rli`{7j zMYhuLm}yDq@0XE7faP~yM)oym_IVmta^bB7JlDJUNE=_M*T&(_{e$rhX=-v3TkNuK z^9EHttLeJz)`|6rYlCu1n@1?-L5avp;H!+HyJ{5u7DkC1%0bcZT31dK&7KEEPcw>^ zo+rwc>Os6P_gU2ML;V7)pW;qbTy^y+R*xN5&s{3#xz*oN`Rc#p`5uw#XV3He>itwd z-s1R(NcBtgtge0qoIx3ze-_?|h{5Q7_Go>A-cde|6uo!8^HP!?e+S>SK1~k`qzsC}|CxULQl_4SJ7HcVDYBVh zi-=nZca*R3O$OVc8cu)CV7{RoIQ`SQa)LQ~9yonB!>RN<)i0HcfG=j&uVE&!`bGehNT%ddM~d2x~b@;@yvEtMBv z*Zw;EhwN)vy%)X7fRd8%X(9gv)w-mb>o6@Ro~(pi8mLD?^-JfUtYoE!F}3^B%O{}C zH7`xg(<|Yaxp@)3Pz<_TlD9P9cYqR!wCdZFw={j|$mWx2{+BkS5pC+dK2;4Gkyr#Q zusj2X<%t@WPc!UnCaby)%JNxh_&Rs6v2{?&S{n2vjE9i1q)VldyCgh#i^#H;W|4u#FY(V{!r)heK)Fj0 z78w7;g(=}lt`jRAFgmQW)0hH~2bOD1&hjv`&lp8Yz=GfZW#l2la6>G|N+L?Z8Y?XZ z3YDeV=1WfKSercfhIE(0Q_6^5Sf`97$2EU_cg7ygcTTtwz?SVvS%*sDa@sZ5lyybY z`bf|2Qf{I(*wZ&Y5$fEow@q0_`$Fv*_qaRR>@M}VHyxS0c#qK8lHTrgj4o`B_?rjf z1G{~m%SRfwbwz+rDenC*z%%A|Ac=Q#2 @+H{4m&%{0J+I_`J9Vk_k+ss_AGuWe z=vwLR$Ja{5_O&nmj=LLQ7AYD^JOn$i6=S_|;D%vG_D8Xcy6H3@G_sF^qez%UaKYAq z8>PvaGdZyblNL%Ji{$dLKs5;IzvVJq39^S*8hdgiCE)jJCWX*^zL{Cv&F-it0LwxCLwR1sh_6sh+Vu{tHr+ zG5<%SrDIdMTZ%5Og&g;Hwhei5UD0%Z!L3z~Z8ICH?{%bm(pq(ECe_5>DaRle;31%> z_9^EPh+3?YRYds$e-?;W zAnh2hfN~{XsViUN?paq(yh6`|S2`{|O~q+ z*hZF)Jm*P*TlS=y zrvqYJVUv1bN)wpK`&yDNN4!ahYeMONj4o}kp2B3f~*vKNw_?UQj&XbXE@tfzQo_ z&jXhOmujK9rPAN;x>QP-kVW?N<4cxp@$jv zBw0`}iq1YzIFGfX;3F@%3+X~fVXQD)SSXw3$4`h23xo}_WLg;yU0K8Q9Soxz%a^!Q>&gk!^gJ*< zc&Qe`sZ@IVekzsXlZcA0VRbJ7%fxllurd;`hA0;FZIULd8{^i+Y%x1SHagbiD-!o! zIv)k$pe(}*;d%(3c&Q94hgHgpK%|aiLwxLuXIRxDWBE{hSnN;4<^NirU`27U{Qs^C zid};bL5<*}6HxNKmXv>CCOS z)@Mp=+cqb>Vep;L%a#})+zZUF{u~`ivr(2bA{AH9kUhQn7|O#;+DKCP_n)91Lk4jl z$K1x+`WVblD)XXjXiA9{NTv|ffE}&yN}hCiY}?1%7=8A@U-lK`R3y0rt0cJ&(mXAm zr`0qbXJh0(d`$&Qew>Ywk%Pf+0<@FdZ$Cmfz?#x{dU`cXc@MzMA$pp-$lZk}C?Dc4 zSd+^H9My7XS>xoE)|q2<@$<|!gE@vY36>?GW(OMkIxsA9sjvp(^xP92-~LSxdM2p< z^H&|;_({*jXQ-b55LUxLO9og=p5%T}eHi87PyQ9G-G^CuoO?T)!BBvDRDg>C@{JKl zU0SgW%N2oRYh0+=f%0eAS{fLYVS)uMLVl>KdT7Ld`N2p0zvBmZoqs6BUtazC?x90J zA&e0;$;a)X(F}(DWM#5|C+Z_-bd$_{86k#t_9PqDs%m~nc^RxW)|Ruc3f)(i(y=Lo zB%RN8Z65ply3~$$`!;9!J%l$v3!{7THATbtWq$CpP� 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 literal 0 HcmV?d00001 diff --git a/editor/resources/background.png b/editor/resources/background.png new file mode 100644 index 0000000000000000000000000000000000000000..671268679ba6d859bc9801740dbeb02e1a6defd8 GIT binary patch literal 6312 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 literal 0 HcmV?d00001 diff --git a/editor/resources/knob48.png b/editor/resources/knob48.png index aa5c8eb3946232f8029d0475805431dc7645e949..d0fc774ab215af5c5e0db00879e2a2fc4a03c8af 100644 GIT binary patch literal 7382 zcmbVRc{tR2`!3~(36+>oIfaf$Q^}s08i^s>SjIZCix9F8bI|CdFbLT~$TF7fVTLG@ zJ&b)T``DMkFwF1U^}cWK>734a&-MFjX0B_N`*VNp=YHZ2R`@V@Igm zL;{bO_U&WtIP??njLX0E<-UCRiWAXZh8 z0M|CdG#S2(h^wk1$_Eb}X*%2gtK)r{(FUmv)N=7$ymai&#=z@(JDVk5r5VRP(^7)W zNmOBFrsvWkxrVYg5hZb7JXKuWwr@zx1A?$y<;yh+%(kO>z zyzp5WcB8gFv8B+;HOa-!)kw``Y<9KJhJgZ&65&IiRHV*)JTO;N<;lpW2=HkMM^9oW zc)$gokKoCq^0&zfz8iPF)mv3f-MZ$;z645@06Hsn6zjmuSZJQ6%pItO$sQqI<2=2P zLwY1{zgb&0&_Af9Bf*uEn?rFozdIYUrvz2#8mkJbU90DgF0cVlb#pRkiz>Bh%>sw^ zYJ&$xOi>Ago8;}DcnbgFoW#01lsj~kCc#==osoguT!Gbe2lz3PW1WK-w_s+B-Gydb z_O#`(CFh~8VM>@$WntDjWX0Cd+Ilkkr_sKldFO?Bx|)%Ey%U_1l}#h07jhSiY)sim zN^lm_-bJk-u&lFdosK5Pd-Yv43u85y?Ja}hb632)o$~UtCZm<2&5*0Mrl!L*%W$dH zI@M%`c}=@O@!-kJUNmNXCvn1TKO#CQmO(K{i#i;gd1YYUk?!|q48?H}QuDSml$m^V zMzQ;JCBz$T_Iq$wraBvVqxfI zx%=f#mMoAw*k#H5pB}O34v=$WUBrIY`7(aH#bX>}erkuFm+=PR(k%I;&Nx?EXQ+R8 z)rkliUE8d0OB^fF29gI$czHMEhd0`#%WcaIft89PBkNUKVqg}@E3nA7BhL zAvwC*hK6Cjo1fHbE|VhVW^-3%6f=y=d9nQTMgxEwsjT@xqJA%1#=}Ejo=K5BW<5D^&{F?;&+Eb%rV1G*mws3#Q}wI@7ci-GVCl2uz(g ztNs3wPF(%dsIW`A4Q&3Gx(jmV9Hbn9%7H-ptI_13Xj%J=!#bHW_Q?zeVjeV;H+eM=nOCy4u?yqxJQ&2^AGN=`Z2z;h~8} zz*$*L0}Hb9b+hAo^@U!c3edYhUv3!Cp6%k++J@QVb%Q5Fg@-*w1+ry^&k@@PYs)=K zvc%%z3XF`6VdO%|8D+%NLJ!@&xy)pL)e=UzkdZLzeC>;SStmo~+my>Nwx~zMH`uAz zXY;?5`R^>0-+a8Ha-IiKqMDBkgg!`ynU}Ay$m!~%N6ZW>Dl(%cqHhv_ADl@mp>MsP zi3o~~0Yo_~l5#$vEgugu+gg52_@`I=R`43m6K0@)3tHqSJRYs@j|F1R?jl zl3@wz3JP+Fd}OCz2*!H$a6MV$|Gh2Fy@@p2sy&pS?I^-h)%?+ROB{(KH$RJ42z<}&!V4Q zxMc-}=vc(*HNBtja7)-U6mk~K=KOfNk;$az_1Aak4%HvRt#XQaogp4UAA&pt*MUCc zmf?SX*}+1E4^}1E-?c^zlW+Jmfe_1kFBT6Z4EgNlh!s)TAy<#^xmx{%v$h^thV#l+ zyIC0M7Nt;ECQWa=ag4<6`9({K%5lfSQ6K987|TB-*P8V$e;QBJ#yPQoK(4V_Y00bH?*CF4>E%| zJYS7}p37&9ksA|t_DYST_3yGTE@$TCxACJz%Cq{&s<|_|C5uQ0=85;5<0LJc zr%{eVKaZ0-(ic@VYMb{X9&M|{-LJ+EZ3%i_M2wjU31#ysunl#IWu=wUS*pYD**cqw z=UqtjQl;M@cC@*?VmarNIe8Xe+9n`*FY5qv|U>XJh>xT&$tg~oi${nzrA zP53*@v@q^0XQ%ZxKP%TH)RsthH>E3}AZeIm@9wCwO}JFEbS$}{hm_`*etQ|7DRFsc z3_X+1CGlf9|CMSQjnOJoQdM%VmE{cDy;GwH#dfCE4k>g%$_568*Mq^wI$WS)gROTFH`vu`1Jr%NAD;U zwfDklPXD;<=akfX+fzK_ybxV2Bc4*7tYEDfi2=^(%6M+Qto|%I6d(hdSxiaZ%Gq)tq|AYoBrRF8)iO z^PN_dghz1;!|KjM${vx187}CVlEtxif2`2&Jn#piS^5OZ8>-I6oLcDNAkB06Hi1fM zyV_OMdTwt0u?F8%c?VBZ(nI>O2H!Kh$-|;rgMD^;epZE|DK!mK065Q%MqxP(Zaizk zCv@YU3U#L6+G;se9J)r*+S2lNqrRe0W_!}$v3trqEikhgD>wdk#EyW})!+P1|CKVn zIm#c<`rUz)WCm3fdnmJP11g_cL51sSE7kAa+5|uTm_uqV0H{f)CUHEDu(iUpU?3%h zq|az_}cKU zpXh>7S>*8GWt5jG_^tq(n=ZAMsw z-=MBTjT(H;_+~vT$kthoMdllT=TFQ5I@nu5aq6L65W36_Cp9WAw}JWOEr|O)roZWp-??Ek2=Gv`UA3&CmuD63u4RWVxGyC_g#4hc<$G{s zh*1T}VvhzNt)>qY9o4XbGtvM(csTFAAQ(h&!Jclwkr8=Gq0fIAKCytC|8y=gsbAAL zcJv;^YVa{NZ^!4%3x4<8;jbmq0HMf0AcRCGiEC0Xd1An%aa`Lf2lP+G{>U!AYe3tF zi1?ETBwEMu1}B24v7hUOtXY;|2X{St(JJTxz6yX>R$aOn0I&)Zv7Q33@#Y98%62_77Pm9{I0GQlF#krfXmEk)SpT3G)0Sa%MoA{IXA8 z##8o_y*c1tWrgmeY%-l{n0x_QnRf;NG(peJ&B~nU2A<>!bmKq>8Il_{P$a}(L^f|&0hn zPa{yO2SlRp&DB^-yA6E~De#=Jd=IefTu-?;X%ygNRt%hE*(ElaFH@U zuVLa$KbRFknWBVLphYl>%iG-#-LnVwm>m%3?eAFt6@DDr=Dg%2+Mg5Mq>}Q@HvS9q z$CCN#h~EsH7ckt7AaT86t%8d}!p534iH= z=axo(soUs4zc+s9`3!D;OaMz$ne7R^!sWASt5*kLb`E=LBH*Scb|7`X8*m)i&c4ns zMgdI&M!>7xx`xWkToR!R_(EXZ55ykz&@|if^Q&_KDtTis@Nj`^gO-dB-$~xpU~ti+ zrc$cj96r6nPG#7zD)b-g9=MR3sbl|2<#^yyuQmIjSQKQgrB5pc`B-~416O*Q_#k`P zH@Vj_M@b@t9(aue*N=)I2nQo=RJ(8X8tyC28n<*z$pl8%W{58o^l9l=? zwY~QM;pnU@rU5lQ)4Mxj2N62IokUXC(=y`Y#%LQ>NE7j23yNfOxj3=zEaA$2QcTR- zl^=`+Iy5 zMez34ws~1y@e#1SUqa-o4&>Wg`#22%9Bly0x%3Ban>1O_LG3^ z7ZnTK@;M{l%jZu*O$e6T@B)azQs>2oOPO>eqHKVa;21xUxJ2oivjAeTx3+t)%n=NQ z?66Hxm=%Xy^)Y<~9=5l$YGmX4$Kb!~NZ2k0n`?ZRAsdNB2GWsRL1e+IbmR6Q4ks;;|u)<6hZhK5I#`=cDL(Vhgxs{@PZ4 ztd)P&GSI*?iBY!1j;gWIK33UyTO0od`Wo(RRp{x%9DQd<*E`k7yu~E^Da>^UBI$id zB1sq_0h~4|pBSGoO$ol$pxi=*Z-5e>Q~U>XoL~3ScN$kio}3C|(2;@h&reH_g4jbJ zo)ptUn@*mBTm_1%Xmu^GcsjC6Lf6kN4Mpm>_K$%7VWfi|gB*|ZTzv+1Rg3qo1L0U8 zsDWrbl-lMevGV=J?ck6hon~>-5GDcS(Qy*K1fz*9An@{?V2fV>!WdP#rIe{OlnS(7 zeYDPkQ2?LmeqiP(2hq7oC6Dke2ZLR=xzl&Nnn28tw)NB%lgN(SEIa?CBENN@ZNnU z21hz|_4I$X4<3*k1kz#d8{$wYlaGw#C`hln=Z$_!b@nIB*Oh?o^u=FpGBbd&lr8iy zFnQB_=@fWpRl>2!_EV-wBdc)NBEuBvlw>EdJO4Ag{PtZ){7)bQ8hGIqe;{)=n#>K= zJvB0jmt;VT8e^7NH;hm|kE7o_e`ax>hlb=|!U=iFs;RUc4>>O86FC#Q(>Q^Yl$Pk0 z?yv5#M zQZ(p#eWauD=f9W7pBewE>wnARDIgCNP&l}9`uhAszJwDB_^T2lz-FcBXe7#{gfn>} zH!uIiufW8`B^VoVO5F(fPBH&!2D9G@1ennRk`Z88w4xS{C+|?rn+FMEt=E_MpGBlD{1A1s;K2RljPw zexUX02uSHC$fL7}vCoe!(n$D&5dN`ANiqckkF*xPC~T(9-l{%Q5uTe~R2MOLwd`ub z5-$CT%&B8G1a3gjnlPN@6nv|14&a9inT3o-)|quekgW92xN{{Uru_ zJaVnf{z1o!HF&4#`;XsEX20wAzrp{sX8HEknei34#$yZMH;Fe3SAgb-X5t9tP?|If z1%?JAV){#qQB@OQVjk9>irZ;iANuf#jW%EmEFWA?hVy%=l01OyI^kIn)efC)@q!$m z1LFtbz$RlozORspz4{j5*!^l^9gw02yv?DnOtecw-AC5pNdX+EydXbThxXskL{KKk zM2v&v2uK##2m4t84snWDij}%@B3eXh4|+xR#05ICR4fifRlYC=$QUlD*yD070;%*? znQ^^mrziQt?Zg3H&nRt61i_w(@wek_$cbU+yaBNwA1 z<0=F&KKe1-Z>EV_;T&(I`+hL`{K4V=e1g>Q_aH;@CA#%m-rDmIR~T)ehz2hYt6G4?kbP1uE|58>yY{4+JtuXs~WwwC;y7U~fYF zjEgt+(;il-3_rNY3z=}(%+94>1MKy@J{*<9`#tvGRy83EPJ`BCrRj$l(ZK(e`w&VR KH}m0l0{;)j%WALy literal 10955 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

BA(xO6jz4z{UdPwKcHf2dsn#I zVgFTCipRA@B&j(cWvXj3>8We0tcBt(9uUj=rTqQPKn98fniM*mTq`Cr$H z%!iEOZqpSe?;uLR-WQ+vN}pm}Tp&kmLsHMuad+PfG;TOo`(?o&?{s&!JzTKjyc7mdb^xhhq^xz^2EhES`P;pnv<@|)Xc*955dSxv)<5=fH|rovbVHd5BJ>~S(OEEr@fqs< z5~U@Y-v0ch(~j$kZT(>WsBwlq_h0Xkp9*TH@{$Owy1sUFuWIY*E(B0{2~C}0#K(g9 ziktu9=o)ng6|4vD4dCkFwYblE{)IIvIJ+gRqf8Elt932gQ&Ku zW&g|z7m163|ym0UMh5v>C?G2>jCDy0qo8OJX49 z{I9lYI_wDZc)Egq$EFn1+{Ok4mk5!0nYOzON92mY8O!BJg^Cs zcexp5FK3&35EYz0K=mi|;Z9u=02fSffcRBwCH<;GYN5 zgFTImJv!DofG>)@IS!2BEjciJmU_uEWV3(ds zG?_d-WK@5@{@bg|026Nwi{{FCWaTQHX+%sPsQM{Bo6uxSe`p9g`YS;K=!zLw^Ca-; zfI9k7^G3t&jq=`bzHYN>GyP_#34*Yl7C7|M%K(jM2f&@=>wmi2y@2hu3!Hy8OryBN zU+s6VdJ=zh^>q2YS`3;BJg3M%Hb&&Yd7a_ZAxVQ?(!SbEm+c>2rbz!&pcQR{(fv?9J_MV$BBr^|Rm zj{(uy`Sm=pBUNla2Z=uknyTjVUFTLdgtYO#e_zMCcM9+2wB?Yha|<*I1Yolf#h zGh}OpXifxp!4!UuY*p#xGz3Yb7 zfO~af1tRJ>Ii;1N7#`_cGAE2bv7Zv%2HoDwZ4c!c^NdtXO5L+ZwQHD}-&qNfL;yrl z)m_?=mcB!DhbJraZ=Q1h6(#=W!o6Pxjf#u!`^R&x9ut^V)1#m!R4;gv#0%cTujG14 z5q*l)#6dMM-FTN2kv*3q&uM4Io3*bFaL5Hx^lcV%ISX0)ah!@-#-@Oe%7Ad2(N=se z8Jfys<2>f6xp7+-(b-SB_;j}GtFJVT&`uqEvBGgO@nkj=%G%uf&RlMuTAaciZ8nbl z%P8yfBC_%lOmxyqMtc;n?Zzgdg%FSo=of0>QIOK;1(LDyXh?gap)S_l?2X7`(! zQJ>C&F8o&yvu_c3U>cmpz)>uIx7|O7NilA1xi4rb4;oR9c;K${m-F^1UP+ar^P*gM zVScw=(K(A?*BcfQP?JTNhp1A27a`G2iHri<55j93hkMr(EWr$%DcW3-yvcA%oB#~y8Ai|;^;1r{)10^R@y8#7veg@ChPEBKw?HQq%TsZeF_7`9WGecd!t3QHlenoaS?W-gz?9-b zPkby#%jG_m^9UUieZ-C9h9w`v(~sg?XK`kZnwvw>~iIFAsQkP&>U4CSf= zt*&8$cID4GXw!qae!o|un3SSPuWL^QRYA7*I)cWwPT(` jfRz8I^YP)-9mYGY$4Wv})hxh=RQIS{Q&Y-A-u3@KY&Vc| diff --git a/editor/resources/knob48@2x.png b/editor/resources/knob48@2x.png index 2f8d49e67d3ca65f4cf0ccc8ac447557fc08129f..f064cfc3e5ef86c2b48ba69c07c210ece9b15dca 100644 GIT binary patch literal 92347 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

jLW!z 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 diff --git a/editor/resources/logo_full_white.png b/editor/resources/logo_full_white.png deleted file mode 100644 index 8aace05a9f2fc2c1b5305d3d6687edce1bf3f552..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4516 zcmV;V5nJwwP)cX<>7EASZQhW??5FOJQDZyGB7eQ zEig4LF*c4qr?mh809bTISad^gaCvfRXJ~W)LqjkiP<3K#X=5NnZ*5^|ZXiTuWNBkz zbZKvHAZT=Sa5^t9V{&C-bZK^FV{dJ3Z*FrgZ*pfZaCKsAX=7w>ZDDC{FM4HiZ!a+} zFfYdAz4-tD5LHP;K~#90?VWkNozvCFfBPm8A(5mcA&8k6qC_Lcst^@v4SCUldTD9J zOdBm#s%9^Wnp)Af(xMSV5rjsCCJ2g(DIt+bg&>J3awYlpkF}5c+PvoB8 z=W{;ioc*l5*4oe6&mPvWk5oq;RRC})@GfvR&?!sZhH5EQN1Mk^k{*}TPtvQvAvM;g zjW6dcb_3PfGf|ftP{516x*G zzdG6=fZKp`GS=w`obEgGh-&FpM;ipNn_o+=ma*Piz=Sb5yAgT`b^Sa zvsChS%L66#bDwDq$4VNIvFc1on>go|1MMZ8p}9 zlC-X*PLfuWv`ErNvim+w(le6!OX}#HJ1V2BVUo^~)ZaO`tU^tw41lh{iz!CO7=E4L z^W8i&OQ;)Z^8(xb9t_+Ed;~lWTmpOt7znHbbjOV1-GNPkLBMd}PrzM3j}l}~2L@HE zU1b6IU7pVL2`~=05x5=mpDqusua)3)MS;%St(I+E5do|YjKHSeM=>{G*H)7K3*fHS zkd+z0Ccx52C%O^n9-;3ITmXCkToYWoGEaw`)p{-Zascy9&+!lYcC9RXZOkUQNo&eY z4d9|kC%Pd;z0S1U5`D)8@a18_Hi+H)IZwncLGe82+)Dx7dXoB< zBBKDNI_KsjWOSEQ>5*x!bMCdY#F%UKR!P@6=f+i77fD)6QXfgrWvS#nZ%0ac7Wg0M z+?_=$0jmM$1Mf$s)_iCL9s>3!kDnRa)a;#j4U6!3I-m((I~UM_1TuI-MGz=Im={?!Z_OhgpWq$0w zvRSaFtS>B(^s1y6{Ix;A{gSqj)JswqncsW5q{*IVgQT@(zVZzutuBk`n&WBSlJvQ3 zWc`}w)xq3A14Uj_{gXuC+-&cE`Zlcdf4D<3YFbh@M|z~#=l z8MzDXr7zYWqtvoPE|+wNq`M`(B74F*%GQ=!$)1jH`36bS80Q>$l&D0foKoOg*eRFF zp860=WFtZ;SXFkzL(GiGE>%VcNu49*sa&OglsrbZUOz<^<&(tqve7Atd9rq;%Bx9< zMoDMN9){B+*S{<2YDw41X3*xQK;rJX#lYUhBm?b$eSwKUH0%uc3g)X$zLo{@mPKg7 zSF~eeM%j-7ey*dIO8d*UZ4ZwpD856Luyfi#c0sex;riO8;%YYuhXAv2d z#<+w|GxN}l!FKT<5C(z}_djQfjmrX{0~St}L~I?JmfuDZ{co?Z&bLKmJWs}Ra*D_} zCnDo*V4dQ%zu++i*b_J)!fT4Bc`7J>An|zt)=A36LSQIx6fFm!9F|}Y$=%qFyjep= zMJiOy>JDrZk@v?k`0XFzcXkE!Jt4w>0TqmL0rrXfc%K7%WZ|s942F{~GYbaXA zP`*P}{5N2*|GY8w(4HUAp8@!+)@(qpU}C>>A;9 zMW$b%IltIwb6Oev`VfCO&nT5=L`G+9sts{-89e&|Q~l?&gKJj;-ww(K0S5(TM`Im$ zI5u+TcIg);Xxd>@@yFQU)E#>Wa(D)tiWmFuhb8Lv!c0YA4}ETiJ0IAKe1j7<9sYv! z0U5Kx#ud4Fv4Dt@BayMGA;dl<^6Cgoj_|t=s926XahvChWPHE_p4-!8hg>VT){~a` zOkD^J)>ta-?m^ji2*L@0ok^U?i#acb0|zF`*2emg3+fI7PWC#jj-{{ckF9AZ6l-J` z;3VLMe7!M&<-i3688-2~CQ?7^0R%~Yu}xD+>ptMx2(KBGu<0lunc z0I&MbhX>b=qh)97PjILya3C;^rp?b#YfIqgfg}084p|t$~s#dI|;bSWssv<&6+C0)Fq6$S0PXv6u=* zY-3iAa8tG%IJg45Hw5PR&-VbE`p=!Q4cdr+{y2hx1o*wz>0{t#n%32Gfz>_Do(bI- z(K1jw#3cM^3H&S%&CjvJ5VGfi18ZPU#jHHcmr&%eOj<6Cr)E~9iB}g|Zkp0RZB2Z( z#(szpKPgqWh>RYX6(huNE5twNx^0IIAftVG&WdnnKtBq2E+~uXm&19Ucbb_q#NpU< zo^N-57&e1kU(O9!mHek#Tv(vqdJ+0N%FrWbU;SN19$kP}BYZ}cs#iot1Mv}M640T7 za^?UVVCI$OSO#NmcAFc}PW3eF`0p{-ZxWvZ7Z$jl+x*1v7BIR%-R-dcRPqKj*|6V7 z1Uy-Qen^Bq)2Xikzhff&GL3F|Zq^k1bX5re=SF0_i=}2%4A``NFilZkje*SdJ>8l# z%`iv#vJnv-vtVQ3))MM{iVbp)0pFC$|8u8{B4z6rppS)~)y(G&oFwVcp!g$62Rr9J zDMPQMj3JWF3W}FW`o42+Zlp>%m@JENeNyJS3rFExitUbSaw852-b=-clD=0$y@|3| zf*oXfm)$96$pTuFD8#ecK5t~<{zZZ1`&<^ebhLA>yW1l(1(lU zvV7Fo6qv-!l=XVh++&f$Ri)|@k0XRKuOm5RM8rUl34d_nGU{T1k(ZP0yVZ?LZ4xB=MuZZliDeASu{vIR5 z6I6E7aa}~lECM5TrGXvraH+rFa|8LGVh_uLpgc5Fm4lne@8b?}JC;2=ADdMqN$s)4 z_R;?Pp^^^4+&$xDiDa|Yl(p7FcB<=ONhkQvNi30+&+ojsEWam-LWy9-P-;x(FD1p& zJXVwR0OU(CDu}0?bHB=c0S=WkJVMtf>8~Zqc*{9=WD2_LWV!g~%0l0gqkkvaZyW}2 zSMs!q4`s`!VnEUbk`9yfgmbPb2Z^{BBgC?ly+3aXE%8%!PbszKm=iz5VJYgxqFBns zy@8CYsvu)phI=yxGe~!$WklAqRnV;z+=h+j(+NCF4Qe@h#n7PQo1%-=GD16vN^f$u zj+C|4l-dwy$J$xd>};XUWvk`(nGP(1yk z9E16a>+lfcCGDkj=@6&NM!W4Z=rvN7k2FrwRnECs zZhn4X0l6Du5hdGVv4)w0doiDR=%ao(E1x>D0oVmIn{5fKPyU#NB+j5I7P8V9heZlq zghdF|?$5=rn-ikY`m>G-0r(NNndpfHai{5+)xaZI{N#_Y!wE9|#Yr`8%ugap9$8bR z+7PhF?w2sz?z-5S@U4kkuo3bIEMuYef1wOqA5pYb|0biY0}Bdy4cH7bSdVOl&iEN{ zyqBN*d&4yA+UkRrXUQxCS}WPT4i7A4;T>Q<|9vR%Mutw7Wv%%Lww7H3i`|?8Y*^!4 zU?3jzcwepcYOBB!_hw>&z}>L0u@gwQ*1RzV&6B{lysW)2J$2 zOhoZRT2;Y1ngI)Jz80HKPsKbx9k8I_(G<@Aj$tl#!2XV&|CU&W<7_e{73NTOh8~vw z@P_R4)*EFf@h+5kT+Wmf9$+wA(q=xqs*V~0Ti^Xg7SeXJq??>`Z(ydH9b~8cZXr8Y zs;kWVm;2xKH)W2KC!KTCuwa(KGMnfCNmt11kc(TlRmz*4SP1n|as>mHqx4%W-+c-e zX><@4O&%S%uxWo=ELZ$yU-t>jAe?MJLgU=PF6=P;77=vWyeqt zlzD)<%c8{Q%e;A=eOWizZ~wF`Vti~BBI&aOO9Xo)#pu`w{E{jKx7JZTV7uo{u!FO5 zuih*CZ;73la1EBA{yvt={SJ0Q**W-xr8??JgZ~1mBtjxquSu!^0000}M+?PsXsC}Z^+#p)&`AED9t#(=>qAv)6K%P$Q8dooM1=Kwv09bu}#WXP9 zShzZ9Dkd|*-G?ygqky1;k<=xmYB3Y?(u`C7lG(a_MuSyX#Tqb=nOC@csFxT$iDpt zLcqUakB8#=`%$orDw}4 z&Q(?^E>_pnD(f!QH#9a~zS7*%+IIC?`}G?gs#~46ySnf6-0kiAx&N1Y1NR3XJRExT z>*J9pzl}cq{g1I{;}erp&tLpG{qoh!>o;#_-@TukU-+>2*T=t?J}v+A`Ad77bPxcv z?R-fD(8ToS?XMB{B<4Err{BiMG;eXEx7aRO6cTG|cDAMzyx0+%cY&(_EOslRPekYwNzR|1owQRX+$YZ#8rXV)W=~>oB zv;94Jq6_=2=C6)?zU;nE_eE-fz5fMGa;j{YT7#53S@yZ_qFAium}f=*WudI*95VR5 zx6+DwR(=ZHtJ9u-+RbQWZatt4>-V0dRc@A8^|>t@0p)gd9$Axj{z;jPiKD-{rF-<0 zq$J#(_R-_(D92ze<{VnEzA#p!hfh^W5OpU~DA+&Igirnl+Gbx{UTwgZKN-m}83TH{ z@hyuoSdDpOkSnQZWV4?BV2iY4GLf4`YA;smgSb2_oK_3;t&EFF0{8pDrS1ZG$p+@MTinH>{VI&fHqefK+F+Eb5g=p;l{8r|KfX7%{D`u7*fo4qnh6ZEom+UIf;kQjcQWxuWjHG6m=y_CR z0Jx!{74bR@qu~7P74z8)s}!+LO4GYS0jHv9&B^V=IR{u{pgAdKI|UPxd%J7VbXaqn zur_2YTBpv|vxjNo%(&!Z(;xvwVS%*P?b?LBFKeXdU2In~{(yGJ$(A^5qo5?H?W~Fx zcgchJDfD1pK9R+}R-HoteCCU^Jk25R$l-6O*c{34rsOO})hQ&LE;(GST zO7I;!=CokPYJP^cxWyVliel(M3EPIQ!6gW{>L(h4%VbIuty$T&-G;eux@n6PWqIA??1 zizdU4+ZZ?oEt9n=$AG@tDG;3QQtU_Ocv|kBzEEmF!6`HFZ>li2k?Zs6EwC(de=(@{ z-qJx6@o2(i=foiK(y!mkuz3Q0RjF24J6OgD<1BD36duGNNH0;=jsKu9ljr4tFR)G5 zp6!Zj@t|!@{L*et`mmk+@C3X!MCOE-Uxe&C)-;hSQ^q&FOvzOwp=c%5zK^8=;^uW; zWjFln0=AGJyhGr+nocO7tfc80{UDRERpVm>Nn2NT39N4EW|38|aJ&y1AkUuAlR0D~ zhwkg3j>J_K)|X$06S8WOI|V;ZBL5dgNpEYLrR+C!C|S9+l2jSRFqrCQnQnepqti|5 z*~kf5Mxp&Msp%8`N)^QBr*Z=?{i*cx5fh3t>@#jI(ho$!UeX-B!yv1-ZXaYJ@$D6j zYaMap%4p2R4X=c?x#(BWng+_yfMQ$5^QZoEx`ng3MzUIJ>DWl;W%(q7vT>ln@|{HE zRU^HgF!cPCJND(sQ~ literal 0 HcmV?d00001 diff --git a/editor/resources/logo_text_white@2x.png b/editor/resources/logo_text_white@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..d3464ae7d25283a215a2b59cf5e74922f50b5e10 GIT binary patch literal 4056 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 iconWhite = owned(new CBitmap("logo_full_white.png")); + SharedPointer iconWhite = owned(new CBitmap("logo_text_white.png")); + SharedPointer background = owned(new CBitmap("background.png")); SharedPointer knob48 = owned(new CBitmap("knob48.png")); SharedPointer logoText = owned(new CBitmap("logo_text.png")); @@ -369,6 +370,7 @@ void Editor::Impl::createFrameContents() typedef CTextLabel ValueLabel; typedef CViewContainer VMeter; typedef SValueMenu ValueMenu; + typedef CViewContainer Background; #if 0 typedef CTextButton Button; #endif @@ -397,7 +399,7 @@ void Editor::Impl::createFrameContents() box->setBackgroundColor(theme->boxBackground); box->setTitleFontColor(theme->titleBoxText); box->setTitleBackgroundColor(theme->titleBoxBackground); - auto font = owned(new CFontDesc("ABeeZee", fontsize)); + auto font = owned(new CFontDesc("Roboto", fontsize)); font->setSize(fontsize); box->setTitleFont(font); return box; @@ -411,7 +413,7 @@ void Editor::Impl::createFrameContents() lbl->setBackColor(CColor(0x00, 0x00, 0x00, 0x00)); lbl->setFontColor(theme->text); lbl->setHoriAlign(align); - auto font = owned(new CFontDesc("ABeeZee", fontsize)); + auto font = owned(new CFontDesc("Roboto", fontsize)); font->setSize(fontsize); lbl->setFont(font); return lbl; @@ -432,7 +434,7 @@ void Editor::Impl::createFrameContents() lbl->setBackColor(CColor(0x00, 0x00, 0x00, 0x00)); lbl->setFontColor(theme->text); lbl->setHoriAlign(align); - auto font = owned(new CFontDesc("ABeeZee", fontsize)); + auto font = owned(new CFontDesc("Roboto", fontsize)); font->setSize(fontsize); lbl->setFont(font); return lbl; @@ -455,7 +457,7 @@ void Editor::Impl::createFrameContents() #endif auto createValueButton = [this, &theme](const CRect& bounds, int tag, const char* label, CHoriTxtAlign align, int fontsize) { CTextButton* button = new CTextButton(bounds, this, tag, label); - auto font = owned(new CFontDesc("ABeeZee", fontsize)); + auto font = owned(new CFontDesc("Roboto", fontsize)); font->setSize(fontsize); button->setFont(font); button->setTextAlignment(align); @@ -469,7 +471,7 @@ void Editor::Impl::createFrameContents() auto createValueMenu = [this, &theme](const CRect& bounds, int tag, const char*, CHoriTxtAlign align, int fontsize) { SValueMenu* vm = new SValueMenu(bounds, this, tag); vm->setHoriAlign(align); - auto font = owned(new CFontDesc("ABeeZee", fontsize)); + auto font = owned(new CFontDesc("Roboto", fontsize)); font->setSize(fontsize); vm->setFont(font); vm->setFontColor(theme->valueText); @@ -509,6 +511,11 @@ void Editor::Impl::createFrameContents() SPiano* piano = new SPiano(bounds); return piano; }; + auto createBackground = [&background](const CRect& bounds, int, const char*, CHoriTxtAlign, int) { + CViewContainer* container = new CViewContainer(bounds); + container->setBackground(background); + return container; + }; #include "layout/main.hpp" diff --git a/editor/src/editor/layout/main.hpp b/editor/src/editor/layout/main.hpp index c8e93a39..a91fc21c 100644 --- a/editor/src/editor/layout/main.hpp +++ b/editor/src/editor/layout/main.hpp @@ -1,153 +1,155 @@ /* This file is generated by the layout maker tool. */ LogicalGroup* const view__0 = createLogicalGroup(CRect(0, 0, 800, 475), -1, "", kCenterText, 14); mainView = view__0; -enterTheme(darkTheme); -LogicalGroup* const view__1 = createLogicalGroup(CRect(0, 0, 800, 110), -1, "", kCenterText, 14); +Background* const view__1 = createBackground(CRect(190, 110, 790, 390), -1, "", kCenterText, 14); view__0->addView(view__1); -RoundedGroup* const view__2 = createRoundedGroup(CRect(5, 4, 180, 105), -1, "", kCenterText, 14); -view__1->addView(view__2); -SfizzMainButton* const view__3 = createSfizzMainButton(CRect(5, 7, 170, 70), kTagFirstChangePanel+kPanelGeneral, "", kCenterText, 14); +enterTheme(darkTheme); +LogicalGroup* const view__2 = createLogicalGroup(CRect(0, 0, 800, 110), -1, "", kCenterText, 14); +view__0->addView(view__2); +RoundedGroup* const view__3 = createRoundedGroup(CRect(5, 4, 180, 105), -1, "", kCenterText, 14); view__2->addView(view__3); -HomeButton* const view__4 = createHomeButton(CRect(50, 71, 75, 96), kTagFirstChangePanel+kPanelGeneral, "", kCenterText, 24); -view__2->addView(view__4); -CCButton* const view__5 = createCCButton(CRect(75, 71, 100, 96), kTagFirstChangePanel+kPanelControls, "", kCenterText, 24); -view__2->addView(view__5); -SettingsButton* const view__6 = createSettingsButton(CRect(100, 71, 125, 96), kTagFirstChangePanel+kPanelSettings, "", kCenterText, 24); -view__2->addView(view__6); -RoundedGroup* const view__7 = createRoundedGroup(CRect(185, 5, 565, 105), -1, "", kCenterText, 14); -view__1->addView(view__7); -Label* const view__8 = createLabel(CRect(15, 8, 55, 38), -1, "File:", kCenterText, 16); -view__7->addView(view__8); -Label* const view__9 = createLabel(CRect(15, 40, 55, 70), -1, "KS:", kCenterText, 16); -view__7->addView(view__9); -HLine* const view__10 = createHLine(CRect(10, 36, 370, 41), -1, "", kCenterText, 14); -view__7->addView(view__10); -HLine* const view__11 = createHLine(CRect(10, 68, 370, 73), -1, "", kCenterText, 14); -view__7->addView(view__11); -Label* const view__12 = createLabel(CRect(80, 7, 310, 37), -1, "DefaultInstrument.sfz", kCenterText, 20); -sfzFileLabel_ = view__12; -view__7->addView(view__12); -Label* const view__13 = createLabel(CRect(80, 39, 310, 69), -1, "Key switch", kCenterText, 20); -view__7->addView(view__13); -Label* const view__14 = createLabel(CRect(10, 71, 70, 96), -1, "Voices:", kRightText, 12); -view__7->addView(view__14); -LoadFileButton* const view__15 = createLoadFileButton(CRect(315, 9, 340, 34), kTagLoadSfzFile, "", kCenterText, 24); -view__7->addView(view__15); -EditFileButton* const view__16 = createEditFileButton(CRect(340, 9, 365, 34), kTagEditSfzFile, "", kCenterText, 24); -view__7->addView(view__16); -Label* const view__17 = createLabel(CRect(75, 71, 125, 96), -1, "", kCenterText, 12); -infoVoicesLabel_ = view__17; -view__7->addView(view__17); -Label* const view__18 = createLabel(CRect(130, 71, 190, 96), -1, "Max:", kRightText, 12); -view__7->addView(view__18); -Label* const view__19 = createLabel(CRect(195, 71, 245, 96), -1, "", kCenterText, 12); -numVoicesLabel_ = view__19; -view__7->addView(view__19); -Label* const view__20 = createLabel(CRect(250, 71, 310, 96), -1, "Memory:", kRightText, 12); -view__7->addView(view__20); -Label* const view__21 = createLabel(CRect(315, 71, 365, 96), -1, "", kCenterText, 12); -memoryLabel_ = view__21; -view__7->addView(view__21); -RoundedGroup* const view__22 = createRoundedGroup(CRect(570, 5, 795, 105), -1, "", kCenterText, 14); -view__1->addView(view__22); -Knob48* const view__23 = createKnob48(CRect(45, 15, 93, 63), -1, "", kCenterText, 14); -view__22->addView(view__23); -view__23->setVisible(false); -ValueLabel* const view__24 = createValueLabel(CRect(40, 65, 100, 70), -1, "Center", kCenterText, 12); -view__22->addView(view__24); +SfizzMainButton* const view__4 = createSfizzMainButton(CRect(30, 5, 150, 65), kTagFirstChangePanel+kPanelGeneral, "", kCenterText, 14); +view__3->addView(view__4); +HomeButton* const view__5 = createHomeButton(CRect(44, 69, 69, 94), kTagFirstChangePanel+kPanelGeneral, "", kCenterText, 24); +view__3->addView(view__5); +CCButton* const view__6 = createCCButton(CRect(76, 69, 101, 94), kTagFirstChangePanel+kPanelControls, "", kCenterText, 24); +view__3->addView(view__6); +SettingsButton* const view__7 = createSettingsButton(CRect(107, 69, 132, 94), kTagFirstChangePanel+kPanelSettings, "", kCenterText, 24); +view__3->addView(view__7); +RoundedGroup* const view__8 = createRoundedGroup(CRect(185, 5, 565, 105), -1, "", kCenterText, 14); +view__2->addView(view__8); +Label* const view__9 = createLabel(CRect(15, 8, 55, 38), -1, "File:", kCenterText, 16); +view__8->addView(view__9); +Label* const view__10 = createLabel(CRect(15, 40, 55, 70), -1, "KS:", kCenterText, 16); +view__8->addView(view__10); +HLine* const view__11 = createHLine(CRect(10, 36, 370, 41), -1, "", kCenterText, 14); +view__8->addView(view__11); +HLine* const view__12 = createHLine(CRect(10, 68, 370, 73), -1, "", kCenterText, 14); +view__8->addView(view__12); +Label* const view__13 = createLabel(CRect(80, 7, 310, 37), -1, "DefaultInstrument.sfz", kCenterText, 20); +sfzFileLabel_ = view__13; +view__8->addView(view__13); +Label* const view__14 = createLabel(CRect(80, 39, 310, 69), -1, "Key switch", kCenterText, 20); +view__8->addView(view__14); +Label* const view__15 = createLabel(CRect(10, 71, 70, 96), -1, "Voices:", kRightText, 12); +view__8->addView(view__15); +LoadFileButton* const view__16 = createLoadFileButton(CRect(315, 9, 340, 34), kTagLoadSfzFile, "", kCenterText, 24); +view__8->addView(view__16); +EditFileButton* const view__17 = createEditFileButton(CRect(340, 9, 365, 34), kTagEditSfzFile, "", kCenterText, 24); +view__8->addView(view__17); +Label* const view__18 = createLabel(CRect(75, 71, 125, 96), -1, "", kCenterText, 12); +infoVoicesLabel_ = view__18; +view__8->addView(view__18); +Label* const view__19 = createLabel(CRect(130, 71, 190, 96), -1, "Max:", kRightText, 12); +view__8->addView(view__19); +Label* const view__20 = createLabel(CRect(195, 71, 245, 96), -1, "", kCenterText, 12); +numVoicesLabel_ = view__20; +view__8->addView(view__20); +Label* const view__21 = createLabel(CRect(250, 71, 310, 96), -1, "Memory:", kRightText, 12); +view__8->addView(view__21); +Label* const view__22 = createLabel(CRect(315, 71, 365, 96), -1, "", kCenterText, 12); +memoryLabel_ = view__22; +view__8->addView(view__22); +RoundedGroup* const view__23 = createRoundedGroup(CRect(570, 5, 795, 105), -1, "", kCenterText, 14); +view__2->addView(view__23); +Knob48* const view__24 = createKnob48(CRect(45, 15, 93, 63), -1, "", kCenterText, 14); +view__23->addView(view__24); view__24->setVisible(false); -Knob48* const view__25 = createKnob48(CRect(110, 15, 158, 63), kTagSetVolume, "", kCenterText, 14); -volumeSlider_ = view__25; -view__22->addView(view__25); -ValueLabel* const view__26 = createValueLabel(CRect(105, 65, 165, 87), -1, "0.0 dB", kCenterText, 12); -volumeLabel_ = view__26; -view__22->addView(view__26); -VMeter* const view__27 = createVMeter(CRect(175, 15, 210, 70), -1, "", kCenterText, 14); -view__22->addView(view__27); +ValueLabel* const view__25 = createValueLabel(CRect(40, 65, 100, 70), -1, "Center", kCenterText, 12); +view__23->addView(view__25); +view__25->setVisible(false); +Knob48* const view__26 = createKnob48(CRect(110, 15, 158, 63), kTagSetVolume, "", kCenterText, 14); +volumeSlider_ = view__26; +view__23->addView(view__26); +ValueLabel* const view__27 = createValueLabel(CRect(105, 65, 165, 87), -1, "0.0 dB", kCenterText, 12); +volumeLabel_ = view__27; +view__23->addView(view__27); +VMeter* const view__28 = createVMeter(CRect(175, 15, 210, 70), -1, "", kCenterText, 14); +view__23->addView(view__28); enterTheme(defaultTheme); -LogicalGroup* const view__28 = createLogicalGroup(CRect(5, 110, 796, 395), -1, "", kCenterText, 14); -subPanels_[kPanelGeneral] = view__28; -view__0->addView(view__28); -RoundedGroup* const view__29 = createRoundedGroup(CRect(0, 0, 175, 280), -1, "", kCenterText, 14); -view__28->addView(view__29); -Label* const view__30 = createLabel(CRect(15, 10, 75, 35), -1, "Curves:", kLeftText, 14); +LogicalGroup* const view__29 = createLogicalGroup(CRect(5, 110, 796, 395), -1, "", kCenterText, 14); +subPanels_[kPanelGeneral] = view__29; +view__0->addView(view__29); +RoundedGroup* const view__30 = createRoundedGroup(CRect(0, 0, 175, 280), -1, "", kCenterText, 14); view__29->addView(view__30); -Label* const view__31 = createLabel(CRect(15, 35, 75, 60), -1, "Masters:", kLeftText, 14); -view__29->addView(view__31); -Label* const view__32 = createLabel(CRect(15, 60, 75, 85), -1, "Groups:", kLeftText, 14); -view__29->addView(view__32); -Label* const view__33 = createLabel(CRect(15, 85, 75, 110), -1, "Regions:", kLeftText, 14); -view__29->addView(view__33); -Label* const view__34 = createLabel(CRect(15, 110, 75, 135), -1, "Samples:", kLeftText, 14); -view__29->addView(view__34); -Label* const view__35 = createLabel(CRect(115, 10, 155, 35), -1, "0", kCenterText, 14); -infoCurvesLabel_ = view__35; -view__29->addView(view__35); -Label* const view__36 = createLabel(CRect(115, 35, 155, 60), -1, "0", kCenterText, 14); -infoMastersLabel_ = view__36; -view__29->addView(view__36); -Label* const view__37 = createLabel(CRect(115, 60, 155, 85), -1, "0", kCenterText, 14); -infoGroupsLabel_ = view__37; -view__29->addView(view__37); -Label* const view__38 = createLabel(CRect(115, 85, 155, 110), -1, "0", kCenterText, 14); -infoRegionsLabel_ = view__38; -view__29->addView(view__38); -Label* const view__39 = createLabel(CRect(115, 110, 155, 135), -1, "0", kCenterText, 14); -infoSamplesLabel_ = view__39; -view__29->addView(view__39); -LogicalGroup* const view__40 = createLogicalGroup(CRect(5, 110, 795, 395), -1, "", kCenterText, 14); -subPanels_[kPanelControls] = view__40; -view__0->addView(view__40); -view__40->setVisible(false); -RoundedGroup* const view__41 = createRoundedGroup(CRect(0, 0, 790, 285), -1, "", kCenterText, 14); -view__40->addView(view__41); -Label* const view__42 = createLabel(CRect(0, 0, 790, 285), -1, "Controls not available", kCenterText, 40); +Label* const view__31 = createLabel(CRect(15, 10, 75, 35), -1, "Curves:", kLeftText, 14); +view__30->addView(view__31); +Label* const view__32 = createLabel(CRect(15, 35, 75, 60), -1, "Masters:", kLeftText, 14); +view__30->addView(view__32); +Label* const view__33 = createLabel(CRect(15, 60, 75, 85), -1, "Groups:", kLeftText, 14); +view__30->addView(view__33); +Label* const view__34 = createLabel(CRect(15, 85, 75, 110), -1, "Regions:", kLeftText, 14); +view__30->addView(view__34); +Label* const view__35 = createLabel(CRect(15, 110, 75, 135), -1, "Samples:", kLeftText, 14); +view__30->addView(view__35); +Label* const view__36 = createLabel(CRect(115, 10, 155, 35), -1, "0", kCenterText, 14); +infoCurvesLabel_ = view__36; +view__30->addView(view__36); +Label* const view__37 = createLabel(CRect(115, 35, 155, 60), -1, "0", kCenterText, 14); +infoMastersLabel_ = view__37; +view__30->addView(view__37); +Label* const view__38 = createLabel(CRect(115, 60, 155, 85), -1, "0", kCenterText, 14); +infoGroupsLabel_ = view__38; +view__30->addView(view__38); +Label* const view__39 = createLabel(CRect(115, 85, 155, 110), -1, "0", kCenterText, 14); +infoRegionsLabel_ = view__39; +view__30->addView(view__39); +Label* const view__40 = createLabel(CRect(115, 110, 155, 135), -1, "0", kCenterText, 14); +infoSamplesLabel_ = view__40; +view__30->addView(view__40); +LogicalGroup* const view__41 = createLogicalGroup(CRect(5, 110, 795, 395), -1, "", kCenterText, 14); +subPanels_[kPanelControls] = view__41; +view__0->addView(view__41); +view__41->setVisible(false); +RoundedGroup* const view__42 = createRoundedGroup(CRect(0, 0, 790, 285), -1, "", kCenterText, 14); view__41->addView(view__42); -LogicalGroup* const view__43 = createLogicalGroup(CRect(5, 109, 795, 395), -1, "", kCenterText, 14); -subPanels_[kPanelSettings] = view__43; -view__0->addView(view__43); -view__43->setVisible(false); -TitleGroup* const view__44 = createTitleGroup(CRect(255, 1, 535, 111), -1, "Engine", kCenterText, 12); -view__43->addView(view__44); -ValueMenu* const view__45 = createValueMenu(CRect(25, 60, 85, 85), kTagSetNumVoices, "", kCenterText, 12); -numVoicesSlider_ = view__45; +Label* const view__43 = createLabel(CRect(0, 0, 790, 285), -1, "Controls not available", kCenterText, 40); +view__42->addView(view__43); +LogicalGroup* const view__44 = createLogicalGroup(CRect(5, 109, 795, 395), -1, "", kCenterText, 14); +subPanels_[kPanelSettings] = view__44; +view__0->addView(view__44); +view__44->setVisible(false); +TitleGroup* const view__45 = createTitleGroup(CRect(255, 1, 535, 111), -1, "Engine", kCenterText, 12); view__44->addView(view__45); -ValueLabel* const view__46 = createValueLabel(CRect(15, 20, 95, 45), -1, "Polyphony", kCenterText, 12); -view__44->addView(view__46); -ValueMenu* const view__47 = createValueMenu(CRect(110, 60, 170, 85), kTagSetOversampling, "", kCenterText, 12); -oversamplingSlider_ = view__47; -view__44->addView(view__47); -ValueLabel* const view__48 = createValueLabel(CRect(100, 20, 180, 45), -1, "Oversampling", kCenterText, 12); -view__44->addView(view__48); -ValueLabel* const view__49 = createValueLabel(CRect(185, 20, 265, 45), -1, "Preload size", kCenterText, 12); -view__44->addView(view__49); -ValueMenu* const view__50 = createValueMenu(CRect(195, 60, 255, 85), kTagSetPreloadSize, "", kCenterText, 12); -preloadSizeSlider_ = view__50; -view__44->addView(view__50); -TitleGroup* const view__51 = createTitleGroup(CRect(200, 159, 590, 279), -1, "Tuning", kCenterText, 12); -view__43->addView(view__51); -ValueLabel* const view__52 = createValueLabel(CRect(125, 20, 205, 45), -1, "Root key", kCenterText, 12); -view__51->addView(view__52); -ValueMenu* const view__53 = createValueMenu(CRect(220, 60, 280, 85), kTagSetTuningFrequency, "", kCenterText, 12); -tuningFrequencySlider_ = view__53; -view__51->addView(view__53); -ValueLabel* const view__54 = createValueLabel(CRect(210, 20, 290, 45), -1, "Frequency", kCenterText, 12); -view__51->addView(view__54); -Knob48* const view__55 = createKnob48(CRect(310, 45, 358, 93), kTagSetStretchedTuning, "", kCenterText, 14); -stretchedTuningSlider_ = view__55; -view__51->addView(view__55); -ValueLabel* const view__56 = createValueLabel(CRect(295, 20, 375, 45), -1, "Stretch", kCenterText, 12); -view__51->addView(view__56); -ValueLabel* const view__57 = createValueLabel(CRect(20, 20, 120, 45), -1, "Scala file", kCenterText, 12); -view__51->addView(view__57); -ValueButton* const view__58 = createValueButton(CRect(20, 60, 120, 85), kTagLoadScalaFile, "DefaultScale", kCenterText, 12); -scalaFileButton_ = view__58; -view__51->addView(view__58); -ValueMenu* const view__59 = createValueMenu(CRect(135, 60, 170, 85), kTagSetScalaRootKey, "", kCenterText, 12); -scalaRootKeySlider_ = view__59; -view__51->addView(view__59); -ValueMenu* const view__60 = createValueMenu(CRect(170, 60, 200, 85), kTagSetScalaRootKey, "", kCenterText, 12); -scalaRootOctaveSlider_ = view__60; -view__51->addView(view__60); -Piano* const view__61 = createPiano(CRect(5, 400, 795, 470), -1, "", kCenterText, 14); -view__0->addView(view__61); +ValueMenu* const view__46 = createValueMenu(CRect(25, 60, 85, 85), kTagSetNumVoices, "", kCenterText, 12); +numVoicesSlider_ = view__46; +view__45->addView(view__46); +ValueLabel* const view__47 = createValueLabel(CRect(15, 20, 95, 45), -1, "Polyphony", kCenterText, 12); +view__45->addView(view__47); +ValueMenu* const view__48 = createValueMenu(CRect(110, 60, 170, 85), kTagSetOversampling, "", kCenterText, 12); +oversamplingSlider_ = view__48; +view__45->addView(view__48); +ValueLabel* const view__49 = createValueLabel(CRect(100, 20, 180, 45), -1, "Oversampling", kCenterText, 12); +view__45->addView(view__49); +ValueLabel* const view__50 = createValueLabel(CRect(185, 20, 265, 45), -1, "Preload size", kCenterText, 12); +view__45->addView(view__50); +ValueMenu* const view__51 = createValueMenu(CRect(195, 60, 255, 85), kTagSetPreloadSize, "", kCenterText, 12); +preloadSizeSlider_ = view__51; +view__45->addView(view__51); +TitleGroup* const view__52 = createTitleGroup(CRect(200, 159, 590, 279), -1, "Tuning", kCenterText, 12); +view__44->addView(view__52); +ValueLabel* const view__53 = createValueLabel(CRect(125, 20, 205, 45), -1, "Root key", kCenterText, 12); +view__52->addView(view__53); +ValueMenu* const view__54 = createValueMenu(CRect(220, 60, 280, 85), kTagSetTuningFrequency, "", kCenterText, 12); +tuningFrequencySlider_ = view__54; +view__52->addView(view__54); +ValueLabel* const view__55 = createValueLabel(CRect(210, 20, 290, 45), -1, "Frequency", kCenterText, 12); +view__52->addView(view__55); +Knob48* const view__56 = createKnob48(CRect(310, 45, 358, 93), kTagSetStretchedTuning, "", kCenterText, 14); +stretchedTuningSlider_ = view__56; +view__52->addView(view__56); +ValueLabel* const view__57 = createValueLabel(CRect(295, 20, 375, 45), -1, "Stretch", kCenterText, 12); +view__52->addView(view__57); +ValueLabel* const view__58 = createValueLabel(CRect(20, 20, 120, 45), -1, "Scala file", kCenterText, 12); +view__52->addView(view__58); +ValueButton* const view__59 = createValueButton(CRect(20, 60, 120, 85), kTagLoadScalaFile, "DefaultScale", kCenterText, 12); +scalaFileButton_ = view__59; +view__52->addView(view__59); +ValueMenu* const view__60 = createValueMenu(CRect(135, 60, 170, 85), kTagSetScalaRootKey, "", kCenterText, 12); +scalaRootKeySlider_ = view__60; +view__52->addView(view__60); +ValueMenu* const view__61 = createValueMenu(CRect(170, 60, 200, 85), kTagSetScalaRootKey, "", kCenterText, 12); +scalaRootOctaveSlider_ = view__61; +view__52->addView(view__61); +Piano* const view__62 = createPiano(CRect(5, 400, 795, 470), -1, "", kCenterText, 14); +view__0->addView(view__62); From 1ea6918cd5bd76ea738920855efba41b93ecf8bd Mon Sep 17 00:00:00 2001 From: Paul Ferrand Date: Fri, 11 Sep 2020 13:26:26 +0200 Subject: [PATCH 13/18] Update the button --- editor/src/editor/Editor.cpp | 12 ++++++------ editor/src/editor/GUIComponents.cpp | 25 +++++++++++++++++++------ editor/src/editor/GUIComponents.h | 6 ++++-- 3 files changed, 29 insertions(+), 14 deletions(-) diff --git a/editor/src/editor/Editor.cpp b/editor/src/editor/Editor.cpp index dd0f21ab..256f6302 100644 --- a/editor/src/editor/Editor.cpp +++ b/editor/src/editor/Editor.cpp @@ -375,11 +375,11 @@ void Editor::Impl::createFrameContents() typedef CTextButton Button; #endif typedef CTextButton ValueButton; - typedef SHoverButton LoadFileButton; - typedef SHoverButton CCButton; - typedef SHoverButton HomeButton; - typedef SHoverButton SettingsButton; - typedef SHoverButton EditFileButton; + typedef STextButton LoadFileButton; + typedef STextButton CCButton; + typedef STextButton HomeButton; + typedef STextButton SettingsButton; + typedef STextButton EditFileButton; typedef SPiano Piano; auto createLogicalGroup = [](const CRect& bounds, int, const char*, CHoriTxtAlign, int) { @@ -482,7 +482,7 @@ void Editor::Impl::createFrameContents() return vm; }; auto createGlyphButton = [this, &theme](UTF8StringPtr glyph, const CRect& bounds, int tag, int fontsize) { - SHoverButton* btn = new SHoverButton(bounds, this, tag, glyph); + STextButton* btn = new STextButton(bounds, this, tag, glyph); btn->setFont(new CFontDesc("Fluent System Regular W20", fontsize)); btn->setTextColor(theme->icon); btn->setHoverColor(theme->iconHighlight); diff --git a/editor/src/editor/GUIComponents.cpp b/editor/src/editor/GUIComponents.cpp index 84afec45..0ebcc7d9 100644 --- a/editor/src/editor/GUIComponents.cpp +++ b/editor/src/editor/GUIComponents.cpp @@ -428,20 +428,33 @@ void SValueMenu::onItemClicked(int32_t index) valueChanged(); } -void SHoverButton::setHoverColor (const CColor& color) +void STextButton::setHoverColor (const CColor& color) { hoverColor_ = color; } -CMouseEventResult SHoverButton::onMouseEntered (CPoint& where, const CButtonState& buttons) +void STextButton::draw(CDrawContext* context) { - backupColor_ = getTextColor(); - setTextColor(hoverColor_); + backupColor_ = textColor; + if (hovered) { + textColor = hoverColor_; // textColor is protected + } + CTextButton::draw(context); + if (hovered) + textColor = backupColor_; +} + + +CMouseEventResult STextButton::onMouseEntered (CPoint& where, const CButtonState& buttons) +{ + hovered = true; + setDirty(); return CTextButton::onMouseEntered(where, buttons); } -CMouseEventResult SHoverButton::onMouseExited (CPoint& where, const CButtonState& buttons) +CMouseEventResult STextButton::onMouseExited (CPoint& where, const CButtonState& buttons) { - setTextColor(backupColor_); + hovered = false; + setDirty(); return CTextButton::onMouseExited(where, buttons); } diff --git a/editor/src/editor/GUIComponents.h b/editor/src/editor/GUIComponents.h index 31d14bae..83d7d04a 100644 --- a/editor/src/editor/GUIComponents.h +++ b/editor/src/editor/GUIComponents.h @@ -149,15 +149,17 @@ private: }; /// -class SHoverButton: public CTextButton { +class STextButton: public CTextButton { public: - SHoverButton(const CRect& size, IControlListener* listener = nullptr, int32_t tag = -1, UTF8StringPtr title = nullptr) + STextButton(const CRect& size, IControlListener* listener = nullptr, int32_t tag = -1, UTF8StringPtr title = nullptr) : CTextButton(size, listener, tag, title) {} void setHoverColor(const CColor& color); CMouseEventResult onMouseEntered (CPoint& where, const CButtonState& buttons) override; CMouseEventResult onMouseExited (CPoint& where, const CButtonState& buttons) override; + void draw(CDrawContext* context) override; private: CColor hoverColor_; CColor backupColor_; + bool hovered { false }; }; From 3c607046c21c14986fc6396f87865d8d340aaccf Mon Sep 17 00:00:00 2001 From: Paul Ferrand Date: Fri, 11 Sep 2020 13:31:33 +0200 Subject: [PATCH 14/18] Change modify file glyph --- editor/src/editor/Editor.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/editor/src/editor/Editor.cpp b/editor/src/editor/Editor.cpp index 256f6302..d13db043 100644 --- a/editor/src/editor/Editor.cpp +++ b/editor/src/editor/Editor.cpp @@ -502,7 +502,7 @@ void Editor::Impl::createFrameContents() return createGlyphButton(u8"\ue2e4", bounds, tag, fontsize); }; auto createEditFileButton = [&createGlyphButton](const CRect& bounds, int tag, const char*, CHoriTxtAlign, int fontsize) { - return createGlyphButton(u8"\ue142", bounds, tag, fontsize); + return createGlyphButton(u8"\ue148", bounds, tag, fontsize); }; auto createLoadFileButton = [&createGlyphButton](const CRect& bounds, int tag, const char*, CHoriTxtAlign, int fontsize) { return createGlyphButton(u8"\ue1a3", bounds, tag, fontsize); From be56de72c19c57f2f28bff28c857c829a4538ab8 Mon Sep 17 00:00:00 2001 From: Jean Pierre Cimalando Date: Fri, 11 Sep 2020 14:02:14 +0200 Subject: [PATCH 15/18] Update vstgui for the new filedialog --- editor/external/vstgui4 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/editor/external/vstgui4 b/editor/external/vstgui4 index 7316f9fb..10417247 160000 --- a/editor/external/vstgui4 +++ b/editor/external/vstgui4 @@ -1 +1 @@ -Subproject commit 7316f9fb2891b9f0e2a408cfbf4ec35aeec268bd +Subproject commit 104172476111a255a87d9853a4b6502071130b9d From c6f7e81b70bd4cb307db3f4211d3a955e78d8a05 Mon Sep 17 00:00:00 2001 From: Jean Pierre Cimalando Date: Fri, 11 Sep 2020 14:05:26 +0200 Subject: [PATCH 16/18] STextButton: backup color as a local variable --- editor/src/editor/GUIComponents.cpp | 4 ++-- editor/src/editor/GUIComponents.h | 1 - 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/editor/src/editor/GUIComponents.cpp b/editor/src/editor/GUIComponents.cpp index 0ebcc7d9..be9899ef 100644 --- a/editor/src/editor/GUIComponents.cpp +++ b/editor/src/editor/GUIComponents.cpp @@ -435,13 +435,13 @@ void STextButton::setHoverColor (const CColor& color) void STextButton::draw(CDrawContext* context) { - backupColor_ = textColor; + CColor backupColor = textColor; if (hovered) { textColor = hoverColor_; // textColor is protected } CTextButton::draw(context); if (hovered) - textColor = backupColor_; + textColor = backupColor; } diff --git a/editor/src/editor/GUIComponents.h b/editor/src/editor/GUIComponents.h index 83d7d04a..e0f3b173 100644 --- a/editor/src/editor/GUIComponents.h +++ b/editor/src/editor/GUIComponents.h @@ -160,6 +160,5 @@ public: void draw(CDrawContext* context) override; private: CColor hoverColor_; - CColor backupColor_; bool hovered { false }; }; From e8f967c4625f40d6ea8db584e537834edbf4458d Mon Sep 17 00:00:00 2001 From: Jean Pierre Cimalando Date: Fri, 11 Sep 2020 15:25:18 +0200 Subject: [PATCH 17/18] Eliminate a redundancy --- editor/src/editor/Editor.cpp | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/editor/src/editor/Editor.cpp b/editor/src/editor/Editor.cpp index d13db043..752601f0 100644 --- a/editor/src/editor/Editor.cpp +++ b/editor/src/editor/Editor.cpp @@ -400,7 +400,6 @@ void Editor::Impl::createFrameContents() box->setTitleFontColor(theme->titleBoxText); box->setTitleBackgroundColor(theme->titleBoxBackground); auto font = owned(new CFontDesc("Roboto", fontsize)); - font->setSize(fontsize); box->setTitleFont(font); return box; }; @@ -414,7 +413,6 @@ void Editor::Impl::createFrameContents() lbl->setFontColor(theme->text); lbl->setHoriAlign(align); auto font = owned(new CFontDesc("Roboto", fontsize)); - font->setSize(fontsize); lbl->setFont(font); return lbl; }; @@ -435,7 +433,6 @@ void Editor::Impl::createFrameContents() lbl->setFontColor(theme->text); lbl->setHoriAlign(align); auto font = owned(new CFontDesc("Roboto", fontsize)); - font->setSize(fontsize); lbl->setFont(font); return lbl; }; @@ -448,8 +445,7 @@ void Editor::Impl::createFrameContents() #if 0 auto createButton = [this](const CRect& bounds, int tag, const char* label, CHoriTxtAlign align, int fontsize) { CTextButton* button = new CTextButton(bounds, this, tag, label); - auto font = owned(new CFontDesc(*button->getFont())); - font->setSize(fontsize); + auto font = owned(new CFontDesc("Roboto", fontsize)); button->setFont(font); button->setTextAlignment(align); return button; @@ -458,7 +454,6 @@ void Editor::Impl::createFrameContents() auto createValueButton = [this, &theme](const CRect& bounds, int tag, const char* label, CHoriTxtAlign align, int fontsize) { CTextButton* button = new CTextButton(bounds, this, tag, label); auto font = owned(new CFontDesc("Roboto", fontsize)); - font->setSize(fontsize); button->setFont(font); button->setTextAlignment(align); button->setTextColor(theme->valueText); @@ -472,7 +467,6 @@ void Editor::Impl::createFrameContents() SValueMenu* vm = new SValueMenu(bounds, this, tag); vm->setHoriAlign(align); auto font = owned(new CFontDesc("Roboto", fontsize)); - font->setSize(fontsize); vm->setFont(font); vm->setFontColor(theme->valueText); vm->setBackColor(theme->valueBackground); From 24c0ec27801037fc531e065f00c5e4e114331862 Mon Sep 17 00:00:00 2001 From: Jean Pierre Cimalando Date: Fri, 11 Sep 2020 15:29:52 +0200 Subject: [PATCH 18/18] Adjust sizes and positions of settings boxes --- editor/layout/main.fl | 46 +++++++++++++++---------------- editor/src/editor/layout/main.hpp | 6 ++-- 2 files changed, 26 insertions(+), 26 deletions(-) diff --git a/editor/layout/main.fl b/editor/layout/main.fl index 3ad0e0f5..30e3488a 100644 --- a/editor/layout/main.fl +++ b/editor/layout/main.fl @@ -1,12 +1,12 @@ # data file for the Fltk User Interface Designer (fluid) -version 1.0304 +version 1.0305 header_name {.h} code_name {.cxx} widget_class mainView {open xywh {572 266 800 475} type Double class LogicalGroup visible } { - Fl_Box {} {selected + Fl_Box {} { image {../resources/background.png} xywh {190 110 600 280} class Background } @@ -142,7 +142,7 @@ widget_class mainView {open } } Fl_Group {subPanels_[kPanelGeneral]} { - xywh {5 110 791 285} + xywh {5 110 791 285} hide class LogicalGroup } { Fl_Group {} {open @@ -216,95 +216,95 @@ widget_class mainView {open } } } - Fl_Group {subPanels_[kPanelSettings]} { - xywh {5 109 790 286} hide + Fl_Group {subPanels_[kPanelSettings]} {open + xywh {5 109 790 286} class LogicalGroup } { Fl_Group {} { - label Engine open - xywh {260 110 280 110} box ROUNDED_BOX labelsize 12 align 17 + label Engine open selected + xywh {260 135 280 100} box ROUNDED_BOX labelsize 12 align 17 class TitleGroup } { Fl_Spinner numVoicesSlider_ { comment {tag=kTagSetNumVoices} - xywh {285 170 60 25} labelsize 12 textsize 12 + xywh {285 195 60 25} labelsize 12 textsize 12 class ValueMenu } Fl_Box {} { label Polyphony - xywh {275 130 80 25} labelsize 12 + xywh {275 155 80 25} labelsize 12 class ValueLabel } Fl_Spinner oversamplingSlider_ { comment {tag=kTagSetOversampling} - xywh {370 170 60 25} labelsize 12 textsize 12 + xywh {370 195 60 25} labelsize 12 textsize 12 class ValueMenu } Fl_Box {} { label Oversampling - xywh {360 130 80 25} labelsize 12 + xywh {360 155 80 25} labelsize 12 class ValueLabel } Fl_Box {} { label {Preload size} - xywh {445 130 80 25} labelsize 12 + xywh {445 155 80 25} labelsize 12 class ValueLabel } Fl_Spinner preloadSizeSlider_ { comment {tag=kTagSetPreloadSize} - xywh {455 170 60 25} labelsize 12 textsize 12 + xywh {455 195 60 25} labelsize 12 textsize 12 class ValueMenu } } Fl_Group {} { label Tuning open - xywh {205 268 390 120} box ROUNDED_BOX labelsize 12 align 17 + xywh {205 270 390 100} box ROUNDED_BOX labelsize 12 align 17 class TitleGroup } { Fl_Box {} { label {Root key} - xywh {330 288 80 25} labelsize 12 + xywh {330 290 80 25} labelsize 12 class ValueLabel } Fl_Spinner tuningFrequencySlider_ { comment {tag=kTagSetTuningFrequency} - xywh {425 328 60 25} labelsize 12 textsize 12 + xywh {425 330 60 25} labelsize 12 textsize 12 class ValueMenu } Fl_Box {} { label Frequency - xywh {415 288 80 25} labelsize 12 + xywh {415 290 80 25} labelsize 12 class ValueLabel } Fl_Dial stretchedTuningSlider_ { comment {tag=kTagSetStretchedTuning} - xywh {515 313 48 48} value 0.5 + xywh {515 315 48 48} value 0.5 class Knob48 } Fl_Box {} { label Stretch - xywh {500 288 80 25} labelsize 12 + xywh {500 290 80 25} labelsize 12 class ValueLabel } Fl_Box {} { label {Scala file} - xywh {225 288 100 25} labelsize 12 + xywh {225 290 100 25} labelsize 12 class ValueLabel } Fl_Button scalaFileButton_ { label DefaultScale comment {tag=kTagLoadScalaFile} - xywh {225 328 100 25} labelsize 12 + xywh {225 330 100 25} labelsize 12 class ValueButton } Fl_Spinner scalaRootKeySlider_ { comment {tag=kTagSetScalaRootKey} - xywh {340 328 35 25} labelsize 12 textsize 12 + xywh {340 330 35 25} labelsize 12 textsize 12 class ValueMenu } Fl_Spinner scalaRootOctaveSlider_ { comment {tag=kTagSetScalaRootKey} - xywh {375 328 30 25} labelsize 12 textsize 12 + xywh {375 330 30 25} labelsize 12 textsize 12 class ValueMenu } } diff --git a/editor/src/editor/layout/main.hpp b/editor/src/editor/layout/main.hpp index a91fc21c..18a413a5 100644 --- a/editor/src/editor/layout/main.hpp +++ b/editor/src/editor/layout/main.hpp @@ -70,6 +70,7 @@ enterTheme(defaultTheme); LogicalGroup* const view__29 = createLogicalGroup(CRect(5, 110, 796, 395), -1, "", kCenterText, 14); subPanels_[kPanelGeneral] = view__29; view__0->addView(view__29); +view__29->setVisible(false); RoundedGroup* const view__30 = createRoundedGroup(CRect(0, 0, 175, 280), -1, "", kCenterText, 14); view__29->addView(view__30); Label* const view__31 = createLabel(CRect(15, 10, 75, 35), -1, "Curves:", kLeftText, 14); @@ -108,8 +109,7 @@ view__42->addView(view__43); LogicalGroup* const view__44 = createLogicalGroup(CRect(5, 109, 795, 395), -1, "", kCenterText, 14); subPanels_[kPanelSettings] = view__44; view__0->addView(view__44); -view__44->setVisible(false); -TitleGroup* const view__45 = createTitleGroup(CRect(255, 1, 535, 111), -1, "Engine", kCenterText, 12); +TitleGroup* const view__45 = createTitleGroup(CRect(255, 26, 535, 126), -1, "Engine", kCenterText, 12); view__44->addView(view__45); ValueMenu* const view__46 = createValueMenu(CRect(25, 60, 85, 85), kTagSetNumVoices, "", kCenterText, 12); numVoicesSlider_ = view__46; @@ -126,7 +126,7 @@ view__45->addView(view__50); ValueMenu* const view__51 = createValueMenu(CRect(195, 60, 255, 85), kTagSetPreloadSize, "", kCenterText, 12); preloadSizeSlider_ = view__51; view__45->addView(view__51); -TitleGroup* const view__52 = createTitleGroup(CRect(200, 159, 590, 279), -1, "Tuning", kCenterText, 12); +TitleGroup* const view__52 = createTitleGroup(CRect(200, 161, 590, 261), -1, "Tuning", kCenterText, 12); view__44->addView(view__52); ValueLabel* const view__53 = createValueLabel(CRect(125, 20, 205, 45), -1, "Root key", kCenterText, 12); view__52->addView(view__53);