mirror of
				https://github.com/hyperion-project/hyperion.ng.git
				synced 2025-03-01 10:33:28 +00:00 
			
		
		
		
	* Allow to enable/disable suspend & lock event handling * Fix Windows * Refactor event handling incl.CEC * Revert "Auxiliary commit to revert individual files from 0d9a8b8a3a4a09609a339f54c7d8a9384c561282" This reverts commit 80737d926ad151a07b2493dd1685ed502975cb2e. * Support Events for Grabbers generically * Have CECEvent to actions configurable, further clean-ups * Remove handleEvent from V4L2grabber, as grabber will be stopped on suspend * Validate that one CEC Event can only trigger one action * MacOS lock/unlock added * fast windows fix * Corrections * Fix CodeQL findings * add macos lock/unlock handler * Migration of CEC-config and have default actions * Correct target_link_libraries * Include Foundation * macOS include AppKit * Support Scheduled Events, cleanups. * Fix destructing * Fix coredump during free * Consider additional error sceanrio * Fix missing code * install desktop icons * correct bash logic --------- Co-authored-by: Paulchen-Panther <16664240+Paulchen-Panther@users.noreply.github.com>
		
			
				
	
	
		
			40 lines
		
	
	
		
			817 B
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			40 lines
		
	
	
		
			817 B
		
	
	
	
		
			C++
		
	
	
	
	
	
#pragma once
 | 
						|
 | 
						|
#include <HyperionConfig.h> // Required to determine the cmake options
 | 
						|
#include <hyperion/GrabberWrapper.h>
 | 
						|
 | 
						|
#if defined(ENABLE_MF)
 | 
						|
	#include <grabber/video/mediafoundation/MFGrabber.h>
 | 
						|
#elif defined(ENABLE_V4L2)
 | 
						|
	#include <grabber/video/v4l2/V4L2Grabber.h>
 | 
						|
#endif
 | 
						|
 | 
						|
class VideoWrapper : public GrabberWrapper
 | 
						|
{
 | 
						|
	Q_OBJECT
 | 
						|
 | 
						|
public:
 | 
						|
	VideoWrapper();
 | 
						|
	~VideoWrapper() override;
 | 
						|
 | 
						|
public slots:
 | 
						|
	bool start() override;
 | 
						|
	void stop() override;
 | 
						|
 | 
						|
	void handleSettingsUpdate(settings::type type, const QJsonDocument& config) override;
 | 
						|
 | 
						|
private slots:
 | 
						|
	void newFrame(const Image<ColorRgb> & image);
 | 
						|
	void readError(const char* err);
 | 
						|
 | 
						|
	void action() override;
 | 
						|
 | 
						|
private:
 | 
						|
	/// The Media Foundation or V4L2 grabber
 | 
						|
#if defined(ENABLE_MF)
 | 
						|
	MFGrabber _grabber;
 | 
						|
#elif defined(ENABLE_V4L2)
 | 
						|
	V4L2Grabber _grabber;
 | 
						|
#endif
 | 
						|
};
 |