UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
MultiMono.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "HAL/Platform.h"
8
9// Collection of multi-mono DSP algorithms. Although technically most of these are just setup to call the mono versions, there is enough
10// boilerplate to warrant a single lib.
11
12// Example Multi-mono-layout: [L][L][L][L][L][R][R][R][R][R], i.e. an entire channels worth of frames consecutively in memory, next
13// to the next channel and so on.
14
15namespace Audio
16{
17 constexpr int32 MaxStackMultiMonoChannels = 128; // Some relatively high number. These are just pointers on stack.
18
19 // Stack array of pointers alias.
21
22 // Helper to create array of pointers from multi-mono.
23 // Warning Array of pointers will be larger than you need, but filled to InNumChannels
38
51
54
55}
56
57
#define checkSlow(expr)
Definition AssertionMacros.h:332
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition Platform.h:1125
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
Definition ArrayView.h:139
Definition Array.h:670
void SetNum(SizeType NewNum, EAllowShrinking AllowShrinking=UE::Core::Private::AllowShrinkingByDefault< AllocatorType >())
Definition Array.h:2308
NO_LOGGING.
Definition AudioMixerPlatformAndroid.cpp:53
TStackArrayOfPointers< T > MakeMultiMonoPointersFromView(TArrayView< T > InMultiMono, const int32 InNumFrames, const int32 InNumChannels)
Definition MultiMono.h:24
void MultiMonoMixUpOrDown(TArrayView< const float > InSrc, const TArrayView< float > InDst, const int32 NumFrames, TArrayView< const float > MixGains, const int32 NumSrcChannels, const int32 NumDstChannels)
Definition MultiMono.cpp:8
constexpr int32 MaxStackMultiMonoChannels
Definition MultiMono.h:17