• 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

84.78
/src/plugins/score-lib-process/Process/ProcessModelSerialization.cpp
1
// This is an open source non-commercial project. Dear PVS-Studio, please check
2
// it. PVS-Studio Static Code Analyzer for C, C++ and C#: http://www.viva64.com
3
#include <Process/Process.hpp>
4
#include <Process/ProcessFactory.hpp>
5
#include <Process/ProcessList.hpp>
6
#include <Process/ProcessMimeSerialization.hpp>
7
#include <Process/TimeValue.hpp>
8
#include <Process/TimeValueSerialization.hpp>
9

10
#include <score/model/ModelMetadata.hpp>
11
#include <score/plugins/InterfaceList.hpp>
12
#include <score/plugins/StringFactoryKey.hpp>
13
#include <score/plugins/StringFactoryKeySerialization.hpp>
14
#include <score/serialization/DataStreamVisitor.hpp>
15
#include <score/serialization/JSONValueVisitor.hpp>
16
#include <score/serialization/JSONVisitor.hpp>
17

18
template <>
19
SCORE_LIB_PROCESS_EXPORT void DataStreamReader::read(const Process::ProcessData& process)
×
20
{
21
  m_stream << process.key << process.prettyName << process.customData;
×
22
}
×
23

24
// We only load the members of the process here.
25
template <>
26
SCORE_LIB_PROCESS_EXPORT void DataStreamWriter::write(Process::ProcessData& process)
×
27
{
28
  m_stream >> process.key >> process.prettyName >> process.customData;
×
29
}
×
30

31
template <>
32
SCORE_LIB_PROCESS_EXPORT void
33
DataStreamReader::read(const Process::ProcessModel& process)
973✔
34
{
35
  m_stream << process.m_duration << process.m_slotHeight << process.m_startOffset
973✔
36
           << process.m_loopDuration << process.m_position << process.m_size
973✔
37
           << process.m_loops << process.m_foldMode << process.m_scriptEditorPlacement
973✔
38
           << process.m_processUIPlacement;
973✔
39
}
973✔
40

41
// We only load the members of the process here.
42
template <>
43
SCORE_LIB_PROCESS_EXPORT void DataStreamWriter::write(Process::ProcessModel& process)
357✔
44
{
45
  m_stream >> process.m_duration >> process.m_slotHeight >> process.m_startOffset
357✔
46
      >> process.m_loopDuration >> process.m_position >> process.m_size
357✔
47
      >> process.m_loops >> process.m_foldMode >> process.m_scriptEditorPlacement
357✔
48
      >> process.m_processUIPlacement;
357✔
49
}
357✔
50

51
template <>
52
SCORE_LIB_PROCESS_EXPORT void JSONReader::read(const Process::ProcessModel& process)
753✔
53
{
54
  obj[strings.Duration] = process.duration();
753✔
55
  obj[strings.Height] = process.getSlotHeight();
753✔
56
  obj["StartOffset"] = process.startOffset();
753✔
57
  obj["LoopDuration"] = process.loopDuration();
753✔
58
  obj["Pos"] = process.m_position;
753✔
59
  obj["Size"] = process.m_size;
753✔
60
  obj["Loops"] = process.loops();
753✔
61
  obj["FoldMode"] = process.foldMode();
753✔
62
  if(!process.m_scriptEditorPlacement.isEmpty())
753✔
63
    obj["ScriptEditorPlacement"] = process.m_scriptEditorPlacement;
1✔
64
  if(!process.m_processUIPlacement.isEmpty())
753✔
65
    obj["ProcessUIPlacement"] = process.m_processUIPlacement;
1✔
66
}
753✔
67

68
template <>
69
SCORE_LIB_PROCESS_EXPORT void JSONWriter::write(Process::ProcessModel& process)
379✔
70
{
71
  process.m_duration <<= obj[strings.Duration];
379✔
72

73
  if(auto it = obj.tryGet(strings.Height))
379✔
74
    process.m_slotHeight = it->toDouble();
379✔
75
  else
76
    process.m_slotHeight = 300;
×
77

78
  assign_with_default(process.m_startOffset, obj.tryGet("StartOffset"), TimeVal::zero());
379✔
79
  assign_with_default(
379✔
80
      process.m_loopDuration, obj.tryGet("LoopDuration"), TimeVal::fromMsecs(1000));
81
  assign_with_default(process.m_loops, obj.tryGet("Loops"), false);
379✔
82
  assign_with_default(process.m_position, obj.tryGet("Pos"), QPointF{});
379✔
83
  assign_with_default(process.m_size, obj.tryGet("Size"), QSize(200, 200));
379✔
84

85
  // Absent from every document written before fold state was stored: those must
86
  // keep getting the heuristic, which is what Auto means.
87
  assign_with_default(
379✔
88
      process.m_foldMode, obj.tryGet("FoldMode"), Process::FoldMode::Auto);
89
  assign_with_default(
379✔
90
      process.m_scriptEditorPlacement, obj.tryGet("ScriptEditorPlacement"), QString{});
91
  assign_with_default(
379✔
92
      process.m_processUIPlacement, obj.tryGet("ProcessUIPlacement"), QString{});
93
}
379✔
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