-
Notifications
You must be signed in to change notification settings - Fork 28
/
qatemcameracontrol.h
68 lines (50 loc) · 2.17 KB
/
qatemcameracontrol.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
/*
Copyright 2015 Peter Simonsson <[email protected]>
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef QATEMCAMERACONTROL_H
#define QATEMCAMERACONTROL_H
#include "qatemtypes.h"
#include "libqatemcontrol_global.h"
#include <QObject>
class QAtemConnection;
class LIBQATEMCONTROLSHARED_EXPORT QAtemCameraControl : public QObject
{
Q_OBJECT
public:
explicit QAtemCameraControl(QAtemConnection *parent = nullptr);
~QAtemCameraControl();
QAtem::Camera *camera(quint8 input) const { return m_cameras[input - 1]; }
public slots:
void setFocus(quint8 input, quint16 focus);
void activeAutoFocus(quint8 input);
void setIris(quint8 input, quint16 iris);
void setZoomSpeed(quint8 input, qint16 zoom);
void setGain(quint8 input, quint16 gain);
void setWhiteBalance(quint8 input, quint16 wb);
void setShutter(quint8 input, quint16 shutter);
void setLift(quint8 input, float r, float g, float b, float y);
void setGamma(quint8 input, float r, float g, float b, float y);
void setGain(quint8 input, float r, float g, float b, float y);
void setContrast(quint8 input, quint8 contrast);
void setLumMix(quint8 input, quint8 mix);
void setHueSaturation(quint8 input, quint16 hue, quint8 saturation);
protected slots:
void onCCdP(const QByteArray& payload);
private:
void sendCCmd(quint8 input, quint8 hardware, quint8 command, bool append, quint8 valueType, QList<QAtem::U16_U8> values);
QAtemConnection *m_atemConnection;
QList<QAtem::Camera*> m_cameras;
signals:
void cameraChanged(quint8 input);
};
#endif // QATEMCAMERACONTROL_H