1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-10-25 15:53:52 +02:00
Files
audacity/src/prefs/DevicePrefs.h
Paul Licameli bf005c0dec PrefsPanel::Factory is a specialization of std::function...
... We don't need to define a class for it
2019-05-16 12:14:51 -04:00

64 lines
1.3 KiB
C++

/**********************************************************************
Audacity: A Digital Audio Editor
DevicePrefs.h
Joshua Haberman
James Crook
**********************************************************************/
#ifndef __AUDACITY_DEVICE_PREFS__
#define __AUDACITY_DEVICE_PREFS__
#include <wx/defs.h>
#include "PrefsPanel.h"
class wxChoice;
class ShuttleGui;
class wxArrayStringEx;
#define DEVICE_PREFS_PLUGIN_SYMBOL ComponentInterfaceSymbol{ XO("Device") }
class DevicePrefs final : public PrefsPanel
{
public:
DevicePrefs(wxWindow * parent, wxWindowID winid);
virtual ~DevicePrefs();
ComponentInterfaceSymbol GetSymbol() override;
wxString GetDescription() override;
bool Commit() override;
wxString HelpPageName() override;
void PopulateOrExchange(ShuttleGui & S) override;
private:
void Populate();
void GetNamesAndLabels();
void OnHost(wxCommandEvent & e);
void OnDevice(wxCommandEvent & e);
wxArrayStringEx mHostNames;
wxArrayStringEx mHostLabels;
wxString mPlayDevice;
wxString mRecordDevice;
wxString mRecordSource;
long mRecordChannels;
wxChoice *mHost;
wxChoice *mPlay;
wxChoice *mRecord;
wxChoice *mChannels;
DECLARE_EVENT_TABLE()
};
/// A PrefsPanel::Factory that creates one DevicePrefs panel.
extern PrefsPanel::Factory DevicePrefsFactory;
#endif