mirror of
https://github.com/cookiengineer/audacity
synced 2025-10-26 07:13:49 +01:00
... and maybe a future plug-in protocol to break compilation dependency on all of the PrefsPanel subclasses.
64 lines
1.2 KiB
C++
64 lines
1.2 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 <wx/dynarray.h>
|
|
|
|
#include "PrefsPanel.h"
|
|
|
|
class ShuttleGui;
|
|
|
|
class DevicePrefs :public PrefsPanel
|
|
{
|
|
public:
|
|
DevicePrefs(wxWindow * parent);
|
|
virtual ~DevicePrefs();
|
|
virtual bool Apply();
|
|
|
|
private:
|
|
void Populate();
|
|
void PopulateOrExchange(ShuttleGui & S);
|
|
void GetNamesAndLabels();
|
|
|
|
void OnHost(wxCommandEvent & e);
|
|
void OnDevice(wxCommandEvent & e);
|
|
|
|
wxArrayString mHostNames;
|
|
wxArrayString mHostLabels;
|
|
|
|
wxString mPlayDevice;
|
|
wxString mRecordDevice;
|
|
wxString mRecordSource;
|
|
long mRecordChannels;
|
|
|
|
wxChoice *mHost;
|
|
wxChoice *mPlay;
|
|
wxChoice *mRecord;
|
|
wxChoice *mChannels;
|
|
|
|
DECLARE_EVENT_TABLE();
|
|
};
|
|
|
|
class DevicePrefsFactory : public PrefsPanelFactory
|
|
{
|
|
public:
|
|
virtual PrefsPanel *Create(wxWindow *parent);
|
|
};
|
|
|
|
#endif
|