Profile, naming, output folder, audio bit depth and auto-reveal toggle now round-trip via ~/.config/nocoder/config.json instead of resetting to defaults on every launch. Alpha is deliberately NOT persisted because the toggle is conditional on the chosen profile and would create more confusion than value when restored from a stale session. * New nocoder/config.py owns the JSON file with read-modify-write merging so multiple writers (hwaccel.py + UI prefs) don't clobber each other. Atomic write via tempfile + os.replace. * hwaccel.py refactored to use the shared load_config / update_config helpers; CONFIG_PATH still re-exported for backward compat. * settings_pane.Settings gains to_persistable() that returns the subset to round-trip; new load_persisted_settings() validates each field against its allowed range and falls back to defaults. * window.py loads settings on startup and persists them every time the settings-changed signal fires (which already covers the folder picker via set_output_folder). Verified: round-trip works, validation rejects bogus values cleanly, hwaccel survives the merge. |
||
|---|---|---|
| .. | ||
| __init__.py | ||
| app.py | ||
| config.py | ||
| data.py | ||
| encoder.py | ||
| footer.py | ||
| hwaccel.py | ||
| queue_pane.py | ||
| settings_pane.py | ||
| window.py | ||