57 lines
1.7 KiB
Scheme
Executable File
57 lines
1.7 KiB
Scheme
Executable File
#!/bin/sh
|
|
#|
|
|
exec mzscheme -r "$0" "$@"
|
|
|#
|
|
|
|
(require (prefix xmms- (lib "xmmsctrl.ss" "ffi")))
|
|
|
|
(printf "version: ~s\n" (xmms-get-version))
|
|
(printf "skin: ~s\n" (xmms-get-skin))
|
|
(printf "volume: ~s\n" (xmms-get-volume))
|
|
(printf "balance: ~s\n" (xmms-get-balance))
|
|
(printf "number of tracks: ~s\n" (xmms-get-playlist-length))
|
|
(printf "Track #10 file = ~s\n" (xmms-get-playlist-file 10))
|
|
(printf "Track #10 title = ~s\n" (xmms-get-playlist-title 10))
|
|
(printf "Track #10 time = ~s\n" (xmms-get-playlist-time 10))
|
|
|
|
;; (define all-files
|
|
;; (let loop ((i (sub1 (xmms-get-playlist-length))) (files '()))
|
|
;; (if (< i 0)
|
|
;; files (loop (sub1 i) (cons (xmms-get-playlist-file i) files)))))
|
|
;; (printf "Number of files: ~s\n" (length all-files))
|
|
;; (sleep 1)
|
|
;; (xmms-playlist (list (car all-files) (caddr all-files) (cadddr all-files)) #f)
|
|
;; (sleep 1)
|
|
;; (xmms-playlist all-files #f)
|
|
;; (sleep 1)
|
|
;; (xmms-stop)
|
|
|
|
;; (let ([eq (xmms-get-eq)])
|
|
;; (xmms-set-eq (list 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0))
|
|
;; (sleep 1)
|
|
;; (xmms-set-eq eq)
|
|
;; (sleep 1))
|
|
|
|
(xmms-set-playlist-pos 10)
|
|
(printf "playing? -> ~s\n" (xmms-is-playing?))
|
|
(xmms-play)
|
|
|
|
(define t
|
|
(thread (lambda ()
|
|
(let loop ()
|
|
(printf ">>> ~s\n" (xmms-get-output-time)) (sleep .1) (loop)))))
|
|
(define (back-sec)
|
|
(let ([t (- (xmms-get-output-time) 1000)])
|
|
(printf "Jumping to ~s\n" t)
|
|
(xmms-jump-to-time t)))
|
|
(sleep 3) (back-sec) (sleep 3) (back-sec) (sleep 3) (back-sec) (sleep 3)
|
|
(kill-thread t)
|
|
|
|
(printf "playing? -> ~s\n" (xmms-is-playing?))
|
|
(printf "pos -> ~s\n" (xmms-get-playlist-pos))
|
|
(printf "info -> ~s\n" (xmms-get-info))
|
|
(xmms-playlist-next)
|
|
(sleep 1)
|
|
(printf "pos -> ~s\n" (xmms-get-playlist-pos))
|
|
(xmms-stop)
|