1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-06-21 14:50:06 +02:00

Buig1307: Misbehavior posting mono into stereo

This commit is contained in:
Paul Licameli 2016-01-23 18:25:06 -05:00
parent c703631b8c
commit 4d2f4bbd69

View File

@ -3982,7 +3982,7 @@ void AudacityProject::OnPaste()
Track *c = clipIter.First();
if (c == NULL)
return;
Track *f = NULL;
Track *ff = NULL;
Track *tmpSrc = NULL;
Track *tmpC = NULL;
Track *prev = NULL;
@ -3994,7 +3994,8 @@ void AudacityProject::OnPaste()
while (n && c) {
if (n->GetSelected()) {
bAdvanceClipboard = true;
if (tmpC) c = tmpC;
if (tmpC)
c = tmpC;
if (c->GetKind() != n->GetKind()) {
if (!bTrackTypeMismatch) {
tmpSrc = prev;
@ -4023,7 +4024,8 @@ void AudacityProject::OnPaste()
}
n = iter.Next();
}
if (!n) c = NULL;
if (!n)
c = NULL;
}
// The last possible case for cross-type pastes: triggered when we try to
@ -4048,8 +4050,8 @@ void AudacityProject::OnPaste()
break;
}
if (!f)
f = n;
if (!ff)
ff = n;
if (msClipProject != this && c->GetKind() == Track::Wave)
((WaveTrack *) c)->Lock();
@ -4083,11 +4085,7 @@ void AudacityProject::OnPaste()
n = iter.Next();
if (n->GetKind() == Track::Wave) {
//printf("Checking to see if we need to pre-clear the track\n");
if (!((WaveTrack *) n)->IsEmpty(t0, t1)) {
((WaveTrack *) n)->Clear(t0, t1);
}
bPastedSomething |= ((WaveTrack *)n)->Paste(t0, c);
bPastedSomething |= ((WaveTrack *)n)->ClearAndPaste(t0, t1, c, true, true);
}
else
{
@ -4126,7 +4124,8 @@ void AudacityProject::OnPaste()
if (c && c->GetKind() == Track::Wave) {
bPastedSomething |=
((WaveTrack *)n)->ClearAndPaste(t0, t1, (WaveTrack *)c, true, true);
}else{
}
else {
WaveTrack *tmp;
tmp = mTrackFactory->NewWaveTrack( ((WaveTrack*)n)->GetSampleFormat(), ((WaveTrack*)n)->GetRate());
bool bResult = tmp->InsertSilence(0.0, msClipT1 - msClipT0); // MJS: Is this correct?
@ -4166,8 +4165,8 @@ void AudacityProject::OnPaste()
RedrawProject();
if (f)
mTrackPanel->EnsureVisible(f);
if (ff)
mTrackPanel->EnsureVisible(ff);
}
}