Skip to content

Commit

Permalink
Merge branch 'beta' into meson
Browse files Browse the repository at this point in the history
  • Loading branch information
boltgolt authored Sep 5, 2023
2 parents a74ee5a + 13f59e0 commit 93a3d71
Show file tree
Hide file tree
Showing 4 changed files with 20 additions and 4 deletions.
1 change: 1 addition & 0 deletions howdy/debian/preinst
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@

import subprocess
import sys
import os

# Backup the config file if we're upgrading
if "upgrade" in sys.argv:
Expand Down
11 changes: 7 additions & 4 deletions howdy/src/cli/add.py
Original file line number Diff line number Diff line change
Expand Up @@ -76,13 +76,16 @@
# Set the default label
label = "Initial model"

# some id's can be skipped, but the last id is always the maximum
next_id = encodings[-1]["id"] + 1 if encodings else 0

# Get the label from the cli arguments if provided
if builtins.howdy_args.arguments:
label = builtins.howdy_args.arguments[0]

# If models already exist, set that default label
elif encodings:
label = _("Model #") + str(len(encodings) + 1)
# Or set the default label
else:
label = _("Model #") + str(next_id)

# Keep de default name if we can't ask questions
if builtins.howdy_args.y:
Expand All @@ -104,7 +107,7 @@
insert_model = {
"time": int(time.time()),
"label": label,
"id": len(encodings),
"id": next_id,
"data": []
}

Expand Down
6 changes: 6 additions & 0 deletions howdy/src/config.ini
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,12 @@ force_mjpeg = false
# OPENCV only.
exposure = -1

# Specify frame rate of the capture device.
# Some IR emitters will not function properly at the default framerate.
# Use qv4l2 to determine an appropriate value.
# OPENCV only.
device_fps = -1

# Rotate captured frames so faces are upright.
# 0 Check landscape orientation only
# 1 Check both landscape and portrait orientation
Expand Down
6 changes: 6 additions & 0 deletions howdy/src/recorders/video_capture.py
Original file line number Diff line number Diff line change
Expand Up @@ -124,6 +124,12 @@ def _create_reader(self):
self.config.get("video", "device_path"),
cv2.CAP_V4L
)
# Set the capture frame rate
# Without this the first detected (and possibly lower) frame rate is used, -1 seems to select the highest
# Use 0 as a fallback to avoid breaking an existing setup, new installs should default to -1
self.fps = self.config.getint("video", "device_fps", fallback=0)
if self.fps != 0:
self.internal.set(cv2.CAP_PROP_FPS, self.fps)

# Force MJPEG decoding if true
if self.config.getboolean("video", "force_mjpeg", fallback=False):
Expand Down

0 comments on commit 93a3d71

Please sign in to comment.