Loading...
Searching...
No Matches
WidgetInlets.hpp
1#pragma once
2#include <Process/Dataflow/Port.hpp>
3
5
6#include <ossia/network/domain/domain.hpp>
7
8namespace Process
9{
10struct FloatSlider;
11struct FloatKnob;
12struct LogFloatSlider;
13struct IntSlider;
14struct IntRangeSlider;
15struct FloatRangeSlider;
16struct IntRangeSpinBox;
17struct FloatRangeSpinBox;
18struct IntSpinBox;
19struct FloatSpinBox;
20struct TimeChooser;
21struct Toggle;
22struct ChooserToggle;
23struct ComboBox;
24struct LineEdit;
25struct ProgramEdit;
26struct FileChooser;
27struct FolderChooser;
28struct AudioFileChooser;
29struct VideoFileChooser;
30struct Enum;
31struct Button;
32struct ImpulseButton;
33struct HSVSlider;
34struct XYSlider;
35struct XYZSlider;
36struct XYSpinboxes;
37struct XYZSpinboxes;
38struct MultiSlider;
39struct MultiSliderXY;
40struct PathGeneratorXY;
41struct Bargraph;
42} // namespace Process
43
44
45
46UUID_METADATA(
47 SCORE_LIB_PROCESS_EXPORT, Process::Port, Process::FloatSlider,
48 "af2b4fc3-aecb-4c15-a5aa-1c573a239925")
49UUID_METADATA(
50 SCORE_LIB_PROCESS_EXPORT, Process::Port, Process::FloatKnob,
51 "82427d27-084a-4ab6-9c4e-db83929a1200")
52UUID_METADATA(
53 SCORE_LIB_PROCESS_EXPORT, Process::Port, Process::LogFloatSlider,
54 "5554eb67-bcc8-45ab-8ec2-37a3f191aa64")
55
56UUID_METADATA(
57 SCORE_LIB_PROCESS_EXPORT, Process::Port, Process::IntSlider,
58 "348b80a4-45dc-4f70-8f5f-6546c85089a2")
59
60UUID_METADATA(
61 SCORE_LIB_PROCESS_EXPORT, Process::Port, Process::IntRangeSlider,
62 "0c1902bc-e282-11ec-8fea-0242ac120002")
63UUID_METADATA(
64 SCORE_LIB_PROCESS_EXPORT, Process::Port, Process::FloatRangeSlider,
65 "73ae3e85-0c91-497e-b612-b1391f87ac72")
66
67UUID_METADATA(
68 SCORE_LIB_PROCESS_EXPORT, Process::Port, Process::IntRangeSpinBox,
69 "54dc640b-4385-4a5a-b9da-e44fe63701d9")
70UUID_METADATA(
71 SCORE_LIB_PROCESS_EXPORT, Process::Port, Process::FloatRangeSpinBox,
72 "25be1f08-a3fb-4ce3-a34e-4d8f54f15874")
73
74UUID_METADATA(
75 SCORE_LIB_PROCESS_EXPORT, Process::Port, Process::IntSpinBox,
76 "238399a0-7e81-47e3-896f-08e8856e2973")
77UUID_METADATA(
78 SCORE_LIB_PROCESS_EXPORT, Process::Port, Process::FloatSpinBox,
79 "10d62b0d-5bc9-4ac9-9540-9e8ac0c24947")
80
81UUID_METADATA(
82 SCORE_LIB_PROCESS_EXPORT, Process::Port, Process::Toggle,
83 "fb27e4cb-ea7f-41e2-ad92-2354498c1b6b")
84
85UUID_METADATA(
86 SCORE_LIB_PROCESS_EXPORT, Process::Port, Process::ChooserToggle,
87 "27d488b6-784b-4bfc-8e7f-e28ef030c248")
88UUID_METADATA(
89 SCORE_LIB_PROCESS_EXPORT, Process::Port, Process::TimeChooser,
90 "b631d9b7-cbe3-4d9c-b470-f139e348aecb")
91
92UUID_METADATA(
93 SCORE_LIB_PROCESS_EXPORT, Process::Port, Process::LineEdit,
94 "9ae797ea-d94c-4792-acec-9ec1932bae5d")
95UUID_METADATA(
96 SCORE_LIB_PROCESS_EXPORT, Process::Port, Process::FileChooser,
97 "40833147-4c42-4b8b-bb80-0b1d15dae129")
98UUID_METADATA(
99 SCORE_LIB_PROCESS_EXPORT, Process::Port, Process::FolderChooser,
100 "a866e07f-f380-4f69-8bce-e52682db2025")
101UUID_METADATA(
102 SCORE_LIB_PROCESS_EXPORT, Process::Port, Process::AudioFileChooser,
103 "c347b510-927a-4924-9da1-c76871623567")
104UUID_METADATA(
105 SCORE_LIB_PROCESS_EXPORT, Process::Port, Process::VideoFileChooser,
106 "7d5a68ae-501f-4038-bb24-4a7ffc049923")
107UUID_METADATA(
108 SCORE_LIB_PROCESS_EXPORT, Process::Port, Process::ProgramEdit,
109 "de15c0da-429b-49d3-bb07-7c41f5f205c8")
110
111UUID_METADATA(
112 SCORE_LIB_PROCESS_EXPORT, Process::Port, Process::Enum,
113 "8b1d76c4-3838-4ac0-9b9c-c12bc5db8e8a")
114
115UUID_METADATA(
116 SCORE_LIB_PROCESS_EXPORT, Process::Port, Process::ComboBox,
117 "485680cc-b8b9-4a01-acc7-3e8334bdc016")
118
119UUID_METADATA(
120 SCORE_LIB_PROCESS_EXPORT, Process::Port, Process::Button,
121 "feb87e84-e0d2-428f-96ff-a123ac964f59")
122
123UUID_METADATA(
124 SCORE_LIB_PROCESS_EXPORT, Process::Port, Process::ImpulseButton,
125 "7cd210d3-ebd1-4f71-9de6-cccfb639cbc3")
126
127UUID_METADATA(
128 SCORE_LIB_PROCESS_EXPORT, Process::Port, Process::HSVSlider,
129 "8f38638e-9f9f-48b0-ae36-1cba86ef5703")
130UUID_METADATA(
131 SCORE_LIB_PROCESS_EXPORT, Process::Port, Process::XYSlider,
132 "8093743c-584f-4bb9-97d4-6c7602f87116")
133UUID_METADATA(
134 SCORE_LIB_PROCESS_EXPORT, Process::Port, Process::XYZSlider,
135 "bae00244-cd93-4893-a4ad-71489adb3fa1")
136UUID_METADATA(
137 SCORE_LIB_PROCESS_EXPORT, Process::Port, Process::XYSpinboxes,
138 "0adbbdda-fda4-451e-91cc-1da731bde9d5")
139UUID_METADATA(
140 SCORE_LIB_PROCESS_EXPORT, Process::Port, Process::XYZSpinboxes,
141 "377e8205-b442-4d54-8832-3761def522b2")
142UUID_METADATA(
143 SCORE_LIB_PROCESS_EXPORT, Process::Port, Process::MultiSlider,
144 "25de6d71-1554-4fe1-bf3f-9cbf12bdadeb")
145UUID_METADATA(
146 SCORE_LIB_PROCESS_EXPORT, Process::Port, Process::MultiSliderXY,
147 "ce12611f-f3b0-4f99-b3c0-3f0b25a38aa1")
148UUID_METADATA(
149 SCORE_LIB_PROCESS_EXPORT, Process::Port, Process::PathGeneratorXY,
150 "b60d0059-733b-4b57-a1c1-65fa140d3b8a")
151UUID_METADATA(
152 SCORE_LIB_PROCESS_EXPORT, Process::Port, Process::Bargraph,
153 "f6d740ce-acc0-44c0-932a-0a03345af84f")
154
155namespace Process
156{
157struct SCORE_LIB_PROCESS_EXPORT FloatSlider : public Process::ControlInlet
158{
159 MODEL_METADATA_IMPL(FloatSlider)
161 float min, float max, float init, const QString& name, Id<Process::Port> id,
162 QObject* parent);
163 ~FloatSlider();
164
165 auto getMin() const noexcept { return domain().get().convert_min<float>(); }
166 auto getMax() const noexcept { return domain().get().convert_max<float>(); }
167 void setupExecution(ossia::inlet& inl, QObject* exec_context) const noexcept override;
168 using Process::ControlInlet::ControlInlet;
169};
170
171struct SCORE_LIB_PROCESS_EXPORT FloatKnob : public Process::ControlInlet
172{
173 MODEL_METADATA_IMPL(FloatKnob)
174 FloatKnob(
175 float min, float max, float init, const QString& name, Id<Process::Port> id,
176 QObject* parent);
177 ~FloatKnob();
178
179 auto getMin() const noexcept { return domain().get().convert_min<float>(); }
180 auto getMax() const noexcept { return domain().get().convert_max<float>(); }
181 void setupExecution(ossia::inlet& inl, QObject* exec_context) const noexcept override;
182
183 using Process::ControlInlet::ControlInlet;
184};
185
186struct SCORE_LIB_PROCESS_EXPORT LogFloatSlider : public Process::ControlInlet
187{
188 MODEL_METADATA_IMPL(LogFloatSlider)
190 float min, float max, float init, const QString& name, Id<Process::Port> id,
191 QObject* parent);
193
194 auto getMin() const noexcept { return domain().get().convert_min<float>(); }
195 auto getMax() const noexcept { return domain().get().convert_max<float>(); }
196 void setupExecution(ossia::inlet& inl, QObject* exec_context) const noexcept override;
197
198 using Process::ControlInlet::ControlInlet;
199};
200
201struct SCORE_LIB_PROCESS_EXPORT IntSlider : public Process::ControlInlet
202{
203 MODEL_METADATA_IMPL(IntSlider)
204 IntSlider(
205 int min, int max, int init, const QString& name, Id<Process::Port> id,
206 QObject* parent);
207 ~IntSlider();
208
209 auto getMin() const noexcept { return domain().get().convert_min<int>(); }
210 auto getMax() const noexcept { return domain().get().convert_max<int>(); }
211 void setupExecution(ossia::inlet& inl, QObject* exec_context) const noexcept override;
212
213 using Process::ControlInlet::ControlInlet;
214};
215
216struct SCORE_LIB_PROCESS_EXPORT IntRangeSlider : public Process::ControlInlet
217{
218 MODEL_METADATA_IMPL(IntRangeSlider)
220 int min, int max, ossia::vec2f init, const QString& name, Id<Process::Port> id,
221 QObject* parent);
223
224 auto getMin() const noexcept { return domain().get().convert_min<int>(); }
225 auto getMax() const noexcept { return domain().get().convert_max<int>(); }
226 auto getInit() const noexcept { return ossia::convert<ossia::vec2f>(this->init()); }
227 void setupExecution(ossia::inlet& inl, QObject* exec_context) const noexcept override;
228
229 using Process::ControlInlet::ControlInlet;
230};
231
232struct SCORE_LIB_PROCESS_EXPORT FloatRangeSlider : public Process::ControlInlet
233{
234 MODEL_METADATA_IMPL(FloatRangeSlider)
236 float min, float max, ossia::vec2f init, const QString& name, Id<Process::Port> id,
237 QObject* parent);
239
240 auto getMin() const noexcept { return domain().get().convert_min<float>(); }
241 auto getMax() const noexcept { return domain().get().convert_max<float>(); }
242 auto getInit() const noexcept { return ossia::convert<ossia::vec2f>(this->init()); }
243 void setupExecution(ossia::inlet& inl, QObject* exec_context) const noexcept override;
244
245 using Process::ControlInlet::ControlInlet;
246};
247
248struct SCORE_LIB_PROCESS_EXPORT IntRangeSpinBox : public Process::ControlInlet
249{
250 MODEL_METADATA_IMPL(IntRangeSpinBox)
252 int min, int max, ossia::vec2f init, const QString& name, Id<Process::Port> id,
253 QObject* parent);
255
256 auto getMin() const noexcept { return domain().get().convert_min<int>(); }
257 auto getMax() const noexcept { return domain().get().convert_max<int>(); }
258 auto getInit() const noexcept { return ossia::convert<ossia::vec2f>(this->init()); }
259 void setupExecution(ossia::inlet& inl, QObject* exec_context) const noexcept override;
260
261 using Process::ControlInlet::ControlInlet;
262};
263
264struct SCORE_LIB_PROCESS_EXPORT FloatRangeSpinBox : public Process::ControlInlet
265{
266 MODEL_METADATA_IMPL(FloatRangeSpinBox)
268 float min, float max, ossia::vec2f init, const QString& name, Id<Process::Port> id,
269 QObject* parent);
271
272 auto getMin() const noexcept { return domain().get().convert_min<float>(); }
273 auto getMax() const noexcept { return domain().get().convert_max<float>(); }
274 auto getInit() const noexcept { return ossia::convert<ossia::vec2f>(this->init()); }
275 void setupExecution(ossia::inlet& inl, QObject* exec_context) const noexcept override;
276
277 using Process::ControlInlet::ControlInlet;
278};
279
280struct SCORE_LIB_PROCESS_EXPORT IntSpinBox : public Process::ControlInlet
281{
282 MODEL_METADATA_IMPL(IntSpinBox)
284 int min, int max, int init, const QString& name, Id<Process::Port> id,
285 QObject* parent);
286 ~IntSpinBox();
287
288 auto getMin() const noexcept { return domain().get().convert_min<int>(); }
289 auto getMax() const noexcept { return domain().get().convert_max<int>(); }
290 void setupExecution(ossia::inlet& inl, QObject* exec_context) const noexcept override;
291
292 using Process::ControlInlet::ControlInlet;
293};
294
295struct SCORE_LIB_PROCESS_EXPORT FloatSpinBox : public Process::ControlInlet
296{
297 MODEL_METADATA_IMPL(FloatSpinBox)
299 float min, float max, float init, const QString& name, Id<Process::Port> id,
300 QObject* parent);
302
303 auto getMin() const noexcept { return domain().get().convert_min<float>(); }
304 auto getMax() const noexcept { return domain().get().convert_max<float>(); }
305 void setupExecution(ossia::inlet& inl, QObject* exec_context) const noexcept override;
306
307 using Process::ControlInlet::ControlInlet;
308};
309struct SCORE_LIB_PROCESS_EXPORT TimeChooser : public Process::ControlInlet
310{
311 MODEL_METADATA_IMPL(TimeChooser)
313 float min, float max, float init, const QString& name, Id<Process::Port> id,
314 QObject* parent);
315 ~TimeChooser();
316
317 auto getMin() const noexcept { return domain().get().convert_min<float>(); }
318 auto getMax() const noexcept { return domain().get().convert_max<float>(); }
319 void setupExecution(ossia::inlet& inl, QObject* exec_context) const noexcept override;
320 using Process::ControlInlet::ControlInlet;
321};
322
323struct SCORE_LIB_PROCESS_EXPORT Toggle : public Process::ControlInlet
324{
325 MODEL_METADATA_IMPL(Toggle)
326 Toggle(bool init, const QString& name, Id<Process::Port> id, QObject* parent);
327 ~Toggle();
328
329 void setupExecution(ossia::inlet& inl, QObject* exec_context) const noexcept override;
330
331 using Process::ControlInlet::ControlInlet;
332};
333
334struct SCORE_LIB_PROCESS_EXPORT ChooserToggle : public Process::ControlInlet
335{
336 MODEL_METADATA_IMPL(ChooserToggle)
338 QStringList alternatives, bool init, const QString& name, Id<Process::Port> id,
339 QObject* parent);
341
342 QStringList alternatives() const noexcept;
343 void setupExecution(ossia::inlet& inl, QObject* exec_context) const noexcept override;
344
345 using Process::ControlInlet::ControlInlet;
346};
347
348struct SCORE_LIB_PROCESS_EXPORT LineEdit : public Process::ControlInlet
349{
350 MODEL_METADATA_IMPL(LineEdit)
351 LineEdit(QString init, const QString& name, Id<Process::Port> id, QObject* parent);
352 ~LineEdit();
353
354 void setupExecution(ossia::inlet& inl, QObject* exec_context) const noexcept override;
355
356 using Process::ControlInlet::ControlInlet;
357};
358
359struct SCORE_LIB_PROCESS_EXPORT FileChooserBase : public Process::ControlInlet
360{
361 W_OBJECT(FileChooserBase)
362public:
364 QString init, QString filters, const QString& name, Id<Process::Port> id,
365 QObject* parent);
367 using Process::ControlInlet::ControlInlet;
368
369 void setupExecution(ossia::inlet& inl, QObject* exec_context) const noexcept override;
370 const QString& filters() const noexcept { return m_filters; };
371 void setFilters(QString nf) { m_filters = std::move(nf); }
372
373 void enableFileWatch();
374 void destroying() W_SIGNAL(destroying);
375
376private:
377 QString m_filters;
378};
379
380struct SCORE_LIB_PROCESS_EXPORT FileChooser : public FileChooserBase
381{
382 MODEL_METADATA_IMPL(FileChooser)
383 W_OBJECT(FileChooser)
384public:
386 QString init, QString filters, const QString& name, Id<Process::Port> id,
387 QObject* parent);
388 ~FileChooser();
389 using Process::FileChooserBase::FileChooserBase;
390};
391
392struct SCORE_LIB_PROCESS_EXPORT FolderChooser : public Process::ControlInlet
393{
394 MODEL_METADATA_IMPL(FolderChooser)
395 W_OBJECT(FolderChooser)
396public:
398 QString init, const QString& name, Id<Process::Port> id,
399 QObject* parent);
401 using Process::ControlInlet::ControlInlet;
402
403 void setupExecution(ossia::inlet& inl, QObject* exec_context) const noexcept override;
404};
405
406struct SCORE_LIB_PROCESS_EXPORT AudioFileChooser : public FileChooserBase
407{
408 MODEL_METADATA_IMPL(AudioFileChooser)
409 W_OBJECT(AudioFileChooser)
410public:
412 QString init, QString filters, const QString& name, Id<Process::Port> id,
413 QObject* parent);
415 using Process::FileChooserBase::FileChooserBase;
416};
417
418struct SCORE_LIB_PROCESS_EXPORT VideoFileChooser : public FileChooserBase
419{
420 MODEL_METADATA_IMPL(VideoFileChooser)
421 W_OBJECT(VideoFileChooser)
422public:
424 QString init, QString filters, const QString& name, Id<Process::Port> id,
425 QObject* parent);
427 using Process::FileChooserBase::FileChooserBase;
428};
429
430struct SCORE_LIB_PROCESS_EXPORT ProgramEdit : public Process::ControlInlet
431{
432 MODEL_METADATA_IMPL(ProgramEdit)
433 ProgramEdit(QString init, const QString& name, Id<Process::Port> id, QObject* parent);
434 ~ProgramEdit();
435
436 std::string language;
437
438 void setupExecution(ossia::inlet& inl, QObject* exec_context) const noexcept override;
439
440 using Process::ControlInlet::ControlInlet;
441};
442
443struct SCORE_LIB_PROCESS_EXPORT ComboBox : public Process::ControlInlet
444{
445 MODEL_METADATA_IMPL(ComboBox)
446 std::vector<std::pair<QString, ossia::value>> alternatives;
447 ComboBox(
448 std::vector<std::pair<QString, ossia::value>> values, ossia::value init,
449 const QString& name, Id<Process::Port> id, QObject* parent);
450 ~ComboBox();
451
452 const auto& getValues() const noexcept { return alternatives; }
453 auto count() const noexcept { return alternatives.size(); }
454
455 ComboBox(DataStream::Deserializer& vis, QObject* parent);
456 ComboBox(JSONObject::Deserializer& vis, QObject* parent);
457 ComboBox(DataStream::Deserializer&& vis, QObject* parent);
458 ComboBox(JSONObject::Deserializer&& vis, QObject* parent);
459
460 void setupExecution(ossia::inlet& inl, QObject* exec_context) const noexcept override;
461};
462
463struct SCORE_LIB_PROCESS_EXPORT Enum : public Process::ControlInlet
464{
465 MODEL_METADATA_IMPL(Enum)
466 std::vector<QString> values;
467 std::vector<QString> pixmaps;
468 Enum(
469 const std::vector<std::string>& dom, std::vector<QString> pixmaps,
470 std::string init, const QString& name, Id<Process::Port> id, QObject* parent);
471
472 Enum(
473 const QStringList& values, std::vector<QString> pixmaps, std::string init,
474 const QString& name, Id<Process::Port> id, QObject* parent);
475 ~Enum();
476
477 const std::vector<QString>& getValues() const { return values; }
478
479 Enum(DataStream::Deserializer& vis, QObject* parent);
480 Enum(JSONObject::Deserializer& vis, QObject* parent);
481 Enum(DataStream::Deserializer&& vis, QObject* parent);
482 Enum(JSONObject::Deserializer&& vis, QObject* parent);
483
484 void setupExecution(ossia::inlet& inl, QObject* exec_context) const noexcept override;
485};
486
487struct SCORE_LIB_PROCESS_EXPORT Button : public Process::ControlInlet
488{
489 MODEL_METADATA_IMPL(Button)
490 Button(const QString& name, Id<Process::Port> id, QObject* parent);
491 ~Button();
492
493 void setupExecution(ossia::inlet& inl, QObject* exec_context) const noexcept override;
494
495 using Process::ControlInlet::ControlInlet;
496};
497
498struct SCORE_LIB_PROCESS_EXPORT ImpulseButton : public Process::ControlInlet
499{
500 MODEL_METADATA_IMPL(ImpulseButton)
501 W_OBJECT(ImpulseButton)
502public:
503 ImpulseButton(const QString& name, Id<Process::Port> id, QObject* parent);
505
506 void setupExecution(ossia::inlet& inl, QObject* exec_context) const noexcept override;
507
508 using Process::ControlInlet::ControlInlet;
509};
510
511struct SCORE_LIB_PROCESS_EXPORT HSVSlider : public Process::ControlInlet
512{
513 MODEL_METADATA_IMPL(HSVSlider)
514 HSVSlider(
515 ossia::vec4f init, const QString& name, Id<Process::Port> id, QObject* parent);
516 ~HSVSlider();
517
518 void setupExecution(ossia::inlet& inl, QObject* exec_context) const noexcept override;
519 auto getMin() const noexcept { return ossia::vec4f{0., 0., 0., 0.}; }
520 auto getMax() const noexcept { return ossia::vec4f{1., 1., 1., 1.}; }
521 using Process::ControlInlet::ControlInlet;
522};
523
524struct SCORE_LIB_PROCESS_EXPORT XYSlider : public Process::ControlInlet
525{
526 MODEL_METADATA_IMPL(XYSlider)
527 XYSlider(
528 ossia::vec2f init, const QString& name, Id<Process::Port> id, QObject* parent);
529 XYSlider(
530 ossia::vec2f min, ossia::vec2f max, ossia::vec2f init, const QString& name,
531 Id<Process::Port> id, QObject* parent);
532 ~XYSlider();
533
534 auto getMin() const noexcept { return domain().get().convert_min<ossia::vec2f>(); }
535 auto getMax() const noexcept { return domain().get().convert_max<ossia::vec2f>(); }
536 void setupExecution(ossia::inlet& inl, QObject* exec_context) const noexcept override;
537
538 using Process::ControlInlet::ControlInlet;
539};
540
541struct SCORE_LIB_PROCESS_EXPORT XYZSlider : public Process::ControlInlet
542{
543 MODEL_METADATA_IMPL(XYZSlider)
544 XYZSlider(
545 ossia::vec3f init, const QString& name, Id<Process::Port> id, QObject* parent);
546 XYZSlider(
547 ossia::vec3f min, ossia::vec3f max, ossia::vec3f init, const QString& name,
548 Id<Process::Port> id, QObject* parent);
549 ~XYZSlider();
550
551 auto getMin() const noexcept { return domain().get().convert_min<ossia::vec3f>(); }
552 auto getMax() const noexcept { return domain().get().convert_max<ossia::vec3f>(); }
553 void setupExecution(ossia::inlet& inl, QObject* exec_context) const noexcept override;
554
555 using Process::ControlInlet::ControlInlet;
556};
557
558struct SCORE_LIB_PROCESS_EXPORT XYSpinboxes : public Process::ControlInlet
559{
560 MODEL_METADATA_IMPL(XYSpinboxes)
562 ossia::vec2f init, const QString& name, Id<Process::Port> id, QObject* parent);
564 ossia::vec2f min, ossia::vec2f max, ossia::vec2f init, bool integral,
565 const QString& name, Id<Process::Port> id, QObject* parent);
566
567 XYSpinboxes(DataStream::Deserializer& vis, QObject* parent);
568 XYSpinboxes(JSONObject::Deserializer& vis, QObject* parent);
569 XYSpinboxes(DataStream::Deserializer&& vis, QObject* parent);
570 XYSpinboxes(JSONObject::Deserializer&& vis, QObject* parent);
571 ~XYSpinboxes();
572
573 auto getMin() const noexcept { return domain().get().convert_min<ossia::vec2f>(); }
574 auto getMax() const noexcept { return domain().get().convert_max<ossia::vec2f>(); }
575 void setupExecution(ossia::inlet& inl, QObject* exec_context) const noexcept override;
576
577 using Process::ControlInlet::ControlInlet;
578
579 bool integral{};
580};
581
582struct SCORE_LIB_PROCESS_EXPORT XYZSpinboxes : public Process::ControlInlet
583{
584 MODEL_METADATA_IMPL(XYZSpinboxes)
586 ossia::vec3f init, const QString& name, Id<Process::Port> id, QObject* parent);
588 ossia::vec3f min, ossia::vec3f max, ossia::vec3f init, bool integral,
589 const QString& name, Id<Process::Port> id, QObject* parent);
591
592 auto getMin() const noexcept { return domain().get().convert_min<ossia::vec3f>(); }
593 auto getMax() const noexcept { return domain().get().convert_max<ossia::vec3f>(); }
594 void setupExecution(ossia::inlet& inl, QObject* exec_context) const noexcept override;
595
596 using Process::ControlInlet::ControlInlet;
597 bool integral{};
598};
599
600struct SCORE_LIB_PROCESS_EXPORT MultiSlider : public Process::ControlInlet
601{
602 MODEL_METADATA_IMPL(MultiSlider)
604 ossia::value init, const QString& name, Id<Process::Port> id, QObject* parent);
605 ~MultiSlider();
606
607 ossia::value getMin() const noexcept;
608 ossia::value getMax() const noexcept;
609 void setupExecution(ossia::inlet& inl, QObject* exec_context) const noexcept override;
610
611 using Process::ControlInlet::ControlInlet;
612};
613
614
615struct SCORE_LIB_PROCESS_EXPORT MultiSliderXY : public Process::ControlInlet
616{
617 MODEL_METADATA_IMPL(MultiSliderXY)
619 ossia::value init, const QString& name, Id<Process::Port> id, QObject* parent);
621
622 ossia::value getMin() const noexcept;
623 ossia::value getMax() const noexcept;
624 void setupExecution(ossia::inlet& inl, QObject* exec_context) const noexcept override;
625
626 using Process::ControlInlet::ControlInlet;
627};
628
629struct SCORE_LIB_PROCESS_EXPORT PathGeneratorXY : public Process::ControlInlet
630{
631 MODEL_METADATA_IMPL(PathGeneratorXY)
633 ossia::value init, const QString& name, Id<Process::Port> id, QObject* parent);
635
636 ossia::value getMin() const noexcept;
637 ossia::value getMax() const noexcept;
638 void setupExecution(ossia::inlet& inl, QObject* exec_context) const noexcept override;
639
640 using Process::ControlInlet::ControlInlet;
641};
642
643// Outlets
644
645struct SCORE_LIB_PROCESS_EXPORT Bargraph : public Process::ControlOutlet
646{
647 MODEL_METADATA_IMPL(Bargraph)
648 Bargraph(
649 float min, float max, float init, const QString& name, Id<Process::Port> id,
650 QObject* parent);
651 ~Bargraph();
652
653 auto getMin() const noexcept { return domain().get().convert_min<float>(); }
654 auto getMax() const noexcept { return domain().get().convert_max<float>(); }
655
656 using Process::ControlOutlet::ControlOutlet;
657};
658
659} // namespace Process
Definition DataStreamVisitor.hpp:202
Definition JSONVisitor.hpp:423
Definition Port.hpp:205
Definition Port.hpp:426
Definition Port.hpp:103
The id_base_t class.
Definition Identifier.hpp:59
Base classes and tools to implement processes and layers.
Definition JSONVisitor.hpp:1115
Definition WidgetInlets.hpp:407
Definition WidgetInlets.hpp:646
Definition WidgetInlets.hpp:488
Definition WidgetInlets.hpp:335
Definition WidgetInlets.hpp:444
Definition WidgetInlets.hpp:464
Definition WidgetInlets.hpp:360
Definition WidgetInlets.hpp:381
Definition WidgetInlets.hpp:172
Definition WidgetInlets.hpp:233
Definition WidgetInlets.hpp:265
Definition WidgetInlets.hpp:158
Definition WidgetInlets.hpp:296
Definition WidgetInlets.hpp:393
Definition WidgetInlets.hpp:512
Definition WidgetInlets.hpp:499
Definition WidgetInlets.hpp:217
Definition WidgetInlets.hpp:249
Definition WidgetInlets.hpp:202
Definition WidgetInlets.hpp:281
Definition WidgetInlets.hpp:349
Definition WidgetInlets.hpp:187
Definition WidgetInlets.hpp:601
Definition WidgetInlets.hpp:616
Definition WidgetInlets.hpp:630
Definition WidgetInlets.hpp:431
Definition WidgetInlets.hpp:310
Definition WidgetInlets.hpp:324
Definition WidgetInlets.hpp:419
Definition WidgetInlets.hpp:525
Definition WidgetInlets.hpp:559
Definition WidgetInlets.hpp:542
Definition WidgetInlets.hpp:583