#lang racket (require racket/gui "gui.rkt" simple-ini/class racket-sound racket-webview racket/runtime-path "utils.rkt" net/uri-codec ) (define-runtime-path rkt-gui-dir "gui") (define log-file (build-path (find-system-path 'home-dir) ".rktplayer.log")) (sl-log-to-file log-file) (displayln (format "Logging to file ~a" log-file)) (define (my-file-getter url) (dbg-rktplayer "my-file-getter - url = ~a" url) (when (string-prefix? url "/") (set! url (substring url 1))) (if (string-prefix? url "get-image") (let* ((str (uri-decode url)) (idx (string-find str "?"))) (set! str (substring str (+ idx 1))) (set! idx (string-find str "&")) (set! str (substring str 0 idx)) (dbg-rktplayer "returning file ~a" str) (build-path str) ) (build-path rkt-gui-dir url) ) ) (define (run) (let* ((ini (new ini% [file 'rktplayer])) (context (new wv-context% [base-path rkt-gui-dir] [ini ini] [file-getter my-file-getter] )) (window (new rktplayer% [wv-context context])) ) window) ) ;(run)