mirror of
https://github.com/cookiengineer/audacity
synced 2025-10-21 22:12:58 +02:00
A couple of bug fixes for Quick-Play and simplify defaults
This commit is contained in:
@@ -1667,9 +1667,9 @@ AdornedRulerPanel::AdornedRulerPanel(wxWindow* parent,
|
|||||||
|
|
||||||
mIsRecording = false;
|
mIsRecording = false;
|
||||||
|
|
||||||
mTimelineToolTip = gPrefs->Read(wxT("/QuickPlay/ToolTips"), wxT("Enabled")) == wxT("Enabled");
|
mTimelineToolTip = gPrefs->Read(wxT("/QuickPlay/ToolTips"), 1L);
|
||||||
mPlayRegionDragsSelection = gPrefs->Read(wxT("/QuickPlay/DragSelection"), wxT("Enabled")) == wxT("Enabled");
|
mPlayRegionDragsSelection = (gPrefs->Read(wxT("/QuickPlay/DragSelection"), 0L) == 1)? true : false;
|
||||||
mQuickPlayEnabled = gPrefs->Read(wxT("/QuickPlay/QuickPlayEnabled"), wxT("Enabled")) == wxT("Enabled");
|
mQuickPlayEnabled = gPrefs->Read(wxT("/QuickPlay/QuickPlayEnabled"), 1L);
|
||||||
|
|
||||||
#if wxUSE_TOOLTIPS
|
#if wxUSE_TOOLTIPS
|
||||||
RegenerateTooltips();
|
RegenerateTooltips();
|
||||||
@@ -1890,8 +1890,10 @@ void AdornedRulerPanel::OnMouseEvents(wxMouseEvent &evt)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
if (evt.RightDown()) {
|
if (evt.RightDown() && !(evt.LeftIsDown())) {
|
||||||
ShowMenu(evt.GetPosition());
|
ShowMenu(evt.GetPosition());
|
||||||
|
if (HasCapture())
|
||||||
|
ReleaseMouse();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!mQuickPlayEnabled)
|
if (!mQuickPlayEnabled)
|
||||||
@@ -1936,71 +1938,73 @@ void AdornedRulerPanel::OnMouseEvents(wxMouseEvent &evt)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
switch (mMouseEventState)
|
if (evt.LeftIsDown()) {
|
||||||
{
|
switch (mMouseEventState)
|
||||||
case mesNone:
|
{
|
||||||
// If close to either end of play region, snap to closest
|
case mesNone:
|
||||||
if (isWithinStart || isWithinEnd) {
|
// If close to either end of play region, snap to closest
|
||||||
if (fabs(mQuickPlayPos - mOldPlayRegionStart) < fabs(mQuickPlayPos - mOldPlayRegionEnd))
|
if (isWithinStart || isWithinEnd) {
|
||||||
|
if (fabs(mQuickPlayPos - mOldPlayRegionStart) < fabs(mQuickPlayPos - mOldPlayRegionEnd))
|
||||||
|
mQuickPlayPos = mOldPlayRegionStart;
|
||||||
|
else
|
||||||
|
mQuickPlayPos = mOldPlayRegionEnd;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case mesDraggingPlayRegionStart:
|
||||||
|
// Don't start dragging until beyond tollerance initial playback start
|
||||||
|
if (!mIsDragging && isWithinStart)
|
||||||
mQuickPlayPos = mOldPlayRegionStart;
|
mQuickPlayPos = mOldPlayRegionStart;
|
||||||
else
|
else
|
||||||
|
mIsDragging = true;
|
||||||
|
// avoid accidental tiny selection
|
||||||
|
if (isWithinEnd)
|
||||||
mQuickPlayPos = mOldPlayRegionEnd;
|
mQuickPlayPos = mOldPlayRegionEnd;
|
||||||
}
|
|
||||||
break;
|
|
||||||
case mesDraggingPlayRegionStart:
|
|
||||||
// Don't start dragging until beyond tollerance initial playback start
|
|
||||||
if (!mIsDragging && isWithinStart)
|
|
||||||
mQuickPlayPos = mOldPlayRegionStart;
|
|
||||||
else
|
|
||||||
mIsDragging = true;
|
|
||||||
// avoid accidental tiny selection
|
|
||||||
if (isWithinEnd)
|
|
||||||
mQuickPlayPos = mOldPlayRegionEnd;
|
|
||||||
mPlayRegionStart = mQuickPlayPos;
|
|
||||||
if (canDragSel) {
|
|
||||||
DragSelection();
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case mesDraggingPlayRegionEnd:
|
|
||||||
if (!mIsDragging && isWithinEnd)
|
|
||||||
mQuickPlayPos = mOldPlayRegionEnd;
|
|
||||||
else
|
|
||||||
mIsDragging = true;
|
|
||||||
if (isWithinStart)
|
|
||||||
mQuickPlayPos = mOldPlayRegionStart;
|
|
||||||
mPlayRegionEnd = mQuickPlayPos;
|
|
||||||
if (canDragSel) {
|
|
||||||
DragSelection();
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case mesSelectingPlayRegionClick:
|
|
||||||
// Don't start dragging until mouse is beyond tollerance of initial click.
|
|
||||||
if (isWithinClick || mLeftDownClick == -1) {
|
|
||||||
mQuickPlayPos = mLeftDownClick;
|
|
||||||
mPlayRegionStart = mLeftDownClick;
|
|
||||||
mPlayRegionEnd = mLeftDownClick;
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
mMouseEventState = mesSelectingPlayRegionRange;
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case mesSelectingPlayRegionRange:
|
|
||||||
if (isWithinClick) {
|
|
||||||
mQuickPlayPos = mLeftDownClick;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (mQuickPlayPos < mLeftDownClick) {
|
|
||||||
mPlayRegionStart = mQuickPlayPos;
|
mPlayRegionStart = mQuickPlayPos;
|
||||||
mPlayRegionEnd = mLeftDownClick;
|
if (canDragSel) {
|
||||||
}
|
DragSelection();
|
||||||
else {
|
}
|
||||||
|
break;
|
||||||
|
case mesDraggingPlayRegionEnd:
|
||||||
|
if (!mIsDragging && isWithinEnd)
|
||||||
|
mQuickPlayPos = mOldPlayRegionEnd;
|
||||||
|
else
|
||||||
|
mIsDragging = true;
|
||||||
|
if (isWithinStart)
|
||||||
|
mQuickPlayPos = mOldPlayRegionStart;
|
||||||
mPlayRegionEnd = mQuickPlayPos;
|
mPlayRegionEnd = mQuickPlayPos;
|
||||||
mPlayRegionStart = mLeftDownClick;
|
if (canDragSel) {
|
||||||
|
DragSelection();
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case mesSelectingPlayRegionClick:
|
||||||
|
// Don't start dragging until mouse is beyond tollerance of initial click.
|
||||||
|
if (isWithinClick || mLeftDownClick == -1) {
|
||||||
|
mQuickPlayPos = mLeftDownClick;
|
||||||
|
mPlayRegionStart = mLeftDownClick;
|
||||||
|
mPlayRegionEnd = mLeftDownClick;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
mMouseEventState = mesSelectingPlayRegionRange;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case mesSelectingPlayRegionRange:
|
||||||
|
if (isWithinClick) {
|
||||||
|
mQuickPlayPos = mLeftDownClick;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (mQuickPlayPos < mLeftDownClick) {
|
||||||
|
mPlayRegionStart = mQuickPlayPos;
|
||||||
|
mPlayRegionEnd = mLeftDownClick;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
mPlayRegionEnd = mQuickPlayPos;
|
||||||
|
mPlayRegionStart = mLeftDownClick;
|
||||||
|
}
|
||||||
|
if (canDragSel) {
|
||||||
|
DragSelection();
|
||||||
|
}
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
if (canDragSel) {
|
|
||||||
DragSelection();
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (evt.LeftUp())
|
if (evt.LeftUp())
|
||||||
@@ -2162,7 +2166,7 @@ void AdornedRulerPanel::ShowMenu(const wxPoint & pos)
|
|||||||
void AdornedRulerPanel::OnToggleQuickPlay(wxCommandEvent& evt)
|
void AdornedRulerPanel::OnToggleQuickPlay(wxCommandEvent& evt)
|
||||||
{
|
{
|
||||||
mQuickPlayEnabled = (mQuickPlayEnabled)? false : true;
|
mQuickPlayEnabled = (mQuickPlayEnabled)? false : true;
|
||||||
gPrefs->Write(wxT("/QuickPlay/QuickPlayEnabled"), mQuickPlayEnabled ? wxT("Enabled") : wxT("Disabled"));
|
gPrefs->Write(wxT("/QuickPlay/QuickPlayEnabled"), mQuickPlayEnabled);
|
||||||
gPrefs->Flush();
|
gPrefs->Flush();
|
||||||
RegenerateTooltips();
|
RegenerateTooltips();
|
||||||
}
|
}
|
||||||
@@ -2170,7 +2174,7 @@ void AdornedRulerPanel::OnToggleQuickPlay(wxCommandEvent& evt)
|
|||||||
void AdornedRulerPanel::OnSyncSelToQuickPlay(wxCommandEvent& evt)
|
void AdornedRulerPanel::OnSyncSelToQuickPlay(wxCommandEvent& evt)
|
||||||
{
|
{
|
||||||
mPlayRegionDragsSelection = (mPlayRegionDragsSelection)? false : true;
|
mPlayRegionDragsSelection = (mPlayRegionDragsSelection)? false : true;
|
||||||
gPrefs->Write(wxT("/QuickPlay/DragSelection"), mPlayRegionDragsSelection ? wxT("Enabled") : wxT("Disabled"));
|
gPrefs->Write(wxT("/QuickPlay/DragSelection"), mPlayRegionDragsSelection);
|
||||||
gPrefs->Flush();
|
gPrefs->Flush();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2207,7 +2211,7 @@ void AdornedRulerPanel::HandleSnapping()
|
|||||||
void AdornedRulerPanel::OnTimelineToolTips(wxCommandEvent& evt)
|
void AdornedRulerPanel::OnTimelineToolTips(wxCommandEvent& evt)
|
||||||
{
|
{
|
||||||
mTimelineToolTip = (mTimelineToolTip)? false : true;
|
mTimelineToolTip = (mTimelineToolTip)? false : true;
|
||||||
gPrefs->Write(wxT("/QuickPlay/ToolTips"), mTimelineToolTip ? wxT("Enabled") : wxT("Disabled"));
|
gPrefs->Write(wxT("/QuickPlay/ToolTips"), mTimelineToolTip);
|
||||||
gPrefs->Flush();
|
gPrefs->Flush();
|
||||||
#if wxUSE_TOOLTIPS
|
#if wxUSE_TOOLTIPS
|
||||||
RegenerateTooltips();
|
RegenerateTooltips();
|
||||||
|
Reference in New Issue
Block a user