载入中...
搜索中...
未找到
AudioEditingProvider.h
浏览该文件的文档.
1#pragma once
2#include "common/Export.h"
3
4
7
8#include <memory>
9#include <string>
10
11namespace eve::audio_editing {
12
15public:
17 virtual ~IAudioEditingFactory() = default;
25 [[nodiscard]] virtual std::unique_ptr<AudioSourcePublishingTarget> createSource(
26 std::string id, IAudioSourceRuntimeSink* sink) const = 0;
28 static editing::CapabilityId capabilityId() { return editing::CapabilityId("audio.editing.factory"); }
29};
30
39
40} // namespace eve::audio_editing
#define EVENGINE_API_BACKENDS
Definition Export.h:108
Move-only operation result carrying either a value or Status.
Definition Result.h:155
UUID-backed identifier adapter for legacy textual boundaries.
Definition Identity.h:314
Open capability for constructing audio authoring targets without editor type switches.
virtual ~IAudioEditingFactory()=default
Releases IAudioEditingFactory resources.
virtual std::unique_ptr< AudioSourcePublishingTarget > createSource(std::string id, IAudioSourceRuntimeSink *sink) const =0
Create an independently owned publishing target.
static editing::CapabilityId capabilityId()
Return the stable capability id used with ProviderLease::query().
Atomic runtime publication boundary for one authored audio source.
Definition AudioTarget.h:72
Thread-safe generation-qualified registry for editing extension providers.
editing::Result< editing::ProviderHandle > registerEditingProvider(editing::ExtensionProviderRegistry &registry)
Publish the audio editing factory into a host-owned extension registry.
StrongId< CapabilityIdTag > CapabilityId
Definition EditingIds.h:61