Audacity  2.2.0
MidiIOPrefs.h
Go to the documentation of this file.
1 /**********************************************************************
2 
3  Audacity: A Digital Audio Editor
4 
5  AudioIOPrefs.h
6 
7  Joshua Haberman
8  James Crook
9 
10 **********************************************************************/
11 
12 #include "../Experimental.h"
13 
14 class ShuttleGui;
15 
16 #ifdef EXPERIMENTAL_MIDI_OUT
17 
18 #ifndef __AUDACITY_MIDI_IO_PREFS__
19 #define __AUDACITY_MIDI_IO_PREFS__
20 
21 #include <wx/defs.h>
22 
23 #include <wx/choice.h>
24 #include <wx/string.h>
25 #include <wx/window.h>
26 
27 #include "PrefsPanel.h"
28 
29 class MidiIOPrefs final : public PrefsPanel
30 {
31  public:
32  MidiIOPrefs(wxWindow * parent);
33  virtual ~MidiIOPrefs();
34  bool Commit() override;
35  bool Validate() override;
36  wxString HelpPageName() override;
37 
38  private:
39  void Populate();
40  void PopulateOrExchange(ShuttleGui & S);
41  void GetNamesAndLabels();
42 
43  void OnHost(wxCommandEvent & e);
44 // void OnDevice(wxCommandEvent & e);
45 
46  wxArrayString mHostNames;
47  wxArrayString mHostLabels;
48 
49  wxString mPlayDevice;
50 #ifdef EXPERIMENTAL_MIDI_IN
51  wxString mRecordDevice;
52 #endif
53 // long mRecordChannels;
54 
55  wxChoice *mHost;
56  wxChoice *mPlay;
57  wxTextCtrl *mLatency;
58 #ifdef EXPERIMENTAL_MIDI_IN
59  wxChoice *mRecord;
60 #endif
61 // wxChoice *mChannels;
62 
63  DECLARE_EVENT_TABLE()
64 };
65 
66 class MidiIOPrefsFactory final : public PrefsPanelFactory
67 {
68 public:
69  PrefsPanel *Create(wxWindow *parent) override;
70 };
71 #endif
72 
73 #endif
Derived from ShuttleGuiBase, an Audacity specific class for shuttling data to and from GUI...
Definition: ShuttleGui.h:366
virtual PrefsPanel * Create(wxWindow *parent)=0
A PrefsPanel used to select recording and playback devices and other settings.
Used within the PrefsDialog, classes derived from this class include AudioIOPrefs, BatchPrefs, DirectoriesPrefs, FileFormatPrefs, GUIPrefs, KeyConfigPrefs, MousePrefs, QualityPrefs, SpectrumPrefs and ThemePrefs.
Definition: PrefsPanel.h:43
Definition: PrefsPanel.h:70