1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-05-04 09:39:42 +02:00

bug 11 followup: DeviceToolbar - fix mirroring issue when using reset toolbars menu item

This commit is contained in:
mchinen 2011-01-23 05:13:17 +00:00
parent 0d1e121aa4
commit 2672b3a019
2 changed files with 22 additions and 1 deletions

View File

@ -210,6 +210,21 @@ static void AddSources(int deviceIndex, int rate, wxArrayString *hosts, std::vec
}
}
void DeviceToolBar::DeinitChildren()
{
mPlayBitmap = NULL;
mRecordBitmap = NULL;
mChannelsLabel = NULL;
mInput = NULL;
mOutput = NULL;
mInputChannels = NULL;
mHost = NULL;
mInputDeviceSourceMaps.clear();
mOutputDeviceSourceMaps.clear();
}
void DeviceToolBar::Populate()
{
int i;
@ -218,8 +233,9 @@ void DeviceToolBar::Populate()
wxArrayString hosts;
wxArrayString channels;
channels.Add(wxT("1 (Mono)"));
DeinitChildren();
channels.Add(wxT("1 (Mono)"));
int nDevices = Pa_GetDeviceCount();
//The heirarchy for devices is Host/device/source.
@ -463,6 +479,8 @@ bool DeviceToolBar::Layout()
return ret;
}
//These don't add up to 1 because there is a bit of margin that we allow
//the layout sizer to handle.
#define kHostWidthRatio 0.13

View File

@ -43,6 +43,7 @@ class DeviceToolBar:public ToolBar {
void RecreateTipWindows();
void UpdatePrefs();
void DeinitChildren();
virtual void Populate();
virtual void Repaint(wxDC *dc) {};
virtual void EnableDisableButtons();
@ -52,6 +53,8 @@ class DeviceToolBar:public ToolBar {
void OnChoice(wxCommandEvent & event);
/// When the prefs don't exist this value is used.
/// It should be small enough to work on tiny screens
int GetInitialWidth() {return 600;}
private:
int ChangeHost();