37 lines
1.0 KiB
Racket
37 lines
1.0 KiB
Racket
#lang racket/base
|
|
|
|
(require racket/list
|
|
"../main.rkt"
|
|
"../media-server.rkt")
|
|
|
|
(define servers
|
|
(query-media-servers
|
|
#:interface "10.7.3.118"
|
|
#:dns? #t))
|
|
|
|
(for ([server (in-list servers)])
|
|
(printf "~a (~a)\n"
|
|
(upnp-device-name server)
|
|
(upnp-device-address server)))
|
|
|
|
(when (pair? servers)
|
|
(let* ([server (car servers)]
|
|
[root (media-server-root server)]
|
|
[music
|
|
(findf
|
|
(lambda (entry)
|
|
(and (media-container? entry)
|
|
(string=? (media-entry-title entry) "Muziek")))
|
|
root)])
|
|
(for ([entry (in-list root)])
|
|
(printf "~a ~a ~a\n"
|
|
(if (media-container? entry) "map " "item")
|
|
(or (media-entry-id entry) "")
|
|
(media-entry-title entry)))
|
|
(when music
|
|
(displayln "\nMuziek:")
|
|
(for ([entry (in-list (media-container-children server music))])
|
|
(printf "~a ~a\n"
|
|
(if (media-container? entry) "map " "item")
|
|
(media-entry-title entry))))))
|