Ejemplo n.º 1
0
 def __init__(self):
     super(ConvertPlugin, self).__init__()
     self.config.add({
         u'dest': None,
         u'threads': util.cpu_count(),
         u'format': u'mp3',
         u'formats': {
             u'mp3': {
                 u'command': u'ffmpeg -i $source -y -aq 2 $dest',
                 u'extension': u'mp3',
             },
             u'opus': {
                 u'command': u'ffmpeg -i $source -y -acodec libopus -vn -ab 96k $dest',
                 u'extension': u'opus',
             },
             u'vorbis': {
                 u'command': u'ffmpeg -i $source -y -acodec libvorbis -vn -aq 2 $dest',
                 u'extension': u'ogg',
             },
         },
         u'max_bitrate': 500,
         u'embed': True,
         u'auto': False,
         u'paths': {},
     })
     validate_config()
     self.import_stages = [self.auto_convert]
Ejemplo n.º 2
0
 def __init__(self):
     super(ConvertPlugin, self).__init__()
     self.config.add(
         {
             u"dest": None,
             u"threads": util.cpu_count(),
             u"format": u"mp3",
             u"formats": {
                 u"aac": {u"command": u"ffmpeg -i $source -y -acodec libfaac -aq 100 $dest", u"extension": u"m4a"},
                 u"alac": {u"command": u"ffmpeg -i $source -y -acodec alac $dest", u"extension": u"m4a"},
                 u"flac": {u"command": u"ffmpeg -i $source -y -acodec flac $dest", u"extension": u"flac"},
                 u"mp3": {u"command": u"ffmpeg -i $source -y -aq 2 $dest", u"extension": u"mp3"},
                 u"opus": {
                     u"command": u"ffmpeg -i $source -y -acodec libopus -vn -ab 96k $dest",
                     u"extension": u"opus",
                 },
                 u"vorbis": {
                     u"command": u"ffmpeg -i $source -y -acodec libvorbis -vn -aq 2 $dest",
                     u"extension": u"ogg",
                 },
                 u"wma": {u"command": u"ffmpeg -i $source -y -acodec wmav2 -vn $dest", u"extension": u"wma"},
             },
             u"max_bitrate": 500,
             u"auto": False,
             u"quiet": False,
             u"embed": True,
             u"paths": {},
         }
     )
     validate_config()
     self.import_stages = [self.auto_convert]
Ejemplo n.º 3
0
    def __init__(self):
        super(ConvertPlugin, self).__init__()
        self.config.add(
            {
                "dest": None,
                "pretend": False,
                "threads": util.cpu_count(),
                "format": "mp3",
                "formats": {
                    "aac": {"command": "ffmpeg -i $source -y -vn -acodec libfaac " "-aq 100 $dest", "extension": "m4a"},
                    "alac": {"command": "ffmpeg -i $source -y -vn -acodec alac $dest", "extension": "m4a"},
                    "flac": "ffmpeg -i $source -y -vn -acodec flac $dest",
                    "mp3": "ffmpeg -i $source -y -vn -aq 2 $dest",
                    "opus": "ffmpeg -i $source -y -vn -acodec libopus -ab 96k $dest",
                    "ogg": "ffmpeg -i $source -y -vn -acodec libvorbis -aq 2 $dest",
                    "wma": "ffmpeg -i $source -y -vn -acodec wmav2 -vn $dest",
                },
                "max_bitrate": 500,
                "auto": False,
                "tmpdir": None,
                "quiet": False,
                "embed": True,
                "paths": {},
                "never_convert_lossy_files": False,
                "copy_album_art": False,
            }
        )
        self.import_stages = [self.auto_convert]

        self.register_listener("import_task_files", self._cleanup)
Ejemplo n.º 4
0
 def __init__(self):
     super(ConvertPlugin, self).__init__()
     self.config.add({
         u'dest': None,
         u'pretend': False,
         u'threads': util.cpu_count(),
         u'format': u'mp3',
         u'formats': {
             u'aac': {
                 u'command': u'ffmpeg -i $source -y -vn -acodec libfaac '
                             u'-aq 100 $dest',
                 u'extension': u'm4a',
             },
             u'alac': {
                 u'command': u'ffmpeg -i $source -y -vn -acodec alac $dest',
                 u'extension': u'm4a',
             },
             u'flac': u'ffmpeg -i $source -y -vn -acodec flac $dest',
             u'mp3': u'ffmpeg -i $source -y -vn -aq 2 $dest',
             u'opus':
                 u'ffmpeg -i $source -y -vn -acodec libopus -ab 96k $dest',
             u'ogg':
                 u'ffmpeg -i $source -y -vn -acodec libvorbis -aq 2 $dest',
             u'wma':
                 u'ffmpeg -i $source -y -vn -acodec wmav2 -vn $dest',
         },
         u'max_bitrate': 500,
         u'auto': False,
         u'quiet': False,
         u'embed': True,
         u'paths': {},
         u'never_convert_lossy_files': False,
     })
     self.import_stages = [self.auto_convert]
Ejemplo n.º 5
0
 def __init__(self):
     super(BpmAnalyserPlugin, self).__init__()
     self.config.add({
         'auto': False,
         'dry-run': False,
         'write': True,
         'threads': cpu_count(),
         'force': False,
         'quiet': False
     })
Ejemplo n.º 6
0
Archivo: convert.py Proyecto: flz/beets
 def __init__(self):
     super(ConvertPlugin, self).__init__()
     self.config.add({
         u'dest': None,
         u'threads': util.cpu_count(),
         u'ffmpeg': u'ffmpeg',
         u'opts': u'-aq 2',
         u'max_bitrate': 500,
         u'embed': True,
     })
Ejemplo n.º 7
0
 def __init__(self):
     super(ConvertPlugin, self).__init__()
     self.config.add({
         u'dest': None,
         u'threads': util.cpu_count(),
         u'ffmpeg': u'ffmpeg',
         u'opts': u'-aq 2',
         u'max_bitrate': 500,
         u'embed': True,
     })
Ejemplo n.º 8
0
 def configure(self, config):
     conf['dest'] = ui.config_val(config, 'convert', 'dest', None)
     conf['threads'] = int(ui.config_val(config, 'convert', 'threads',
         util.cpu_count()))
     conf['ffmpeg'] = ui.config_val(config, 'convert', 'ffmpeg', 'ffmpeg')
     conf['opts'] = ui.config_val(config, 'convert',
                                  'opts', '-aq 2').split(' ')
     conf['max_bitrate'] = int(ui.config_val(config, 'convert',
                                             'max_bitrate', '500'))
     conf['embed'] = ui.config_val(config, 'convert', 'embed', True,
                                   vtype=bool)
Ejemplo n.º 9
0
    def __init__(self):
        super(ReplayGainPlugin, self).__init__()

        # default backend is 'command' for backward-compatibility.
        self.config.add({
            'overwrite': False,
            'auto': True,
            'backend': u'command',
            'threads': cpu_count(),
            'parallel_on_import': False,
            'per_disc': False,
            'peak': 'true',
            'targetlevel': 89,
            'r128': ['Opus'],
            'r128_targetlevel': lufs_to_db(-23),
            'copy_album_gain': False,
        })

        self.overwrite = self.config['overwrite'].get(bool)
        self.per_disc = self.config['per_disc'].get(bool)
        self.copy_album_gain = self.config['copy_album_gain'].get(bool)

        # Remember which backend is used for CLI feedback
        self.backend_name = self.config['backend'].as_str()

        if self.backend_name not in self.backends:
            raise ui.UserError(
                u"Selected ReplayGain backend {0} is not supported. "
                u"Please select one of: {1}".format(
                    self.backend_name, u', '.join(self.backends.keys())))
        peak_method = self.config["peak"].as_str()
        if peak_method not in self.peak_methods:
            raise ui.UserError(
                u"Selected ReplayGain peak method {0} is not supported. "
                u"Please select one of: {1}".format(
                    peak_method, u', '.join(self.peak_methods.keys())))
        self._peak_method = self.peak_methods[peak_method]

        # On-import analysis.
        if self.config['auto']:
            self.register_listener('import_begin', self.import_begin)
            self.register_listener('import', self.import_end)
            self.import_stages = [self.imported]

        # Formats to use R128.
        self.r128_whitelist = self.config['r128'].as_str_seq()

        try:
            self.backend_instance = self.backends[self.backend_name](
                self.config, self._log)
        except (ReplayGainError, FatalReplayGainError) as e:
            raise ui.UserError(
                u'replaygain initialization failed: {0}'.format(e))
Ejemplo n.º 10
0
 def __init__(self):
     super(ConvertPlugin, self).__init__()
     self.config.add({
         u'dest': None,
         u'threads': util.cpu_count(),
         u'ffmpeg': u'ffmpeg',
         u'opts': u'-aq 2',
         u'max_bitrate': 500,
         u'embed': True,
         u'auto': False
     })
     self.import_stages = [self.auto_convert]
Ejemplo n.º 11
0
 def __init__(self):
     super(ConvertPlugin, self).__init__()
     self.config.add({
         u'dest': None,
         u'threads': util.cpu_count(),
         u'ffmpeg': u'ffmpeg',
         u'opts': u'-aq 2',
         u'max_bitrate': 500,
         u'embed': True,
         u'auto': False
     })
     self.import_stages = [self.auto_convert]
Ejemplo n.º 12
0
 def configure(self, config):
     conf['dest'] = ui.config_val(config, 'convert', 'dest', None)
     conf['threads'] = int(
         ui.config_val(config, 'convert', 'threads', util.cpu_count()))
     conf['ffmpeg'] = ui.config_val(config, 'convert', 'ffmpeg', 'ffmpeg')
     conf['opts'] = ui.config_val(config, 'convert', 'opts',
                                  '-aq 2').split(' ')
     conf['max_bitrate'] = int(
         ui.config_val(config, 'convert', 'max_bitrate', '500'))
     conf['embed'] = ui.config_val(config,
                                   'convert',
                                   'embed',
                                   True,
                                   vtype=bool)
Ejemplo n.º 13
0
    def __init__(self):
        super(ConvertPlugin, self).__init__()
        self.config.add({
            u'dest': None,
            u'pretend': False,
            u'link': False,
            u'hardlink': False,
            u'threads': util.cpu_count(),
            u'format': u'mp3',
            u'id3v23': u'inherit',
            u'formats': {
                u'aac': {
                    u'command': u'ffmpeg -i $source -y -vn -acodec aac '
                                u'-aq 1 $dest',
                    u'extension': u'm4a',
                },
                u'alac': {
                    u'command': u'ffmpeg -i $source -y -vn -acodec alac $dest',
                    u'extension': u'm4a',
                },
                u'flac': u'ffmpeg -i $source -y -vn -acodec flac $dest',
                u'mp3': u'ffmpeg -i $source -y -vn -aq 2 $dest',
                u'opus':
                    u'ffmpeg -i $source -y -vn -acodec libopus -ab 96k $dest',
                u'ogg':
                    u'ffmpeg -i $source -y -vn -acodec libvorbis -aq 3 $dest',
                u'wma':
                    u'ffmpeg -i $source -y -vn -acodec wmav2 -vn $dest',
            },
            u'max_bitrate': 500,
            u'auto': False,
            u'tmpdir': None,
            u'quiet': False,
            u'embed': True,
            u'paths': {},
            u'no_convert': u'',
            u'never_convert_lossy_files': False,
            u'copy_album_art': False,
            u'album_art_maxwidth': 0,
            u'delete_originals': False,
        })
        self.early_import_stages = [self.auto_convert]

        self.register_listener('import_task_files', self._cleanup)
Ejemplo n.º 14
0
    def __init__(self):
        super(CheckPlugin, self).__init__()
        self.config.add({
            'import': True,
            'write-check': True,
            'write-update': True,
            'integrity': True,
            'convert-update': True,
            'threads': cpu_count(),
            'external': {
                'mp3val': {
                    'cmdline': 'mp3val {0}',
                    'formats': 'MP3',
                    'error' : '^WARNING: .* \(offset 0x[0-9a-f]+\): (.*)$',
                    'fix': 'mp3val -nb -f {0}'
                },
                'flac': {
                    'cmdline': 'flac --test --silent {0}',
                    'formats': 'FLAC',
                    'error': '^.*: ERROR,? (.*)$'
                },
                'oggz-validate': {
                    'cmdline': 'oggz-validate {0}',
                    'formats': 'OGG'
                }

            }
        })

        if self.config['import']:
            self.register_listener('item_imported', self.item_imported)
            self.import_stages = [self.copy_original_checksum]
            self.register_listener('album_imported', self.album_imported)
        if self.config['write-check']:
            self.register_listener('write', self.item_before_write)
        if self.config['write-update']:
            self.register_listener('after_write', self.item_after_write)
        if self.config['convert-update']:
            self.register_listener('after_convert', self.after_convert)
        if self.config['integrity']:
            self.register_listener('import_task_choice',
                                   self.verify_import_integrity)
Ejemplo n.º 15
0
    def __init__(self):
        super(CheckPlugin, self).__init__()
        self.config.add({
            'import': True,
            'write-check': True,
            'write-update': True,
            'integrity': True,
            'convert-update': True,
            'threads': cpu_count(),
            'external': {
                'mp3val': {
                    'cmdline': 'mp3val {0}',
                    'formats': 'MP3',
                    'error': '^WARNING: .* \(offset 0x[0-9a-f]+\): (.*)$',
                    'fix': 'mp3val -nb -f {0}'
                },
                'flac': {
                    'cmdline': 'flac --test --silent {0}',
                    'formats': 'FLAC',
                    'error': '^.*: ERROR,? (.*)$'
                },
                'oggz-validate': {
                    'cmdline': 'oggz-validate {0}',
                    'formats': 'OGG'
                }

            }
        })

        if self.config['import']:
            self.register_listener('item_imported', self.item_imported)
            self.import_stages = [self.copy_original_checksum]
            self.register_listener('album_imported', self.album_imported)
        if self.config['write-check']:
            self.register_listener('write', self.item_before_write)
        if self.config['write-update']:
            self.register_listener('after_write', self.item_after_write)
        if self.config['convert-update']:
            self.register_listener('after_convert', self.after_convert)
        if self.config['integrity']:
            self.register_listener('import_task_choice',
                                   self.verify_import_integrity)
Ejemplo n.º 16
0
    def __init__(self):
        super(ConvertPlugin, self).__init__()
        self.config.add({
            u'dest': None,
            u'pretend': False,
            u'threads': util.cpu_count(),
            u'format': u'mp3',
            u'id3v23': u'inherit',
            u'formats': {
                u'aac': {
                    u'command': u'ffmpeg -i $source -y -vn -acodec aac '
                                u'-aq 1 $dest',
                    u'extension': u'm4a',
                },
                u'alac': {
                    u'command': u'ffmpeg -i $source -y -vn -acodec alac $dest',
                    u'extension': u'm4a',
                },
                u'flac': u'ffmpeg -i $source -y -vn -acodec flac $dest',
                u'mp3': u'ffmpeg -i $source -y -vn -aq 2 $dest',
                u'opus':
                    u'ffmpeg -i $source -y -vn -acodec libopus -ab 96k $dest',
                u'ogg':
                    u'ffmpeg -i $source -y -vn -acodec libvorbis -aq 3 $dest',
                u'wma':
                    u'ffmpeg -i $source -y -vn -acodec wmav2 -vn $dest',
            },
            u'max_bitrate': 500,
            u'auto': False,
            u'tmpdir': None,
            u'quiet': False,
            u'embed': True,
            u'paths': {},
            u'no_convert': u'',
            u'never_convert_lossy_files': False,
            u'copy_album_art': False,
            u'album_art_maxwidth': 0,
        })
        self.early_import_stages = [self.auto_convert]

        self.register_listener('import_task_files', self._cleanup)
Ejemplo n.º 17
0
    def __init__(self):
        super(CheckPlugin, self).__init__()
        self.config.add({
            'import': True,
            'write-check': True,
            'write-update': True,
            'integrity': True,
            'convert-update': True,
            'threads': cpu_count()
        })

        if self.config['import']:
            self.register_listener('item_imported', self.item_imported)
            self.import_stages = [self.copy_original_checksum]
            self.register_listener('album_imported', self.album_imported)
        if self.config['write-check']:
            self.register_listener('write', self.item_before_write)
        if self.config['write-update']:
            self.register_listener('after_write', self.item_after_write)
        if self.config['convert-update']:
            self.register_listener('after_convert', self.after_convert)
        if self.config['integrity']:
            self.register_listener('import_task_choice', self.verify_import_integrity)
Ejemplo n.º 18
0
 def __init__(self, fn, max_workers=None):
     super(Worker, self).__init__(max_workers or cpu_count())
     self._tasks = set()
     self._fn = fn
Ejemplo n.º 19
0
 def __init__(self, fn, max_workers=None):
     super(Worker, self).__init__(max_workers or cpu_count())
     self._tasks = set()
     self._fn = fn