66 lines
1.3 KiB
C++
66 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 <wx/choice.h>
|
|
#include <wx/string.h>
|
|
#include <wx/window.h>
|
|
|
|
#include "PrefsPanel.h"
|
|
|
|
class ShuttleGui;
|
|
class wxArrayStringEx;
|
|
|
|
class DevicePrefs final : public PrefsPanel
|
|
{
|
|
public:
|
|
DevicePrefs(wxWindow * parent, wxWindowID winid);
|
|
virtual ~DevicePrefs();
|
|
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 PrefsPanelFactory that creates one DevicePrefs panel.
|
|
class DevicePrefsFactory final : public PrefsPanelFactory
|
|
{
|
|
public:
|
|
PrefsPanel *operator () (wxWindow *parent, wxWindowID winid) override;
|
|
};
|
|
|
|
#endif
|