| 2071 | } |
| 2072 | |
| 2073 | void drawPluginList() |
| 2074 | { |
| 2075 | static const char* pluginTypes[] = { |
| 2076 | getPluginTypeAsString(PLUGIN_INTERNAL), |
| 2077 | getPluginTypeAsString(PLUGIN_LADSPA), |
| 2078 | getPluginTypeAsString(PLUGIN_DSSI), |
| 2079 | getPluginTypeAsString(PLUGIN_LV2), |
| 2080 | getPluginTypeAsString(PLUGIN_VST2), |
| 2081 | getPluginTypeAsString(PLUGIN_VST3), |
| 2082 | getPluginTypeAsString(PLUGIN_CLAP), |
| 2083 | getPluginTypeAsString(PLUGIN_JSFX), |
| 2084 | "Load from file..." |
| 2085 | }; |
| 2086 | |
| 2087 | setupMainWindowPos(); |
| 2088 | |
| 2089 | if (ImGui::Begin("Plugin List", nullptr, ImGuiWindowFlags_NoTitleBar|ImGuiWindowFlags_NoResize)) |
| 2090 | { |
| 2091 | const int pflags = ImGuiWindowFlags_NoSavedSettings |
| 2092 | | ImGuiWindowFlags_NoResize |
| 2093 | | ImGuiWindowFlags_NoCollapse |
| 2094 | | ImGuiWindowFlags_NoScrollbar |
| 2095 | | ImGuiWindowFlags_NoScrollWithMouse |
| 2096 | | ImGuiWindowFlags_AlwaysAutoResize; |
| 2097 | |
| 2098 | if (ImGui::BeginPopupModal("Plugin Error", nullptr, pflags)) |
| 2099 | { |
| 2100 | ImGui::TextWrapped("Failed to load plugin, error was:\n%s", fPopupError.buffer()); |
| 2101 | |
| 2102 | ImGui::Separator(); |
| 2103 | |
| 2104 | if (ImGui::Button("Ok")) |
| 2105 | ImGui::CloseCurrentPopup(); |
| 2106 | |
| 2107 | ImGui::SameLine(); |
| 2108 | ImGui::Dummy(ImVec2(500 * getScaleFactor(), 1)); |
| 2109 | ImGui::EndPopup(); |
| 2110 | } |
| 2111 | else if (fPluginSearchFirstShow) |
| 2112 | { |
| 2113 | fPluginSearchFirstShow = false; |
| 2114 | ImGui::SetKeyboardFocusHere(); |
| 2115 | } |
| 2116 | |
| 2117 | if (ImGui::InputText("##pluginsearch", fPluginSearchString, sizeof(fPluginSearchString)-1, |
| 2118 | ImGuiInputTextFlags_CharsNoBlank|ImGuiInputTextFlags_AutoSelectAll)) |
| 2119 | fPluginSearchActive = true; |
| 2120 | |
| 2121 | if (ImGui::IsKeyDown(ImGuiKey_Escape)) |
| 2122 | fPluginSearchActive = false; |
| 2123 | |
| 2124 | ImGui::SameLine(); |
| 2125 | ImGui::PushItemWidth(-1.0f); |
| 2126 | |
| 2127 | int current; |
| 2128 | switch (fPluginType) |
| 2129 | { |
| 2130 | case PLUGIN_JSFX: current = 7; break; |
nothing calls this directly
no test coverage detected