Initial import

This commit is contained in:
2026-06-08 17:20:12 +02:00
parent a3c561d2f2
commit 5e860a3d8b
16 changed files with 702 additions and 1 deletions
+33
View File
@@ -0,0 +1,33 @@
#lang racket/base
(require racket/string
keystore)
(provide open-manager-state
file-state-key
state-get-file
state-set-file!
state-drop-file!
state-known-relpaths)
(define prefix "flac-48khz:file:")
(define (open-manager-state state-file)
(ks-open state-file))
(define (file-state-key relpath)
(string-append prefix relpath))
(define (state-get-file ks relpath [default #f])
(ks-get ks (file-state-key relpath) default))
(define (state-set-file! ks relpath value)
(ks-set! ks (file-state-key relpath) value))
(define (state-drop-file! ks relpath)
(ks-drop! ks (file-state-key relpath)))
(define (state-known-relpaths ks)
(map (lambda (k)
(substring k (string-length prefix)))
(ks-keys-glob ks (string-append prefix "*"))))