| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 | 
							- #pragma once
 
- #include <obs.hpp>
 
- #include <util/platform.h>
 
- #include <obs-frontend-api.h>
 
- #include <QPointer>
 
- #include <QWidget>
 
- #include <QTimer>
 
- #include <QLabel>
 
- #include <QList>
 
- class QGridLayout;
 
- class QCloseEvent;
 
- class OBSBasicStats : public QFrame {
 
- 	Q_OBJECT
 
- 	QLabel *fps = nullptr;
 
- 	QLabel *cpuUsage = nullptr;
 
- 	QLabel *hddSpace = nullptr;
 
- 	QLabel *recordTimeLeft = nullptr;
 
- 	QLabel *memUsage = nullptr;
 
- 	QLabel *renderTime = nullptr;
 
- 	QLabel *skippedFrames = nullptr;
 
- 	QLabel *missedFrames = nullptr;
 
- 	QGridLayout *outputLayout = nullptr;
 
- 	os_cpu_usage_info_t *cpu_info = nullptr;
 
- 	QTimer timer;
 
- 	QTimer recTimeLeft;
 
- 	uint64_t num_bytes = 0;
 
- 	std::vector<long double> bitrates;
 
- 	struct OutputLabels {
 
- 		QPointer<QLabel> name;
 
- 		QPointer<QLabel> status;
 
- 		QPointer<QLabel> droppedFrames;
 
- 		QPointer<QLabel> megabytesSent;
 
- 		QPointer<QLabel> bitrate;
 
- 		uint64_t lastBytesSent = 0;
 
- 		uint64_t lastBytesSentTime = 0;
 
- 		int first_total = 0;
 
- 		int first_dropped = 0;
 
- 		void Update(obs_output_t *output, bool rec);
 
- 		void Reset(obs_output_t *output);
 
- 		long double kbps = 0.0l;
 
- 	};
 
- 	QList<OutputLabels> outputLabels;
 
- 	void AddOutputLabels(QString name);
 
- 	void Update();
 
- 	virtual void closeEvent(QCloseEvent *event) override;
 
- 	static void OBSFrontendEvent(enum obs_frontend_event event, void *ptr);
 
- public:
 
- 	OBSBasicStats(QWidget *parent = nullptr, bool closable = true);
 
- 	~OBSBasicStats();
 
- 	static void InitializeValues();
 
- 	void StartRecTimeLeft();
 
- 	void ResetRecTimeLeft();
 
- private:
 
- 	QPointer<QObject> shortcutFilter;
 
- private slots:
 
- 	void RecordingTimeLeft();
 
- public slots:
 
- 	void Reset();
 
- protected:
 
- 	virtual void showEvent(QShowEvent *event) override;
 
- 	virtual void hideEvent(QHideEvent *event) override;
 
- };
 
 
  |