• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

ossia / score / 34039060546

06 Sep 2026 02:24PM UTC coverage: 26.369% (+1.8%) from 24.579%
34039060546

push

github

jcelerier
3rdparty: updat libossia

60871 of 230846 relevant lines covered (26.37%)

63602.32 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

49.59
/src/plugins/score-lib-process/Process/Dataflow/WidgetInlets.cpp
1
#include <Process/Dataflow/WidgetInlets.hpp>
2

3
#include <score/plugins/SerializableHelpers.hpp>
4
#include <score/tools/FileWatch.hpp>
5

6
#include <ossia/dataflow/port.hpp>
7

8
#include <ossia-qt/invoke.hpp>
9

10
#include <QCoreApplication>
11

12
#include <wobjectimpl.h>
13

14
W_OBJECT_IMPL(Process::FileChooserBase)
2✔
15
W_OBJECT_IMPL(Process::FileChooser)
113✔
16
W_OBJECT_IMPL(Process::FolderChooser)
×
17
W_OBJECT_IMPL(Process::AudioFileChooser)
×
18
W_OBJECT_IMPL(Process::VideoFileChooser)
×
19
W_OBJECT_IMPL(Process::ImpulseButton)
×
20
namespace Process
21
{
22
Enum::Enum(
122✔
23
    const std::vector<std::string>& dom, std::vector<QString> pixmaps, std::string init,
24
    const QString& name, Id<Port> id, QObject* parent)
25
    : ControlInlet{name, id, parent}
122✔
26
    , pixmaps{std::move(pixmaps)}
122✔
27
{
122✔
28
  for(auto& val : dom)
682✔
29
    values.push_back(QString::fromStdString(val));
560✔
30

31
  displayHandledExplicitly = true;
122✔
32
  setInit(init);
122✔
33
  setValue(init);
122✔
34
  setDomain(State::Domain{ossia::domain_base<std::string>{dom}});
122✔
35
}
122✔
36

37
Enum::Enum(
×
38
    const QStringList& values, std::vector<QString> pixmaps, std::string init,
39
    const QString& name, Id<Port> id, QObject* parent)
40
    : ControlInlet{name, id, parent}
×
41
    , values{values.begin(), values.end()}
×
42
    , pixmaps{std::move(pixmaps)}
×
43
{
×
44
  displayHandledExplicitly = true;
×
45
  setInit(init);
×
46
  setValue(init);
×
47
  ossia::domain_base<std::string> dom;
×
48
  for(auto& val : values)
×
49
    dom.values.push_back(val.toStdString());
×
50
  setDomain(State::Domain{dom});
×
51
}
×
52

53
Enum::~Enum() { }
644✔
54

55
Enum::Enum(DataStream::Deserializer& vis, QObject* parent)
200✔
56
    : ControlInlet{vis, parent}
100✔
57
{
100✔
58
  vis.writeTo(*this);
100✔
59
}
100✔
60
Enum::Enum(JSONObject::Deserializer& vis, QObject* parent)
200✔
61
    : ControlInlet{vis, parent}
100✔
62
{
100✔
63
  vis.writeTo(*this);
100✔
64
}
100✔
65
Enum::Enum(DataStream::Deserializer&& vis, QObject* parent)
×
66
    : ControlInlet{vis, parent}
×
67
{
×
68
  vis.writeTo(*this);
×
69
}
×
70
Enum::Enum(JSONObject::Deserializer&& vis, QObject* parent)
×
71
    : ControlInlet{vis, parent}
×
72
{
×
73
  vis.writeTo(*this);
×
74
}
×
75

76
void Enum::setupExecution(ossia::inlet& inl, QObject* exec_context) const noexcept
×
77
{
78
  auto& port = **safe_cast<ossia::value_inlet*>(&inl);
×
79
  port.type = ossia::val_type::STRING;
×
80
  port.domain = domain().get();
×
81
}
×
82

83
ComboBox::ComboBox(DataStream::Deserializer& vis, QObject* parent)
306✔
84
    : ControlInlet{vis, parent}
153✔
85
{
153✔
86
  vis.writeTo(*this);
153✔
87
}
153✔
88
ComboBox::ComboBox(
247✔
89
    std::vector<std::pair<QString, ossia::value>> values, ossia::value init,
90
    const QString& name, Id<Port> id, QObject* parent)
91
    : ControlInlet{name, id, parent}
247✔
92
    , alternatives{std::move(values)}
247✔
93
{
247✔
94
  displayHandledExplicitly = true;
247✔
95
  setInit(init);
247✔
96
  setValue(init);
247✔
97
  std::vector<ossia::value> vals;
247✔
98
  for(auto& v : alternatives)
1,901✔
99
    vals.push_back(v.second);
1,654✔
100
  setDomain(State::Domain{ossia::make_domain(vals)});
247✔
101
}
247✔
102

103
void ComboBox::setupExecution(ossia::inlet& inl, QObject* exec_context) const noexcept
×
104
{
105
  auto& port = **safe_cast<ossia::value_inlet*>(&inl);
×
106
  port.domain = domain().get();
×
107
}
×
108

109
ComboBox::~ComboBox() { }
1,154✔
110

111
ComboBox::ComboBox(JSONObject::Deserializer& vis, QObject* parent)
356✔
112
    : ControlInlet{vis, parent}
178✔
113
{
178✔
114
  vis.writeTo(*this);
178✔
115
}
178✔
116
ComboBox::ComboBox(DataStream::Deserializer&& vis, QObject* parent)
×
117
    : ControlInlet{vis, parent}
×
118
{
×
119
  vis.writeTo(*this);
×
120
}
×
121
ComboBox::ComboBox(JSONObject::Deserializer&& vis, QObject* parent)
×
122
    : ControlInlet{vis, parent}
×
123
{
×
124
  vis.writeTo(*this);
×
125
}
×
126

127
HSVSlider::HSVSlider(
8✔
128
    ossia::vec4f init, const QString& name, Id<Port> id, QObject* parent)
129
    : ControlInlet{name, id, parent}
8✔
130
{
8✔
131
  displayHandledExplicitly = true;
8✔
132
  setInit(init);
8✔
133
  setValue(init);
8✔
134
}
8✔
135

136
HSVSlider::~HSVSlider() { }
38✔
137

138
const State::Unit& HSVSlider::unit() const noexcept
3✔
139
{
140
  static const State::Unit u{ossia::unit_t{ossia::rgba_u{}}};
3✔
141
  return u;
3✔
142
}
143

144
FloatSlider::FloatSlider(
815✔
145
    float min, float max, float init, const QString& name, Id<Port> id, QObject* parent)
146
    : ControlInlet{name, id, parent}
815✔
147
{
815✔
148
  displayHandledExplicitly = true;
815✔
149
  setInit(init);
815✔
150
  setValue(init);
815✔
151
  setDomain(ossia::make_domain(min, max));
815✔
152
}
815✔
153

154
FloatSlider::~FloatSlider() { }
3,188✔
155

156
void FloatSlider::setupExecution(ossia::inlet& inl, QObject* exec_context) const noexcept
×
157
{
158
  auto& port = **safe_cast<ossia::value_inlet*>(&inl);
×
159
  port.type = ossia::val_type::FLOAT;
×
160
  port.domain = domain().get();
×
161
}
×
162

163
FloatKnob::FloatKnob(
628✔
164
    float min, float max, float init, const QString& name, Id<Port> id, QObject* parent)
165
    : ControlInlet{name, id, parent}
628✔
166
{
628✔
167
  displayHandledExplicitly = true;
628✔
168
  setInit(init);
628✔
169
  setValue(init);
628✔
170
  setDomain(ossia::make_domain(min, max));
628✔
171
}
628✔
172

173
FloatKnob::~FloatKnob() { }
3,340✔
174

175
void FloatKnob::setupExecution(ossia::inlet& inl, QObject* exec_context) const noexcept
×
176
{
177
  auto& port = **safe_cast<ossia::value_inlet*>(&inl);
×
178
  port.type = ossia::val_type::FLOAT;
×
179
  port.domain = domain().get();
×
180
}
×
181

182
LogFloatSlider::LogFloatSlider(
48✔
183
    float min, float max, float init, const QString& name, Id<Port> id, QObject* parent)
184
    : ControlInlet{name, id, parent}
48✔
185
{
48✔
186
  displayHandledExplicitly = true;
48✔
187
  setInit(init);
48✔
188
  setValue(init);
48✔
189
  setDomain(ossia::make_domain(min, max));
48✔
190
}
48✔
191

192
LogFloatSlider::~LogFloatSlider() { }
214✔
193

194
void LogFloatSlider::setupExecution(
×
195
    ossia::inlet& inl, QObject* exec_context) const noexcept
196
{
197
  auto& port = **safe_cast<ossia::value_inlet*>(&inl);
×
198
  port.type = ossia::val_type::FLOAT;
×
199
  port.domain = domain().get();
×
200
}
×
201

202
IntSlider::IntSlider(
129✔
203
    int min, int max, int init, const QString& name, Id<Port> id, QObject* parent)
204
    : ControlInlet{name, id, parent}
129✔
205
{
129✔
206
  displayHandledExplicitly = true;
129✔
207
  setInit(init);
129✔
208
  setValue(init);
129✔
209
  setDomain(ossia::make_domain(min, max));
129✔
210
}
129✔
211

212
IntSlider::~IntSlider() { }
640✔
213

214
void IntSlider::setupExecution(ossia::inlet& inl, QObject* exec_context) const noexcept
×
215
{
216
  auto& port = **safe_cast<ossia::value_inlet*>(&inl);
×
217
  port.type = ossia::val_type::INT;
×
218
  port.domain = domain().get();
×
219
}
×
220

221
IntRangeSlider::IntRangeSlider(
×
222
    int min, int max, ossia::vec2f init, const QString& name, Id<Port> id,
223
    QObject* parent)
224
    : ControlInlet{name, id, parent}
×
225
{
×
226
  displayHandledExplicitly = true;
×
227
  setInit(init);
×
228
  setValue(init);
×
229
  setDomain(ossia::make_domain(min, max));
×
230
}
×
231

232
IntRangeSlider::~IntRangeSlider() { }
×
233

234
void IntRangeSlider::setupExecution(
×
235
    ossia::inlet& inl, QObject* exec_context) const noexcept
236
{
237
  auto& port = **safe_cast<ossia::value_inlet*>(&inl);
×
238
  port.type = ossia::val_type::VEC2F;
×
239
  port.domain = domain().get();
×
240
}
×
241

242
FloatRangeSlider::FloatRangeSlider(
6✔
243
    float min, float max, ossia::vec2f init, const QString& name, Id<Port> id,
244
    QObject* parent)
245
    : ControlInlet{name, id, parent}
6✔
246
{
6✔
247
  displayHandledExplicitly = true;
6✔
248
  setInit(init);
6✔
249
  setValue(init);
6✔
250
  setDomain(ossia::make_domain(min, max));
6✔
251
}
6✔
252

253
FloatRangeSlider::~FloatRangeSlider() { }
36✔
254

255
void FloatRangeSlider::setupExecution(
×
256
    ossia::inlet& inl, QObject* exec_context) const noexcept
257
{
258
  auto& port = **safe_cast<ossia::value_inlet*>(&inl);
×
259
  port.type = ossia::val_type::VEC2F;
×
260
  port.domain = domain().get();
×
261
}
×
262

263
IntRangeSpinBox::IntRangeSpinBox(
×
264
    int min, int max, ossia::vec2f init, const QString& name, Id<Port> id,
265
    QObject* parent)
266
    : ControlInlet{name, id, parent}
×
267
{
×
268
  displayHandledExplicitly = true;
×
269
  setInit(init);
×
270
  setValue(init);
×
271
  setDomain(ossia::make_domain(min, max));
×
272
}
×
273
IntRangeSpinBox::~IntRangeSpinBox() { }
×
274

275
void IntRangeSpinBox::setupExecution(
×
276
    ossia::inlet& inl, QObject* exec_context) const noexcept
277
{
278
  auto& port = **safe_cast<ossia::value_inlet*>(&inl);
×
279
  port.type = ossia::val_type::VEC2F;
×
280
  port.domain = domain().get();
×
281
}
×
282

283
FloatRangeSpinBox::FloatRangeSpinBox(
×
284
    float min, float max, ossia::vec2f init, const QString& name, Id<Port> id,
285
    QObject* parent)
286
    : ControlInlet{name, id, parent}
×
287
{
×
288
  displayHandledExplicitly = true;
×
289
  setInit(init);
×
290
  setValue(init);
×
291
  setDomain(ossia::make_domain(min, max));
×
292
}
×
293

294
FloatRangeSpinBox::~FloatRangeSpinBox() { }
×
295

296
void FloatRangeSpinBox::setupExecution(
×
297
    ossia::inlet& inl, QObject* exec_context) const noexcept
298
{
299
  auto& port = **safe_cast<ossia::value_inlet*>(&inl);
×
300
  port.type = ossia::val_type::VEC2F;
×
301
  port.domain = domain().get();
×
302
}
×
303

304
IntSpinBox::IntSpinBox(
380✔
305
    int min, int max, int init, const QString& name, Id<Port> id, QObject* parent)
306
    : ControlInlet{name, id, parent}
380✔
307
{
380✔
308
  displayHandledExplicitly = true;
380✔
309
  setInit(init);
380✔
310
  setValue(init);
380✔
311
  setDomain(ossia::make_domain(min, max));
380✔
312
}
380✔
313

314
void IntSpinBox::setupExecution(ossia::inlet& inl, QObject* exec_context) const noexcept
×
315
{
316
  auto& port = **safe_cast<ossia::value_inlet*>(&inl);
×
317
  port.type = ossia::val_type::INT;
×
318
  port.domain = domain().get();
×
319
}
×
320

321
IntSpinBox::~IntSpinBox() { }
1,521✔
322

323
FloatSpinBox::FloatSpinBox(
83✔
324
    float min, float max, float init, const QString& name, Id<Port> id, QObject* parent)
325
    : ControlInlet{name, id, parent}
83✔
326
{
83✔
327
  displayHandledExplicitly = true;
83✔
328
  setInit(init);
83✔
329
  setValue(init);
83✔
330
  setDomain(ossia::make_domain(min, max));
83✔
331
}
83✔
332

333
void FloatSpinBox::setupExecution(
×
334
    ossia::inlet& inl, QObject* exec_context) const noexcept
335
{
336
  auto& port = **safe_cast<ossia::value_inlet*>(&inl);
×
337
  port.type = ossia::val_type::FLOAT;
×
338
  port.domain = domain().get();
×
339
}
×
340

341
FloatSpinBox::~FloatSpinBox() { }
498✔
342

343
TimeChooser::TimeChooser(
128✔
344
    float min, float max, float init, const QString& name, Id<Port> id, QObject* parent)
345
    : ControlInlet{name, id, parent}
128✔
346
{
128✔
347
  displayHandledExplicitly = true;
128✔
348
  setValue(ossia::vec2f{init, 1.f});
128✔
349
  setInit(value());
128✔
350
  setDomain(ossia::make_domain(ossia::vec2f{min, 0.f}, ossia::vec2f{max, 1.f}));
128✔
351
}
128✔
352

353
TimeChooser::~TimeChooser() { }
462✔
354

355
void TimeChooser::setupExecution(ossia::inlet& inl, QObject* exec_context) const noexcept
×
356
{
357
  auto& port = **safe_cast<ossia::value_inlet*>(&inl);
×
358
  port.type = ossia::val_type::VEC2F;
×
359
  // port.type = ossia::second_u{};
360
  // port.domain = domain().get();
361
}
×
362

363
Toggle::Toggle(bool init, const QString& name, Id<Port> id, QObject* parent)
334✔
364
    : ControlInlet{name, id, parent}
334✔
365
{
334✔
366
  displayHandledExplicitly = true;
334✔
367
  setInit(init);
334✔
368
  setValue(init);
334✔
369
  setDomain(State::Domain{ossia::domain_base<bool>{}});
334✔
370
}
334✔
371

372
void Toggle::setupExecution(ossia::inlet& inl, QObject* exec_context) const noexcept
×
373
{
374
  auto& port = **safe_cast<ossia::value_inlet*>(&inl);
×
375
  port.type = ossia::val_type::BOOL;
×
376
  port.domain = domain().get();
×
377
}
×
378

379
Toggle::~Toggle() { }
1,460✔
380

381
ChooserToggle::ChooserToggle(
×
382
    QStringList alternatives, bool init, const QString& name, Id<Port> id,
383
    QObject* parent)
384
    : ControlInlet{name, id, parent}
×
385
{
×
386
  displayHandledExplicitly = true;
×
387
  setValue(init ? alternatives[1].toStdString() : alternatives[0].toStdString());
×
388
  setInit(value());
×
389
  setDomain(
×
390
      State::Domain{ossia::domain_base<std::string>{
×
391
          {alternatives[0].toStdString(), alternatives[1].toStdString()}}});
×
392
}
×
393

394
void ChooserToggle::setupExecution(
×
395
    ossia::inlet& inl, QObject* exec_context) const noexcept
396
{
397
  auto& port = **safe_cast<ossia::value_inlet*>(&inl);
×
398
  port.type = ossia::val_type::STRING;
×
399
  port.domain = domain().get();
×
400
}
×
401

402
ChooserToggle::~ChooserToggle() { }
×
403

404
QStringList ChooserToggle::alternatives() const noexcept
×
405
{
406
  const auto& dom = *this->domain().get().v.target<ossia::domain_base<std::string>>();
×
407
  auto it = dom.values.begin();
×
408
  auto& s1 = *it;
×
409
  auto& s2 = *(++it);
×
410
  return {QString::fromStdString(s1), QString::fromStdString(s2)};
×
411
}
412

413
LineEdit::LineEdit(QString init, const QString& name, Id<Port> id, QObject* parent)
50✔
414
    : ControlInlet{name, id, parent}
50✔
415
{
50✔
416
  displayHandledExplicitly = true;
50✔
417
  setValue(init.toStdString());
50✔
418
  setInit(value());
50✔
419
}
50✔
420

421
void LineEdit::setupExecution(ossia::inlet& inl, QObject* exec_context) const noexcept
×
422
{
423
  auto& port = **safe_cast<ossia::value_inlet*>(&inl);
×
424
  port.type = ossia::val_type::STRING;
×
425
  port.domain = domain().get();
×
426
}
×
427

428
LineEdit::~LineEdit() { }
281✔
429

430
ProgramEdit::ProgramEdit(QString init, const QString& name, Id<Port> id, QObject* parent)
4✔
431
    : ControlInlet{name, id, parent}
4✔
432
{
4✔
433
  displayHandledExplicitly = true;
4✔
434
  setValue(init.toStdString());
4✔
435
  setInit(value());
4✔
436
}
4✔
437

438
void ProgramEdit::setupExecution(ossia::inlet& inl, QObject* exec_context) const noexcept
×
439
{
440
  auto& port = **safe_cast<ossia::value_inlet*>(&inl);
×
441
  port.type = ossia::val_type::STRING;
×
442
  port.domain = domain().get();
×
443
}
×
444

445
ProgramEdit::~ProgramEdit() { }
24✔
446

447
FileChooserBase::FileChooserBase(
62✔
448
    QString init, QString filters, const QString& name, Id<Port> id, QObject* parent)
449
    : ControlInlet{name, id, parent}
62✔
450
{
62✔
451
  displayHandledExplicitly = true;
62✔
452
  setValue(init.toStdString());
62✔
453
  setInit(value());
62✔
454
  m_filters = filters;
62✔
455
}
62✔
456

457
void FileChooserBase::setupExecution(
×
458
    ossia::inlet& inl, QObject* exec_context) const noexcept
459
{
460
  auto& port = **safe_cast<ossia::value_inlet*>(&inl);
×
461
  port.type = ossia::val_type::STRING;
×
462
  port.domain = domain().get();
×
463
}
×
464

465
void FileChooserBase::enableFileWatch()
2✔
466
{
467
  auto fun = std::make_shared<std::function<void()>>([ptr = QPointer{this}]() mutable {
2✔
468
    ossia::qt::run_async(qApp, [ptr] {
×
469
      if(ptr)
×
470
      {
471
        // This will trigger a reload
472
        // FIXME make it work with execution value changes
473
        ptr->valueChanged(ptr->value());
×
474
      }
×
475
    });
×
476
  });
×
477

478
  auto& f = score::FileWatch::instance();
2✔
479
  f.add(QString::fromStdString(ossia::convert<std::string>(this->value())), fun);
2✔
480

481
  connect(
2✔
482
      this, &Process::FileChooser::valueChanged, this,
483
      [cur_s = ossia::convert<std::string>(this->value()),
2✔
484
       fun](const ossia::value& v) mutable {
2✔
485
    auto new_s = ossia::convert<std::string>(v);
×
486
    if(new_s != cur_s)
×
487
    {
488
      auto& f = score::FileWatch::instance();
×
489
      f.remove(QString::fromStdString(cur_s), fun);
×
490
      f.add(QString::fromStdString(new_s), fun);
×
491
      cur_s = new_s;
×
492
    }
×
493
      });
×
494

495
  connect(this, &Process::FileChooser::destroying, this, [this, fun] {
4✔
496
    auto& f = score::FileWatch::instance();
2✔
497
    f.remove(QString::fromStdString(ossia::convert<std::string>(this->value())), fun);
2✔
498
  });
2✔
499
}
2✔
500

501
FileChooserBase::~FileChooserBase()
161✔
502
{
161✔
503
  destroying();
161✔
504
}
161✔
505

506
FileChooser::FileChooser(
61✔
507
    QString init, QString filters, const QString& name, Id<Port> id, QObject* parent)
508
    : FileChooserBase{init, filters, name, id, parent}
61✔
509
{
61✔
510
}
61✔
511

512
FileChooser::~FileChooser() { }
316✔
513

514
FolderChooser::FolderChooser(
1✔
515
    QString init, const QString& name, Id<Port> id, QObject* parent)
516
    : Process::ControlInlet{name, id, parent}
1✔
517
{
1✔
518
  displayHandledExplicitly = true;
1✔
519
  setValue(init.toStdString());
1✔
520
  setInit(value());
1✔
521
}
1✔
522

523
void FolderChooser::setupExecution(
×
524
    ossia::inlet& inl, QObject* exec_context) const noexcept
525
{
526
  auto& port = **safe_cast<ossia::value_inlet*>(&inl);
×
527
  port.type = ossia::val_type::STRING;
×
528
  port.domain = domain().get();
×
529
}
×
530

531
FolderChooser::~FolderChooser() { }
6✔
532

533
AudioFileChooser::AudioFileChooser(
1✔
534
    QString init, QString filters, const QString& name, Id<Port> id, QObject* parent)
535
    : FileChooserBase{init, filters, name, id, parent}
1✔
536
{
1✔
537
}
1✔
538

539
AudioFileChooser::~AudioFileChooser() { }
6✔
540

541
static QString toFilters(const QSet<QString>& exts)
×
542
{
543
  QString res;
×
544
  for(const auto& s : exts)
×
545
  {
546
    res += "*.";
×
547
    res += s;
×
548
    res += " ";
×
549
  }
550
  if(!res.isEmpty())
×
551
    res.resize(res.size() - 1);
×
552
  return res;
×
553
}
×
554

555
static QString videoFilesTypes()
×
556
{
557
  // FIXME refactor supported formats with Video process
558
  QSet<QString> files = {"mkv", "mov", "mp4", "h264", "avi", "hap",  "mpg", "mpeg",
×
559
                          "imf", "mxf", "mts", "m2ts", "mj2", "webm", "y4m", "nut", "ts"};
×
560
  return QString{"Videos (%1)"}.arg(toFilters(files));
×
561
}
×
562

563
VideoFileChooser::VideoFileChooser(
×
564
    QString init, QString filters, const QString& name, Id<Port> id, QObject* parent)
565
    : FileChooserBase{init, videoFilesTypes(), name, id, parent}
×
566
{
×
567
}
×
568

569
VideoFileChooser::~VideoFileChooser() { }
×
570

571
Button::Button(const QString& name, Id<Port> id, QObject* parent)
10✔
572
    : ControlInlet{name, id, parent}
10✔
573
{
10✔
574
  displayHandledExplicitly = true;
10✔
575
  setValue(false);
10✔
576
  setInit(false);
10✔
577
  setDomain(State::Domain{ossia::domain_base<bool>{}});
10✔
578
}
10✔
579

580
void Button::setupExecution(ossia::inlet& inl, QObject* exec_context) const noexcept
×
581
{
582
  auto& port = **safe_cast<ossia::value_inlet*>(&inl);
×
583
  port.type = ossia::val_type::BOOL;
×
584
  port.domain = domain().get();
×
585
}
×
586

587
Button::~Button() { }
60✔
588

589
ImpulseButton::ImpulseButton(const QString& name, Id<Port> id, QObject* parent)
31✔
590
    : ControlInlet{name, id, parent}
31✔
591
{
31✔
592
  displayHandledExplicitly = true;
31✔
593
  setValue(ossia::impulse{});
31✔
594
  setInit(ossia::impulse{});
31✔
595
  setDomain(State::Domain{ossia::domain_base<ossia::impulse>{}});
31✔
596
}
31✔
597

598
void ImpulseButton::setupExecution(
×
599
    ossia::inlet& inl, QObject* exec_context) const noexcept
600
{
601
  auto& port = **safe_cast<ossia::value_inlet*>(&inl);
×
602
  port.type = ossia::val_type::IMPULSE;
×
603
  port.domain = domain().get();
×
604
}
×
605

606
ImpulseButton::~ImpulseButton() { }
186✔
607

608
XYSlider::XYSlider(ossia::vec2f init, const QString& name, Id<Port> id, QObject* parent)
×
609
    : ControlInlet{name, id, parent}
×
610
{
×
611
  displayHandledExplicitly = true;
×
612
  setValue(init);
×
613
  setInit(init);
×
614
  setDomain(ossia::make_domain(ossia::vec2f{0., 0.}, ossia::vec2f{1., 1.}));
×
615
}
×
616

617
XYSlider::XYSlider(
5✔
618
    ossia::vec2f min, ossia::vec2f max, ossia::vec2f init, const QString& name,
619
    Id<Port> id, QObject* parent)
620
    : ControlInlet{name, id, parent}
5✔
621
{
5✔
622
  displayHandledExplicitly = true;
5✔
623
  setValue(init);
5✔
624
  setInit(init);
5✔
625
  setDomain(ossia::make_domain(min, max));
5✔
626
}
5✔
627

628
void XYSlider::setupExecution(ossia::inlet& inl, QObject* exec_context) const noexcept
×
629
{
630
  auto& port = **safe_cast<ossia::value_inlet*>(&inl);
×
631
  port.type = ossia::val_type::VEC2F;
×
632
  port.domain = domain().get();
×
633
}
×
634

635
XYSlider::~XYSlider() { }
32✔
636

637
XYZSlider::XYZSlider(
×
638
    ossia::vec3f init, const QString& name, Id<Port> id, QObject* parent)
639
    : ControlInlet{name, id, parent}
×
640
{
×
641
  displayHandledExplicitly = true;
×
642
  setValue(init);
×
643
  setInit(init);
×
644
  setDomain(ossia::make_domain(ossia::vec3f{0., 0., 0.}, ossia::vec3f{1., 1., 1.}));
×
645
}
×
646

647
XYZSlider::XYZSlider(
×
648
    ossia::vec3f min, ossia::vec3f max, ossia::vec3f init, const QString& name,
649
    Id<Port> id, QObject* parent)
650
    : ControlInlet{name, id, parent}
×
651
{
×
652
  displayHandledExplicitly = true;
×
653
  setValue(init);
×
654
  setInit(init);
×
655
  setDomain(ossia::make_domain(min, max));
×
656
}
×
657

658
XYZSlider::~XYZSlider() { }
2✔
659

660
void XYZSlider::setupExecution(ossia::inlet& inl, QObject* exec_context) const noexcept
×
661
{
662
  auto& port = **safe_cast<ossia::value_inlet*>(&inl);
×
663
  port.type = ossia::val_type::VEC3F;
×
664
  port.domain = domain().get();
×
665
}
×
666

667
XYZSpinboxes::XYZSpinboxes(
×
668
    ossia::vec3f init, const QString& name, Id<Port> id, QObject* parent)
669
    : ControlInlet{name, id, parent}
×
670
{
×
671
  displayHandledExplicitly = true;
×
672
  setValue(init);
×
673
  setInit(init);
×
674
  setDomain(ossia::make_domain(ossia::vec3f{0., 0., 0.}, ossia::vec3f{1., 1., 1.}));
×
675
}
×
676

677
XYSpinboxes::XYSpinboxes(
×
678
    ossia::vec2f init, const QString& name, Id<Port> id, QObject* parent)
679
    : ControlInlet{name, id, parent}
×
680
    , integral{false}
×
681
{
×
682
  displayHandledExplicitly = true;
×
683
  setValue(init);
×
684
  setInit(init);
×
685
}
×
686
XYSpinboxes::XYSpinboxes(
48✔
687
    ossia::vec2f min, ossia::vec2f max, ossia::vec2f init, bool integral,
688
    const QString& name, Id<Port> id, QObject* parent)
689
    : ControlInlet{name, id, parent}
48✔
690
    , integral{integral}
48✔
691
{
48✔
692
  displayHandledExplicitly = true;
48✔
693
  setValue(init);
48✔
694
  setInit(init);
48✔
695
  setDomain(ossia::make_domain(min, max));
48✔
696
}
48✔
697

698
XYSpinboxes::XYSpinboxes(DataStream::Deserializer& vis, QObject* parent)
46✔
699
    : ControlInlet{vis, parent}
46✔
700
{
46✔
701
  vis.writeTo(*this);
46✔
702
}
×
703
XYSpinboxes::XYSpinboxes(JSONObject::Deserializer& vis, QObject* parent)
46✔
704
    : ControlInlet{vis, parent}
46✔
705
{
46✔
706
  vis.writeTo(*this);
46✔
707
}
×
708
XYSpinboxes::XYSpinboxes(DataStream::Deserializer&& vis, QObject* parent)
×
709
    : ControlInlet{vis, parent}
×
710
{
×
711
  vis.writeTo(*this);
×
712
}
×
713
XYSpinboxes::XYSpinboxes(JSONObject::Deserializer&& vis, QObject* parent)
×
714
    : ControlInlet{vis, parent}
×
715
{
×
716
  vis.writeTo(*this);
×
717
}
×
718

719
XYSpinboxes::~XYSpinboxes() { }
280✔
720

721
void XYSpinboxes::setupExecution(ossia::inlet& inl, QObject* exec_context) const noexcept
×
722
{
723
  auto& port = **safe_cast<ossia::value_inlet*>(&inl);
×
724
  port.type = ossia::val_type::VEC2F;
×
725
  port.domain = domain().get();
×
726
}
×
727

728
XYZSpinboxes::XYZSpinboxes(
67✔
729
    ossia::vec3f min, ossia::vec3f max, ossia::vec3f init, bool integral,
730
    const QString& name, Id<Port> id, QObject* parent)
731
    : ControlInlet{name, id, parent}
67✔
732
    , integral{integral}
67✔
733
{
67✔
734
  displayHandledExplicitly = true;
67✔
735
  setValue(init);
67✔
736
  setInit(init);
67✔
737
  setDomain(ossia::make_domain(min, max));
67✔
738
}
67✔
739

740
XYZSpinboxes::~XYZSpinboxes() { }
354✔
741

742
void XYZSpinboxes::setupExecution(
×
743
    ossia::inlet& inl, QObject* exec_context) const noexcept
744
{
745
  auto& port = **safe_cast<ossia::value_inlet*>(&inl);
×
746
  port.type = ossia::val_type::VEC3F;
×
747
  port.domain = domain().get();
×
748
}
×
749

750
MultiSlider::MultiSlider(
2✔
751
    ossia::value init, const QString& name, Id<Port> id, QObject* parent)
752
    : ControlInlet{name, id, parent}
2✔
753
{
2✔
754
  displayHandledExplicitly = true;
2✔
755
  setValue(std::move(init));
2✔
756
  setInit(value());
2✔
757
  setDomain(ossia::make_domain(0., 1.));
2✔
758
}
2✔
759

760
MultiSlider::~MultiSlider() { }
12✔
761

762
ossia::value MultiSlider::getMin() const noexcept
×
763
{
764
  return domain().get().get_min();
×
765
}
766

767
ossia::value MultiSlider::getMax() const noexcept
×
768
{
769
  return domain().get().get_max();
×
770
}
771

772
void MultiSlider::setupExecution(ossia::inlet& inl, QObject* exec_context) const noexcept
×
773
{
774
  auto& port = **safe_cast<ossia::value_inlet*>(&inl);
×
775
  port.type = ossia::val_type::LIST;
×
776
  port.domain = domain().get();
×
777
}
×
778

779
MultiSliderXY::MultiSliderXY(
1✔
780
    ossia::value init, const QString& name, Id<Port> id, QObject* parent)
781
    : ControlInlet{name, id, parent}
1✔
782
{
1✔
783
  displayHandledExplicitly = true;
1✔
784
  setValue(std::move(init));
1✔
785
  setInit(value());
1✔
786
  setDomain(ossia::make_domain(0., 1.));
1✔
787
}
1✔
788

789
MultiSliderXY::~MultiSliderXY() { }
6✔
790

791
ossia::value MultiSliderXY::getMin() const noexcept
×
792
{
793
  return domain().get().get_min();
×
794
}
795

796
ossia::value MultiSliderXY::getMax() const noexcept
×
797
{
798
  return domain().get().get_max();
×
799
}
800

801
void MultiSliderXY::setupExecution(ossia::inlet& inl, QObject* exec_context) const noexcept
×
802
{
803
  auto& port = **safe_cast<ossia::value_inlet*>(&inl);
×
804
  port.type = ossia::val_type::LIST;
×
805
  port.domain = domain().get();
×
806
}
×
807

808
PathGeneratorXY::PathGeneratorXY(
1✔
809
    ossia::value init, const QString& name, Id<Port> id, QObject* parent)
810
    : ControlInlet{name, id, parent}
1✔
811
{
1✔
812
  displayHandledExplicitly = true;
1✔
813
  setValue(std::move(init));
1✔
814
  setInit(value());
1✔
815
  setDomain(ossia::make_domain(0., 1.));
1✔
816
}
1✔
817

818
PathGeneratorXY::~PathGeneratorXY() { }
6✔
819

820
ossia::value PathGeneratorXY::getMin() const noexcept
×
821
{
822
  return domain().get().get_min();
×
823
}
824

825
ossia::value PathGeneratorXY::getMax() const noexcept
×
826
{
827
  return domain().get().get_max();
×
828
}
829

830
void PathGeneratorXY::setupExecution(ossia::inlet& inl, QObject* exec_context) const noexcept
×
831
{
832
  auto& port = **safe_cast<ossia::value_inlet*>(&inl);
×
833
  port.type = ossia::val_type::LIST;
×
834
  port.domain = domain().get();
×
835
}
×
836

837
Bargraph::Bargraph(
2✔
838
    float min, float max, float init, const QString& name, Id<Port> id, QObject* parent)
839
    : ControlOutlet{name, id, parent}
2✔
840
{
2✔
841
  displayHandledExplicitly = true;
2✔
842
  setValue(init);
2✔
843
  setDomain(ossia::make_domain(min, max));
2✔
844
}
2✔
845

846
Bargraph::~Bargraph() { }
12✔
847

848
}
849
template <>
850
SCORE_LIB_PROCESS_EXPORT void
851
DataStreamReader::read(const Process::FloatSlider& p)
583✔
852
{
853
  read((const Process::ControlInlet&)p);
583✔
854
}
583✔
855
template <>
856
SCORE_LIB_PROCESS_EXPORT void
857
DataStreamWriter::write(Process::FloatSlider& p)
×
858
{
859
}
×
860
template <>
861
SCORE_LIB_PROCESS_EXPORT void
862
JSONReader::read(const Process::FloatSlider& p)
688✔
863
{
864
  read((const Process::ControlInlet&)p);
688✔
865
}
688✔
866
template <>
867
SCORE_LIB_PROCESS_EXPORT void
868
JSONWriter::write(Process::FloatSlider& p)
×
869
{
870
}
×
871

872
template <>
873
SCORE_LIB_PROCESS_EXPORT void
874
DataStreamReader::read(const Process::FloatKnob& p)
1,050✔
875
{
876
  read((const Process::ControlInlet&)p);
1,050✔
877
}
1,050✔
878
template <>
879
SCORE_LIB_PROCESS_EXPORT void
880
DataStreamWriter::write(Process::FloatKnob& p)
×
881
{
882
}
×
883
template <>
884
SCORE_LIB_PROCESS_EXPORT void
885
JSONReader::read(const Process::FloatKnob& p)
1,034✔
886
{
887
  read((const Process::ControlInlet&)p);
1,034✔
888
}
1,034✔
889
template <>
890
SCORE_LIB_PROCESS_EXPORT void
891
JSONWriter::write(Process::FloatKnob& p)
×
892
{
893
}
×
894

895
template <>
896
SCORE_LIB_PROCESS_EXPORT void
897
DataStreamReader::read(const Process::LogFloatSlider& p)
58✔
898
{
899
  read((const Process::ControlInlet&)p);
58✔
900
}
58✔
901
template <>
902
SCORE_LIB_PROCESS_EXPORT void
903
DataStreamWriter::write(Process::LogFloatSlider& p)
×
904
{
905
}
×
906
template <>
907
SCORE_LIB_PROCESS_EXPORT void
908
JSONReader::read(const Process::LogFloatSlider& p)
58✔
909
{
910
  read((const Process::ControlInlet&)p);
58✔
911
}
58✔
912
template <>
913
SCORE_LIB_PROCESS_EXPORT void
914
JSONWriter::write(Process::LogFloatSlider& p)
×
915
{
916
}
×
917

918
template <>
919
SCORE_LIB_PROCESS_EXPORT void
920
DataStreamReader::read(const Process::IntSlider& p)
179✔
921
{
922
  read((const Process::ControlInlet&)p);
179✔
923
}
179✔
924
template <>
925
SCORE_LIB_PROCESS_EXPORT void
926
DataStreamWriter::write(Process::IntSlider& p)
×
927
{
928
}
×
929
template <>
930
SCORE_LIB_PROCESS_EXPORT void
931
JSONReader::read(const Process::IntSlider& p)
194✔
932
{
933
  read((const Process::ControlInlet&)p);
194✔
934
}
194✔
935
template <>
936
SCORE_LIB_PROCESS_EXPORT void
937
JSONWriter::write(Process::IntSlider& p)
×
938
{
939
}
×
940

941
template <>
942
SCORE_LIB_PROCESS_EXPORT void
943
DataStreamReader::read(const Process::IntRangeSlider& p)
×
944
{
945
  read((const Process::ControlInlet&)p);
×
946
}
×
947
template <>
948
SCORE_LIB_PROCESS_EXPORT void
949
DataStreamWriter::write(Process::IntRangeSlider& p)
×
950
{
951
}
×
952
template <>
953
SCORE_LIB_PROCESS_EXPORT void
954
JSONReader::read(const Process::IntRangeSlider& p)
×
955
{
956
  read((const Process::ControlInlet&)p);
×
957
}
×
958
template <>
959
SCORE_LIB_PROCESS_EXPORT void
960
JSONWriter::write(Process::IntRangeSlider& p)
×
961
{
962
}
×
963
template <>
964
SCORE_LIB_PROCESS_EXPORT void
965
DataStreamReader::read(const Process::FloatRangeSlider& p)
12✔
966
{
967
  read((const Process::ControlInlet&)p);
12✔
968
}
12✔
969
template <>
970
SCORE_LIB_PROCESS_EXPORT void
971
DataStreamWriter::write(Process::FloatRangeSlider& p)
×
972
{
973
}
×
974
template <>
975
SCORE_LIB_PROCESS_EXPORT void
976
JSONReader::read(const Process::FloatRangeSlider& p)
12✔
977
{
978
  read((const Process::ControlInlet&)p);
12✔
979
}
12✔
980
template <>
981
SCORE_LIB_PROCESS_EXPORT void
982
JSONWriter::write(Process::FloatRangeSlider& p)
×
983
{
984
}
×
985

986
template <>
987
SCORE_LIB_PROCESS_EXPORT void
988
DataStreamReader::read(const Process::IntRangeSpinBox& p)
×
989
{
990
  read((const Process::ControlInlet&)p);
×
991
}
×
992
template <>
993
SCORE_LIB_PROCESS_EXPORT void
994
DataStreamWriter::write(Process::IntRangeSpinBox& p)
×
995
{
996
}
×
997
template <>
998
SCORE_LIB_PROCESS_EXPORT void
999
JSONReader::read(const Process::IntRangeSpinBox& p)
×
1000
{
1001
  read((const Process::ControlInlet&)p);
×
1002
}
×
1003
template <>
1004
SCORE_LIB_PROCESS_EXPORT void
1005
JSONWriter::write(Process::IntRangeSpinBox& p)
×
1006
{
1007
}
×
1008
template <>
1009
SCORE_LIB_PROCESS_EXPORT void
1010
DataStreamReader::read(const Process::FloatRangeSpinBox& p)
×
1011
{
1012
  read((const Process::ControlInlet&)p);
×
1013
}
×
1014
template <>
1015
SCORE_LIB_PROCESS_EXPORT void
1016
DataStreamWriter::write(Process::FloatRangeSpinBox& p)
×
1017
{
1018
}
×
1019
template <>
1020
SCORE_LIB_PROCESS_EXPORT void
1021
JSONReader::read(const Process::FloatRangeSpinBox& p)
×
1022
{
1023
  read((const Process::ControlInlet&)p);
×
1024
}
×
1025
template <>
1026
SCORE_LIB_PROCESS_EXPORT void
1027
JSONWriter::write(Process::FloatRangeSpinBox& p)
×
1028
{
1029
}
×
1030

1031
template <>
1032
SCORE_LIB_PROCESS_EXPORT void
1033
DataStreamReader::read(const Process::IntSpinBox& p)
463✔
1034
{
1035
  read((const Process::ControlInlet&)p);
463✔
1036
}
463✔
1037
template <>
1038
SCORE_LIB_PROCESS_EXPORT void
1039
DataStreamWriter::write(Process::IntSpinBox& p)
×
1040
{
1041
}
×
1042
template <>
1043
SCORE_LIB_PROCESS_EXPORT void
1044
JSONReader::read(const Process::IntSpinBox& p)
457✔
1045
{
1046
  read((const Process::ControlInlet&)p);
457✔
1047
}
457✔
1048
template <>
1049
SCORE_LIB_PROCESS_EXPORT void
1050
JSONWriter::write(Process::IntSpinBox& p)
×
1051
{
1052
}
×
1053

1054
template <>
1055
SCORE_LIB_PROCESS_EXPORT void
1056
DataStreamReader::read(const Process::FloatSpinBox& p)
166✔
1057
{
1058
  read((const Process::ControlInlet&)p);
166✔
1059
}
166✔
1060
template <>
1061
SCORE_LIB_PROCESS_EXPORT void
1062
DataStreamWriter::write(Process::FloatSpinBox& p)
×
1063
{
1064
}
×
1065
template <>
1066
SCORE_LIB_PROCESS_EXPORT void
1067
JSONReader::read(const Process::FloatSpinBox& p)
166✔
1068
{
1069
  read((const Process::ControlInlet&)p);
166✔
1070
}
166✔
1071
template <>
1072
SCORE_LIB_PROCESS_EXPORT void
1073
JSONWriter::write(Process::FloatSpinBox& p)
×
1074
{
1075
}
×
1076

1077
template <>
1078
SCORE_LIB_PROCESS_EXPORT void
1079
DataStreamReader::read(const Process::TimeChooser& p)
67✔
1080
{
1081
  read((const Process::ControlInlet&)p);
67✔
1082
}
67✔
1083
template <>
1084
SCORE_LIB_PROCESS_EXPORT void
1085
DataStreamWriter::write(Process::TimeChooser& p)
×
1086
{
1087
}
×
1088
template <>
1089
SCORE_LIB_PROCESS_EXPORT void
1090
JSONReader::read(const Process::TimeChooser& p)
103✔
1091
{
1092
  read((const Process::ControlInlet&)p);
103✔
1093
}
103✔
1094
template <>
1095
SCORE_LIB_PROCESS_EXPORT void
1096
JSONWriter::write(Process::TimeChooser& p)
×
1097
{
1098
}
×
1099

1100
template <>
1101
SCORE_LIB_PROCESS_EXPORT void
1102
DataStreamReader::read(const Process::Toggle& p)
382✔
1103
{
1104
  read((const Process::ControlInlet&)p);
382✔
1105
}
382✔
1106
template <>
1107
SCORE_LIB_PROCESS_EXPORT void
1108
DataStreamWriter::write(Process::Toggle& p)
×
1109
{
1110
}
×
1111
template <>
1112
SCORE_LIB_PROCESS_EXPORT void JSONReader::read(const Process::Toggle& p)
392✔
1113
{
1114
  read((const Process::ControlInlet&)p);
392✔
1115
}
392✔
1116
template <>
1117
SCORE_LIB_PROCESS_EXPORT void JSONWriter::write(Process::Toggle& p)
×
1118
{
1119
}
×
1120

1121
template <>
1122
SCORE_LIB_PROCESS_EXPORT void
1123
DataStreamReader::read(const Process::ChooserToggle& p)
×
1124
{
1125
  read((const Process::ControlInlet&)p);
×
1126
}
×
1127
template <>
1128
SCORE_LIB_PROCESS_EXPORT void
1129
DataStreamWriter::write(Process::ChooserToggle& p)
×
1130
{
1131
}
×
1132
template <>
1133
SCORE_LIB_PROCESS_EXPORT void
1134
JSONReader::read(const Process::ChooserToggle& p)
×
1135
{
1136
  read((const Process::ControlInlet&)p);
×
1137
}
×
1138
template <>
1139
SCORE_LIB_PROCESS_EXPORT void
1140
JSONWriter::write(Process::ChooserToggle& p)
×
1141
{
1142
}
×
1143

1144
template <>
1145
SCORE_LIB_PROCESS_EXPORT void
1146
DataStreamReader::read(const Process::LineEdit& p)
92✔
1147
{
1148
  read((const Process::ControlInlet&)p);
92✔
1149
}
92✔
1150
template <>
1151
SCORE_LIB_PROCESS_EXPORT void
1152
DataStreamWriter::write(Process::LineEdit& p)
×
1153
{
1154
}
×
1155
template <>
1156
SCORE_LIB_PROCESS_EXPORT void
1157
JSONReader::read(const Process::LineEdit& p)
92✔
1158
{
1159
  read((const Process::ControlInlet&)p);
92✔
1160
}
92✔
1161
template <>
1162
SCORE_LIB_PROCESS_EXPORT void JSONWriter::write(Process::LineEdit& p)
×
1163
{
1164
}
×
1165

1166
template <>
1167
SCORE_LIB_PROCESS_EXPORT void
1168
DataStreamReader::read(const Process::ProgramEdit& p)
8✔
1169
{
1170
  read((const Process::ControlInlet&)p);
8✔
1171
}
8✔
1172
template <>
1173
SCORE_LIB_PROCESS_EXPORT void
1174
DataStreamWriter::write(Process::ProgramEdit& p)
×
1175
{
1176
}
×
1177
template <>
1178
SCORE_LIB_PROCESS_EXPORT void
1179
JSONReader::read(const Process::ProgramEdit& p)
8✔
1180
{
1181
  read((const Process::ControlInlet&)p);
8✔
1182
}
8✔
1183
template <>
1184
SCORE_LIB_PROCESS_EXPORT void
1185
JSONWriter::write(Process::ProgramEdit& p)
×
1186
{
1187
}
×
1188

1189
template <>
1190
SCORE_LIB_PROCESS_EXPORT void
1191
DataStreamReader::read(const Process::FileChooser& p)
93✔
1192
{
1193
  read((const Process::ControlInlet&)p);
93✔
1194
  m_stream << p.filters();
93✔
1195
}
93✔
1196
template <>
1197
SCORE_LIB_PROCESS_EXPORT void
1198
DataStreamWriter::write(Process::FileChooser& p)
×
1199
{
1200
  QString f;
×
1201
  m_stream >> f;
×
1202
  p.setFilters(f);
×
1203
}
×
1204
template <>
1205
SCORE_LIB_PROCESS_EXPORT void
1206
JSONReader::read(const Process::FileChooser& p)
97✔
1207
{
1208
  read((const Process::ControlInlet&)p);
97✔
1209
  obj["Filters"] = p.filters();
97✔
1210
}
97✔
1211
template <>
1212
SCORE_LIB_PROCESS_EXPORT void
1213
JSONWriter::write(Process::FileChooser& p)
×
1214
{
1215
  QString f;
×
1216
  f <<= obj["Filters"];
×
1217
  p.setFilters(f);
×
1218
}
×
1219

1220
template <>
1221
SCORE_LIB_PROCESS_EXPORT void
1222
DataStreamReader::read(const Process::FolderChooser& p)
2✔
1223
{
1224
  read((const Process::ControlInlet&)p);
2✔
1225
}
2✔
1226
template <>
1227
SCORE_LIB_PROCESS_EXPORT void
1228
DataStreamWriter::write(Process::FolderChooser& p)
×
1229
{
1230
}
×
1231
template <>
1232
SCORE_LIB_PROCESS_EXPORT void
1233
JSONReader::read(const Process::FolderChooser& p)
2✔
1234
{
1235
  read((const Process::ControlInlet&)p);
2✔
1236
}
2✔
1237
template <>
1238
SCORE_LIB_PROCESS_EXPORT void
1239
JSONWriter::write(Process::FolderChooser& p)
×
1240
{
1241
}
×
1242

1243
template <>
1244
SCORE_LIB_PROCESS_EXPORT void
1245
DataStreamReader::read(const Process::AudioFileChooser& p)
2✔
1246
{
1247
  read((const Process::ControlInlet&)p);
2✔
1248
  m_stream << p.filters();
2✔
1249
}
2✔
1250
template <>
1251
SCORE_LIB_PROCESS_EXPORT void
1252
DataStreamWriter::write(Process::AudioFileChooser& p)
×
1253
{
1254
  QString f;
×
1255
  m_stream >> f;
×
1256
  p.setFilters(f);
×
1257
}
×
1258
template <>
1259
SCORE_LIB_PROCESS_EXPORT void
1260
JSONReader::read(const Process::AudioFileChooser& p)
2✔
1261
{
1262
  read((const Process::ControlInlet&)p);
2✔
1263
  obj["Filters"] = p.filters();
2✔
1264
}
2✔
1265
template <>
1266
SCORE_LIB_PROCESS_EXPORT void
1267
JSONWriter::write(Process::AudioFileChooser& p)
×
1268
{
1269
  QString f;
×
1270
  f <<= obj["Filters"];
×
1271
  p.setFilters(f);
×
1272
}
×
1273

1274
template <>
1275
SCORE_LIB_PROCESS_EXPORT void DataStreamReader::read(const Process::VideoFileChooser& p)
×
1276
{
1277
  read((const Process::ControlInlet&)p);
×
1278
  m_stream << p.filters();
×
1279
}
×
1280
template <>
1281
SCORE_LIB_PROCESS_EXPORT void DataStreamWriter::write(Process::VideoFileChooser& p)
×
1282
{
1283
  QString f;
×
1284
  m_stream >> f;
×
1285
  p.setFilters(f);
×
1286
}
×
1287
template <>
1288
SCORE_LIB_PROCESS_EXPORT void JSONReader::read(const Process::VideoFileChooser& p)
×
1289
{
1290
  read((const Process::ControlInlet&)p);
×
1291
  obj["Filters"] = p.filters();
×
1292
}
×
1293
template <>
1294
SCORE_LIB_PROCESS_EXPORT void JSONWriter::write(Process::VideoFileChooser& p)
×
1295
{
1296
  QString f;
×
1297
  f <<= obj["Filters"];
×
1298
  p.setFilters(f);
×
1299
}
×
1300

1301
template <>
1302
SCORE_LIB_PROCESS_EXPORT void
1303
DataStreamReader::read(const Process::Enum& p)
202✔
1304
{
1305
  read((const Process::ControlInlet&)p);
202✔
1306
  m_stream << p.values << p.pixmaps;
202✔
1307
}
202✔
1308
template <>
1309
SCORE_LIB_PROCESS_EXPORT void DataStreamWriter::write(Process::Enum& p)
100✔
1310
{
1311
  m_stream >> p.values >> p.pixmaps;
100✔
1312
}
100✔
1313
template <>
1314
SCORE_LIB_PROCESS_EXPORT void JSONReader::read(const Process::Enum& p)
198✔
1315
{
1316
  read((const Process::ControlInlet&)p);
198✔
1317
  obj["Values"] = p.values;
198✔
1318
  obj["Pixmaps"] = p.pixmaps;
198✔
1319
}
198✔
1320
template <>
1321
SCORE_LIB_PROCESS_EXPORT void JSONWriter::write(Process::Enum& p)
100✔
1322
{
1323
  p.values <<= obj["Values"];
100✔
1324
  p.pixmaps <<= obj["Pixmaps"];
100✔
1325
}
100✔
1326

1327
template <>
1328
SCORE_LIB_PROCESS_EXPORT void
1329
DataStreamReader::read(const Process::ComboBox& p)
300✔
1330
{
1331
  read((const Process::ControlInlet&)p);
300✔
1332
  m_stream << p.alternatives;
300✔
1333
}
300✔
1334
template <>
1335
SCORE_LIB_PROCESS_EXPORT void
1336
DataStreamWriter::write(Process::ComboBox& p)
153✔
1337
{
1338
  m_stream >> p.alternatives;
153✔
1339
}
153✔
1340
template <>
1341
SCORE_LIB_PROCESS_EXPORT void
1342
JSONReader::read(const Process::ComboBox& p)
331✔
1343
{
1344
  read((const Process::ControlInlet&)p);
331✔
1345
  obj["Values"] = p.alternatives;
331✔
1346
}
331✔
1347
template <>
1348
SCORE_LIB_PROCESS_EXPORT void JSONWriter::write(Process::ComboBox& p)
178✔
1349
{
1350
  p.alternatives <<= obj["Values"];
178✔
1351
}
178✔
1352
template <>
1353
SCORE_LIB_PROCESS_EXPORT void
1354
DataStreamReader::read(const Process::Button& p)
20✔
1355
{
1356
  read((const Process::ControlInlet&)p);
20✔
1357
}
20✔
1358
template <>
1359
SCORE_LIB_PROCESS_EXPORT void
1360
DataStreamWriter::write(Process::Button& p)
×
1361
{
1362
}
×
1363
template <>
1364
SCORE_LIB_PROCESS_EXPORT void JSONReader::read(const Process::Button& p)
20✔
1365
{
1366
  read((const Process::ControlInlet&)p);
20✔
1367
}
20✔
1368
template <>
1369
SCORE_LIB_PROCESS_EXPORT void JSONWriter::write(Process::Button& p)
×
1370
{
1371
}
×
1372
template <>
1373
SCORE_LIB_PROCESS_EXPORT void
1374
DataStreamReader::read(const Process::ImpulseButton& p)
62✔
1375
{
1376
  read((const Process::ControlInlet&)p);
62✔
1377
}
62✔
1378
template <>
1379
SCORE_LIB_PROCESS_EXPORT void
1380
DataStreamWriter::write(Process::ImpulseButton& p)
×
1381
{
1382
}
×
1383
template <>
1384
SCORE_LIB_PROCESS_EXPORT void
1385
JSONReader::read(const Process::ImpulseButton& p)
62✔
1386
{
1387
  read((const Process::ControlInlet&)p);
62✔
1388
}
62✔
1389
template <>
1390
SCORE_LIB_PROCESS_EXPORT void
1391
JSONWriter::write(Process::ImpulseButton& p)
×
1392
{
1393
}
×
1394

1395
template <>
1396
SCORE_LIB_PROCESS_EXPORT void
1397
DataStreamReader::read(const Process::HSVSlider& p)
11✔
1398
{
1399
  read((const Process::ControlInlet&)p);
11✔
1400
}
11✔
1401
template <>
1402
SCORE_LIB_PROCESS_EXPORT void
1403
DataStreamWriter::write(Process::HSVSlider& p)
×
1404
{
1405
}
×
1406
template <>
1407
SCORE_LIB_PROCESS_EXPORT void
1408
JSONReader::read(const Process::HSVSlider& p)
10✔
1409
{
1410
  read((const Process::ControlInlet&)p);
10✔
1411
}
10✔
1412
template <>
1413
SCORE_LIB_PROCESS_EXPORT void
1414
JSONWriter::write(Process::HSVSlider& p)
×
1415
{
1416
}
×
1417

1418
template <>
1419
SCORE_LIB_PROCESS_EXPORT void
1420
DataStreamReader::read(const Process::XYSlider& p)
10✔
1421
{
1422
  read((const Process::ControlInlet&)p);
10✔
1423
}
10✔
1424
template <>
1425
SCORE_LIB_PROCESS_EXPORT void
1426
DataStreamWriter::write(Process::XYSlider& p)
×
1427
{
1428
}
×
1429
template <>
1430
SCORE_LIB_PROCESS_EXPORT void
1431
JSONReader::read(const Process::XYSlider& p)
10✔
1432
{
1433
  read((const Process::ControlInlet&)p);
10✔
1434
}
10✔
1435
template <>
1436
SCORE_LIB_PROCESS_EXPORT void JSONWriter::write(Process::XYSlider& p)
×
1437
{
1438
}
×
1439

1440
template <>
1441
SCORE_LIB_PROCESS_EXPORT void
1442
DataStreamReader::read(const Process::XYZSlider& p)
×
1443
{
1444
  read((const Process::ControlInlet&)p);
×
1445
}
×
1446
template <>
1447
SCORE_LIB_PROCESS_EXPORT void
1448
DataStreamWriter::write(Process::XYZSlider& p)
×
1449
{
1450
}
×
1451
template <>
1452
SCORE_LIB_PROCESS_EXPORT void
1453
JSONReader::read(const Process::XYZSlider& p)
×
1454
{
1455
  read((const Process::ControlInlet&)p);
×
1456
}
×
1457
template <>
1458
SCORE_LIB_PROCESS_EXPORT void
1459
JSONWriter::write(Process::XYZSlider& p)
×
1460
{
1461
}
×
1462

1463
template <>
1464
SCORE_LIB_PROCESS_EXPORT void
1465
DataStreamReader::read(const Process::XYSpinboxes& p)
92✔
1466
{
1467
  read((const Process::ControlInlet&)p);
92✔
1468
  m_stream << p.integral;
92✔
1469
}
92✔
1470
template <>
1471
SCORE_LIB_PROCESS_EXPORT void
1472
DataStreamWriter::write(Process::XYSpinboxes& p)
46✔
1473
{
1474
  m_stream >> p.integral;
46✔
1475
}
46✔
1476
template <>
1477
SCORE_LIB_PROCESS_EXPORT void
1478
JSONReader::read(const Process::XYSpinboxes& p)
92✔
1479
{
1480
  read((const Process::ControlInlet&)p);
92✔
1481
  obj["Integral"] = p.integral;
92✔
1482
}
92✔
1483
template <>
1484
SCORE_LIB_PROCESS_EXPORT void
1485
JSONWriter::write(Process::XYSpinboxes& p)
46✔
1486
{
1487
  if(auto val = obj.tryGet("Integral"))
46✔
1488
    p.integral = val->toBool();
46✔
1489
}
46✔
1490

1491
template <>
1492
SCORE_LIB_PROCESS_EXPORT void
1493
DataStreamReader::read(const Process::XYZSpinboxes& p)
110✔
1494
{
1495
  read((const Process::ControlInlet&)p);
110✔
1496
}
110✔
1497
template <>
1498
SCORE_LIB_PROCESS_EXPORT void
1499
DataStreamWriter::write(Process::XYZSpinboxes& p)
×
1500
{
1501
}
×
1502
template <>
1503
SCORE_LIB_PROCESS_EXPORT void
1504
JSONReader::read(const Process::XYZSpinboxes& p)
110✔
1505
{
1506
  read((const Process::ControlInlet&)p);
110✔
1507
}
110✔
1508
template <>
1509
SCORE_LIB_PROCESS_EXPORT void
1510
JSONWriter::write(Process::XYZSpinboxes& p)
×
1511
{
1512
}
×
1513

1514
template <>
1515
SCORE_LIB_PROCESS_EXPORT void
1516
DataStreamReader::read(const Process::MultiSlider& p)
4✔
1517
{
1518
  read((const Process::ControlInlet&)p);
4✔
1519
}
4✔
1520
template <>
1521
SCORE_LIB_PROCESS_EXPORT void
1522
DataStreamWriter::write(Process::MultiSlider& p)
×
1523
{
1524
}
×
1525
template <>
1526
SCORE_LIB_PROCESS_EXPORT void
1527
JSONReader::read(const Process::MultiSlider& p)
4✔
1528
{
1529
  read((const Process::ControlInlet&)p);
4✔
1530
}
4✔
1531
template <>
1532
SCORE_LIB_PROCESS_EXPORT void
1533
JSONWriter::write(Process::MultiSlider& p)
×
1534
{
1535
}
×
1536

1537
template <>
1538
SCORE_LIB_PROCESS_EXPORT void
1539
DataStreamReader::read(const Process::MultiSliderXY& p)
2✔
1540
{
1541
  read((const Process::ControlInlet&)p);
2✔
1542
}
2✔
1543
template <>
1544
SCORE_LIB_PROCESS_EXPORT void
1545
DataStreamWriter::write(Process::MultiSliderXY& p)
×
1546
{
1547
}
×
1548
template <>
1549
SCORE_LIB_PROCESS_EXPORT void
1550
JSONReader::read(const Process::MultiSliderXY& p)
2✔
1551
{
1552
  read((const Process::ControlInlet&)p);
2✔
1553
}
2✔
1554
template <>
1555
SCORE_LIB_PROCESS_EXPORT void
1556
JSONWriter::write(Process::MultiSliderXY& p)
×
1557
{
1558
}
×
1559

1560

1561
template <>
1562
SCORE_LIB_PROCESS_EXPORT void
1563
DataStreamReader::read(const Process::PathGeneratorXY& p)
2✔
1564
{
1565
  read((const Process::ControlInlet&)p);
2✔
1566
}
2✔
1567
template <>
1568
SCORE_LIB_PROCESS_EXPORT void
1569
DataStreamWriter::write(Process::PathGeneratorXY& p)
×
1570
{
1571
}
×
1572
template <>
1573
SCORE_LIB_PROCESS_EXPORT void
1574
JSONReader::read(const Process::PathGeneratorXY& p)
2✔
1575
{
1576
  read((const Process::ControlInlet&)p);
2✔
1577
}
2✔
1578
template <>
1579
SCORE_LIB_PROCESS_EXPORT void
1580
JSONWriter::write(Process::PathGeneratorXY& p)
×
1581
{
1582
}
×
1583

1584
template <>
1585
SCORE_LIB_PROCESS_EXPORT void
1586
DataStreamReader::read(const Process::Bargraph& p)
4✔
1587
{
1588
  read((const Process::ControlOutlet&)p);
4✔
1589
}
4✔
1590
template <>
1591
SCORE_LIB_PROCESS_EXPORT void
1592
DataStreamWriter::write(Process::Bargraph& p)
×
1593
{
1594
}
×
1595
template <>
1596
SCORE_LIB_PROCESS_EXPORT void
1597
JSONReader::read(const Process::Bargraph& p)
4✔
1598
{
1599
  read((const Process::ControlOutlet&)p);
4✔
1600
}
4✔
1601
template <>
1602
SCORE_LIB_PROCESS_EXPORT void JSONWriter::write(Process::Bargraph& p)
×
1603
{
1604
}
×
1605

1606
template <>
1607
SCORE_LIB_PROCESS_EXPORT void DataStreamReader::read(const QString& p)
896✔
1608
{
1609
  m_stream << p;
896✔
1610
}
896✔
1611
template <>
1612
SCORE_LIB_PROCESS_EXPORT void DataStreamWriter::write(QString& p)
416✔
1613
{
1614
  m_stream >> p;
416✔
1615
}
416✔
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc