MCPcopy Create free account
hub / github.com/VCVRack/Rack / appendAudioSampleRateMenu

Function appendAudioSampleRateMenu

src/app/AudioDisplay.cpp:175–196  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

173};
174
175static void appendAudioSampleRateMenu(ui::Menu* menu, audio::Port* port) {
176 if (!port)
177 return;
178
179 std::set<float> sampleRates = port->getSampleRates();
180 // Add current sample rate in case it's not in the list
181 sampleRates.insert(port->getSampleRate());
182
183 if (sampleRates.empty()) {
184 menu->addChild(createMenuLabel("(" + string::translate("AudioDisplay.lockedByDevice") + ")"));
185 }
186 for (float sampleRate : sampleRates) {
187 if (sampleRate <= 0)
188 continue;
189 AudioSampleRateValueItem* item = new AudioSampleRateValueItem;
190 item->port = port;
191 item->sampleRate = sampleRate;
192 item->text = string::f("%g kHz", sampleRate / 1000.0);
193 item->rightText = CHECKMARK(item->sampleRate == port->getSampleRate());
194 menu->addChild(item);
195 }
196}
197
198void AudioSampleRateChoice::onAction(const ActionEvent& e) {
199 ui::Menu* menu = createMenu();

Callers 3

onActionMethod · 0.85
createChildMenuMethod · 0.85
appendAudioMenuFunction · 0.85

Calls 7

createMenuLabelFunction · 0.85
translateFunction · 0.85
addChildMethod · 0.80
fFunction · 0.50
getSampleRatesMethod · 0.45
getSampleRateMethod · 0.45
emptyMethod · 0.45

Tested by

no test coverage detected