Message ID | 20220627030159.30730-4-utkarsh02t@gmail.com |
---|---|
State | Superseded |
Headers | show |
Series |
|
Related | show |
Quoting Utkarsh Tiwari via libcamera-devel (2022-06-27 04:01:59) > Add --script as an individual option to load capture scripts. > Load the capture script before starting the capture. > > If an invalid capture script has been given, show error > but start the capture without the script. I think this is reasonable behaviour for the test app. Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com> > > Signed-off-by: Utkarsh Tiwari <utkarsh02t@gmail.com> > --- > src/qcam/main.cpp | 3 +++ > src/qcam/main_window.cpp | 14 ++++++++++++++ > src/qcam/main_window.h | 1 + > 3 files changed, 18 insertions(+) > > diff --git a/src/qcam/main.cpp b/src/qcam/main.cpp > index d3f01a85..91166be5 100644 > --- a/src/qcam/main.cpp > +++ b/src/qcam/main.cpp > @@ -43,6 +43,9 @@ OptionsParser::Options parseOptions(int argc, char *argv[]) > "Set configuration of a camera stream", "stream", true); > parser.addOption(OptVerbose, OptionNone, > "Print verbose log messages", "verbose"); > + parser.addOption(OptCaptureScript, OptionString, > + "Load a capture session configuration script from a file", > + "script", ArgumentRequired, "script"); > > OptionsParser::Options options = parser.parse(argc, argv); > if (options.isSet(OptHelp)) > diff --git a/src/qcam/main_window.cpp b/src/qcam/main_window.cpp > index e133b618..8e6bde32 100644 > --- a/src/qcam/main_window.cpp > +++ b/src/qcam/main_window.cpp > @@ -151,6 +151,20 @@ MainWindow::MainWindow(CameraManager *cm, const OptionsParser::Options &options) > return; > } > > + if (options_.isSet(OptCaptureScript)) { > + std::string scriptName = options_[OptCaptureScript].toString(); > + script_ = std::make_unique<CaptureScript>(camera_, scriptName); > + if (!script_->valid()) { > + QMessageBox::critical(this, "Invalid Script", > + "Couldn't load the capture script"); > + script_.reset(); > + } > + > + /* Show stopping availability. */ > + scriptExecAction_->setIcon(QIcon(":x-square.svg")); > + scriptExecAction_->setText("Stop Script execution"); > + } > + > startStopAction_->setChecked(true); > } > > diff --git a/src/qcam/main_window.h b/src/qcam/main_window.h > index 2cdf7169..4d19ab64 100644 > --- a/src/qcam/main_window.h > +++ b/src/qcam/main_window.h > @@ -42,6 +42,7 @@ enum { > OptRenderer = 'r', > OptStream = 's', > OptVerbose = 'v', > + OptCaptureScript = 256, > }; > > class MainWindow : public QMainWindow > -- > 2.25.1 >
diff --git a/src/qcam/main.cpp b/src/qcam/main.cpp index d3f01a85..91166be5 100644 --- a/src/qcam/main.cpp +++ b/src/qcam/main.cpp @@ -43,6 +43,9 @@ OptionsParser::Options parseOptions(int argc, char *argv[]) "Set configuration of a camera stream", "stream", true); parser.addOption(OptVerbose, OptionNone, "Print verbose log messages", "verbose"); + parser.addOption(OptCaptureScript, OptionString, + "Load a capture session configuration script from a file", + "script", ArgumentRequired, "script"); OptionsParser::Options options = parser.parse(argc, argv); if (options.isSet(OptHelp)) diff --git a/src/qcam/main_window.cpp b/src/qcam/main_window.cpp index e133b618..8e6bde32 100644 --- a/src/qcam/main_window.cpp +++ b/src/qcam/main_window.cpp @@ -151,6 +151,20 @@ MainWindow::MainWindow(CameraManager *cm, const OptionsParser::Options &options) return; } + if (options_.isSet(OptCaptureScript)) { + std::string scriptName = options_[OptCaptureScript].toString(); + script_ = std::make_unique<CaptureScript>(camera_, scriptName); + if (!script_->valid()) { + QMessageBox::critical(this, "Invalid Script", + "Couldn't load the capture script"); + script_.reset(); + } + + /* Show stopping availability. */ + scriptExecAction_->setIcon(QIcon(":x-square.svg")); + scriptExecAction_->setText("Stop Script execution"); + } + startStopAction_->setChecked(true); } diff --git a/src/qcam/main_window.h b/src/qcam/main_window.h index 2cdf7169..4d19ab64 100644 --- a/src/qcam/main_window.h +++ b/src/qcam/main_window.h @@ -42,6 +42,7 @@ enum { OptRenderer = 'r', OptStream = 's', OptVerbose = 'v', + OptCaptureScript = 256, }; class MainWindow : public QMainWindow
Add --script as an individual option to load capture scripts. Load the capture script before starting the capture. If an invalid capture script has been given, show error but start the capture without the script. Signed-off-by: Utkarsh Tiwari <utkarsh02t@gmail.com> --- src/qcam/main.cpp | 3 +++ src/qcam/main_window.cpp | 14 ++++++++++++++ src/qcam/main_window.h | 1 + 3 files changed, 18 insertions(+)