diff options
author | Barnabás Pőcze <barnabas.pocze@ideasonboard.com> | 2025-03-14 16:55:19 +0100 |
---|---|---|
committer | Barnabás Pőcze <barnabas.pocze@ideasonboard.com> | 2025-03-21 16:40:50 +0100 |
commit | 90208694c8c0652eb12407c016a649333a64f990 (patch) | |
tree | 714ff4f6a76c4c5fb517a747a306b7cc00e3790d /src/apps | |
parent | fbb67a73c44890fbeb1d643cb1d772f29c538424 (diff) |
apps: cam: Highlight default enumerator
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@ideasonboard.com>
Reviewed-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com>
Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
Diffstat (limited to 'src/apps')
-rw-r--r-- | src/apps/cam/camera_session.cpp | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/apps/cam/camera_session.cpp b/src/apps/cam/camera_session.cpp index a352494b..97c1ae44 100644 --- a/src/apps/cam/camera_session.cpp +++ b/src/apps/cam/camera_session.cpp @@ -10,6 +10,7 @@ #include <iomanip> #include <iostream> #include <limits.h> +#include <optional> #include <sstream> #include <libcamera/control_ids.h> @@ -174,6 +175,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); @@ -183,7 +189,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; } } |