Separated volume on its own slider bar
Originally committed to SVN as r89.
This commit is contained in:
parent
bd116bd286
commit
6eae67a95e
8 changed files with 66 additions and 8 deletions
|
@ -75,7 +75,12 @@ wxPanel(parent,-1,wxDefaultPosition,wxDefaultSize,wxTAB_TRAVERSAL|wxBORDER_RAISE
|
||||||
HorizontalZoom = new wxSlider(this,Audio_Horizontal_Zoom,50,0,100,wxDefaultPosition,wxSize(-1,20),wxSL_VERTICAL);
|
HorizontalZoom = new wxSlider(this,Audio_Horizontal_Zoom,50,0,100,wxDefaultPosition,wxSize(-1,20),wxSL_VERTICAL);
|
||||||
HorizontalZoom->SetToolTip(_("Horizontal zoom"));
|
HorizontalZoom->SetToolTip(_("Horizontal zoom"));
|
||||||
VerticalZoom = new wxSlider(this,Audio_Vertical_Zoom,50,0,100,wxDefaultPosition,wxSize(-1,20),wxSL_VERTICAL|wxSL_INVERSE);
|
VerticalZoom = new wxSlider(this,Audio_Vertical_Zoom,50,0,100,wxDefaultPosition,wxSize(-1,20),wxSL_VERTICAL|wxSL_INVERSE);
|
||||||
VerticalZoom->SetToolTip(_("Vertical zoom/Volume"));
|
VerticalZoom->SetToolTip(_("Vertical zoom"));
|
||||||
|
VolumeBar = new wxSlider(this,Audio_Volume,50,0,100,wxDefaultPosition,wxSize(-1,20),wxSL_VERTICAL|wxSL_INVERSE);
|
||||||
|
VolumeBar->SetToolTip(_("Audio Volume"));
|
||||||
|
VerticalLink = new ToggleBitmap(this,Audio_Vertical_Link,wxBITMAP(toggle_audio_link));
|
||||||
|
VerticalLink->SetToolTip(_("Link vertical zoom and volxmlume sliders"));
|
||||||
|
VerticalLink->SetValue(Options.AsBool(_T("Audio Link")));
|
||||||
|
|
||||||
// Display sizer
|
// Display sizer
|
||||||
DisplaySizer = new wxBoxSizer(wxVERTICAL);
|
DisplaySizer = new wxBoxSizer(wxVERTICAL);
|
||||||
|
@ -83,11 +88,19 @@ wxPanel(parent,-1,wxDefaultPosition,wxDefaultSize,wxTAB_TRAVERSAL|wxBORDER_RAISE
|
||||||
DisplaySizer->Add(Sash,0,wxEXPAND,0);
|
DisplaySizer->Add(Sash,0,wxEXPAND,0);
|
||||||
DisplaySizer->Add(audioScroll,0,wxEXPAND,0);
|
DisplaySizer->Add(audioScroll,0,wxEXPAND,0);
|
||||||
|
|
||||||
|
// VertVol sider
|
||||||
|
wxSizer *VertVol = new wxBoxSizer(wxHORIZONTAL);
|
||||||
|
wxSizer *VertVolArea = new wxBoxSizer(wxVERTICAL);
|
||||||
|
VertVol->Add(VerticalZoom,1,wxEXPAND,0);
|
||||||
|
VertVol->Add(VolumeBar,1,wxEXPAND,0);
|
||||||
|
VertVolArea->Add(VertVol,1,wxEXPAND,0);
|
||||||
|
VertVolArea->Add(VerticalLink,0,wxEXPAND,0);
|
||||||
|
|
||||||
// Top sizer
|
// Top sizer
|
||||||
TopSizer = new wxBoxSizer(wxHORIZONTAL);
|
TopSizer = new wxBoxSizer(wxHORIZONTAL);
|
||||||
TopSizer->Add(DisplaySizer,1,wxEXPAND,0);
|
TopSizer->Add(DisplaySizer,1,wxEXPAND,0);
|
||||||
TopSizer->Add(HorizontalZoom,0,wxEXPAND,0);
|
TopSizer->Add(HorizontalZoom,0,wxEXPAND,0);
|
||||||
TopSizer->Add(VerticalZoom,0,wxEXPAND,0);
|
TopSizer->Add(VertVolArea,0,wxEXPAND,0);
|
||||||
|
|
||||||
// Buttons sizer
|
// Buttons sizer
|
||||||
wxSizer *ButtonSizer = new wxBoxSizer(wxHORIZONTAL);
|
wxSizer *ButtonSizer = new wxBoxSizer(wxHORIZONTAL);
|
||||||
|
@ -218,6 +231,7 @@ BEGIN_EVENT_TABLE(AudioBox,wxPanel)
|
||||||
EVT_COMMAND_SCROLL(Audio_Scrollbar, AudioBox::OnScrollbar)
|
EVT_COMMAND_SCROLL(Audio_Scrollbar, AudioBox::OnScrollbar)
|
||||||
EVT_COMMAND_SCROLL(Audio_Horizontal_Zoom, AudioBox::OnHorizontalZoom)
|
EVT_COMMAND_SCROLL(Audio_Horizontal_Zoom, AudioBox::OnHorizontalZoom)
|
||||||
EVT_COMMAND_SCROLL(Audio_Vertical_Zoom, AudioBox::OnVerticalZoom)
|
EVT_COMMAND_SCROLL(Audio_Vertical_Zoom, AudioBox::OnVerticalZoom)
|
||||||
|
EVT_COMMAND_SCROLL(Audio_Volume, AudioBox::OnVolume)
|
||||||
EVT_SASH_DRAGGED(Audio_Sash,AudioBox::OnSash)
|
EVT_SASH_DRAGGED(Audio_Sash,AudioBox::OnSash)
|
||||||
|
|
||||||
EVT_BUTTON(Audio_Button_Play, AudioBox::OnPlaySelection)
|
EVT_BUTTON(Audio_Button_Play, AudioBox::OnPlaySelection)
|
||||||
|
@ -236,6 +250,7 @@ BEGIN_EVENT_TABLE(AudioBox,wxPanel)
|
||||||
EVT_BUTTON(Audio_Button_Leadin,AudioBox::OnLeadIn)
|
EVT_BUTTON(Audio_Button_Leadin,AudioBox::OnLeadIn)
|
||||||
EVT_BUTTON(Audio_Button_Leadout,AudioBox::OnLeadOut)
|
EVT_BUTTON(Audio_Button_Leadout,AudioBox::OnLeadOut)
|
||||||
|
|
||||||
|
EVT_TOGGLEBUTTON(Audio_Vertical_Link, AudioBox::OnVerticalLink)
|
||||||
EVT_TOGGLEBUTTON(Audio_Button_Karaoke, AudioBox::OnKaraoke)
|
EVT_TOGGLEBUTTON(Audio_Button_Karaoke, AudioBox::OnKaraoke)
|
||||||
EVT_TOGGLEBUTTON(Audio_Check_AutoGoto,AudioBox::OnAutoGoto)
|
EVT_TOGGLEBUTTON(Audio_Check_AutoGoto,AudioBox::OnAutoGoto)
|
||||||
EVT_TOGGLEBUTTON(Audio_Button_Split,AudioBox::OnSplit)
|
EVT_TOGGLEBUTTON(Audio_Button_Split,AudioBox::OnSplit)
|
||||||
|
@ -265,7 +280,42 @@ void AudioBox::OnVerticalZoom(wxScrollEvent &event) {
|
||||||
int pos = event.GetPosition();
|
int pos = event.GetPosition();
|
||||||
if (pos < 1) pos = 1;
|
if (pos < 1) pos = 1;
|
||||||
if (pos > 100) pos = 100;
|
if (pos > 100) pos = 100;
|
||||||
audioDisplay->SetScale(pow(float(pos)/50.0f,3));
|
float value = pow(float(pos)/50.0f,3);
|
||||||
|
audioDisplay->SetScale(value);
|
||||||
|
if (VerticalLink->GetValue()) {
|
||||||
|
audioDisplay->provider->volume = value;
|
||||||
|
VolumeBar->SetValue(pos);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//////////////////////
|
||||||
|
// Volume bar changed
|
||||||
|
void AudioBox::OnVolume(wxScrollEvent &event) {
|
||||||
|
if (!VerticalLink->GetValue()) {
|
||||||
|
int pos = event.GetPosition();
|
||||||
|
if (pos < 1) pos = 1;
|
||||||
|
if (pos > 100) pos = 100;
|
||||||
|
audioDisplay->provider->volume = pow(float(pos)/50.0f,3);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
////////////////////////
|
||||||
|
// Bars linked/unlinked
|
||||||
|
void AudioBox::OnVerticalLink(wxCommandEvent &event) {
|
||||||
|
int pos = VerticalZoom->GetValue();
|
||||||
|
if (pos < 1) pos = 1;
|
||||||
|
if (pos > 100) pos = 100;
|
||||||
|
float value = pow(float(pos)/50.0f,3);
|
||||||
|
if (VerticalLink->GetValue()) {
|
||||||
|
audioDisplay->provider->volume = value;
|
||||||
|
VolumeBar->SetValue(pos);
|
||||||
|
}
|
||||||
|
VolumeBar->Enable(!VerticalLink->GetValue());
|
||||||
|
|
||||||
|
Options.SetBool(_T("Audio Link"),VerticalLink->GetValue());
|
||||||
|
Options.Save();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -63,11 +63,13 @@ private:
|
||||||
wxScrollBar *audioScroll;
|
wxScrollBar *audioScroll;
|
||||||
wxSlider *HorizontalZoom;
|
wxSlider *HorizontalZoom;
|
||||||
wxSlider *VerticalZoom;
|
wxSlider *VerticalZoom;
|
||||||
|
wxSlider *VolumeBar;
|
||||||
wxSizer *MainSizer;
|
wxSizer *MainSizer;
|
||||||
wxSizer *TopSizer;
|
wxSizer *TopSizer;
|
||||||
wxSizer *sashSizer;
|
wxSizer *sashSizer;
|
||||||
wxSizer *DisplaySizer;
|
wxSizer *DisplaySizer;
|
||||||
wxSashWindow *Sash;
|
wxSashWindow *Sash;
|
||||||
|
ToggleBitmap *VerticalLink;
|
||||||
|
|
||||||
wxToggleButton *SplitButton;
|
wxToggleButton *SplitButton;
|
||||||
wxButton *JoinButton;
|
wxButton *JoinButton;
|
||||||
|
@ -79,6 +81,8 @@ private:
|
||||||
void OnScrollbar(wxScrollEvent &event);
|
void OnScrollbar(wxScrollEvent &event);
|
||||||
void OnHorizontalZoom(wxScrollEvent &event);
|
void OnHorizontalZoom(wxScrollEvent &event);
|
||||||
void OnVerticalZoom(wxScrollEvent &event);
|
void OnVerticalZoom(wxScrollEvent &event);
|
||||||
|
void OnVolume(wxScrollEvent &event);
|
||||||
|
void OnVerticalLink(wxCommandEvent &event);
|
||||||
void OnSash(wxSashEvent &event);
|
void OnSash(wxSashEvent &event);
|
||||||
|
|
||||||
void OnPlaySelection(wxCommandEvent &event);
|
void OnPlaySelection(wxCommandEvent &event);
|
||||||
|
@ -129,7 +133,9 @@ enum {
|
||||||
Audio_Scrollbar = 1600,
|
Audio_Scrollbar = 1600,
|
||||||
Audio_Horizontal_Zoom,
|
Audio_Horizontal_Zoom,
|
||||||
Audio_Vertical_Zoom,
|
Audio_Vertical_Zoom,
|
||||||
|
Audio_Volume,
|
||||||
Audio_Sash,
|
Audio_Sash,
|
||||||
|
Audio_Vertical_Link,
|
||||||
|
|
||||||
Audio_Button_Play,
|
Audio_Button_Play,
|
||||||
Audio_Button_Stop,
|
Audio_Button_Stop,
|
||||||
|
|
|
@ -729,7 +729,6 @@ void AudioDisplay::UpdateSamples() {
|
||||||
void AudioDisplay::SetScale(float _scale) {
|
void AudioDisplay::SetScale(float _scale) {
|
||||||
if (scale == _scale) return;
|
if (scale == _scale) return;
|
||||||
scale = _scale;
|
scale = _scale;
|
||||||
provider->volume = scale;
|
|
||||||
UpdateImage();
|
UpdateImage();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
BIN
core/bitmaps/toggle_audio_link.bmp
Normal file
BIN
core/bitmaps/toggle_audio_link.bmp
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.5 KiB |
|
@ -36,6 +36,7 @@ Please visit http://aegisub.net to download latest version
|
||||||
- Audio timing will now apply to all selected lines, as well as active line (AMZ)
|
- Audio timing will now apply to all selected lines, as well as active line (AMZ)
|
||||||
- Rows colliding with the currently active one will now be highlighted in grid (AMZ)
|
- Rows colliding with the currently active one will now be highlighted in grid (AMZ)
|
||||||
- Selected comments are now highlighted in a different color (AMZ)
|
- Selected comments are now highlighted in a different color (AMZ)
|
||||||
|
- Added a volume slider bar to audio mode (AMZ)
|
||||||
|
|
||||||
|
|
||||||
= 1.09 beta - 2006.01.16 ===========================
|
= 1.09 beta - 2006.01.16 ===========================
|
||||||
|
|
|
@ -131,6 +131,7 @@ void OptionsManager::LoadDefaults() {
|
||||||
SetInt(_T("Audio Cache"),1);
|
SetInt(_T("Audio Cache"),1);
|
||||||
SetInt(_T("Audio Sample Rate"),0);
|
SetInt(_T("Audio Sample Rate"),0);
|
||||||
SetText(_T("Audio Downmixer"),_T("ConvertToMono"));
|
SetText(_T("Audio Downmixer"),_T("ConvertToMono"));
|
||||||
|
SetBool(_T("Audio Link"),true);
|
||||||
SetBool(_T("Audio Autocommit"),false);
|
SetBool(_T("Audio Autocommit"),false);
|
||||||
SetBool(_T("Audio Autoscroll"),true);
|
SetBool(_T("Audio Autoscroll"),true);
|
||||||
SetBool(_T("Audio SSA Mode"),false);
|
SetBool(_T("Audio SSA Mode"),false);
|
||||||
|
|
|
@ -118,6 +118,7 @@ toggle_audio_autoscroll BITMAP "bitmaps/toggle_audio_autoscroll.bmp"
|
||||||
toggle_audio_autocommit BITMAP "bitmaps/toggle_audio_autocommit.bmp"
|
toggle_audio_autocommit BITMAP "bitmaps/toggle_audio_autocommit.bmp"
|
||||||
toggle_audio_ssa BITMAP "bitmaps/toggle_audio_ssa.bmp"
|
toggle_audio_ssa BITMAP "bitmaps/toggle_audio_ssa.bmp"
|
||||||
toggle_audio_spectrum BITMAP "bitmaps/toggle_audio_spectrum.bmp"
|
toggle_audio_spectrum BITMAP "bitmaps/toggle_audio_spectrum.bmp"
|
||||||
|
toggle_audio_link BITMAP "bitmaps/toggle_audio_link.bmp"
|
||||||
toggle_video_autoscroll BITMAP "bitmaps/toggle_video_autoscroll.bmp"
|
toggle_video_autoscroll BITMAP "bitmaps/toggle_video_autoscroll.bmp"
|
||||||
|
|
||||||
splash_01 BITMAP "bitmaps/splash_01.bmp"
|
splash_01 BITMAP "bitmaps/splash_01.bmp"
|
||||||
|
|
|
@ -70,11 +70,11 @@ VideoBox::VideoBox(wxPanel *parent) {
|
||||||
videoSlider->SetToolTip(_("Seek video."));
|
videoSlider->SetToolTip(_("Seek video."));
|
||||||
|
|
||||||
// Position
|
// Position
|
||||||
VideoPosition = new wxTextCtrl(videoPage,-1,_T(""),wxDefaultPosition,wxSize(125,20),wxTE_READONLY);
|
VideoPosition = new wxTextCtrl(videoPage,-1,_T(""),wxDefaultPosition,wxSize(110,20),wxTE_READONLY);
|
||||||
VideoPosition->SetToolTip(_("Current frame time and number."));
|
VideoPosition->SetToolTip(_("Current frame time and number."));
|
||||||
|
|
||||||
// Times of sub relative to video
|
// Times of sub relative to video
|
||||||
VideoSubsPos = new wxTextCtrl(videoPage,-1,_T(""),wxDefaultPosition,wxSize(125,20),wxTE_READONLY);
|
VideoSubsPos = new wxTextCtrl(videoPage,-1,_T(""),wxDefaultPosition,wxSize(110,20),wxTE_READONLY);
|
||||||
VideoSubsPos->SetToolTip(_("Time of this frame relative to start and end of current subs."));
|
VideoSubsPos->SetToolTip(_("Time of this frame relative to start and end of current subs."));
|
||||||
|
|
||||||
// Display
|
// Display
|
||||||
|
@ -96,10 +96,10 @@ VideoBox::VideoBox(wxPanel *parent) {
|
||||||
videoBottomSizer->Add(VideoPlayLineButton,0,wxTOP|wxBOTTOM|wxALIGN_CENTER,2);
|
videoBottomSizer->Add(VideoPlayLineButton,0,wxTOP|wxBOTTOM|wxALIGN_CENTER,2);
|
||||||
videoBottomSizer->Add(VideoStopButton,0,wxTOP|wxBOTTOM|wxALIGN_CENTER,2);
|
videoBottomSizer->Add(VideoStopButton,0,wxTOP|wxBOTTOM|wxALIGN_CENTER,2);
|
||||||
videoBottomSizer->Add(AutoScroll,0,wxTOP|wxBOTTOM|wxALIGN_CENTER|wxEXPAND,2);
|
videoBottomSizer->Add(AutoScroll,0,wxTOP|wxBOTTOM|wxALIGN_CENTER|wxEXPAND,2);
|
||||||
|
videoBottomSizer->Add(VideoTrackerMenuButton,0,wxTOP|wxBOTTOM|wxALIGN_CENTER|wxEXPAND,2);
|
||||||
|
videoBottomSizer->Add(VideoTrackerMenu2Button,0,wxTOP|wxBOTTOM|wxALIGN_CENTER|wxEXPAND,2);
|
||||||
videoBottomSizer->Add(VideoPosition,1,wxLEFT|wxALIGN_CENTER,5);
|
videoBottomSizer->Add(VideoPosition,1,wxLEFT|wxALIGN_CENTER,5);
|
||||||
videoBottomSizer->Add(VideoSubsPos,1,wxALIGN_CENTER,0);
|
videoBottomSizer->Add(VideoSubsPos,1,wxALIGN_CENTER,0);
|
||||||
videoBottomSizer->Add(VideoTrackerMenuButton,0,wxTOP|wxBOTTOM|wxALIGN_CENTER,2);
|
|
||||||
videoBottomSizer->Add(VideoTrackerMenu2Button,0,wxTOP|wxBOTTOM|wxALIGN_CENTER,2);
|
|
||||||
VideoSizer = new wxBoxSizer(wxVERTICAL);
|
VideoSizer = new wxBoxSizer(wxVERTICAL);
|
||||||
VideoSizer->Add(videoDisplay,0,wxEXPAND,0);
|
VideoSizer->Add(videoDisplay,0,wxEXPAND,0);
|
||||||
VideoSizer->Add(videoSliderSizer,0,wxEXPAND,0);
|
VideoSizer->Add(videoSliderSizer,0,wxEXPAND,0);
|
||||||
|
|
Loading…
Reference in a new issue