#+linux (defmethod om-draw-contents ((self soundPanel))
	  (call-next-method)  
	  (if (equal (state (player (editor self))) :recording)
	      (om-with-focused-view self  
		(om-with-fg-color self *om-red2-color*
		  (om-with-font *om-default-font4b*
				(let ((halftext (round (om-string-size "Recording" *om-default-font4b*) 2)))
				  (om-draw-string (- (round (w self) 2) halftext) (round (h self) 2) "Recording")))))
	      (if (and (om-sound-file-name (object (om-view-container self)))
		       (om-sound-sample-rate (object (om-view-container self)))) ;;; TEMP : crashes if there is a name but no actual sound
		  (let* ((thesound (object (om-view-container self)))
			 (sr (if (om-sound-las-using-srate-? thesound) 
				 las-srate
				 (om-sound-sample-rate thesound)))
			 (size (om-sound-n-samples-current thesound))
			 (dur (or (and (and sr size)
				       (/ size sr)) 0))
			 (dur-ms (round size (/ sr 1000.0)))
			 (total-width (om-point-h (om-field-size self)))
			 (thepicture (and dur (pic-to-draw thesound)))
			 (window-h-size (om-point-h (om-view-size self)))
			 (window-v-size (om-point-v (om-view-size self)))
			 (stream-buffer (om-sound-sndbuffer thesound))
			 (system-etat (get-system-etat self))
			 (xmin (car (rangex self)))
			 (pixmin (om-point-h (point2pixel self (om-make-point xmin 0) system-etat)))
			 (xmax (cadr (rangex self)))
			 (pixmax (om-point-h (point2pixel self (om-make-point xmax 0) system-etat)))
			 (xview (- xmax xmin))
			 (pict-threshold (if (> size (* 5 sr)) (/ dur-ms 3.0) 15000)) 
			 (step-1smp 1)
			 (step-100us (/ sr 10000.0))
			 (step-200us (/ sr 5000.0))
			 (step-400us (/ sr 2500.0))
			 (step-800us (/ sr 1250.0))
			 (step-1ms (/ sr 1000.0))
			 (step-2ms (/ sr 500.0))
			 (step-3ms (/ sr 333.3333))
			 (step-4ms (/ sr 250.0))
			 (step-5ms (/ sr 200.0))
			 (step-10ms (/ sr 100.0))
			 (step-20ms (/ sr 50.0))
			 (step-30ms (/ sr 33.3333))
			 (step-40ms (/ sr 25.0))
			 (step-50ms (/ sr 20.0)))
		    (om-with-focused-view self
		      (when (and thesound thepicture)
			(om-with-fg-color self *om-dark-gray-color*
			  (om-draw-picture self thepicture (om-make-point 0 0) (om-subtract-points (om-field-size self) (om-make-point 0 15)))
			  (om-with-fg-color self *om-blue-color*
			    (loop for item in (markers thesound) 
			       for k = 0 then (+ k 1) do
				 (om-with-line-size (if (member k (selection? self)) 2 1)
				   (om-draw-line (round (* total-width item) dur) 0 (round (* total-width item) dur) (h self))
				   (om-fill-rect (- (round (* total-width item) dur) 2) 0 5 5)))))
			(when (grille-p self)
			  (draw-grille self))
			(draw-interval-cursor self)
			(unless thepicture
			  (if (and (om-sound-file-name thesound) (zerop dur))
			      (om-with-focused-view self
				(om-draw-string 30 30 (format nil "Error: file ~s is empty" (om-sound-file-name (object (editor self))))))
			      (om-with-focused-view self 
				(om-draw-string (round (w self) 2) (round (h self) 2) "..."))
			      )
			  )))) (om-with-focused-view self (om-draw-string 10 40 (format nil "You have to load a file."))))))
