# CjTUI *Chris Jellyfin Terminal User Interface* This is the first actually useful programming project I have completed. I still can't write in rust because of generative AI. Maybe one day when I am better at programming I will refactor the codebase and figure out how to hand code a transcoding option that actually is compatible with Jellyfin API. Unix Only Curreently. ## Features * **Blazingly Fast Speed** * Online and Offline Playback * Robust Download Connectivity * Individual Download and Batch Download Support * Download Queue Management * Local Media Management * Autoplay and Resume functionality * Sends Current Watch Position to the Server * Playlist and Collection Support * Persistent Auth ## System Dependencies on **MPV** and **ARIA2C** ## Persistent Storage All application data is stored in: ~/.config/cjtui/ * config.toml: Server URL and API key is stored. * downloads/: Local download data, used for local playback and offline navigation. * temp/: Temporary download data during ARIA2C functionality. ## Controls ##### General Interface Controls * **Up**/K: Up * **Right**/L/**Enter**: Drilldown/Enter * **Down**/J: Down * **Left**/H/**Backspace**/Esc: Back * q: Return to the home screen or quit. * /: Search: Click once to search and clicking / multiple times cycles through search categories. ##### How to Watch Media * p: Play: Starts a show playing at the beginning and will use offline playback if available. * P: AutoPlay: Starts a show playing at the beginning and will use offline playback if available. Turns on auto play mode which will play the next episode in series or song in the playlist. * r: Resume: If there is a pause position online, it will stream beginning at the paused position. * R: AutoResume: Resume + Autoplay flag is on. * w: Watched: Marks as watched. * W: Not Watched: Marks as unwatched. ##### Media Player Control * Space: Pause * x: close mpv * f: full screen media player * a: cycle audio track * s: cycle subtitles * v: change subtitle visibility. ##### Local File Management * d: Queue file for download * D: Enter the download visual queue. * (d on an item in the queue): Remove item from queue. * X: Deletes the local file if the file exists. * o: Enter offline playback/Attempt to ping the server to join online mode. (Local downloaded database is available during this mode) ##### Admin Controls * /\reset"Enter": Deletes the config file and exits the program. Reloading will prompt URL, Username, and Password Input.