diff --git a/dlna-player.rkt b/dlna-player.rkt index 070d14f..dd4f94c 100644 --- a/dlna-player.rkt +++ b/dlna-player.rkt @@ -19,7 +19,7 @@ [buffer-max-seconds 10] [buffer-min-seconds 4] [server-url #f] - [server-port 8080] + [server-port 8734] ;8080] [listen-ip #f] [poll-seconds 1.0] [volume-poll-seconds 5.0]) diff --git a/info.rkt b/info.rkt new file mode 100644 index 0000000..001943d --- /dev/null +++ b/info.rkt @@ -0,0 +1,30 @@ +#lang info + + +(define pkg-authors '(hnmdijkema)) +(define version "0.1.1") +(define license 'MIT) +(define collection "rktplayer") +(define pkg-desc "rktplayer - A music player written in racket") + + +(define deps + '("racket/gui" "racket/base" "racket" + "finalizer" "draw-lib" "net-lib" + "simple-log" "simple-ini" "racket-sprintf" + "early-return" "let-assert" + "uni-channel" "port-channel" + "rackunit-lib" + ) + ) + +(define build-deps + '("racket-doc" + "draw-doc" + "rackunit-lib" + "scribble-lib" + )) + +(define test-omit-paths 'all) + + diff --git a/libraries.rkt b/libraries.rkt index 3121fb4..4f3c2f0 100644 --- a/libraries.rkt +++ b/libraries.rkt @@ -27,6 +27,7 @@ (list id name local-path host prefixes current)) )) + (define libraries% (class object% (init-field [settings settings]) @@ -52,9 +53,13 @@ (define/public (libraries) (when (eq? libs #f) - (set! libs (sort (map to-library (send cfg get 'libraries '())) - (lambda (a b) - (stringlist) libs)) + (send this set-libraries! (cons l libs)) (set! libs #f) (send l get-id))) diff --git a/rktplayer.rkt b/rktplayer.rkt index d9f15af..08c3da1 100644 --- a/rktplayer.rkt +++ b/rktplayer.rkt @@ -17,10 +17,12 @@ (define-runtime-path rkt-gui-dir "gui") (define log-file (build-path (find-system-path 'cache-dir) ".rktplayer.log")) + (displayln log-file) (sl-log-to-file log-file) +(define store (sl-log-to-store)) + (void (current-opusfile-output-format 's24)) -;(sl-log-to-display) (define (my-file-getter url) (dbg-rktplayer "my-file-getter - url = ~a" url) @@ -62,6 +64,7 @@ [file-getter my-file-getter] )) ) + (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])) (tray (new rktplayer-tray% [rktplayer-gui window])) @@ -107,7 +110,8 @@ (webview-wait-for-quit) (send rktplayer-tray close) (webview-exit) - (exit)) + ;(exit) + ) ) ) ) diff --git a/settings.rkt b/settings.rkt index 65a5124..1be1c97 100644 --- a/settings.rkt +++ b/settings.rkt @@ -169,7 +169,9 @@ '() (cons (let* ((id (send libs library-id i)) - (entry (send libs get-library id)) + (entry (begin + (dbg-rktplayer "index = ~a, id = ~a, symbol? id = ~a" i id (symbol? id)) + (send libs get-library id))) (name (send entry get-name)) (local-path (send entry get-local-path)) (host (send entry get-host)) diff --git a/tray.rkt b/tray.rkt index 162e069..56f6307 100644 --- a/tray.rkt +++ b/tray.rkt @@ -51,15 +51,23 @@ (super-new [icon (build-path rkt-gui-dir "rktplayer.png")] [tooltip (tr 'racket-music-player)]) + (define last-state #f) + (begin (send rktplayer-gui set-window-state-change-callback! (λ () (let ((st (send rktplayer-gui window-state))) (if (eq? st 'minimized) (begin - (dbg-rktplayer "state = ~a, hiding window" st) - (send rktplayer-gui present) - (send rktplayer-gui hide)) + (if (eq? last-state 'minimized) + (begin + (dbg-rktplayer "state = ~a, presenting window" st) + (send rktplayer-gui present) + (set! last-state 'presented)) + (begin + (dbg-rktplayer "state = ~a, hiding window" st) + (send rktplayer-gui hide) + (set! last-state 'minimized)))) (adjust-menu)) ) )