timeline: use headers in waveform data files rather than sidecar metadata files

This commit is contained in:
itsmattkc
2020-05-03 00:44:14 +10:00
parent 2d0e5322f2
commit c5458c6843
2 changed files with 11 additions and 19 deletions
+8 -12
View File
@@ -112,7 +112,14 @@ NodeValueTable AudioRenderWorker::RenderBlock(const TrackOutput *track, const Ti
AudioRenderingParams waveform_params(SampleSummer::kSumSampleRate, audio_params_.channel_layout(), SampleFormat::SAMPLE_FMT_S32);
int chunk_size = (audio_params().sample_rate() / waveform_params.sample_rate());
qint64 start_offset = waveform_params.time_to_bytes(range_for_block.in() - b->in());
{
// Write metadata header
SampleSummer::Info info;
info.channels = audio_params_.channel_count();
wave_file.write(reinterpret_cast<char*>(&info), sizeof(SampleSummer::Info));
}
qint64 start_offset = sizeof(SampleSummer::Info) + waveform_params.time_to_bytes(range_for_block.in() - b->in());
qint64 length_offset = waveform_params.time_to_bytes(range_for_block.length());
qint64 end_offset = start_offset + length_offset;
@@ -133,17 +140,6 @@ NodeValueTable AudioRenderWorker::RenderBlock(const TrackOutput *track, const Ti
wave_file.close();
// Write metadata about this waveform file
QFile wave_metadata(wave_fn.append(QStringLiteral(".meta")));
if (wave_metadata.open(QFile::WriteOnly)) {
SampleSummer::Info info;
info.channels = audio_params_.channel_count();
wave_metadata.write(reinterpret_cast<char*>(&info), sizeof(SampleSummer::Info));
wave_metadata.close();
}
if (src_block->type() == Block::kClip) {
emit static_cast<ClipBlock*>(src_block)->PreviewUpdated();
}