+(defun squeeze-control-compute-volume (pos)
+ (let* ((end (next-single-property-change pos 'keymap))
+ (start (previous-single-property-change end 'keymap)))
+ (/ (* 100 (- (point) start)) (- end start 1))))
+
+(defun squeeze-control-mixer-mouse-1 (event)
+ (interactive "e")
+ (let* ((pos (cadadr event))
+ (val (squeeze-control-compute-volume pos))
+ (id (get-text-property pos 'squeeze-playerid)))
+ (squeeze-control-volume-set id val)))
+
+(defun squeeze-control-mixer-set-volume ()