summaryrefslogtreecommitdiff
path: root/src/apps/cam
diff options
context:
space:
mode:
authorBarnabás Pőcze <barnabas.pocze@ideasonboard.com>2025-03-14 16:55:19 +0100
committerBarnabás Pőcze <barnabas.pocze@ideasonboard.com>2025-03-21 16:40:50 +0100
commit90208694c8c0652eb12407c016a649333a64f990 (patch)
tree714ff4f6a76c4c5fb517a747a306b7cc00e3790d /src/apps/cam
parentfbb67a73c44890fbeb1d643cb1d772f29c538424 (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/cam')
-rw-r--r--src/apps/cam/camera_session.cpp11
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;
}
}