After trying with a dozen files, it seems the bs1770gain backend is much
more reliable than the audiotools backend and especially does a better
job (well, compared to audiotools which either does doing nothing at all
or throws an exception) when used on alboms that contain different
sample rates/sizes.
Additionally, we already had a few issues regarding the audiotools
backend, even to the extent that @sampsyco almost wanted to drop it
upstream (see sampsyco/beets#1342).
Also related issues are #10376 and sampsyo/beets#1592.
Signed-off-by: aszlig <aszlig@redmoonstudios.org>
I have to admit that I did very poor testing in d7307d8 and didn't
notice that the "badfiles" plugin relies on mp3val (thanks to @devhell
for packaging in 6e1ef13) and flac to be actually useful.
We now patch in the store locations of these binaries and make
"badfiles" an optional dependency (though enabled by default).
Now, I have tested "beet bad" on my whole music collection and it worked
fine (well, it has found errors... but that's what it is for).
Signed-off-by: aszlig <aszlig@redmoonstudios.org>
Introduces a new plugin called "badfiles", which helps to scan for
corruption within the music collection. I've added this to
pluginsWithoutDeps and sorted the list.
Full upstream changelog can be found here:
https://github.com/sampsyo/beets/releases/tag/v1.3.15
This fixes#10376 via sampsyo/beets@225ba28.
Signed-off-by: aszlig <aszlig@redmoonstudios.org>
The configure script requires libogg in both the paths of libopus and
libvorbis. Because is isn't true for the libopus and libvorbis
derivations in NixOS and patching the configure script is a bit tedious,
a temporary environment with libogg, libvorbis & libopus is used.
I presume there's something about how github creates the .zip files such
that they can change SHA.
Please note: this is a very outdated version of pasystray---I don't know
if that's intentional, but perhaps a better strategy would be to update
it wholesale.
We're passing glibcLocales to the tests directly, so we don't pollute
the builder's environment anyway, so no reason to override anything
there.
Signed-off-by: aszlig <aszlig@redmoonstudios.org>
I know, I know, this is me being ultra-nazi about those things, but
beets is about OCDing your music collection, so why not apply this to
the Nix expressions as well?
Signed-off-by: aszlig <aszlig@redmoonstudios.org>
We can now finally drop the mediafile and test fix patches, because they
were already coming from the upstream repository and are now included in
the release.
Also, this release brings two new plugins:
* permissions: Fix permissions on music files as they are imported.
* plexupdate: Notify a Plex server when the database changes.
The echonest_tempo plugin has finally been removed and so we can drop it
entirely. No plugin as of now tries to do interactive prompts on "beet
config" anymore, so we can test *all* plugins and without providing
dummy options.
The full list of changes can be found here:
https://github.com/sampsyo/beets/releases/tag/v1.3.10
Signed-off-by: aszlig <aszlig@redmoonstudios.org>
See, that's why I hate the gregorian calendar and new years eve: People
tend to celebrate things that are absolutely irrelevant, like this
comment.
The test however assumed that either beets or its test suite would never
survive 2015, so this test should assure it won't survive in >= 2015 :-)
Anyway, the patch is from upstream master, so we can drop it once 1.3.10
is released.
Signed-off-by: aszlig <aszlig@redmoonstudios.org>
Beets tries to load oll activated plugins on "beet config -e" (however
only on the second run, thus the dummy), so we just pass all activated
plugins into a generated config file and bail out on any errors.
Signed-off-by: aszlig <aszlig@redmoonstudios.org>
The reason for doing this is in order to not forget about possible
dependencies in new upstream releases, so if upstream is introducing a
new plugin where we're lacking dependencies, the build will fail on our
side and we can check whether we'll need those.
Signed-off-by: aszlig <aszlig@redmoonstudios.org>
Using commands such as mp3gain and aacgain is only the default for
backwards-compatible reasons. However, on Nix(OS), we would have to
either patch those tools into beets or rely on an impurity, so let's
depend on audiotools and also default to that backend.
Of course, there is also a GStreamer backend, but it comes with a hell
of additional dependencies (which not only cover audio files), which is
why I decided against defaulting to GStreamer and package audiotools
instead (in eecd932).
Signed-off-by: aszlig <aszlig@redmoonstudios.org>
This also fleshes out/fixes the unit tests, which I've used for
gathering the individual requirements.
Along various Python dependencies we now also have a build-time
dependency on bashInteractive and a runtime dependency on
bashCompletion, which is needed for command line completion to work
correctly.
However, some tests for the shell completion fail at the moment, so I've
disabled them for now.
The patch for fixing mediafile codec info is a modified version of
sampsyo/beets@903e88a, where I just dropped the second hunk modifying
the changelog. It is already merged to master and thus expected to be in
the next upstream version.
Signed-off-by: aszlig <aszlig@redmoonstudios.org>
The reason for doing this is because the package on PyPI is missing some
files needed for running the test suite (for example:
test/test_completion.sh).
Signed-off-by: aszlig <aszlig@redmoonstudios.org>
The primary use of beets is not as a Python library and users usually
would expect to install it into the env using "nix-env -i beets" rather
than "nix-env -i pythonX.Y-beets".
Having beets in its own package directory also allows for better
customization, where we're going to implement attributes that can be
used to turn on/off various features and plugins.
Signed-off-by: aszlig <aszlig@redmoonstudios.org>