mirror of
https://github.com/hyperion-project/hyperion.ng.git
synced 2023-10-10 13:36:59 +02:00
add framerate parameter to X11 grabber application
Former-commit-id: b8f2bdb5c3e376a4505eec46204efe46dce1a6d9
This commit is contained in:
parent
d89f504d83
commit
0fd25285a6
@ -2,10 +2,13 @@
|
|||||||
// Hyperion-X11 includes
|
// Hyperion-X11 includes
|
||||||
#include "X11Wrapper.h"
|
#include "X11Wrapper.h"
|
||||||
|
|
||||||
X11Wrapper::X11Wrapper(const unsigned cropHorizontal, const unsigned cropVertical, const unsigned pixelDecimation) :
|
X11Wrapper::X11Wrapper(int grabInterval, const unsigned cropHorizontal, const unsigned cropVertical, const unsigned pixelDecimation) :
|
||||||
_timer(this),
|
_timer(this),
|
||||||
_grabber(cropHorizontal, cropVertical, pixelDecimation)
|
_grabber(cropHorizontal, cropVertical, pixelDecimation)
|
||||||
{
|
{
|
||||||
|
_timer.setSingleShot(false);
|
||||||
|
_timer.setInterval(grabInterval);
|
||||||
|
|
||||||
// Connect capturing to the timeout signal of the timer
|
// Connect capturing to the timeout signal of the timer
|
||||||
connect(&_timer, SIGNAL(timeout()), this, SLOT(capture()));
|
connect(&_timer, SIGNAL(timeout()), this, SLOT(capture()));
|
||||||
}
|
}
|
||||||
@ -18,7 +21,7 @@ const Image<ColorRgb> & X11Wrapper::getScreenshot()
|
|||||||
|
|
||||||
void X11Wrapper::start()
|
void X11Wrapper::start()
|
||||||
{
|
{
|
||||||
_timer.start(100);
|
_timer.start();
|
||||||
}
|
}
|
||||||
|
|
||||||
void X11Wrapper::stop()
|
void X11Wrapper::stop()
|
||||||
|
@ -9,7 +9,7 @@ class X11Wrapper : public QObject
|
|||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
public:
|
public:
|
||||||
X11Wrapper(const unsigned cropHorizontal, const unsigned cropVertical, const unsigned pixelDecimation);
|
X11Wrapper(int grabInterval, const unsigned cropHorizontal, const unsigned cropVertical, const unsigned pixelDecimation);
|
||||||
|
|
||||||
const Image<ColorRgb> & getScreenshot();
|
const Image<ColorRgb> & getScreenshot();
|
||||||
|
|
||||||
|
@ -29,6 +29,7 @@ int main(int argc, char ** argv)
|
|||||||
OptionsParser optionParser("X11 capture application for Hyperion");
|
OptionsParser optionParser("X11 capture application for Hyperion");
|
||||||
ParameterSet & parameters = optionParser.getParameters();
|
ParameterSet & parameters = optionParser.getParameters();
|
||||||
|
|
||||||
|
IntParameter & argFps = parameters.add<IntParameter> ('f', "framerate", "Cpture frame rate [default=10]");
|
||||||
IntParameter & argCropWidth = parameters.add<IntParameter> (0x0, "crop-width", "Number of pixels to crop from the left and right sides in the picture before decimation [default=0]");
|
IntParameter & argCropWidth = parameters.add<IntParameter> (0x0, "crop-width", "Number of pixels to crop from the left and right sides in the picture before decimation [default=0]");
|
||||||
IntParameter & argCropHeight = parameters.add<IntParameter> (0x0, "crop-height", "Number of pixels to crop from the top and the bottom in the picture before decimation [default=0]");
|
IntParameter & argCropHeight = parameters.add<IntParameter> (0x0, "crop-height", "Number of pixels to crop from the top and the bottom in the picture before decimation [default=0]");
|
||||||
IntParameter & argSizeDecimation = parameters.add<IntParameter> ('s', "size-decimator", "Decimation factor for the output size [default=16]");
|
IntParameter & argSizeDecimation = parameters.add<IntParameter> ('s', "size-decimator", "Decimation factor for the output size [default=16]");
|
||||||
@ -39,6 +40,7 @@ int main(int argc, char ** argv)
|
|||||||
SwitchParameter<> & argHelp = parameters.add<SwitchParameter<>> ('h', "help", "Show this help message and exit");
|
SwitchParameter<> & argHelp = parameters.add<SwitchParameter<>> ('h', "help", "Show this help message and exit");
|
||||||
|
|
||||||
// set defaults
|
// set defaults
|
||||||
|
argFps.setDefault(10);
|
||||||
argCropWidth.setDefault(0);
|
argCropWidth.setDefault(0);
|
||||||
argCropHeight.setDefault(0);
|
argCropHeight.setDefault(0);
|
||||||
argSizeDecimation.setDefault(16);
|
argSizeDecimation.setDefault(16);
|
||||||
@ -56,7 +58,8 @@ int main(int argc, char ** argv)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Create the X11 grabbing stuff
|
// Create the X11 grabbing stuff
|
||||||
X11Wrapper x11Wrapper(argCropWidth.getValue(), argCropHeight.getValue(), argSizeDecimation.getValue());
|
int grabInterval = 1000 / argFps.getValue();
|
||||||
|
X11Wrapper x11Wrapper(grabInterval, argCropWidth.getValue(), argCropHeight.getValue(), argSizeDecimation.getValue());
|
||||||
|
|
||||||
if (argScreenshot.isSet())
|
if (argScreenshot.isSet())
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user