]> kaliko git repositories - mpd-goodies.git/blobdiff - mfade
* add new goodies mtopls
[mpd-goodies.git] / mfade
diff --git a/mfade b/mfade
index 22d2f3a0d9cc810684e9bf1a9d685a390d13c5d6..3ed1756f6f4bfac5b128319bda25d8b199fce5be 100755 (executable)
--- a/mfade
+++ b/mfade
@@ -38,9 +38,10 @@ mfade [time [min|max]]
    * time in seconds
    * min|max in percentag
 
+when MPD is:
 - not palying: fade in from 0% to max over time
                default 10 minutes / 50%
-- if playing:  fade out from current volume to min over time
+-    playing:  fade out from current volume to min over time
                default 10 minutes / 1/10 of current vol
 
 Manual or any external volume change will abort the script.
@@ -62,9 +63,10 @@ class Sleep(object):
 
     def _consume_sopt(self):
         """"""
+        # TODO: use optparse?
         options = sys.argv
-        if len(sys.argv) >1 and sys.argv[1] in ['-h', '--help']:
-            print USAGE
+        if len(sys.argv) > 1 and sys.argv[1] in ['-h', '--help']:
+            sys.stderr.write(USAGE)
             sys.exit(1)
         try:
             self.tempo = int(options.pop(1))
@@ -72,8 +74,8 @@ class Sleep(object):
         except IndexError:
             pass
         except ValueError, err:
-            print 'Error: wrong option passed: %s' % err
-            print USAGE
+            sys.stderr.write('Error: wrong option passed: %s' % err)
+            sys.stdout.write(USAGE)
             sys.exit(1)
 
     def _run(self):
@@ -84,17 +86,17 @@ class Sleep(object):
             if not self.volum:
                 self.volum = self.mpd_vol / 10
             if self.volum > self.mpd_vol:
-                print 'Error: specified min volume (%d%%) > to current volume (%d%%)' % (self.volum, self.mpd_vol)
+                sys.stderr.write('Error: specified min volume (%d%%) > to current volume (%d%%)' % (self.volum, self.mpd_vol))
                 sys.exit(1)
-            print 'fading down from %d%% to %d%% over %smin' % (self.mpd_vol,
-                    self.volum, self.tempo)
+            sys.stdout.write('fading down from %d%% to %d%% over %smin' % (self.mpd_vol,
+                    self.volum, self.tempo))
             self.fade()
             self.cli.stop()
         if self.mpd_state in ['stop', 'pause']:
             if not self.volum:
                 self.volum = int(50)
-            print 'fading up from 0%% to %d%% over %smin' % (self.volum,
-                    self.tempo)
+            sys.stdout.write('fading up from 0%% to %d%% over %smin' % (self.volum,
+                    self.tempo))
             self.cli.setvol(0)
             self.mpd_vol = 0
             self.cli.play()
@@ -103,13 +105,13 @@ class Sleep(object):
 
     def fade(self):
         """"""
+        # TODO: handle possible lost connections
         span = float(self.volum - self.mpd_vol)
         step = span / float(60 * self.tempo)
-        print step
         vol = self.mpd_vol
         while 42:
             if int(vol) != int(self.cli.status().get('volume')):
-                print 'Warning: external volume change, aborting!'
+                sys.stdout.write('Warning: external volume change, aborting!')
                 break
             vol += step
             self.cli.setvol(int(vol))
@@ -121,12 +123,10 @@ class Sleep(object):
 
 # Script starts here
 if __name__ == '__main__':
-    options = [14, 11]
-    #main(options)
     try:
         Sleep()
     except KeyboardInterrupt:
-        print 'exit'
+        sys.stdout.write('exit')
 
 # VIM MODLINE
 # vim: ai ts=4 sw=4 sts=4 expandtab