| 
							- #pragma once
 - #include <app/common.hpp>
 - #include <app/LedDisplay.hpp>
 - #include <ui/Menu.hpp>
 - #include <app/SvgButton.hpp>
 - #include <audio.hpp>
 - 
 - 
 - namespace rack {
 - namespace app {
 - 
 - 
 - /** Designed for Audio-8 and Audio-16 module. */
 - struct AudioWidget : LedDisplay {
 - 	LedDisplayChoice* driverChoice;
 - 	LedDisplaySeparator* driverSeparator;
 - 	LedDisplayChoice* deviceChoice;
 - 	LedDisplaySeparator* deviceSeparator;
 - 	LedDisplayChoice* sampleRateChoice;
 - 	LedDisplaySeparator* sampleRateSeparator;
 - 	LedDisplayChoice* bufferSizeChoice;
 - 	void setAudioPort(audio::Port* port);
 - };
 - 
 - 
 - /** Designed for Audio-2 module. */
 - struct AudioDeviceWidget : LedDisplay {
 - 	LedDisplayChoice* deviceChoice;
 - 	void setAudioPort(audio::Port* port);
 - };
 - 
 - 
 - /** A virtual audio port graphic that displays an audio menu when clicked. */
 - struct AudioButton : SvgButton {
 - 	audio::Port* port;
 - 	void setAudioPort(audio::Port* port);
 - 	void onAction(const ActionEvent& e) override;
 - };
 - 
 - 
 - /** Appends menu items to the given menu with driver, device, etc.
 - Useful alternative to putting an AudioWidget on your module's panel.
 - */
 - void appendAudioMenu(ui::Menu* menu, audio::Port* port);
 - 
 - 
 - } // namespace app
 - } // namespace rack
 
 
  |