1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-07-01 15:43:44 +02:00

AUP3: Fix flushing of tracks/clips in AUP importer

This commit is contained in:
Leland Lucius 2020-07-22 14:40:14 -05:00
parent 0c14e613c7
commit 7bb2417db3
3 changed files with 4 additions and 11 deletions

View File

@ -2460,7 +2460,6 @@ void DBConnection::CheckpointThread()
mCheckpointCurrentPages.store( mCheckpointWaitingPages );
mCheckpointWaitingPages = 0;
}
wxLogDebug(wxT("thread pages %d"), mCheckpointCurrentPages.load());
// And kick off the checkpoint. This may not checkpoint ALL frames
// in the WAL. They'll be gotten the next time around.
@ -2486,7 +2485,7 @@ int DBConnection::CheckpointHook(void *data, sqlite3 *db, const char *schema, in
std::lock_guard<std::mutex> guard(that->mCheckpointMutex);
that->mCheckpointWaitingPages = pages;
that->mCheckpointCondition.notify_one();
wxLogDebug("hook pages %d", pages);
return SQLITE_OK;
}

View File

@ -303,7 +303,6 @@ void SqliteSampleBlock::SetSamples(samplePtr src,
sampleFormat srcformat)
{
mSampleFormat = srcformat;
mSampleCount = numsamples;
mSampleBytes = mSampleCount * SAMPLE_SIZE(mSampleFormat);
mSamples.reinit(mSampleBytes);

View File

@ -503,16 +503,9 @@ void AUPImportFileHandle::HandleXMLEndTag(const wxChar *tag)
struct node node = mHandlers.back();
if (wxStrcmp(tag, wxT("wavetrack")) == 0)
{
WaveTrack *wt = static_cast<WaveTrack *>(node.handler);
wt->Flush();
}
else if (wxStrcmp(tag, wxT("waveclip")) == 0)
if (wxStrcmp(tag, wxT("waveclip")) == 0)
{
mClip = static_cast<WaveClip *>(node.handler);
mClip->Flush();
mClip->HandleXMLEndTag(tag);
}
else
@ -1545,10 +1538,12 @@ bool AUPImportFileHandle::AddSamples(const FilePath &filename,
if (mClip)
{
mClip->Append(bufptr, format, cnt);
mClip->Flush();
}
else if (mWaveTrack)
{
mWaveTrack->Append(bufptr, format, cnt);
mWaveTrack->Flush();
}
// Let the finally block know everything is good