From cda7b4d9dcce611fddfcaf1fa422e54a965cf7c6 Mon Sep 17 00:00:00 2001 From: Andrew Date: Fri, 27 Jan 2012 15:55:37 -0500 Subject: [PATCH 1/4] Added a property for sample rate, mutagen provides this as sample_rate --- beets/mediafile.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/beets/mediafile.py b/beets/mediafile.py index 3d86b0750..ad2476a8d 100644 --- a/beets/mediafile.py +++ b/beets/mediafile.py @@ -944,6 +944,10 @@ class MediaFile(object): def length(self): return self.mgfile.info.length + @property + def samplerate(self): + return self.mgfile.info.sample_rate + @property def bitrate(self): if hasattr(self.mgfile.info, 'bitrate'): From 24a0ab847a5cb00d9be870bf6c537251459ac690 Mon Sep 17 00:00:00 2001 From: Andrew Date: Fri, 27 Jan 2012 17:05:12 -0500 Subject: [PATCH 2/4] Added support for bit depth also --- beets/mediafile.py | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/beets/mediafile.py b/beets/mediafile.py index ad2476a8d..4fde82ae0 100644 --- a/beets/mediafile.py +++ b/beets/mediafile.py @@ -946,9 +946,22 @@ class MediaFile(object): @property def samplerate(self): - return self.mgfile.info.sample_rate - + if hasattr(self.mgfile.info, 'sample_rate'): + # Reasonably sure from checking mutagen source that all + # formats will return this information + return self.mgfile.info.sample_rate + else: + # Return and empty string, _if_ this ever happens + return '' + @property + def bitdepth(self): + if hasattr(self.mgfile.info, 'bits_per_sample'): + # Reasonably sure from checking mutagen source that all + # formats will return this information + return self.mgfile.info.bits_per_sample + + @property def bitrate(self): if hasattr(self.mgfile.info, 'bitrate'): # Many formats provide it explicitly. From 9c70b260a684b3c81e50780ee31a2fda2c100033 Mon Sep 17 00:00:00 2001 From: Andrew Date: Fri, 27 Jan 2012 17:31:10 -0500 Subject: [PATCH 3/4] Added support for channels, changed samplerate so it doesn't return if doesn't exist. Made bitdepth only return if exists, looks like only mp4, flac and ape support bitdepth. --- beets/mediafile.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/beets/mediafile.py b/beets/mediafile.py index 4fde82ae0..9be8f2485 100644 --- a/beets/mediafile.py +++ b/beets/mediafile.py @@ -950,9 +950,6 @@ class MediaFile(object): # Reasonably sure from checking mutagen source that all # formats will return this information return self.mgfile.info.sample_rate - else: - # Return and empty string, _if_ this ever happens - return '' @property def bitdepth(self): @@ -961,6 +958,13 @@ class MediaFile(object): # formats will return this information return self.mgfile.info.bits_per_sample + @property + def channels(self): + if hasattr(self.mgfile.info, 'channels'): + # Reasonably sure from checking mutagen source that all + # formats will return this information + return self.mgfile.info.channels + @property def bitrate(self): if hasattr(self.mgfile.info, 'bitrate'): From 4df4ce05cebb3633b6be6fd8db2216fba670f7bd Mon Sep 17 00:00:00 2001 From: Andrew Date: Fri, 27 Jan 2012 17:38:20 -0500 Subject: [PATCH 4/4] Created a .gitignore for the group --- .gitignore | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 000000000..b0fb5160d --- /dev/null +++ b/.gitignore @@ -0,0 +1,29 @@ + +# general hidden files/directories + +.DS_Store +.sconsign* +.svn + +# file patterns + +*.dylib +*.la +*.lo +*.o +*.pyc +*.pyo +*.so +*.tar.gz +*.tar.bz2 +*~ +*.project +*.pydevproject + +# Project Specific patterns + +dist/* +beets.egg-info/* +build/* +docs/_build/* +