OSSIA
Open Scenario System for Interactive Application
Loading...
Searching...
No Matches
value_port.hpp
1
#pragma once
2
#include <ossia/dataflow/timed_value.hpp>
3
#include <ossia/dataflow/typed_value.hpp>
4
#include <ossia/dataflow/value_vector.hpp>
5
#include <
ossia/editor/scenario/time_value.hpp
>
6
#include <ossia/network/common/complex_type.hpp>
7
#include <
ossia/network/domain/domain_base.hpp
>
8
9
#include <optional>
10
11
namespace
ossia
12
{
13
enum
data_mix_method : int8_t
14
{
15
mix_append,
16
mix_replace,
17
mix_merge
18
};
19
20
struct
OSSIA_EXPORT value_port
21
{
22
static
const
constexpr
int
which = 2;
24
void
write_value(
const
ossia::value
& v, int64_t timestamp);
25
26
void
write_value(
ossia::value
&& v, int64_t timestamp);
27
28
void
add_local_value(
const
ossia::typed_value& other);
29
30
void
add_port_values(
const
ossia::value_port& other);
31
32
void
add_global_values(
33
const
ossia::net::parameter_base
& param,
const
value_vector<ossia::value>& vec);
34
35
void
add_global_value(
const
ossia::net::parameter_base
& other,
ossia::value
v);
36
37
void
set_data(
const
value_vector<ossia::timed_value>& vec);
38
39
void
clear();
40
41
[[nodiscard]]
const
value_vector<ossia::timed_value>& get_data() const noexcept
42
{
43
return
data;
44
}
45
value_vector<ossia::timed_value>& get_data() noexcept {
return
data; }
46
47
ossia::domain
domain;
48
ossia::complex_type type;
49
ossia::destination_index
index;
50
// std::optional<ossia::time_value> tween_date;
51
52
bool
is_event{};
53
data_mix_method mix_method{};
54
55
private
:
56
value_vector<ossia::timed_value> data;
57
};
58
59
struct
value_delay_line
60
{
61
std::vector<value_vector<ossia::typed_value>> data;
62
};
63
64
OSSIA_EXPORT
65
void
process_control_value(
66
ossia::value
& v,
const
ossia::domain
& source_domain,
67
const
ossia::domain
& sink_domain)
noexcept
;
68
OSSIA_EXPORT
69
void
process_control_value(
70
ossia::value
& v,
const
ossia::complex_type& source_type,
71
const
ossia::complex_type& sink_type)
noexcept
;
72
OSSIA_EXPORT
73
void
process_control_value(
74
ossia::value
& v,
const
ossia::domain
& source_domain,
75
const
ossia::domain
& sink_domain,
const
ossia::complex_type& source_type,
76
const
ossia::complex_type& sink_type)
noexcept
;
77
}
ossia::net::parameter_base
The parameter_base class.
Definition
ossia/network/base/parameter.hpp:48
ossia::value
The value class.
Definition
value.hpp:173
domain_base.hpp
ossia
Definition
git_info.h:7
ossia::destination_index
ossia::small_vector< int32_t, 2 > destination_index
Definition
destination_index.hpp:40
time_value.hpp
ossia::domain
domain A domain of values
Definition
domain_base.hpp:23
src
ossia
dataflow
value_port.hpp
Generated on Fri May 29 2026 18:09:07 for OSSIA by
1.9.8