aboutsummaryrefslogtreecommitdiffstats
path: root/alc/effectslot.cpp
blob: 21084f395c61903345e98bbd2f3cf20ca87b4110 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25

#include "config.h"

#include "effectslot.h"

#include <stddef.h>

#include "almalloc.h"
#include "context.h"


EffectSlotArray *EffectSlot::CreatePtrArray(size_t count) noexcept
{
    /* Allocate space for twice as many pointers, so the mixer has scratch
     * space to store a sorted list during mixing.
     */
    void *ptr{al_calloc(alignof(EffectSlotArray), EffectSlotArray::Sizeof(count*2))};
    return new(ptr) EffectSlotArray{count};
}

EffectSlot::~EffectSlot()
{
    if(mWetBuffer)
        mWetBuffer->mInUse = false;
}