48 lines
1.2 KiB
Python
48 lines
1.2 KiB
Python
import os
|
|
from pathlib import Path
|
|
|
|
SOCKET = "/tmp/mpv-socket"
|
|
DEFAULT_MEDIA_DIR = os.path.expanduser("~/Videos")
|
|
MEDIA_DIR_FILE = Path.home() / ".config" / "mpvremotemedia"
|
|
|
|
|
|
def _load_media_dir():
|
|
try:
|
|
configured_dir = MEDIA_DIR_FILE.read_text(encoding="utf-8").strip()
|
|
except (OSError, UnicodeError):
|
|
configured_dir = ""
|
|
return os.path.expanduser(configured_dir or DEFAULT_MEDIA_DIR)
|
|
|
|
|
|
def set_media_dir(path):
|
|
"""Persist and activate the configured media directory."""
|
|
path = path.strip()
|
|
if not path:
|
|
raise ValueError("Media directory cannot be empty")
|
|
|
|
MEDIA_DIR_FILE.parent.mkdir(parents=True, exist_ok=True)
|
|
MEDIA_DIR_FILE.write_text(path + "\n", encoding="utf-8")
|
|
global MEDIA_DIR
|
|
MEDIA_DIR = os.path.expanduser(path)
|
|
|
|
|
|
MEDIA_DIR = _load_media_dir()
|
|
VIDEO_EXTS = ["mp4", "mkv", "avi", "webm"]
|
|
|
|
# Key codes
|
|
KEY_PAUSE = ord(' ')
|
|
KEY_SEEK_BACK = ord('h')
|
|
KEY_SEEK_FWD = ord('l')
|
|
KEY_VOL_UP = ord('k')
|
|
KEY_VOL_DOWN = ord('j')
|
|
KEY_SUB = ord('s')
|
|
KEY_NEXT = ord('n')
|
|
KEY_PREV = ord('p')
|
|
KEY_LOOP_FILE = ord('r')
|
|
KEY_LOOP_PLIST = ord('R')
|
|
KEY_CONTROLS = ord('c')
|
|
KEY_QUEUE = ord('o')
|
|
KEY_PLAYLIST = ord('e')
|
|
KEY_QUIT = ord('q')
|
|
KEY_DELETE_PLAYLIST = ord('d')
|
|
KEY_SETTINGS = ord('x')
|