Complete refactoring for rktplayer, in order to make it play on DLNA renderers and also use UpNP media server resources.

This commit is contained in:
2026-08-08 14:29:01 +02:00
parent 186b3bb8d7
commit f5fdc38e67
69 changed files with 5953 additions and 1647 deletions
+71
View File
@@ -0,0 +1,71 @@
#lang racket/base
(require racket/class
"library-item.rkt"
"../misc/utils.rkt")
(provide library-cfg%)
(define library-cfg%
(class object%
(init-field
library-cfg-id
libraries-config)
(check/c* library-cfg%
(library-cfg-id symbol?)
(libraries-config object?))
(define/private (get-item)
(let ((item (send libraries-config
get-item
library-cfg-id)))
(unless item
(raise-arguments-error
'library-cfg%
"library configuration no longer exists"
"library-cfg-id" library-cfg-id))
item))
(define/public (get-id)
library-cfg-id)
(define/public (get-name)
(library-item-name (get-item)))
(define/public (get-kind)
(library-item-kind (get-item)))
(define/public (get-kind-version)
(library-item-kind-version (get-item)))
(define/public (get-root)
(library-item-root (get-item)))
(define/public (get-host)
(library-item-host (get-item)))
(define/public (get-item-limit)
(library-item-item-limit (get-item)))
(define/public (is-current?)
(library-item-current (get-item)))
(define/public (get-current)
(library-item-current (get-item)))
(define/public (get-revision)
(send libraries-config
get-item-revision
library-cfg-id))
(define/public (set-current! value)
(check/c library-cfg% set-current! value boolean?)
(send libraries-config
update-item!
(struct-copy library-item
(get-item)
[current value])))
(super-new)))