]> kaliko git repositories - mpd-goodies.git/blobdiff - src/mfade
Massive refactoring
[mpd-goodies.git] / src / mfade
diff --git a/src/mfade b/src/mfade
deleted file mode 100755 (executable)
index 2a791ca..0000000
--- a/src/mfade
+++ /dev/null
@@ -1,121 +0,0 @@
-#!/usr/bin/env python
-# -*- coding: utf-8 -*-
-
-# Copyright (c) 2009, 2010, 2012 Kaliko Jack <kaliko.jack@azylum.org>
-#
-#   This program is free software: you can redistribute it and/or modify
-#   it under the terms of the GNU General Public License as published by
-#   the Free Software Foundation, either version 3 of the License, or
-#   (at your option) any later version.
-#
-#   This program is distributed in the hope that it will be useful,
-#   but WITHOUT ANY WARRANTY; without even the implied warranty of
-#   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-#   GNU General Public License for more details.
-#
-#   You should have received a copy of the GNU General Public License
-#   along with this program.  If not, see <http://www.gnu.org/licenses/>.
-#
-
-"""
-DOC:
-    heavily borrowed from perl script mpdtoys and converted to python.
-    mpdtoys © 2007 Joey Hess <joey@kitenet.net>
-    http://kitenet.net/~joey/code/mpdtoys
-"""
-
-import sys
-
-from time import sleep
-
-from lib.goodies import Goodie
-
-
-NAME = 'mfade'
-VERSION = '0.1'
-USAGE = 'USAGE:  %prog [--help] | [ <time> [<final volume level>] ]'
-DESC = """Fade in/out to <final volume level> over <time>. Defaults are from 0%
-to 50% when paused or stopped and from current volume to 10th of it if playing,
-both over 10 minutes."""
-
-
-class Sleep(Goodie):
-    """"""
-    script_info = dict({
-        'version': VERSION,
-        'prog_name': NAME,
-        'description': DESC,
-        'usage': USAGE,
-        })
-
-    def __init__(self):
-        """"""
-        Goodie.__init__(self, self.__class__.script_info)
-        self.tempo = int(10)
-        self.volum = None
-        self._consume_args()
-        self._run()
-
-    def _consume_args(self):
-        """"""
-        if (len(self.cli_args) < 1 or
-                len(self.cli_args) > 2):
-            self.parser.error('need at least an argument and no more than two!')
-        try:
-            self.tempo = int(self.cli_args[0])
-            self.volum = int(self.cli_args[1])
-        except IndexError:
-            pass
-        except ValueError, err:
-            self.parser.error('wrong option passed (%s)' % err)
-
-    def _run(self):
-        """"""
-        self.mpdConnect()
-        self.mpd_state = str(self.client.status().get('state'))
-        self.mpd_vol = int(self.client.status().get('volume'))
-        if self.mpd_state == 'play':
-            if not self.volum:
-                self.volum = self.mpd_vol / 10
-            if self.volum > self.mpd_vol:
-                self.parser.error('Error: specified min volume (%d%%) > to current volume (%d%%)' % (self.volum, self.mpd_vol))
-            print >> sys.stdout, 'fading down from %d%% to %d%% over %smin' % (self.mpd_vol, self.volum, self.tempo)
-            if self.fade():
-                self.client.stop()
-        if self.mpd_state in ['stop', 'pause']:
-            if not self.volum:
-                self.volum = int(50)
-            print >> sys.stdout, 'fading up from 0%% to %d%% over %smin' % (self.volum, self.tempo)
-            self.client.setvol(0)
-            self.mpd_vol = 0
-            self.client.play()
-            self.fade()
-        sleep(1)
-
-    def fade(self):
-        """"""
-        # TODO: handle possible lost connections
-        span = float(self.volum - self.mpd_vol)
-        step = span / float(60 * self.tempo)
-        vol = self.mpd_vol
-        while 42:
-            if int(vol) != int(self.client.status().get('volume')):
-                sys.stderr.write('Warning: external volume change, aborting!\n')
-                return False
-            vol += step
-            self.client.setvol(int(vol))
-            if abs(vol - self.volum) < 1:
-                self.client.setvol(self.volum)
-                return True
-            sleep(1)
-
-
-# Script starts here
-if __name__ == '__main__':
-    try:
-        Sleep()
-    except KeyboardInterrupt:
-        sys.stdout.write('exit')
-
-# VIM MODLINE
-# vim: ai ts=4 sw=4 sts=4 expandtab