b209a15dc3
chore: remove unused import
2026-02-01 01:03:16 +00:00
91a7695b02
fix: remove unused shutdown handler
2026-01-29 00:16:03 +00:00
699e8188dc
chore: add logging to daemon
2026-01-29 00:14:53 +00:00
2021cd3809
fix: incorrect file deletion logic
2026-01-28 20:35:33 +00:00
6d11eab503
fix: incorrect file removal loop
2026-01-27 23:34:09 +00:00
338de19d57
refactor: remove accidental print statment
2026-01-27 23:31:50 +00:00
eb47077b8c
fix: markers only update upon calling rewind list - now update in daemon
2026-01-27 23:30:23 +00:00
aae6540678
prevent trackback log upon error by wrapping cli in try-catch
2026-01-25 00:08:04 +00:00
47bbfb9607
refactor & silence ConnectionRefusedError when attempting to connect to OBS instance
2026-01-18 23:37:49 +00:00
7a2b4e806f
removed unnecessary comments
2026-01-18 23:31:23 +00:00
47fe0e37e9
Add check for existing OBS instance
...
.wait() is required as the command does not finish in time and will kill the new OBS instance
2026-01-18 23:29:24 +00:00
4365dd89b2
Remove OBS shutdown error check
...
By removing the .sentinel file, OBS loses the last crash data, which allows OBS to start without prompts
2026-01-18 23:27:01 +00:00
7e8e5c0594
remove debug message
2026-01-18 22:17:23 +00:00
754f6b130c
rewind: make helpers private, clean up marker handling
...
Rename internal helpers to underscore-prefixed versions and move
them closer to their actual call sites. These functions were never
meant to be part of the public API.
Clean up marker handling by separating concerns properly:
printing markers no longer doubles as an existence check, and old
markers are cleaned explicitly.
Also drop stray debug logging when loading config.
No functional change intended, just less confusion and tighter scope.
2026-01-18 22:13:29 +00:00
73688e5db8
update daemon to check if initial marker already exists and remove if it does
2026-01-16 23:28:02 +00:00
b0c1ccf7df
update marker logic to throw error if multiple markers exist
2026-01-16 23:27:40 +00:00
f897423f85
relocated config file into .config folder
2026-01-16 21:42:16 +00:00
cccd8ad730
update gitignore & reorganise imports in daemon
2026-01-16 21:33:20 +00:00
687c49d9cc
add initial marker for daemon start
2026-01-16 21:30:54 +00:00
4982deb71c
add requirements file for ease of development
2026-01-16 21:30:35 +00:00
9a536e43a6
update example config with record settings
2026-01-15 16:41:56 +00:00
52fe12386d
refactor: remove unused imports from paths.py and state.py
2026-01-11 22:59:59 +00:00
252f25d96a
update save output to move datetime to the front for better order in folders
2026-01-07 20:27:02 +00:00
9a76a96c00
fix incorrect import statement
2026-01-07 20:22:40 +00:00
23d576c438
refactor: extract state management into dedicated module and persist across restarts
...
Move state handling out of daemon and paths into a new state module.
- Introduce state.py for loading, writing, and maintaining state.json
- Persist recorded file metadata across daemon restarts
- Add cleanup of stale state entries when files are deleted
- Rename cleanup_old_files to cleanup_physical_files for clarity
- Ensure state file is created lazily if missing
2026-01-07 20:15:54 +00:00
a135b3f140
refactor open_obs_connection to implement exponential backoff and simplify connection logic
2025-12-30 00:46:18 +00:00
Dylan De Faoite
b8e1a54f82
Revise README.md to enhance project description
...
Updated project overview and clarified functionality.
2025-12-20 23:30:54 +00:00
661d29997d
format top-level imports to be in order of length & remove unnecessary print statements
2025-12-18 22:38:37 +00:00
766ce08e0d
replace sseof with -t flag & remove constant that now lives in the config file
2025-12-18 22:36:13 +00:00
51f4c38b63
remove risky sseof call in ffmpeg & replace with length
2025-12-18 22:32:02 +00:00
af22aee37b
ADD save video functionality between markers
2025-12-18 20:54:25 +00:00
4118590dc7
UPDATE core.py and daemon.py to use max_record_time from config for managing old markers
2025-12-18 20:30:39 +00:00
dba8c4df69
UPDATE README.md
2025-12-18 20:24:51 +00:00
ad1241d649
UPDATE gitignore
2025-12-18 20:23:30 +00:00
8fbaeae652
REFactor concat_ts_files function for improved clarity and efficiency; add clean_old_markers function to manage marker retention
2025-12-18 20:23:20 +00:00
143f4e0c8d
ADD list command to CLI for displaying all markers
2025-12-18 20:17:54 +00:00
3c870c7a69
RENAME clip.py to cli.py & RENAME video.py to core.py to better reflect purpose
...
In addition, added basic mark command
2025-12-18 20:09:54 +00:00
f7b8910bd8
ADD file system event handling to monitor & allow for timestamp-based seeking
2025-12-18 19:46:06 +00:00
738c463e6a
ADD watchdog dependency to pyproject.toml
2025-12-18 19:45:22 +00:00
c26084091f
ADD argparse import to clip.py, create example.config.toml, and reorganize imports in paths.py and video.py
2025-12-18 15:17:40 +00:00
6105a59a1d
ADD configuration loading from user and default config files
2025-12-18 15:16:19 +00:00
3e2efe06b1
REMOVE unused imports and PATCH broken clip function signature
2025-12-18 15:11:48 +00:00
20e5e977e3
MOVE clip creation logic out of CLI entry point
2025-12-18 14:22:37 +00:00
c871d0ddf7
RENAME service.py to daemon.py & update it within pyproject.toml
2025-12-18 01:30:56 +00:00
7b903fb27e
ADD signal handling for graceful shutdown in service.py
2025-12-18 01:21:44 +00:00
36868a08ec
ADD function signatures and remove unused recording commands
2025-12-18 01:16:59 +00:00
fab19ae1b6
ADD pipx egg info to gitignore
2025-12-18 00:39:07 +00:00
96e08fac28
REMOVE unused "clean_old_ts_files()"
...
Also renamed undescriptive "save()" to "combine_last_x_ts_files()"
2025-12-18 00:38:27 +00:00
1113ae3ec1
ADD rewind-daemon as a command
...
Such that rewind-daemon can easily run in the background. Update service.py to fix library paths
2025-12-18 00:12:50 +00:00
b7b57a259f
PATCH missing function call from paths.py
...
Caused the following calls to treat as a direct function object instead of the return from the function
2025-12-17 23:56:26 +00:00