summaryrefslogtreecommitdiffstats
path: root/src/modules/sound/option.h
blob: 98925691346ae20459ec98f22c6a3d05e0da5c4f (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#pragma once

#include "common/option.h"
#include "common/percent.h"

typedef enum FF_A_PACKED FFSoundType {
    FF_SOUND_TYPE_NONE = 0,
    FF_SOUND_TYPE_MAIN = 1 << 0,
    FF_SOUND_TYPE_ACTIVE = 1 << 1,
} FFSoundType;

typedef struct FFSoundOptions {
    FFModuleArgs moduleArgs;

    // Reports matched device only, otherwise reports all devices
    // NOTE: for FF_SOUND_TYPE_NONE, reports all devices
    FFSoundType soundType;
    FFPercentageModuleConfig percent;
} FFSoundOptions;

static_assert(sizeof(FFSoundOptions) <= FF_OPTION_MAX_SIZE, "FFSoundOptions size exceeds maximum allowed size");