OSSIA
Open Scenario System for Interactive Application
parameter_properties.hpp
1 #pragma once
2 #include <ossia/detail/config.hpp>
3 
4 #include <cstdint>
5 #include <limits>
6 namespace ossia
7 {
15 enum class val_type : int8_t
16 {
17  FLOAT,
18  INT,
19  VEC2F,
20  VEC3F,
21  VEC4F,
22  IMPULSE,
23  BOOL,
24  STRING,
25  LIST,
26  MAP,
28 };
29 
33 enum class parameter_type : int8_t
34 {
35  MESSAGE,
36  AUDIO,
37  MIDI,
38  TEXTURE,
39  GEOMETRY
40 };
41 
45 enum class access_mode : int8_t
46 {
47  BI,
48  GET,
49  SET
50 };
51 
55 enum class bounding_mode : int8_t
56 {
57  FREE,
58  CLIP,
59  WRAP,
60  FOLD,
61  LOW,
62  HIGH,
63 };
64 
69 enum repetition_filter : bool
70 {
71  OFF = false,
72  ON = true
73 };
74 }
Definition: git_info.h:7
val_type
Enum to represent the types that a value can take.
Definition: parameter_properties.hpp:16
@ IMPULSE
array<float, 4>
@ VEC3F
array<float, 2>
@ LIST
std::string
@ VEC4F
array<float, 3>
@ MAP
std::vector<value>
@ BOOL
ossia::impulse
@ NONE
map<string, value>
repetition_filter
If enabled, sending twice the same value will only send it once by network.
Definition: parameter_properties.hpp:70
bounding_mode
Address behaviors at crossing domain boundaries.
Definition: parameter_properties.hpp:56
@ CLIP
The bounds are ignored.
access_mode
Address behaviors at crossing domain boundaries time.
Definition: parameter_properties.hpp:46
@ GET
The value can be retrieved and changed.
@ SET
The value can be retrieved.
constexpr OSSIA_INLINE auto max(const T a, const U b) noexcept -> typename std::conditional<(sizeof(T) > sizeof(U)), T, U >::type
max function tailored for values
Definition: math.hpp:96
parameter_type
Possible types of parameters / ports.
Definition: parameter_properties.hpp:34