| @@ -24,6 +24,7 @@ std::string uppercase(const std::string &s); | |||||
| std::string trim(const std::string &s); | std::string trim(const std::string &s); | ||||
| /** Truncates and adds "..." to a string, not exceeding `len` characters */ | /** Truncates and adds "..." to a string, not exceeding `len` characters */ | ||||
| std::string ellipsize(const std::string &s, size_t len); | std::string ellipsize(const std::string &s, size_t len); | ||||
| std::string ellipsizePrefix(const std::string &s, size_t len); | |||||
| bool startsWith(const std::string &str, const std::string &prefix); | bool startsWith(const std::string &str, const std::string &prefix); | ||||
| bool endsWith(const std::string &str, const std::string &suffix); | bool endsWith(const std::string &str, const std::string &suffix); | ||||
| /** Extracts portions of a path */ | /** Extracts portions of a path */ | ||||
| @@ -124,14 +124,14 @@ struct AudioSampleRateChoice : LedDisplayChoice { | |||||
| AudioSampleRateItem *item = new AudioSampleRateItem; | AudioSampleRateItem *item = new AudioSampleRateItem; | ||||
| item->port = port; | item->port = port; | ||||
| item->sampleRate = sampleRate; | item->sampleRate = sampleRate; | ||||
| item->text = string::f("%d Hz", sampleRate); | |||||
| item->text = string::f("%g kHz", sampleRate / 1000.0); | |||||
| item->rightText = CHECKMARK(item->sampleRate == port->sampleRate); | item->rightText = CHECKMARK(item->sampleRate == port->sampleRate); | ||||
| menu->addChild(item); | menu->addChild(item); | ||||
| } | } | ||||
| } | } | ||||
| void step() override { | void step() override { | ||||
| if (port) | if (port) | ||||
| text = string::f("%g kHz", port->sampleRate / 1000.f); | |||||
| text = string::f("%g kHz", port->sampleRate / 1000.0); | |||||
| else | else | ||||
| text = "44.1 kHz"; | text = "44.1 kHz"; | ||||
| } | } | ||||
| @@ -44,6 +44,10 @@ struct ModulePluginItem : ui::MenuItem { | |||||
| ui::Menu *createChildMenu() override { | ui::Menu *createChildMenu() override { | ||||
| ui::Menu *menu = new ui::Menu; | ui::Menu *menu = new ui::Menu; | ||||
| ui::MenuLabel *pluginLabel = new ui::MenuLabel; | |||||
| pluginLabel->text = plugin->name; | |||||
| menu->addChild(pluginLabel); | |||||
| ui::MenuLabel *versionLabel = new ui::MenuLabel; | ui::MenuLabel *versionLabel = new ui::MenuLabel; | ||||
| versionLabel->text = "v" + plugin->version; | versionLabel->text = "v" + plugin->version; | ||||
| menu->addChild(versionLabel); | menu->addChild(versionLabel); | ||||
| @@ -774,7 +778,7 @@ void ModuleWidget::createContextMenu() { | |||||
| menu->addChild(modelLabel); | menu->addChild(modelLabel); | ||||
| ModulePluginItem *pluginItem = new ModulePluginItem; | ModulePluginItem *pluginItem = new ModulePluginItem; | ||||
| pluginItem->text = model->plugin->name; | |||||
| pluginItem->text = "Plugin"; | |||||
| pluginItem->rightText = RIGHT_ARROW; | pluginItem->rightText = RIGHT_ARROW; | ||||
| pluginItem->plugin = model->plugin; | pluginItem->plugin = model->plugin; | ||||
| menu->addChild(pluginItem); | menu->addChild(pluginItem); | ||||
| @@ -300,10 +300,11 @@ struct SampleRateItem : ui::MenuItem { | |||||
| SampleRateValueItem *item = new SampleRateValueItem; | SampleRateValueItem *item = new SampleRateValueItem; | ||||
| item->sampleRate = sampleRate; | item->sampleRate = sampleRate; | ||||
| item->text = string::f("%.0f Hz", sampleRate); | |||||
| item->text = string::f("%g kHz", sampleRate / 1000.0); | |||||
| if (oversample > 1) | if (oversample > 1) | ||||
| item->text += string::f(" (%dx)", oversample); | |||||
| item->rightText = CHECKMARK(APP->engine->getSampleRate() == sampleRate); | |||||
| item->rightText += string::f("(%dx)", oversample); | |||||
| item->rightText += " "; | |||||
| item->rightText += CHECKMARK(APP->engine->getSampleRate() == sampleRate); | |||||
| menu->addChild(item); | menu->addChild(item); | ||||
| } | } | ||||
| } | } | ||||
| @@ -67,6 +67,13 @@ std::string ellipsize(const std::string &s, size_t len) { | |||||
| return s.substr(0, len - 3) + "..."; | return s.substr(0, len - 3) + "..."; | ||||
| } | } | ||||
| std::string ellipsizePrefix(const std::string &s, size_t len) { | |||||
| if (s.size() <= len) | |||||
| return s; | |||||
| else | |||||
| return "..." + s.substr(s.size() - (len - 3)); | |||||
| } | |||||
| bool startsWith(const std::string &str, const std::string &prefix) { | bool startsWith(const std::string &str, const std::string &prefix) { | ||||
| return str.substr(0, prefix.size()) == prefix; | return str.substr(0, prefix.size()) == prefix; | ||||
| } | } | ||||