TUI movie library to keep track of watched movies in a directory and its subdirectories.
This screenshot shows a cineteca of four movies. One of them is selected and marked as watched, the one above it is just marked as watched and the rest have not been watched.
The movie library (cineteca) is generated automatically, filtering out files that might not be movies. This is achieved by recursively reading all the files in the directory and discarding those that do not have a video extension or are short videos. The program also checks every time it is opened for changes in the directory, calculating a hash of the directory and comparing it to the previous one. If there are changes, the library will be updated (e.g., if a new movie has been added or removed).
To build from source check the build section.
This program requires the following dependencies to be available during runtime:
- xdg-open
- xdg-mime (to set the default video player)
Try it without installing:
nix run github:cch000/cinetecaNix users can also take advantage of the flake provided in this repo to easily install cineteca. Add the flake to your configuration inputs and declare it as a package to install, e.g., by adding it to systemPackages.
inputs = {
cineteca = {
url = "github:cch000/cineteca";
inputs.nixpkgs.follows = "nixpkgs";
};
}; environment.systemPackages = [
inputs.cineteca.packages.${pkgs.system}.cineteca
];cineteca [path/to/library] #default is "."- Press 'w' to mark/unmark as watched
- Press 'p' to play the movie (set default with
xdg-mime) - Press 's' to toggle watched filter
- Press '?' to show all keybinds
More options will be added in the future ...
For non-Nix users it is still possible to build the app from source using cargo.
Dependencies:
- clang
- llvm
- pkg-config
- FFmpeg libraries (including development headers)
On fedora:
dnf install clang llvm pkg-config ffmpeg-free-develcargo build -rA binary will appear under ./target/release/.
Make the program available on your $PATH, e.g., by moving it to /usr/local/bin/.
