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
739ff6d208
REMOVE abstraction of save()
2025-12-17 23:52:39 +00:00
d98dc8fa70
MOVE write_state and load_state functions to paths.py
...
This is to encapsulate all path and state file related operations within the paths module.
2025-12-17 23:52:00 +00:00
35a68b04a8
ADD paths module
...
To automate the fetching of the state file in a safe, atomic way.
2025-12-17 23:49:50 +00:00
8f07c9a247
REMOVE start_recording() and end_recording() methods from main
...
These methods have been moved to the daemon.
2025-12-17 23:49:26 +00:00
a15a7ecffe
ADD background daemon file
...
This file checks for new files, and updates a state file that tracks all TS files and their duration
2025-12-17 22:42:01 +00:00
c197e9d764
ADD old file deletion in the stop command
2025-12-16 19:51:31 +00:00
c3b79a1f47
RENAME "clip" option to "save"
...
Clips refer to short recordings, this command can save much longer recordings, therefore "save" is more appropriate
2025-12-16 18:26:00 +00:00
cef299b92f
MODULARISE clip file into separate functions & ADD argparser
2025-12-16 18:16:02 +00:00
c7d6c6adc3
ADD pyproject.toml
2025-12-16 18:14:44 +00:00
da56d2c73b
MOVE src into own dir
2025-12-16 17:10:26 +00:00
d2f91e16f7
Initial commit
2025-12-16 16:54:39 +00:00