forked from mia/Aegisub
Fixed audio follow cursor bug.
Originally committed to SVN as r234.
This commit is contained in:
parent
054350a17d
commit
87cfe62e0c
4 changed files with 28 additions and 25 deletions
|
@ -1561,7 +1561,8 @@ void AudioDisplay::OnUpdateTimer(wxTimerEvent &event) {
|
||||||
// Scroll if needed
|
// Scroll if needed
|
||||||
int posX = GetXAtSample(curPos);
|
int posX = GetXAtSample(curPos);
|
||||||
bool fullDraw = false;
|
bool fullDraw = false;
|
||||||
bool centerLock = Options.AsBool(_T("Audio lock scroll on cursor"));
|
bool centerLock = false;
|
||||||
|
bool scrollToCursor = Options.AsBool(_T("Audio lock scroll on cursor"));
|
||||||
if (centerLock) {
|
if (centerLock) {
|
||||||
int goTo = MAX(0,curPos - w*samples/2);
|
int goTo = MAX(0,curPos - w*samples/2);
|
||||||
if (goTo >= 0) {
|
if (goTo >= 0) {
|
||||||
|
@ -1571,6 +1572,7 @@ void AudioDisplay::OnUpdateTimer(wxTimerEvent &event) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
if (scrollToCursor) {
|
||||||
if (posX < 80 || posX > w-80) {
|
if (posX < 80 || posX > w-80) {
|
||||||
int goTo = MAX(0,curPos - 80*samples);
|
int goTo = MAX(0,curPos - 80*samples);
|
||||||
if (goTo >= 0) {
|
if (goTo >= 0) {
|
||||||
|
@ -1580,6 +1582,7 @@ void AudioDisplay::OnUpdateTimer(wxTimerEvent &event) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Draw cursor
|
// Draw cursor
|
||||||
wxMemoryDC src;
|
wxMemoryDC src;
|
||||||
|
|
|
@ -68,7 +68,7 @@ Please visit http://aegisub.net to download latest version
|
||||||
- Fixed bug which caused extra newlines to be added at the end of file. (AMZ)
|
- Fixed bug which caused extra newlines to be added at the end of file. (AMZ)
|
||||||
- Added a horizontal scrollbar to shift times history. (AMZ)
|
- Added a horizontal scrollbar to shift times history. (AMZ)
|
||||||
- Removed the "Help" button from Find/Replace dialog. (AMZ)
|
- Removed the "Help" button from Find/Replace dialog. (AMZ)
|
||||||
- Added a bias slider to the "make times continuous" function in timing post-processor, to set the point between the subs where they will meet. (AMZ)
|
- Added a bias slider to the "make times continuous" function in timing post-processor, which sets the point between the subs where the two lines will meet. (AMZ)
|
||||||
|
|
||||||
|
|
||||||
= 1.09 beta - 2006.01.16 ===========================
|
= 1.09 beta - 2006.01.16 ===========================
|
||||||
|
|
|
@ -77,37 +77,37 @@ SubsEditBox::SubsEditBox (wxWindow *parent,SubtitlesGrid *gridp) : wxPanel(paren
|
||||||
styles.Add(_T(""));
|
styles.Add(_T(""));
|
||||||
CommentBox = new wxCheckBox(this,COMMENT_CHECKBOX,_("Comment"));
|
CommentBox = new wxCheckBox(this,COMMENT_CHECKBOX,_("Comment"));
|
||||||
CommentBox->SetToolTip(_("Comment this line out. Commented lines don't show up on screen."));
|
CommentBox->SetToolTip(_("Comment this line out. Commented lines don't show up on screen."));
|
||||||
StyleBox = new wxComboBox(this,STYLE_COMBOBOX,_T(""),wxDefaultPosition,wxSize(90,25),styles,wxCB_READONLY);
|
StyleBox = new wxComboBox(this,STYLE_COMBOBOX,_T(""),wxDefaultPosition,wxSize(110,25),styles,wxCB_READONLY);
|
||||||
StyleBox->SetToolTip(_("Style for this line."));
|
StyleBox->SetToolTip(_("Style for this line."));
|
||||||
ActorBox = new wxComboBox(this,ACTOR_COMBOBOX,_T(""),wxDefaultPosition,wxSize(90,25),styles,wxCB_DROPDOWN);
|
ActorBox = new wxComboBox(this,ACTOR_COMBOBOX,_T(""),wxDefaultPosition,wxSize(110,25),styles,wxCB_DROPDOWN);
|
||||||
ActorBox->SetToolTip(_("Actor name for this speech. This is only for reference, and is mainly useless."));
|
ActorBox->SetToolTip(_("Actor name for this speech. This is only for reference, and is mainly useless."));
|
||||||
MarginL = new HiliModTextCtrl(this,MARGINL_BOX,_T(""),wxDefaultPosition,wxSize(40,20),wxTE_PROCESS_ENTER,NumValidator());
|
MarginL = new HiliModTextCtrl(this,MARGINL_BOX,_T(""),wxDefaultPosition,wxSize(40,20),wxTE_CENTRE | wxTE_PROCESS_ENTER,NumValidator());
|
||||||
MarginL->SetToolTip(_("Left Margin (0000 = default)"));
|
MarginL->SetToolTip(_("Left Margin (0000 = default)"));
|
||||||
MarginR = new HiliModTextCtrl(this,MARGINR_BOX,_T(""),wxDefaultPosition,wxSize(40,20),wxTE_PROCESS_ENTER,NumValidator());
|
MarginR = new HiliModTextCtrl(this,MARGINR_BOX,_T(""),wxDefaultPosition,wxSize(40,20),wxTE_CENTRE | wxTE_PROCESS_ENTER,NumValidator());
|
||||||
MarginR->SetToolTip(_("Right Margin (0000 = default)"));
|
MarginR->SetToolTip(_("Right Margin (0000 = default)"));
|
||||||
MarginV = new HiliModTextCtrl(this,MARGINV_BOX,_T(""),wxDefaultPosition,wxSize(40,20),wxTE_PROCESS_ENTER,NumValidator());
|
MarginV = new HiliModTextCtrl(this,MARGINV_BOX,_T(""),wxDefaultPosition,wxSize(40,20),wxTE_CENTRE | wxTE_PROCESS_ENTER,NumValidator());
|
||||||
MarginV->SetToolTip(_("Vertical Margin (0000 = default)"));
|
MarginV->SetToolTip(_("Vertical Margin (0000 = default)"));
|
||||||
|
|
||||||
// Middle controls
|
// Middle controls
|
||||||
Layer = new HiliModTextCtrl(this,LAYER_BOX,_T(""),wxDefaultPosition,wxSize(30,20),0,NumValidator());
|
Layer = new HiliModTextCtrl(this,LAYER_BOX,_T(""),wxDefaultPosition,wxSize(40,20),0,NumValidator());
|
||||||
Layer->SetToolTip(_("Layer number"));
|
Layer->SetToolTip(_("Layer number"));
|
||||||
StartTime = new TimeEdit(this,STARTTIME_BOX,_T(""),wxDefaultPosition,wxSize(70,20));
|
StartTime = new TimeEdit(this,STARTTIME_BOX,_T(""),wxDefaultPosition,wxSize(75,20));
|
||||||
StartTime->SetToolTip(_("Start time"));
|
StartTime->SetToolTip(_("Start time"));
|
||||||
StartTime->showModified = true;
|
StartTime->showModified = true;
|
||||||
EndTime = new TimeEdit(this,ENDTIME_BOX,_T(""),wxDefaultPosition,wxSize(70,20),0,NumValidator());
|
EndTime = new TimeEdit(this,ENDTIME_BOX,_T(""),wxDefaultPosition,wxSize(75,20),0,NumValidator());
|
||||||
EndTime->SetToolTip(_("End time"));
|
EndTime->SetToolTip(_("End time"));
|
||||||
EndTime->isEnd = true;
|
EndTime->isEnd = true;
|
||||||
EndTime->showModified = true;
|
EndTime->showModified = true;
|
||||||
Duration = new TimeEdit(this,DURATION_BOX,_T(""),wxDefaultPosition,wxSize(70,20),0,NumValidator());
|
Duration = new TimeEdit(this,DURATION_BOX,_T(""),wxDefaultPosition,wxSize(75,20),0,NumValidator());
|
||||||
Duration->SetToolTip(_("Line duration"));
|
Duration->SetToolTip(_("Line duration"));
|
||||||
Duration->showModified = true;
|
Duration->showModified = true;
|
||||||
ByTime = new wxRadioButton(this,RADIO_TIME_BY_TIME,_("Time"),wxDefaultPosition,wxDefaultSize,wxRB_GROUP);
|
ByTime = new wxRadioButton(this,RADIO_TIME_BY_TIME,_("Time"),wxDefaultPosition,wxDefaultSize,wxRB_GROUP);
|
||||||
ByTime->SetToolTip(_("Time by h:mm:ss.cs"));
|
ByTime->SetToolTip(_("Time by h:mm:ss.cs"));
|
||||||
ByFrame = new wxRadioButton(this,RADIO_TIME_BY_FRAME,_("Frame"));
|
ByFrame = new wxRadioButton(this,RADIO_TIME_BY_FRAME,_("Frame"));
|
||||||
ByFrame->SetToolTip(_("Time by frame number"));
|
ByFrame->SetToolTip(_("Time by frame number"));
|
||||||
SyntaxHighlight = new wxCheckBox(this,SYNTAX_BOX,_("Syntax"));
|
//SyntaxHighlight = new wxCheckBox(this,SYNTAX_BOX,_("Syntax"));
|
||||||
SyntaxHighlight->SetToolTip(_("Enable syntax highlighting"));
|
//SyntaxHighlight->SetToolTip(_("Enable syntax highlighting"));
|
||||||
SyntaxHighlight->SetValue(Options.AsBool(_T("Syntax Highlight Enabled")));
|
//SyntaxHighlight->SetValue(Options.AsBool(_T("Syntax Highlight Enabled")));
|
||||||
|
|
||||||
// Top sizer
|
// Top sizer
|
||||||
wxSizer *TopSizer = new wxBoxSizer(wxHORIZONTAL);
|
wxSizer *TopSizer = new wxBoxSizer(wxHORIZONTAL);
|
||||||
|
@ -122,11 +122,11 @@ SubsEditBox::SubsEditBox (wxWindow *parent,SubtitlesGrid *gridp) : wxPanel(paren
|
||||||
wxSizer *MiddleSizer = new wxBoxSizer(wxHORIZONTAL);
|
wxSizer *MiddleSizer = new wxBoxSizer(wxHORIZONTAL);
|
||||||
MiddleSizer->Add(Layer,0,wxRIGHT,5);
|
MiddleSizer->Add(Layer,0,wxRIGHT,5);
|
||||||
MiddleSizer->Add(StartTime,0,wxRIGHT,0);
|
MiddleSizer->Add(StartTime,0,wxRIGHT,0);
|
||||||
MiddleSizer->Add(EndTime,0,wxRIGHT,0);
|
MiddleSizer->Add(EndTime,0,wxRIGHT,5);
|
||||||
MiddleSizer->Add(Duration,0,wxRIGHT,5);
|
MiddleSizer->Add(Duration,0,wxRIGHT,5);
|
||||||
MiddleSizer->Add(ByTime,0,wxRIGHT | wxALIGN_CENTER,5);
|
MiddleSizer->Add(ByTime,0,wxRIGHT | wxALIGN_CENTER,5);
|
||||||
MiddleSizer->Add(ByFrame,0,wxRIGHT | wxALIGN_CENTER,5);
|
MiddleSizer->Add(ByFrame,0,wxRIGHT | wxALIGN_CENTER,5);
|
||||||
MiddleSizer->Add(SyntaxHighlight,0,wxRIGHT | wxALIGN_CENTER,5);
|
//MiddleSizer->Add(SyntaxHighlight,0,wxRIGHT | wxALIGN_CENTER,5);
|
||||||
|
|
||||||
// Middle-bottom controls
|
// Middle-bottom controls
|
||||||
Bold = new wxBitmapButton(this,BUTTON_BOLD,wxBITMAP(button_bold),wxDefaultPosition,wxSize(20,20));
|
Bold = new wxBitmapButton(this,BUTTON_BOLD,wxBITMAP(button_bold),wxDefaultPosition,wxSize(20,20));
|
||||||
|
@ -304,7 +304,7 @@ void SubsEditBox::SetText(const wxString _text) {
|
||||||
|
|
||||||
// Mode
|
// Mode
|
||||||
int mode = 0;
|
int mode = 0;
|
||||||
if (SyntaxHighlight->IsChecked()) mode = 1;
|
if (Options.AsBool(_T("Syntax Highlight Enabled"))) mode = 1;
|
||||||
|
|
||||||
// Syntax highlighted
|
// Syntax highlighted
|
||||||
if (mode == 1) {
|
if (mode == 1) {
|
||||||
|
@ -530,7 +530,7 @@ void SubsEditBox::SetControlsState (bool state) {
|
||||||
StyleBox->Enable(state);
|
StyleBox->Enable(state);
|
||||||
ActorBox->Enable(state);
|
ActorBox->Enable(state);
|
||||||
ByTime->Enable(state);
|
ByTime->Enable(state);
|
||||||
SyntaxHighlight->Enable(state);
|
//SyntaxHighlight->Enable(state);
|
||||||
Bold->Enable(state);
|
Bold->Enable(state);
|
||||||
Italics->Enable(state);
|
Italics->Enable(state);
|
||||||
Underline->Enable(state);
|
Underline->Enable(state);
|
||||||
|
|
|
@ -45,7 +45,7 @@
|
||||||
///////////////
|
///////////////
|
||||||
// Constructor
|
// Constructor
|
||||||
TimeEdit::TimeEdit(wxWindow* parent, wxWindowID id, const wxString& value, const wxPoint& pos, const wxSize& size, long style, const wxValidator& validator, const wxString& name) :
|
TimeEdit::TimeEdit(wxWindow* parent, wxWindowID id, const wxString& value, const wxPoint& pos, const wxSize& size, long style, const wxValidator& validator, const wxString& name) :
|
||||||
wxTextCtrl(parent,id,value,pos,size,style,validator,name)
|
wxTextCtrl(parent,id,value,pos,size,wxTE_CENTRE | style,validator,name)
|
||||||
{
|
{
|
||||||
SetValue(time.GetASSFormated());
|
SetValue(time.GetASSFormated());
|
||||||
ready = true;
|
ready = true;
|
||||||
|
|
Loading…
Reference in a new issue