Remember the last used audio zoom and volume and restore it
Originally committed to SVN as r6474.
This commit is contained in:
parent
5bf7342019
commit
a2872158a9
2 changed files with 13 additions and 4 deletions
|
@ -83,9 +83,9 @@ AudioBox::AudioBox(wxWindow *parent, agi::Context *context)
|
||||||
, context(context)
|
, context(context)
|
||||||
, panel(new wxPanel(this, -1, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL | wxBORDER_RAISED))
|
, panel(new wxPanel(this, -1, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL | wxBORDER_RAISED))
|
||||||
, audioDisplay(new AudioDisplay(panel, context->audioController, context))
|
, audioDisplay(new AudioDisplay(panel, context->audioController, context))
|
||||||
, HorizontalZoom(new wxSlider(panel, Audio_Horizontal_Zoom, 0, -50, 30, wxDefaultPosition, wxSize(-1, 20), wxSL_VERTICAL|wxSL_BOTH))
|
, HorizontalZoom(new wxSlider(panel, Audio_Horizontal_Zoom, OPT_GET("Audio/Zoom/Horizontal")->GetInt(), -50, 30, wxDefaultPosition, wxSize(-1, 20), wxSL_VERTICAL|wxSL_BOTH))
|
||||||
, VerticalZoom(new wxSlider(panel, Audio_Vertical_Zoom, 50, 0, 100, wxDefaultPosition, wxSize(-1, 20), wxSL_VERTICAL|wxSL_BOTH|wxSL_INVERSE))
|
, VerticalZoom(new wxSlider(panel, Audio_Vertical_Zoom, OPT_GET("Audio/Zoom/Vertical")->GetInt(), 0, 100, wxDefaultPosition, wxSize(-1, 20), wxSL_VERTICAL|wxSL_BOTH|wxSL_INVERSE))
|
||||||
, VolumeBar(new wxSlider(panel, Audio_Volume, 50, 0, 100, wxDefaultPosition, wxSize(-1, 20), wxSL_VERTICAL|wxSL_BOTH|wxSL_INVERSE))
|
, VolumeBar(new wxSlider(panel, Audio_Volume, OPT_GET("Audio/Volume")->GetInt(), 0, 100, wxDefaultPosition, wxSize(-1, 20), wxSL_VERTICAL|wxSL_BOTH|wxSL_INVERSE))
|
||||||
, mouse_zoom_accum(0)
|
, mouse_zoom_accum(0)
|
||||||
{
|
{
|
||||||
SetSashVisible(wxSASH_BOTTOM, true);
|
SetSashVisible(wxSASH_BOTTOM, true);
|
||||||
|
@ -171,6 +171,7 @@ void AudioBox::OnMouseWheel(wxMouseEvent &evt) {
|
||||||
int new_zoom = audioDisplay->GetZoomLevel() + zoom_delta;
|
int new_zoom = audioDisplay->GetZoomLevel() + zoom_delta;
|
||||||
audioDisplay->SetZoomLevel(new_zoom);
|
audioDisplay->SetZoomLevel(new_zoom);
|
||||||
HorizontalZoom->SetValue(-new_zoom);
|
HorizontalZoom->SetValue(-new_zoom);
|
||||||
|
OPT_SET("Audio/Zoom/Horizontal")->SetInt(new_zoom);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -195,10 +196,12 @@ void AudioBox::OnHorizontalZoom(wxScrollEvent &event) {
|
||||||
// Negate the value, we want zoom out to be on bottom and zoom in on top,
|
// Negate the value, we want zoom out to be on bottom and zoom in on top,
|
||||||
// but the control doesn't want negative on bottom and positive on top.
|
// but the control doesn't want negative on bottom and positive on top.
|
||||||
audioDisplay->SetZoomLevel(-event.GetPosition());
|
audioDisplay->SetZoomLevel(-event.GetPosition());
|
||||||
|
OPT_SET("Audio/Zoom/Horizontal")->SetInt(event.GetPosition());
|
||||||
}
|
}
|
||||||
|
|
||||||
void AudioBox::OnVerticalZoom(wxScrollEvent &event) {
|
void AudioBox::OnVerticalZoom(wxScrollEvent &event) {
|
||||||
int pos = mid(1, event.GetPosition(), 100);
|
int pos = mid(1, event.GetPosition(), 100);
|
||||||
|
OPT_SET("Audio/Zoom/Vertical")->SetInt(pos);
|
||||||
double value = pow(pos / 50.0, 3);
|
double value = pow(pos / 50.0, 3);
|
||||||
audioDisplay->SetAmplitudeScale(value);
|
audioDisplay->SetAmplitudeScale(value);
|
||||||
if (!VolumeBar->IsEnabled()) {
|
if (!VolumeBar->IsEnabled()) {
|
||||||
|
@ -209,6 +212,7 @@ void AudioBox::OnVerticalZoom(wxScrollEvent &event) {
|
||||||
|
|
||||||
void AudioBox::OnVolume(wxScrollEvent &event) {
|
void AudioBox::OnVolume(wxScrollEvent &event) {
|
||||||
int pos = mid(1, event.GetPosition(), 100);
|
int pos = mid(1, event.GetPosition(), 100);
|
||||||
|
OPT_SET("Audio/Volume")->SetInt(pos);
|
||||||
controller->SetVolume(pow(pos / 50.0, 3));
|
controller->SetVolume(pow(pos / 50.0, 3));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -79,7 +79,12 @@
|
||||||
},
|
},
|
||||||
"Spectrum" : true,
|
"Spectrum" : true,
|
||||||
"Start Drag Sensitivity" : 3,
|
"Start Drag Sensitivity" : 3,
|
||||||
"Wheel Default to Zoom" : false
|
"Volume" : 50,
|
||||||
|
"Wheel Default to Zoom" : false,
|
||||||
|
"Zoom" : {
|
||||||
|
"Horizontal" : 0,
|
||||||
|
"Vertical" : 50
|
||||||
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue