Overte C++ Documentation
AudioInjectorOptions.h
1 //
2 // AudioInjectorOptions.h
3 // libraries/audio/src
4 //
5 // Created by Stephen Birarda on 1/2/2014.
6 // Copyright 2014 High Fidelity, Inc.
7 // Copyright 2023 Overte e.V.
8 //
9 // Distributed under the Apache License, Version 2.0.
10 // See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
11 // SPDX-License-Identifier: Apache-2.0
12 //
13 
14 #ifndef hifi_AudioInjectorOptions_h
15 #define hifi_AudioInjectorOptions_h
16 
17 #include <glm/glm.hpp>
18 #include <glm/gtx/quaternion.hpp>
19 #include <ScriptValue.h>
20 
21 class ScriptEngine;
22 
23 class AudioInjectorOptions {
24 public:
25  AudioInjectorOptions();
26  glm::vec3 position;
27  bool positionSet;
28  float volume;
29  bool loop;
30  glm::quat orientation;
31  bool stereo;
32  bool ambisonic;
33  bool ignorePenumbra;
34  bool localOnly;
35  float secondOffset;
36  float pitch; // multiplier, where 2.0f shifts up one octave
37 };
38 
39 Q_DECLARE_METATYPE(AudioInjectorOptions);
40 
41 ScriptValue injectorOptionsToScriptValue(ScriptEngine* engine, const AudioInjectorOptions& injectorOptions);
42 bool injectorOptionsFromScriptValue(const ScriptValue& object, AudioInjectorOptions& injectorOptions);
43 
44 #endif // hifi_AudioInjectorOptions_h
Provides an engine-independent interface for a scripting engine.
Definition: ScriptEngine.h:93
[ScriptInterface] Provides an engine-independent interface for QScriptValue
Definition: ScriptValue.h:40