Loading...
Searching...
No Matches
ArtnetSpecificSettings.hpp
1#pragma once
2#include <ossia/detail/config.hpp>
3#if defined(OSSIA_PROTOCOL_ARTNET)
4#include <score/tools/std/StringHash.hpp>
5
6#include <ossia/detail/variant.hpp>
7
8#include <QString>
9
10#include <utility>
11#include <vector>
12#include <verdigris>
13
14namespace Protocols
15{
16
17namespace Artnet
18{
20{
21 QString type;
22 QString comment;
23 QString effectName;
24};
25
30{
31 std::pair<int, int> range;
32};
33
34using FixtureCapabilities
35 = ossia::variant<SingleCapability, std::vector<RangeCapability>>;
36struct Channel
37{
38 QString name;
39 FixtureCapabilities capabilities;
40 std::vector<QString> fineChannels;
41 int defaultValue{};
42};
43
45{
46 std::vector<QString> channelNames;
47};
48
49struct Fixture
50{
51 QString fixtureName;
52 QString modeName;
53 ModeInfo mode;
54 std::vector<Channel> controls;
55 int address{};
56};
57
58}
59
61{
62 std::vector<Artnet::Fixture> fixtures;
63 QString host;
64 int rate{20};
65 int universe{1};
66 enum
67 {
68 ArtNet, // Artnet:/Channel-{}
69 E131,
70 DMXUSBPRO,
71 ArtNetV2, // Artnet:/{}
72 DMXUSBPRO_Mk2,
73 } transport{ArtNetV2};
74 enum
75 {
76 Source, // score sends DMX
77 Sink // score receives DMX
78 } mode{Source};
79};
80}
81
82Q_DECLARE_METATYPE(Protocols::ArtnetSpecificSettings)
83W_REGISTER_ARGTYPE(Protocols::ArtnetSpecificSettings)
84#endif
Definition ArtnetSpecificSettings.hpp:20
Definition ArtnetSpecificSettings.hpp:37
Definition ArtnetSpecificSettings.hpp:50
Definition ArtnetSpecificSettings.hpp:45
Definition ArtnetSpecificSettings.hpp:30
Definition ArtnetSpecificSettings.hpp:27
Definition ArtnetSpecificSettings.hpp:61
Definition MIDISync.hpp:126