From ef7722bb5c81feeaed01edb5df8585f7ca0bc2ad Mon Sep 17 00:00:00 2001 From: Bruno Date: Mon, 22 Feb 2021 14:06:10 +0100 Subject: [PATCH] Better terminology and icons for SessionGroup --- CMakeLists.txt | 1 + Decorations.cpp | 4 +- Decorations.h | 2 +- ImGuiVisitor.cpp | 8 +- SessionSource.cpp | 46 +-- SessionSource.h | 4 +- View.cpp | 2 +- rsc/images/icons.dds | Bin 1638528 -> 1638528 bytes rsc/mesh/icon_group_vimix.ply | 648 ++++++++++++++++++++++++++++++++++ 9 files changed, 683 insertions(+), 32 deletions(-) create mode 100644 rsc/mesh/icon_group_vimix.ply diff --git a/CMakeLists.txt b/CMakeLists.txt index 580999d..039859b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -372,6 +372,7 @@ set(VMIX_RSC_FILES ./rsc/mesh/icon_share.ply ./rsc/mesh/icon_clone.ply ./rsc/mesh/icon_vimix.ply + ./rsc/mesh/icon_group_vimix.ply ./rsc/mesh/icon_circles.ply ./rsc/mesh/icon_dots.ply ./rsc/mesh/icon_empty.ply diff --git a/Decorations.cpp b/Decorations.cpp index 3a6c405..4d641cb 100644 --- a/Decorations.cpp +++ b/Decorations.cpp @@ -412,12 +412,14 @@ Symbol::Symbol(Type t, glm::vec3 pos) : Node(), type_(t) shadows[CLONE] = shadow; icons[RENDER] = new Mesh("mesh/icon_render.ply"); shadows[RENDER] = shadow; - icons[GROUP] = new Mesh("mesh/icon_cube.ply"); + icons[GROUP] = new Mesh("mesh/icon_group_vimix.ply"); shadows[GROUP] = shadow; icons[PATTERN] = new Mesh("mesh/icon_gear.ply"); shadows[PATTERN]= shadow; icons[CAMERA] = new Mesh("mesh/icon_camera.ply"); shadows[CAMERA] = shadow; + icons[CUBE] = new Mesh("mesh/icon_cube.ply"); + shadows[CUBE] = shadow; icons[SHARE] = new Mesh("mesh/icon_share.ply"); shadows[SHARE] = shadow; icons[DOTS] = new Mesh("mesh/icon_dots.ply"); diff --git a/Decorations.h b/Decorations.h index 1d4c411..c45f155 100644 --- a/Decorations.h +++ b/Decorations.h @@ -60,7 +60,7 @@ protected: class Symbol : public Node { public: - typedef enum { CIRCLE_POINT = 0, SQUARE_POINT, IMAGE, VIDEO, SESSION, CLONE, RENDER, GROUP, PATTERN, CAMERA, SHARE, + typedef enum { CIRCLE_POINT = 0, SQUARE_POINT, IMAGE, VIDEO, SESSION, CLONE, RENDER, GROUP, PATTERN, CAMERA, CUBE, SHARE, DOTS, BUSY, LOCK, UNLOCK, EYE, EYESLASH, VECTORSLASH, ARROWS, CROP, CIRCLE, SQUARE, CLOCK, CLOCK_H, GRID, CROSS, EMPTY } Type; Symbol(Type t = CIRCLE_POINT, glm::vec3 pos = glm::vec3(0.f)); ~Symbol(); diff --git a/ImGuiVisitor.cpp b/ImGuiVisitor.cpp index fed9800..2f90aa0 100644 --- a/ImGuiVisitor.cpp +++ b/ImGuiVisitor.cpp @@ -499,9 +499,9 @@ void ImGuiVisitor::visit (SessionFileSource& s) Action::manager().store(oss.str(), s.id()); } - if ( ImGui::Button( ICON_FA_FILE_UPLOAD " Open Session", ImVec2(IMGUI_RIGHT_ALIGN, 0)) ) + if ( ImGui::Button( ICON_FA_FILE_UPLOAD " Open File", ImVec2(IMGUI_RIGHT_ALIGN, 0)) ) Mixer::manager().set( s.detach() ); - if ( ImGui::Button( ICON_FA_FILE_EXPORT " Import Session", ImVec2(IMGUI_RIGHT_ALIGN, 0)) ) + if ( ImGui::Button( ICON_FA_FILE_EXPORT " Import sources", ImVec2(IMGUI_RIGHT_ALIGN, 0)) ) Mixer::manager().import( &s ); ImGuiToolkit::ButtonOpenUrl( SystemToolkit::path_filename(s.path()).c_str(), ImVec2(IMGUI_RIGHT_ALIGN, 0) ); @@ -514,9 +514,9 @@ void ImGuiVisitor::visit (SessionGroupSource& s) ImGuiToolkit::Icon(s.icon().x, s.icon().y); ImGui::SameLine(0, 10); - ImGui::Text("Group"); + ImGui::Text("Flat Session"); - if ( ImGui::Button( ICON_FA_FILE_EXPORT " Ungroup", ImVec2(IMGUI_RIGHT_ALIGN, 0)) ){ + if ( ImGui::Button( ICON_FA_UPLOAD " Expand sources", ImVec2(IMGUI_RIGHT_ALIGN, 0)) ){ Mixer::manager().import( &s ); } diff --git a/SessionSource.cpp b/SessionSource.cpp index 919a671..cdc0089 100644 --- a/SessionSource.cpp +++ b/SessionSource.cpp @@ -238,31 +238,31 @@ void SessionFileSource::accept(Visitor& v) SessionGroupSource::SessionGroupSource() : SessionSource(), resolution_(glm::vec3(0.f)) { - // redo frame for layers view - frames_[View::LAYER]->clear(); +// // redo frame for layers view +// frames_[View::LAYER]->clear(); - // Groups in LAYER have an additional border - Group *group = new Group; - Frame *frame = new Frame(Frame::ROUND, Frame::THIN, Frame::PERSPECTIVE); - frame->translation_.z = 0.1; - frame->color = glm::vec4( COLOR_DEFAULT_SOURCE, 0.95f); - group->attach(frame); - Frame *persp = new Frame(Frame::GROUP, Frame::THIN, Frame::NONE); - persp->translation_.z = 0.1; - persp->color = glm::vec4( COLOR_DEFAULT_SOURCE, 0.95f); - group->attach(persp); - frames_[View::LAYER]->attach(group); +// // Groups in LAYER have an additional border +// Group *group = new Group; +// Frame *frame = new Frame(Frame::ROUND, Frame::THIN, Frame::PERSPECTIVE); +// frame->translation_.z = 0.1; +// frame->color = glm::vec4( COLOR_DEFAULT_SOURCE, 0.95f); +// group->attach(frame); +// Frame *persp = new Frame(Frame::GROUP, Frame::THIN, Frame::NONE); +// persp->translation_.z = 0.1; +// persp->color = glm::vec4( COLOR_DEFAULT_SOURCE, 0.95f); +// group->attach(persp); +// frames_[View::LAYER]->attach(group); - group = new Group; - frame = new Frame(Frame::ROUND, Frame::LARGE, Frame::PERSPECTIVE); - frame->translation_.z = 0.1; - frame->color = glm::vec4( COLOR_HIGHLIGHT_SOURCE, 1.f); - group->attach(frame); - persp = new Frame(Frame::GROUP, Frame::LARGE, Frame::NONE); - persp->translation_.z = 0.1; - persp->color = glm::vec4( COLOR_HIGHLIGHT_SOURCE, 1.f); - group->attach(persp); - frames_[View::LAYER]->attach(group); +// group = new Group; +// frame = new Frame(Frame::ROUND, Frame::LARGE, Frame::PERSPECTIVE); +// frame->translation_.z = 0.1; +// frame->color = glm::vec4( COLOR_HIGHLIGHT_SOURCE, 1.f); +// group->attach(frame); +// persp = new Frame(Frame::GROUP, Frame::LARGE, Frame::NONE); +// persp->translation_.z = 0.1; +// persp->color = glm::vec4( COLOR_HIGHLIGHT_SOURCE, 1.f); +// group->attach(persp); +// frames_[View::LAYER]->attach(group); // set symbol symbol_ = new Symbol(Symbol::GROUP, glm::vec3(0.75f, 0.75f, 0.01f)); diff --git a/SessionSource.h b/SessionSource.h index cf6a7e8..81a708c 100644 --- a/SessionSource.h +++ b/SessionSource.h @@ -38,7 +38,7 @@ public: void load(const std::string &p = "", uint recursion = 0); inline std::string path() const { return path_; } - glm::ivec2 icon() const override { return glm::ivec2(2, 16); } + glm::ivec2 icon() const override { return glm::ivec2(19, 6); } protected: @@ -65,7 +65,7 @@ public: // TODO import session entirely : bool import(); - glm::ivec2 icon() const override { return glm::ivec2(4, 3); } + glm::ivec2 icon() const override { return glm::ivec2(10, 6); } protected: diff --git a/View.cpp b/View.cpp index a364457..4c914d0 100644 --- a/View.cpp +++ b/View.cpp @@ -1577,7 +1577,7 @@ void showContextMenuLayer(const char* label) { if (ImGui::BeginPopup(label)) { - if (ImGui::Selectable( ICON_FA_CUBE " Create group" )){ + if (ImGui::Selectable( ICON_FA_DOWNLOAD " Flatten" )){ Mixer::manager().groupSelection(); } diff --git a/rsc/images/icons.dds b/rsc/images/icons.dds index a0cba05d32ca5fa5731d77656d7b5e5ea7e4e7b6..96bd52238559abf6fe54a36555dd586987fef77f 100644 GIT binary patch delta 5922 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 delta 4285 zcmcgveNa@_6~FI2;9mFf@g4~fN6S9MkBDj94W^cfEhw$pghYt#Xk!u=Vn>^r7ED_* zwGI2iGE2q`^0K4HXl7hU=_V0Hh|WthPQhR$lVJiRX6&>xMLMIlX~ItbXe|od-urgn zejp@c&E(!ayYJkObITu51alQjvd z8naw{>L_TtWEI?7$fMBck+Y=&(hh$*gqy|ZL|8<~x51;#bAwSWoSa+8=g9xkr-m`6 zcrdM4fL)o6<7R3QU&3(tcle*?@awo+0R4bm45yCaK;Y`M3+fNZ-{M?npl@HnH^Rv3 zHVULa(rup7-uedApv3w5dW7zSflmA@Dc_G_)fw?w2zBE5(02^`lMYBe?v}adr0*H6 z_nZHI3%6jS@ktna2e%uIkC-E8@JVLVD}n}Xy*LOX*@6q|J{4V@?S;M*V!`S!u&P08 zaPe+i_5R=_o!mQ_2XFV`m*6|^rY{7qUn-dEkQrzGU+g~Nm*&+0d>9-0X1MSHJ`V09 zDPB_;!L0%q8R;vbZ%nL%kt4!NX_}scrzYeltRZb&RS|2p?&E(*<|RXSZTKSlE$id< zPv%9sEmKiP#>eQ`5WIc?znG_vkB?6`H`|i}dH}6K%Mk2ZCzU{3xmp14j)_0BRK-kH z+E4po=cuv`Uj8Jl3+g81O>@~Yi+P_vv`_GvSN~$6wh4y+hP$JvUB*EH+CpM4cqZgM z@ZploT3EL{vvmD!0x{NNbr@KZxz`d1dO+znd<#v_8*%}Q!U)Gt^}|(3I(+kpp|3Xw z!uTELXr}UiaJQ-d7i%Kdc5{V-PH(hvMOEk{<=V4THs72>D`*29wR!GzgjV|!c>!&U z1%lz#xE{4IY$_@kH}HO_-72VG8U!Vo&%miI?5^#o5x&ktv=YW7DG2(6Tnc?}$Y;6j zKFN*F!`As(Taz*Qg`@0lTXDm?1TH@;X9d2$<(~K|LtkZ{mdGGBbq7%d(?}#zzHvK5BC$G!1>R*^x&+#io%@vIH}z5g`I_gA3KV zFMiB-S;tN>c-*%_WoGde#L&7kaxJNQNOJQLaJI{A6Hwsre3SR5$D-u+)sPq%1X&8r_p?STNLCb ziHU-@7fBCg2=zBl`yY&%+fKFXs6Fm=+C{^OUSBkEIC3ca=J2tfqqL|i7Rk%Oy&}U6 zHRD2QH0SLW?hhSUL5O+aJ|Z*Eu8MlLG;qmGN%`Zn`y#w|MOr91(31hb?`wr^%w4=i zrSnJ2U7T-0Eoe8o6E;l9FY;9KmHWhl`w{Qe@XeC!e9?ac$nR5^XXP`*S;1ke9YtMF zTwLPhvozvE%eL7!`3-;OJqg#ShqluRYiklD)(96<1l7-HYliNOUtUu$C27R;uP5^v z-W%Q}%7*{7?=(9zDpKM^(*#PUQLZw;Nwi)52m{qRCeG2!%O= zs5pLq=$gTz;%tQAkg2?qklK>H&0PcBZfe`HO+&5rVcLvD#m2kn z1M!ePMhj^McWohma84Zz-``SPN~Y(i(-`y_$#aTPRjAM_?9W zrRL01>sDY+U2r8XnCaOt{=Axy>&xQd$=@v=t<1`@F@2}#g|4!@QEW$1KpkN`SM)wffuysP`yuEIo5xF#bVnvak} ze2JUCJDjtKVlK&Xl)*@@)CzU`SiLv*x;X{h;)Kg=eT`HR7<-chLwY9>xvh(#qfUJl z*50e^=f