载入中...
搜索中...
未找到
AudioWaveform.cpp
浏览该文件的文档.
9AudioWaveformResult AudioWaveformService::generate(const AudioWaveformRequest& request, const EditorAudioPcm& pcm,
16 if (request.asset.empty() || request.pixelWidth <= 0 || request.pixelWidth > maxPixels || maxPixels <= 0 ||
18 pcm.samples.size() > maxSamples || pcm.samples.size() % static_cast<std::size_t>(pcm.channels) != 0) {
41 const std::size_t end = std::max(begin + 1, static_cast<std::size_t>(bucket + 1) * frameCount / buckets);
53 {static_cast<double>(begin) / pcm.sampleRate, static_cast<double>(end) / pcm.sampleRate, minimum,
AudioWaveformResult generate(const AudioWaveformRequest &request, const EditorAudioPcm &pcm, int maxPixels=16384, std::size_t maxSamples=100000000) const
Build bounded per-channel envelopes from already-decoded PCM.
Definition AudioWaveform.cpp:9
Definition AudioEditingCommands.cpp:7
Diagnostic ruleDiagnostic(eve::DiagnosticCode code, RuleId rule, DiagnosticSeverity severity, std::string message)
Build a common diagnostic carrying an open editing rule identity.
Definition EditingResult.h:25
@ InvalidArgument
@ PreconditionViolation
Immutable waveform request tied to an audio document revision.
Definition AudioWaveform.h:20
Revision-tagged waveform and loop-preview diagnostics.
Definition AudioWaveform.h:38
Revision sourceRevision
Definition AudioWaveform.h:41
double loopSeamDelta
Definition AudioWaveform.h:47
int loopEndBucket
Definition AudioWaveform.h:46
int loopStartBucket
Definition AudioWaveform.h:45
std::vector< std::vector< AudioWaveformBucket > > envelopes
Definition AudioWaveform.h:48
std::vector< EditorDiagnostic > diagnostics
Definition AudioWaveform.h:49
Decoded interleaved PCM supplied by an audio importer or codec plugin.
Definition AudioWaveform.h:13
std::vector< float > samples
Definition AudioWaveform.h:16