feat(palette): sixteen ANSI colour ladders, cycled with c
This commit is contained in:
1 parent
253b462df1
commit
43ddd8666b
14 files changed
+622
-111
No files matched your search
@@ -26,6 +26,7 @@ from pathlib import Path
|
||||
from typing import Any
|
||||
|
||||
from . import __version__
|
||||
from .palettes import DEFAULT_PALETTE, PALETTES
|
||||
|
||||
#: Directory name for config, cache and runtime files.
|
||||
APP_NAME = "beefy-player"
|
||||
@@ -72,6 +73,9 @@ LEGACY_CONFIG_PATH = _xdg("XDG_CONFIG_HOME", ".config") / LEGACY_APP_NAME / "con
|
||||
|
||||
VISUALIZERS = ("both", "bars", "wave", "waterfall", "radial", "braille")
|
||||
|
||||
#: Colour palettes the UI can draw with (see :mod:`beefy_player.palettes`).
|
||||
PALETTE_NAMES = tuple(PALETTES)
|
||||
|
||||
|
||||
def channels_cache_path(provider_id: str) -> Path:
|
||||
"""Where a catalogue caches its last good station list.
|
||||
@@ -141,6 +145,8 @@ class Config:
|
||||
last_stations: dict[str, str] = field(default_factory=dict)
|
||||
volume: int = 70
|
||||
visualizer: str = "both"
|
||||
#: Colour palette name — spectrum, ocean, ember, …
|
||||
palette: str = DEFAULT_PALETTE
|
||||
autoplay: bool = False
|
||||
#: Which catalogue to use by default (see :mod:`beefy_player.providers`).
|
||||
provider: str = "somafm"
|
||||
@@ -181,6 +187,10 @@ class Config:
|
||||
if visualizer in VISUALIZERS:
|
||||
config.visualizer = visualizer
|
||||
|
||||
palette = raw.get("palette")
|
||||
if isinstance(palette, str) and palette in PALETTE_NAMES:
|
||||
config.palette = palette
|
||||
|
||||
provider = raw.get("provider")
|
||||
if isinstance(provider, str) and provider.strip():
|
||||
config.provider = provider.strip().lower()
|
||||
|
||||
Reference in new issue
Block a user