[{"id":23714,"web_url":"https://patchwork.libcamera.org/comment/23714/","msgid":"<165669625140.1516045.16120657019680841055@Monstersaurus>","date":"2022-07-01T17:24:11","subject":"Re: [libcamera-devel] [PATCH v3 3/3] qcam: Add --script to load\n\tcapture script","submitter":{"id":4,"url":"https://patchwork.libcamera.org/api/people/4/","name":"Kieran Bingham","email":"kieran.bingham@ideasonboard.com"},"content":"Quoting Utkarsh Tiwari via libcamera-devel (2022-06-27 04:01:59)\n> Add --script as an individual option to load capture scripts.\n> Load the capture script before starting the capture.\n> \n> If an invalid capture script has been given, show error\n> but start the capture without the script.\n\nI think this is reasonable behaviour for the test app.\n\nReviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\n\n> \n> Signed-off-by: Utkarsh Tiwari <utkarsh02t@gmail.com>\n> ---\n>  src/qcam/main.cpp        |  3 +++\n>  src/qcam/main_window.cpp | 14 ++++++++++++++\n>  src/qcam/main_window.h   |  1 +\n>  3 files changed, 18 insertions(+)\n> \n> diff --git a/src/qcam/main.cpp b/src/qcam/main.cpp\n> index d3f01a85..91166be5 100644\n> --- a/src/qcam/main.cpp\n> +++ b/src/qcam/main.cpp\n> @@ -43,6 +43,9 @@ OptionsParser::Options parseOptions(int argc, char *argv[])\n>                          \"Set configuration of a camera stream\", \"stream\", true);\n>         parser.addOption(OptVerbose, OptionNone,\n>                          \"Print verbose log messages\", \"verbose\");\n> +       parser.addOption(OptCaptureScript, OptionString,\n> +                        \"Load a capture session configuration script from a file\",\n> +                        \"script\", ArgumentRequired, \"script\");\n>  \n>         OptionsParser::Options options = parser.parse(argc, argv);\n>         if (options.isSet(OptHelp))\n> diff --git a/src/qcam/main_window.cpp b/src/qcam/main_window.cpp\n> index e133b618..8e6bde32 100644\n> --- a/src/qcam/main_window.cpp\n> +++ b/src/qcam/main_window.cpp\n> @@ -151,6 +151,20 @@ MainWindow::MainWindow(CameraManager *cm, const OptionsParser::Options &options)\n>                 return;\n>         }\n>  \n> +       if (options_.isSet(OptCaptureScript)) {\n> +               std::string scriptName = options_[OptCaptureScript].toString();\n> +               script_ = std::make_unique<CaptureScript>(camera_, scriptName);\n> +               if (!script_->valid()) {\n> +                       QMessageBox::critical(this, \"Invalid Script\",\n> +                                             \"Couldn't load the capture script\");\n> +                       script_.reset();\n> +               }\n> +\n> +               /* Show stopping availability. */\n> +               scriptExecAction_->setIcon(QIcon(\":x-square.svg\"));\n> +               scriptExecAction_->setText(\"Stop Script execution\");\n> +       }\n> +\n>         startStopAction_->setChecked(true);\n>  }\n>  \n> diff --git a/src/qcam/main_window.h b/src/qcam/main_window.h\n> index 2cdf7169..4d19ab64 100644\n> --- a/src/qcam/main_window.h\n> +++ b/src/qcam/main_window.h\n> @@ -42,6 +42,7 @@ enum {\n>         OptRenderer = 'r',\n>         OptStream = 's',\n>         OptVerbose = 'v',\n> +       OptCaptureScript = 256,\n>  };\n>  \n>  class MainWindow : public QMainWindow\n> -- \n> 2.25.1\n>","headers":{"Return-Path":"<libcamera-devel-bounces@lists.libcamera.org>","X-Original-To":"parsemail@patchwork.libcamera.org","Delivered-To":"parsemail@patchwork.libcamera.org","Received":["from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id 4D2D4BD808\n\tfor <parsemail@patchwork.libcamera.org>;\n\tFri,  1 Jul 2022 17:24:16 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id BB3C365632;\n\tFri,  1 Jul 2022 19:24:15 +0200 (CEST)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 3B5AA60552\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri,  1 Jul 2022 19:24:14 +0200 (CEST)","from pendragon.ideasonboard.com\n\t(cpc89244-aztw30-2-0-cust3082.18-1.cable.virginm.net [86.31.172.11])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id B4C9925C;\n\tFri,  1 Jul 2022 19:24:13 +0200 (CEST)"],"DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1656696255;\n\tbh=LwUs/hCMG+vWqQuW0J8Nl1xkkdT/Qrye5ZFes0yeB5k=;\n\th=In-Reply-To:References:To:Date:Subject:List-Id:List-Unsubscribe:\n\tList-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:\n\tFrom;\n\tb=LSJy1ADrWibbtORsKwLI12PRv9IAHjJGiNevuwfub1Z9t6VpsiPf1AUWVSrXaBvCa\n\tOSEIEWu/tlIggmhj6IQQn/ZFDd5JjFxEfrlv5eB5vndqQHPS/BbYakL1k+yyxknnky\n\tdNoEutADBN54hNhMQlqHqkVbYJQ2uhJ+gRid3oqGOGaiQr0y33IVCVnQbInz0g28oy\n\tn+z4aB11UVG+y3SWBSmdgHr8drRvNoI5V3e6SSVDec0N8/YcdqPvGWEvFxFOHedZ/F\n\t5XUSKgtfEAKu6sgRDIVdt/7invLSj66TGGHcKnZu+CmgcDafHk1mvbns0RJUwPXQ24\n\tTnVReZ8cWbOxw==","v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1656696253;\n\tbh=LwUs/hCMG+vWqQuW0J8Nl1xkkdT/Qrye5ZFes0yeB5k=;\n\th=In-Reply-To:References:Subject:From:To:Date:From;\n\tb=AWJoBuqMYJ6zNrIq7lr0vVZSQiiaKRK3iDY5PNW7vOOzG2DeOAb7RYFEjcZsHalix\n\tiwb6oSHFXEiYeaNA8pn7YnNmgTQJnSidcPsH8ihFWhoCf2zqKRgrrR/ThTtsJj6RA3\n\tgC9Lvgmwmir12n0EPmId+ROlMdKz+S7DOGFz2X70="],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key; \n\tunprotected) header.d=ideasonboard.com\n\theader.i=@ideasonboard.com\n\theader.b=\"AWJoBuqM\"; dkim-atps=neutral","Content-Type":"text/plain; charset=\"utf-8\"","MIME-Version":"1.0","Content-Transfer-Encoding":"quoted-printable","In-Reply-To":"<20220627030159.30730-4-utkarsh02t@gmail.com>","References":"<20220627030159.30730-1-utkarsh02t@gmail.com>\n\t<20220627030159.30730-4-utkarsh02t@gmail.com>","To":"Utkarsh Tiwari <utkarsh02t@gmail.com>,\n\tlibcamera-devel@lists.libcamera.org","Date":"Fri, 01 Jul 2022 18:24:11 +0100","Message-ID":"<165669625140.1516045.16120657019680841055@Monstersaurus>","User-Agent":"alot/0.10","Subject":"Re: [libcamera-devel] [PATCH v3 3/3] qcam: Add --script to load\n\tcapture script","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","From":"Kieran Bingham via libcamera-devel\n\t<libcamera-devel@lists.libcamera.org>","Reply-To":"Kieran Bingham <kieran.bingham@ideasonboard.com>","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}}]