[PATCH v1] apps: cam: Highlight default enumerator
Jacopo Mondi
jacopo.mondi at ideasonboard.com
Mon Mar 17 19:56:16 CET 2025
Hi Barnabás
On Mon, Mar 17, 2025 at 07:11:41PM +0100, Barnabás Pőcze wrote:
> Print "[default]" after the default enumerator when listing controls.
>
> Example:
>
> $ cam -c 1 --list-controls
> [...]
> Control: [inout] libcamera::ExposureTimeMode:
> - ExposureTimeModeAuto (0) [default]
> - ExposureTimeModeManual (1)
>
> Signed-off-by: Barnabás Pőcze <barnabas.pocze at ideasonboard.com>
Seems like a nice idea
Reviewed-by: Jacopo Mondi <jacopo.mondi at ideasonboard.com>
Thanks
j
> ---
> src/apps/cam/camera_session.cpp | 11 ++++++++++-
> 1 file changed, 10 insertions(+), 1 deletion(-)
>
> diff --git a/src/apps/cam/camera_session.cpp b/src/apps/cam/camera_session.cpp
> index 9e9348277..8a555339c 100644
> --- a/src/apps/cam/camera_session.cpp
> +++ b/src/apps/cam/camera_session.cpp
> @@ -8,6 +8,7 @@
> #include <iomanip>
> #include <iostream>
> #include <limits.h>
> +#include <optional>
> #include <sstream>
>
> #include <libcamera/control_ids.h>
> @@ -173,6 +174,11 @@ void CameraSession::listControls() const
> std::cout << "Control: " << io.str()
> << id->vendor() << "::" << id->name() << ":"
> << std::endl;
> +
> + std::optional<int32_t> def;
> + if (!info.def().isNone())
> + def = info.def().get<int32_t>();
> +
> for (const auto &value : info.values()) {
> int32_t val = value.get<int32_t>();
> const auto &it = id->enumerators().find(val);
> @@ -182,7 +188,10 @@ void CameraSession::listControls() const
> std::cout << "UNKNOWN";
> else
> std::cout << it->second;
> - std::cout << " (" << val << ")" << std::endl;
> +
> + std::cout << " (" << val << ")"
> + << (val == def ? " [default]" : "")
> + << std::endl;
> }
> }
>
> --
> 2.49.0
>
More information about the libcamera-devel
mailing list