36 lines
713 B
Racket
36 lines
713 B
Racket
#lang racket/base
|
|
|
|
(require racket/class
|
|
racket-upnp
|
|
"base/renderer.rkt"
|
|
"../misc/utils.rkt")
|
|
|
|
(provide renderer-upnp%)
|
|
|
|
(define renderer-upnp%
|
|
(class renderer%
|
|
(init-field upnp-device)
|
|
(init
|
|
preferences
|
|
[name #f]
|
|
[id #f]
|
|
[kind 'upnp])
|
|
|
|
(check/c renderer-upnp%
|
|
upnp-device
|
|
media-renderer?)
|
|
|
|
(super-new
|
|
[id
|
|
(format "~a"
|
|
(or id
|
|
(upnp-device-udn upnp-device)
|
|
(upnp-device-address
|
|
upnp-device)))]
|
|
[name
|
|
(or name
|
|
(media-renderer-name upnp-device))]
|
|
[kind kind]
|
|
[device upnp-device]
|
|
[preferences preferences])))
|