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
+21 -7
View File
@@ -1,20 +1,24 @@
#lang racket
(require racket/gui
"gui.rkt"
"tray.rkt"
"translate.rkt"
"gui/gui.rkt"
"gui/tray.rkt"
"gui/translate.rkt"
"library/libraries-config.rkt"
"library/library-factory.rkt"
"library/library-filesystem.rkt"
"library/library-media-server.rkt"
simple-ini/class
racket-audio
racket-webview
racket/runtime-path
"utils.rkt"
"misc/utils.rkt"
net/uri-codec
)
(provide run)
(define-runtime-path rkt-gui-dir "gui")
(define-runtime-path rkt-gui-dir "gui/html")
(define log-file (build-path (find-system-path 'cache-dir) ".rktplayer.log"))
@@ -63,10 +67,21 @@
[ini ini]
[file-getter my-file-getter]
))
(libraries-config
(new libraries-config%
[settings (send context settings 'settings)]))
(library-factory
(new library-factory%
[libraries-config libraries-config]))
)
(set-library-factory! library-factory)
(register-library-filesystem! library-factory)
(register-library-media-server! library-factory)
(displayln (format "ini file: ~a" (send ini get-file)))
(set-lang! (send ini get 'settings 'language 'en))
(let* ((window (new rktplayer% [wv-context context] [log-file log-file]))
(let* ((window (new rktplayer%
[wv-context context]
[log-file log-file]))
(tray (new rktplayer-tray% [rktplayer-gui window]))
)
(set! rktplayer-window window)
@@ -117,4 +132,3 @@
)
;(run)