]> kaliko git repositories - mpd-goodies.git/blobdiff - src/nalbum
Massive refactoring
[mpd-goodies.git] / src / nalbum
diff --git a/src/nalbum b/src/nalbum
deleted file mode 100755 (executable)
index dbb2e14..0000000
+++ /dev/null
@@ -1,124 +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/>.
-#
-
-
-import sys
-
-from time import sleep
-
-from lib.goodies import Goodie
-
-
-NAME = 'nalbum'
-VERSION = '0.1'
-
-NALBUM_OPTS = list([
-    {
-        'sw': ['-c', '--crossfade'],
-        'type': 'int',
-        'dest': 'time',
-        'metavar': 't',
-        'help': 'fade out/fade in over t seconds.'},
-    ])
-
-
-class Nalbum(Goodie):
-    """
-    """
-    script_info = dict({
-        'version': VERSION,
-        'prog_name': NAME,
-        'description': 'Jump to next album in playlist.',
-        })
-
-    def __init__(self):
-        """"""
-        Goodie.__init__(self, self.__class__.script_info,
-                extra_options=NALBUM_OPTS)
-        self._run()
-
-    def _fade(self, io='out'):
-        """
-        end_volum => End volume value
-        mpd_vol   => Start volume value
-        """
-        mpd_vol = int(self.init_vol)
-        if io == 'out':
-            end_volum = mpd_vol / 10
-            mpd_vol = self.init_vol
-        if io == 'in':
-            end_volum = int(self.init_vol)
-            mpd_vol = int(self.init_vol) / 10
-        span = float(end_volum - mpd_vol)
-        step = span / float(10*self.cli_options.time)
-        while 42:
-            mpd_vol += step
-            self.client.setvol(int(mpd_vol))
-            if abs(mpd_vol - end_volum) < 1:
-                self.client.setvol(end_volum)
-                return True
-            sleep(0.1)
-
-    def _get_next(self):
-        """Retrieve playlist from current song to the end."""
-        if 'song' not in self.client.status():
-            print "No current song set in MPD!"
-            self.client.disconnect()
-            sys.exit(0)
-        current_album = str(self.client.currentsong().get('album', 'TAG MISSING'))
-        current_song_pos = int(self.client.currentsong().get('pos'))
-        print 'Current album: "%s"' % current_album
-        next_album_pos = current_song_pos
-        album = current_album
-        while album == current_album:
-            next_album_pos += 1
-            pl_length = int(self.client.status().get('playlistlength')) - 1
-            if pl_length < next_album_pos:
-                print 'Next album not found in the playlitst!'
-                self.client.disconnect()
-                sys.exit(0)
-            album = self.client.playlistinfo(next_album_pos)[0].get('album', 'TAG MISSING')
-        print 'Next album appears to be: "%s"' % album
-        return next_album_pos
-
-    def _run(self):
-        """"""
-        print 'Connecting %s:%i' % (self.cli_options.host, self.cli_options.port)
-        self.mpdConnect()
-        nalbum = self._get_next()
-        self.init_vol = int(self.client.status().get('volume'))
-        if self.cli_options.time:
-            print 'Cross fading next album'
-            self._fade()
-        self.client.play(nalbum)
-        if self.cli_options.time:
-            self._fade(io='in')
-        self.client.disconnect()
-        sys.exit(0)
-
-
-# Script starts here
-if __name__ == '__main__':
-    try:
-        Nalbum()
-    except KeyboardInterrupt:
-        sys.stdout.write('exit')
-
-# VIM MODLINE
-# vim: ai ts=4 sw=4 sts=4 expandtab