-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathvillain-couch.txt
More file actions
51 lines (34 loc) · 1.87 KB
/
villain-couch.txt
File metadata and controls
51 lines (34 loc) · 1.87 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
# Villain Couch: The VLC Tracker

**Villain Couch** is a silent guardian for your media consumption. It is a lightweight background agent that integrates deeply with **VLC Media Player** to track your playback progress, effectively adding a "Resume" feature to your local media library.
> "Never lose your place again. Your local media, now with cloud-level memory."
## The Problem
Streaming services remember where you left off. Local files don't.
Villain Couch solves this by acting as a sidecar to VLC, recording your progress in a local SQLite database or syncing it to a remote server.
## Key Features
* **Silent Operation:** Runs in the background with minimal resource footprint.
* **Auto-Resume:** Automatically detects the file you're playing and saves your timestamp.
* **Season Intelligence:** Smart enough to detect "next episode" patterns in filenames.
* **Cross-Session Persistence:** Close VLC, reboot your PC, open the file a week later—it resumes.
## Architecture
Built with performance and reliability in mind:
* **Core:** Written in **Go** for native performance and zero dependencies.
* **Integration:** Communicates with VLC via its HTTP interface.
* **Storage:** Uses **SQLite** for robust, local data storage.
* **Interface:** A CLI-first approach for easy scripting and automation.
## Quick Start
### Installation
Villain Couch is a single binary. No complex setup required.
```powershell
# Build from source
go build -o villain-couch ./src
```
### Usage
Simply point it to your media, or let it watch your VLC process.
```bash
./villain-couch --file "D:/Movies/The Matrix.mkv"
```
## Directory Structure
* `agent/`: The brain of the operation. Handles VLC communication.
* `common/`: Shared utilities for logging and config parsing.
* `bin/`: Where the magic happens (compiled binaries).