UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
MovieSceneAudioSection.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
12#include "CoreMinimal.h"
14#include "MovieSceneSection.h"
18
19#include "MovieSceneAudioSection.generated.h"
20
21class USoundBase;
22
26UCLASS(MinimalAPI)
31{
33
34public:
35
37 UFUNCTION(BlueprintCallable, Category="Sequencer|Section")
38 MOVIESCENETRACKS_API void SetSound(class USoundBase* InSound);
39
41 UFUNCTION(BlueprintPure, Category = "Sequencer|Section")
42 class USoundBase* GetSound() const {return Sound;}
43
45 UFUNCTION(BlueprintPure, Category = "Sequencer|Section")
46 MOVIESCENETRACKS_API USoundBase* GetPlaybackSound() const;
47
49 UFUNCTION(BlueprintCallable, Category = "Sequencer|Section")
50 void SetStartOffset(FFrameNumber InStartOffset) {StartFrameOffset = InStartOffset;}
51
53 UFUNCTION(BlueprintPure, Category = "Sequencer|Section")
54 FFrameNumber GetStartOffset() const {return StartFrameOffset;}
55
61 const FMovieSceneFloatChannel& GetSoundVolumeChannel() const { return SoundVolume; }
62
68 const FMovieSceneFloatChannel& GetPitchMultiplierChannel() const { return PitchMultiplier; }
69
77 {
78 float OutValue = 0.f;
79 SoundVolume.Evaluate(InTime, OutValue);
80 return OutValue;
81 }
82
90 {
91 float OutValue = 0.f;
92 PitchMultiplier.Evaluate(InTime, OutValue);
93 return OutValue;
94 }
95
99 UFUNCTION(BlueprintPure, Category = "Sequencer|Section")
100 bool GetLooping() const { return bLooping; }
101
103 UFUNCTION(BlueprintCallable, Category = "Sequencer|Section")
104 void SetLooping(bool bInLooping) { bLooping = bInLooping; }
105
109 UFUNCTION(BlueprintPure, Category = "Sequencer|Section")
110 bool GetSuppressSubtitles() const { return bSuppressSubtitles; }
111
113 UFUNCTION(BlueprintCallable, Category = "Sequencer|Section")
114 void SetSuppressSubtitles(bool bInSuppressSubtitles) { bSuppressSubtitles = bInSuppressSubtitles; }
115
119 UFUNCTION(BlueprintPure, Category = "Sequencer|Section")
120 bool GetOverrideAttenuation() const { return bOverrideAttenuation; }
121
123 UFUNCTION(BlueprintCallable, Category = "Sequencer|Section")
124 void SetOverrideAttenuation(bool bInOverrideAttenuation) { bOverrideAttenuation = bInOverrideAttenuation; }
125
129 UFUNCTION(BlueprintPure, Category = "Sequencer|Section")
130 USoundAttenuation* GetAttenuationSettings() const { return AttenuationSettings; }
131
133 UFUNCTION(BlueprintCallable, Category = "Sequencer|Section")
135
136 /*
137 * @return The attach actor data
138 */
139 const FMovieSceneActorReferenceData& GetAttachActorData() const { return AttachActorData; }
140
141 /*
142 * @return The attach component given the bound actor and the actor attach key with the component and socket names
143 */
144 MOVIESCENETRACKS_API USceneComponent* GetAttachComponent(const AActor* InParentActor, const FMovieSceneActorReferenceKey& Key) const;
145
147 MOVIESCENETRACKS_API virtual void PostLoad() override;
148
151 {
152 OnQueueSubtitles = InOnQueueSubtitles;
153 }
154
157 {
158 return OnQueueSubtitles;
159 }
160
163 {
164 OnAudioFinished = InOnAudioFinished;
165 }
166
169 {
170 return OnAudioFinished;
171 }
172
177
179 {
180 return OnAudioPlaybackPercent;
181 }
182
184 void ForEachInput(TFunction<void(FName, const FMovieSceneBoolChannel&)> InFunction) const { ForEachInternal(InFunction, Inputs_Bool); }
185 void ForEachInput(TFunction<void(FName, const FMovieSceneStringChannel&)> InFunction) const { ForEachInternal(InFunction, Inputs_String); }
186 void ForEachInput(TFunction<void(FName, const FMovieSceneIntegerChannel&)> InFunction) const { ForEachInternal(InFunction, Inputs_Int); }
187 void ForEachInput(TFunction<void(FName, const FMovieSceneFloatChannel&)> InFunction) const { ForEachInternal(InFunction, Inputs_Float); }
188 void ForEachInput(TFunction<void(FName, const FMovieSceneAudioTriggerChannel&)> InFunction) const { ForEachInternal(InFunction, Inputs_Trigger); }
189
190public:
191
192 //~ UMovieSceneSection interface
193 MOVIESCENETRACKS_API virtual TOptional<TRange<FFrameNumber> > GetAutoSizeRange() const override;
194 MOVIESCENETRACKS_API virtual void TrimSection(FQualifiedFrameTime TrimTime, bool bTrimLeft, bool bDeleteKeys) override;
196 MOVIESCENETRACKS_API virtual TOptional<FFrameTime> GetOffsetTime() const override;
197 MOVIESCENETRACKS_API virtual void MigrateFrameTimes(FFrameRate SourceRate, FFrameRate DestinationRate) override;
198 MOVIESCENETRACKS_API virtual EMovieSceneChannelProxyType CacheChannelProxy() override;
199 MOVIESCENETRACKS_API virtual UObject* GetSourceObject() const override;
200
201 //~ IMovieSceneEntityProvider interface
203 MOVIESCENETRACKS_API virtual void ImportEntityImpl(UMovieSceneEntitySystemLinker* EntityLinker, const FEntityImportParams& Params, FImportedEntity* OutImportedEntity) override;
204
205 //~ IMovieSceneScalingDriver interface
206 MOVIESCENETRACKS_API virtual void PopulateInitialAnchors(TMap<FGuid, FMovieSceneScalingAnchor>& OutAnchors) override;
207 MOVIESCENETRACKS_API virtual void PopulateAnchors(TMap<FGuid, FMovieSceneScalingAnchor>& OutAnchors) override;
208
209private:
210
211 template<typename ChannelType, typename ForEachFunction>
212 inline static void ForEachInternal(ForEachFunction InFunction, const TMap<FName, ChannelType>& InMapToIterate)
213 {
214 for (auto& Item : InMapToIterate)
215 {
216 InFunction(Item.Key, Item.Value);
217 }
218 }
219
220 MOVIESCENETRACKS_API void SetupSoundInputParameters(USoundBase* InSoundBase);
221
223 UPROPERTY(EditAnywhere, Category="Audio", BlueprintGetter=GetSound, BlueprintSetter=SetSound)
225
227 UPROPERTY(EditAnywhere, Category="Audio", meta=(UIFrameDisplayAs="NonMusical|Position"))
228 FFrameNumber StartFrameOffset;
229
231 UPROPERTY()
232 float StartOffset_DEPRECATED;
233
235 UPROPERTY( )
236 float AudioStartTime_DEPRECATED;
237
239 UPROPERTY( )
240 float AudioDilationFactor_DEPRECATED;
241
243 UPROPERTY( )
244 float AudioVolume_DEPRECATED;
245
247 UPROPERTY( )
248 FMovieSceneFloatChannel SoundVolume;
249
251 UPROPERTY( )
252 FMovieSceneFloatChannel PitchMultiplier;
253
255 UPROPERTY()
256 TMap<FName, FMovieSceneFloatChannel> Inputs_Float;
257 UPROPERTY()
258 TMap<FName, FMovieSceneStringChannel> Inputs_String;
259 UPROPERTY()
260 TMap<FName, FMovieSceneBoolChannel> Inputs_Bool;
261 UPROPERTY()
263 UPROPERTY()
265
266 UPROPERTY()
267 FMovieSceneActorReferenceData AttachActorData;
268
269 /* Allow looping if the section length is greater than the sound duration */
270 UPROPERTY(EditAnywhere, Category = "Audio")
271 bool bLooping;
272
273 UPROPERTY(EditAnywhere, Category = "Audio")
274 bool bSuppressSubtitles;
275
277 UPROPERTY( EditAnywhere, Category="Attenuation" )
278 bool bOverrideAttenuation;
279
281 UPROPERTY( EditAnywhere, Category="Attenuation", meta = (EditCondition = "bOverrideAttenuation") )
283
285 UPROPERTY()
286 FOnQueueSubtitles OnQueueSubtitles;
287
289 UPROPERTY()
290 FOnAudioFinished OnAudioFinished;
291
292 UPROPERTY()
293 FOnAudioPlaybackPercent OnAudioPlaybackPercent;
294};
OODEFFUNC typedef void(OODLE_CALLBACK t_fp_OodleCore_Plugin_Free)(void *ptr)
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
EMovieSceneChannelProxyType
Definition MovieSceneSection.h:73
const bool
Definition NetworkReplayStreaming.h:178
#define UPROPERTY(...)
UObject definition macros.
Definition ObjectMacros.h:744
#define UFUNCTION(...)
Definition ObjectMacros.h:745
#define GENERATED_UCLASS_BODY(...)
Definition ObjectMacros.h:768
#define UCLASS(...)
Definition ObjectMacros.h:776
Definition Actor.h:257
Definition NameTypes.h:617
Definition IMovieSceneEntityProvider.h:122
Definition MovieSceneScalingAnchors.h:49
Definition AndroidPlatformMisc.h:14
Definition UnrealString.h.inl:34
Definition Range.h:50
Definition MovieSceneAudioSection.h:31
void SetOnQueueSubtitles(const FOnQueueSubtitles &InOnQueueSubtitles)
Definition MovieSceneAudioSection.h:150
void ForEachInput(TFunction< void(FName, const FMovieSceneFloatChannel &)> InFunction) const
Definition MovieSceneAudioSection.h:187
const FOnQueueSubtitles & GetOnQueueSubtitles() const
Definition MovieSceneAudioSection.h:156
const FMovieSceneFloatChannel & GetPitchMultiplierChannel() const
Definition MovieSceneAudioSection.h:68
void SetOnAudioPlaybackPercent(const FOnAudioPlaybackPercent &InOnAudioPlaybackPercent)
Definition MovieSceneAudioSection.h:173
float GetSoundVolume(FFrameTime InTime) const
Definition MovieSceneAudioSection.h:76
void ForEachInput(TFunction< void(FName, const FMovieSceneAudioTriggerChannel &)> InFunction) const
Definition MovieSceneAudioSection.h:188
void ForEachInput(TFunction< void(FName, const FMovieSceneBoolChannel &)> InFunction) const
Definition MovieSceneAudioSection.h:184
const FOnAudioFinished & GetOnAudioFinished() const
Definition MovieSceneAudioSection.h:168
void SetOnAudioFinished(const FOnAudioFinished &InOnAudioFinished)
Definition MovieSceneAudioSection.h:162
const FMovieSceneFloatChannel & GetSoundVolumeChannel() const
Definition MovieSceneAudioSection.h:61
float GetPitchMultiplier(FFrameTime InTime) const
Definition MovieSceneAudioSection.h:89
void ForEachInput(TFunction< void(FName, const FMovieSceneIntegerChannel &)> InFunction) const
Definition MovieSceneAudioSection.h:186
const FOnAudioPlaybackPercent & GetOnAudioPlaybackPercent() const
Definition MovieSceneAudioSection.h:178
void ForEachInput(TFunction< void(FName, const FMovieSceneStringChannel &)> InFunction) const
Definition MovieSceneAudioSection.h:185
const FMovieSceneActorReferenceData & GetAttachActorData() const
Definition MovieSceneAudioSection.h:139
Definition MovieSceneEntitySystemLinker.h:113
Definition MovieSceneSection.h:243
Definition Object.h:95
Definition SoundAttenuation.h:444
Definition SoundBase.h:109
TObjectPtr< USoundAttenuation > AttenuationSettings
Definition SoundBase.h:222
NO_LOGGING.
Definition AudioMixerPlatformAndroid.cpp:53
Definition FrameNumber.h:18
Definition FrameRate.h:21
Definition FrameTime.h:16
Definition MovieSceneActorReferenceSection.h:73
Definition MovieSceneActorReferenceSection.h:40
Definition MovieSceneAudioTriggerChannel.h:33
Definition MovieSceneBoolChannel.h:32
Definition MovieSceneEvaluationField.h:328
Definition MovieSceneEvaluationField.h:109
Definition MovieSceneFloatChannel.h:122
Definition MovieSceneIntegerChannel.h:33
Definition MovieSceneStringChannel.h:31
Definition QualifiedFrameTime.h:13
Definition ObjectPtr.h:488
Definition Optional.h:131