#lang racket/base (require racket/list "../main.rkt" "../media-server.rkt") (define servers (query-media-servers #:interface "127.0.0.1" #: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))))))