[{"id":31171,"web_url":"https://patchwork.libcamera.org/comment/31171/","msgid":"<172607040052.1037309.11203864450591348773@ping.linuxembedded.co.uk>","date":"2024-09-11T16:00:00","subject":"Re: [PATCH 2/2] apps: cam: Print control array sizes","submitter":{"id":4,"url":"https://patchwork.libcamera.org/api/people/4/","name":"Kieran Bingham","email":"kieran.bingham@ideasonboard.com"},"content":"Quoting Paul Elder (2024-09-11 16:35:23)\n> Now that controls can be queried for array information, print it in\n> --list-controls when applicable.\n> \n> Signed-off-by: Paul Elder <paul.elder@ideasonboard.com>\n> ---\n>  src/apps/cam/camera_session.cpp | 5 +++++\n>  1 file changed, 5 insertions(+)\n> \n> diff --git a/src/apps/cam/camera_session.cpp b/src/apps/cam/camera_session.cpp\n> index 37de6c9f3..9c7f84993 100644\n> --- a/src/apps/cam/camera_session.cpp\n> +++ b/src/apps/cam/camera_session.cpp\n> @@ -169,6 +169,11 @@ void CameraSession::listControls() const\n>                                 std::cout << \"  - \" << id->enumToString(val) << \" (\" << val << \")\" << std::endl;\n>                         }\n>                 }\n> +\n> +               if (id->isArray()) {\n> +                       std::size_t size = id->size();\n> +                       std::cout << \"   Size: \" << (size == std::numeric_limits<std::size_t>::max() ? \"n\" : std::to_string(size)) << std::endl;\n\nThat's a long line... but it doesn't break down easily ...\n\n\t\tstd::cout << \"   Size: \"\n\t\t\t  << (size == std::numeric_limits<std::size_t>::max() ? \"n\" : std::to_string(size))\n\t\t\t  << std::endl;\nbut maybe that doesn't help much.\n\nEither way, printing the control information is very helpful. And I'm\nlooking forward to when applciations can use this to interogate the\ncontrols from UI implementations or otherwise at runtime.\n\nReviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\n\n\n> +               }\n>         }\n>  }\n>  \n> -- \n> 2.39.2\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 06422C324C\n\tfor <parsemail@patchwork.libcamera.org>;\n\tWed, 11 Sep 2024 16:00:07 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 2264D634FC;\n\tWed, 11 Sep 2024 18:00:06 +0200 (CEST)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[IPv6:2001:4b98:dc2:55:216:3eff:fef7:d647])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 0C792618FB\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed, 11 Sep 2024 18:00:04 +0200 (CEST)","from pendragon.ideasonboard.com\n\t(cpc89244-aztw30-2-0-cust6594.18-1.cable.virginm.net [86.31.185.195])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id E703CBEB;\n\tWed, 11 Sep 2024 17:58:45 +0200 (CEST)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"Q7ZAX5pN\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1726070326;\n\tbh=qPI3pjdJxpmZLCi2HcpGyxbCQNHOyEkqJfPnpWYoBqA=;\n\th=In-Reply-To:References:Subject:From:Cc:To:Date:From;\n\tb=Q7ZAX5pNd7cOYeC2cbMk0HZ+6/taV/TMAG333DMS+a+5p29fwd49slErhd/f4oRlb\n\tTuOOUxBk8z6MMQtb4IdacZMB6sSZXl4eK5A7wmFAGyGPnKwKX51R39gT2fKZi6f3lV\n\tQ6F2Hofd5piYvBohWCK1hE3KPcvf6fF7Nz+AmGeo=","Content-Type":"text/plain; charset=\"utf-8\"","MIME-Version":"1.0","Content-Transfer-Encoding":"quoted-printable","In-Reply-To":"<20240911153523.1756554-3-paul.elder@ideasonboard.com>","References":"<20240911153523.1756554-1-paul.elder@ideasonboard.com>\n\t<20240911153523.1756554-3-paul.elder@ideasonboard.com>","Subject":"Re: [PATCH 2/2] apps: cam: Print control array sizes","From":"Kieran Bingham <kieran.bingham@ideasonboard.com>","Cc":"Paul Elder <paul.elder@ideasonboard.com>","To":"Paul Elder <paul.elder@ideasonboard.com>,\n\tlibcamera-devel@lists.libcamera.org","Date":"Wed, 11 Sep 2024 17:00:00 +0100","Message-ID":"<172607040052.1037309.11203864450591348773@ping.linuxembedded.co.uk>","User-Agent":"alot/0.10","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>","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}}]