Add support for Opus files (needs dev version of Mutagen)

http://tickets.musicbrainz.org/browse/PICARD-289
This commit is contained in:
Lukáš Lalinský
2012-10-12 20:30:57 +02:00
parent 8ef89a52c4
commit 6ff8eac784
2 changed files with 19 additions and 0 deletions

View File

@@ -164,11 +164,15 @@ from picard.formats.vorbis import (
OggSpeexFile,
OggVorbisFile,
OggAudioFile,
OggOpusFile,
with_opus,
)
register_format(FLACFile)
register_format(OggFLACFile)
register_format(OggSpeexFile)
register_format(OggVorbisFile)
if with_opus:
register_format(OggOpusFile)
register_format(OggAudioFile)
try:

View File

@@ -24,6 +24,12 @@ import mutagen.oggflac
import mutagen.oggspeex
import mutagen.oggtheora
import mutagen.oggvorbis
try:
from mutagen.oggopus import OggOpus
with_opus = True
except ImportError:
OggOpus = None
with_opus = False
from picard.file import File
from picard.metadata import Metadata
from picard.util import encode_filename, sanitize_date
@@ -203,6 +209,15 @@ class OggVorbisFile(VCommentFile):
super(OggVorbisFile, self)._info(metadata, file)
metadata['~format'] = self.NAME
class OggOpusFile(VCommentFile):
"""Ogg Opus file."""
EXTENSIONS = [".opus"]
NAME = "Ogg Opus"
_File = OggOpus
def _info(self, metadata, file):
super(OggOpusFile, self)._info(metadata, file)
metadata['~format'] = self.NAME
def OggAudioFile(filename):
"""Generic Ogg audio file."""
options = [OggFLACFile, OggSpeexFile, OggVorbisFile]