载入中...
搜索中...
未找到
AudioSourceEditor.cpp
浏览该文件的文档.
25 return eve::editing::failed<T>(status, audio_editing::RuleId(std::move(rule)), std::move(message));
28double readNumber(const audio_editing::AudioSourceTarget& target, const editor::SelectionSnapshot& selection,
32 if (const auto* integer = value.value.getIf<std::int64_t>()) return static_cast<double>(*integer);
36bool readFlag(const audio_editing::AudioSourceTarget& target, const editor::SelectionSnapshot& selection,
91 clock_.setDuration(static_cast<double>(pcm_.samples.size()) / static_cast<double>(pcm_.sampleRate));
93 if (!rebuilt.ok()) rebuilt.ignore("preview waveform uses an empty envelope when generation is rejected");
175 return editorError(waveform_.status, "editor.audio.waveform", "Could not rebuild the source waveform");
184 return transport_.bind(audio_editing::StableId(target_.targetId().value()), auditionRevision(), &clock_);
335audio_editing::Result<audio_editing::AudioTransportSnapshot> AudioSourceEditor::update(double deltaSeconds) {
UI-neutral audio source editor: workspace, waveform, audition, undo.
virtual const char * what() const
Returns a string containing reason for the exception.
Definition Exception.h:24
void ignore(std::string_view reason={}) const noexcept
Explicitly discard this result after documenting the reason.
Definition Result.h:537
static Result failure(Status status)
Construct a failed result from a structured status.
Definition Result.h:175
A playable audio source (static buffer or streaming decoder). Not thread-safe for playback control ex...
Definition Source.h:30
Result< AudioTransportSnapshot > snapshot(Revision expectedRevision) const
Read the current playhead only for the bound source revision.
Definition AudioTransport.cpp:98
Result< void > setLoop(Revision expectedRevision, bool enabled, double startSeconds=0.0, double endSeconds=0.0)
Configure a bounded loop range; zero end uses the clip duration.
Definition AudioTransport.cpp:33
Result< void > bind(StableId asset, Revision sourceRevision, IAudioTransportBackend *backend)
Bind a borrowed backend and stop any previously bound audition.
Definition AudioTransport.cpp:9
Result< void > seek(Revision expectedRevision, double seconds)
Seeks .
Definition AudioTransport.cpp:79
Result< AudioTransportSnapshot > update(Revision expectedRevision)
Poll backend state and wrap the custom loop without changing documents.
Definition AudioTransport.cpp:105
Result< void > loadSnapshot(const EditorValue &snapshot)
Atomically load a versioned source snapshot.
Definition AudioSerialization.cpp:27
PropertyReadResult read(const SelectionSnapshot &selection, const PropertyPath &path) const override
Reads .
Definition AudioTarget.cpp:93
Result< DomainOperation > makeSet(const SelectionSnapshot &selection, const PropertyPath &path, const EditorValue &value, PropertySetMode mode) const override
Make set.
Definition AudioTarget.cpp:101
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
audio_editing::Result< void > seek(double seconds) override
Seeks .
Definition AudioSourceEditor.cpp:65
audio_editing::Result< audio_editing::AudioTransportSnapshot > update(double deltaSeconds)
Poll audition and advance the clock backend.
Definition AudioSourceEditor.cpp:335
audio_editing::Result< void > setViewportWidth(float width)
Rebuild waveform envelopes for the given pixel width.
Definition AudioSourceEditor.cpp:235
audio_editing::PropertyReadResult read(const std::string &path) const
Read a property using the source selection.
Definition AudioSourceEditor.cpp:427
audio_editing::Result< void > attachLiveAudition()
Bind a live OpenAL Source generated from the preview PCM when Audio/Sound exist.
Definition AudioSourceEditor.cpp:342
audio_editing::Result< void > configureWorkspace(editor::EditorWorkspace &workspace) const
Install Sources / Waveform / Inspector / Transport panels.
Definition AudioSourceEditor.cpp:206
audio_editing::EditorValue snapshot() const
Canonical snapshot of the source document.
Definition AudioSourceEditor.h:174
audio_editing::Result< void > setProperty(const std::string &path, const audio_editing::EditorValue &value)
Commit an absolute property assignment through the document transaction path.
Definition AudioSourceEditor.cpp:259
audio_editing::Result< void > seekX(float x)
Seek from a waveform x coordinate in the current viewport.
Definition AudioSourceEditor.cpp:243
AudioSourceEditor(std::string targetId)
Construct a seeded preview source with a generated tone clip.
Definition AudioSourceEditor.cpp:87
const audio_editing::AudioWaveformBucket * bucket(int index) const
Envelope bucket for drawing; channel 0. @ownership Borrowed bucket owned by this editor....
Definition AudioSourceEditor.cpp:431
audio_editing::Result< void > seekSeconds(double seconds)
Seek preview to an exact time in seconds.
Definition AudioSourceEditor.cpp:251
Dotted property path (layout.size) compared and persisted as text.
Definition EditingIds.h:78
Deterministic owning value tree shared by authoring hosts.
Definition EditingValue.h:19
Composition model shared by project-specific developer and runtime editors.
Definition EditorWorkspace.h:43
bool setPanelContext(const std::string &id, const std::string &context)
Attach a semantic input context such as scene, graph, or timeline.
Definition EditorWorkspace.cpp:137
Result< WorkspacePanelDescriptor > registerPanel(WorkspacePanelDescriptor descriptor)
Register a checked owning panel descriptor.
Definition EditorWorkspace.cpp:48
Result< WorkspacePanelDescriptor > activatePanel(const StableId &id)
Activate a visible panel with structured not-found/rejected results.
Definition EditorWorkspace.cpp:169
bool setPanelCapability(const std::string &id, const std::string &capability)
Attach a capability requirement used by the host when filtering panels.
Definition EditorWorkspace.cpp:128
Result< TransactionReceipt > commit() override
Preflight and commit all active operations through the authority.
Definition EditorTransactionService.cpp:74
Result< TransactionId > begin(TransactionSpec specification) override
Begin a transaction with a stable id and base revision.
Definition EditorTransactionService.cpp:60
Result< TransactionReceipt > undo() override
Compensate the most recent committed transaction.
Definition EditorTransactionService.cpp:82
Result< void > rollback()
Compatibility spelling for discard.
Definition EditorTransactionService.cpp:78
Result< TransactionReceipt > redo() override
Reapply the most recently compensated transaction.
Definition EditorTransactionService.cpp:84
Result< void > append(DomainOperation operation) override
Append an operation to the active transaction without applying it.
Definition EditorTransactionService.cpp:68
Definition AudioEditorModule.cpp:17
Result< T > applied(T value, std::vector< Diagnostic > diagnostics={})
Construct an Applied result with an owning payload and optional diagnostics.
Definition EditingResult.h:43
eve::editing::SelectionItem SelectionItem
Stable item stored in a selection snapshot.
Definition EditorSelection.h:22
eve::editing::SelectionSnapshot SelectionSnapshot
Immutable multi-selection captured for property and command work.
Definition EditorSelection.h:25
bool readNumber(const EditorValue &value, const char *name, float &output)
Definition RoadNetworkEditTarget.cpp:30
Definition Container.h:602
AudioTransportState state
Definition AudioTransport.h:20
One min/max/RMS envelope bucket for a single channel.
Definition AudioWaveform.h:29
std::vector< std::vector< AudioWaveformBucket > > envelopes
Definition AudioWaveform.h:48
std::vector< float > samples
Definition AudioWaveform.h:16