Kstars

sequencequeue.h
1/*
2 SPDX-FileCopyrightText: 2024 Hy Murveit <hy@murveit.com>
3
4 SPDX-License-Identifier: GPL-2.0-or-later
5*/
6
7#pragma once
8
9#include <QList>
10#include <QUrl>
11#include <QString>
12#include "sequencejob.h"
13
14/**
15 * @class SequenceJob
16 * @short SequenceQueue represents a sequence of capture jobs to be executed
17 * by the capture module.
18 *
19 * @author Hy Murveit
20 * @version 1.0
21 */
22namespace Ekos
23{
24
25class SequenceJob;
26class CaptureDeviceAdaptor;
27class CaptureModuleState;
28
29class SequenceQueue : public QObject
30{
32
33 public:
34 SequenceQueue() {}
35
36 bool load(const QString &fileURL, const QString &targetName,
39
40 bool save(const QString &path, const QString &observerName);
41
42 void setOptions();
43 void loadOptions();
44
45 QList<SequenceJob *> &allJobs()
46 {
47 return m_allJobs;
48 }
49 const QUrl &sequenceURL() const
50 {
51 return m_SequenceURL;
52 }
53 void setSequenceURL(const QUrl &newSequenceURL)
54 {
55 m_SequenceURL = newSequenceURL;
56 }
57 bool getEnforceGuideDeviation()
58 {
59 return m_EnforceGuideDeviation;
60 }
61 void setEnforceGuideDeviation(bool value)
62 {
63 m_EnforceGuideDeviation = value;
64 }
65 double getGuideDeviation()
66 {
67 return m_GuideDeviation;
68 }
69 void setGuideDeviation(double value)
70 {
71 m_GuideDeviation = value;
72 }
73 bool getEnforceStartGuiderDrift()
74 {
75 return m_EnforceStartGuiderDrift;
76 }
77 void setEnforceStartGuiderDrift(bool value)
78 {
79 m_EnforceStartGuiderDrift = value;
80 }
81 double getStartGuideDeviation()
82 {
83 return m_StartGuideDeviation;
84 }
85 void setStartGuideDeviation(double value)
86 {
87 m_StartGuideDeviation = value;
88 }
89 bool getEnforceAutofocusHFR()
90 {
91 return m_EnforceAutofocusHFR;
92 }
93 void setEnforceAutofocusHFR(bool value)
94 {
95 m_EnforceAutofocusHFR = value;
96 }
97 double getHFRDeviation()
98 {
99 return m_HFRDeviation;
100 }
101 void setHFRDeviation(double value)
102 {
103 m_HFRDeviation = value;
104 }
105 bool getEnforceAutofocusOnTemperature()
106 {
107 return m_EnforceAutofocusOnTemperature;
108 }
109 void setEnforceAutofocusOnTemperature(bool value)
110 {
111 m_EnforceAutofocusOnTemperature = value;
112 }
113 double getMaxFocusTemperatureDelta()
114 {
115 return m_MaxFocusTemperatureDelta;
116 }
117 void setMaxFocusTemperatureDelta(double value)
118 {
119 m_MaxFocusTemperatureDelta = value;
120 }
121 bool getEnforceRefocusEveryN()
122 {
123 return m_EnforceRefocusEveryN;
124 }
125 void setEnforceRefocusEveryN(bool value)
126 {
127 m_EnforceRefocusEveryN = value;
128 }
129 double getRefocusEveryN()
130 {
131 return m_RefocusEveryN;
132 }
133 void setRefocusEveryN(double value)
134 {
135 m_RefocusEveryN = value;
136 }
137 bool getRefocusAfterMeridianFlip()
138 {
139 return m_RefocusAfterMeridianFlip;
140 }
141 void setRefocusAfterMeridianFlip(bool value)
142 {
143 m_RefocusAfterMeridianFlip = value;
144 }
145
146 signals:
147 void newLog(const QString &message);
148
149 private:
150
151 // list of all sequence jobs
152 QList<SequenceJob *> m_allJobs;
153 // URL where the sequence queue file is stored.
154 QUrl m_SequenceURL;
155
156 bool m_GuideDeviationSet { false };
157 bool m_EnforceGuideDeviation {false};
158 double m_GuideDeviation = 0;
159
160 bool m_GuideStartDeviationSet { false };
161 bool m_EnforceStartGuiderDrift {false};
162 double m_StartGuideDeviation = 0;
163
164 bool m_AutofocusSet { false };
165 bool m_EnforceAutofocusHFR { false };
166 HFR_CHECK_ALGORITHM m_HFRCheckAlgorithm { HFR_CHECK_LAST_AUTOFOCUS };
167 double m_HFRCheckThresholdPercentage = HFR_CHECK_DEFAULT_THRESHOLD;
168 int m_HFRCheckFrames = 1;
169 double m_HFRDeviation = 0;
170
171 bool m_RefocusOnTemperatureDeltaSet { false };
172 bool m_EnforceAutofocusOnTemperature { false };
173 double m_MaxFocusTemperatureDelta = 0;
174
175 bool m_RefocusEveryNSet { false };
176 bool m_EnforceRefocusEveryN { false };
177 double m_RefocusEveryN = 0;
178
179 bool m_RefocusOnMeridianFlipSet { false };
180 bool m_RefocusAfterMeridianFlip { false };
181};
182
183}
Sequence Job is a container for the details required to capture a series of images.
Ekos is an advanced Astrophotography tool for Linux.
Definition align.cpp:79
Q_OBJECTQ_OBJECT
This file is part of the KDE documentation.
Documentation copyright © 1996-2024 The KDE developers.
Generated on Fri May 3 2024 11:49:50 by doxygen 1.10.0 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.