diff options
Diffstat (limited to 'gnu/packages/music.scm')
-rw-r--r-- | gnu/packages/music.scm | 104 |
1 files changed, 86 insertions, 18 deletions
diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index cf99c88187..3f2018ef46 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -234,7 +234,7 @@ many input formats and provides a customisable Vi-style user interface.") (define-public hydrogen (package (name "hydrogen") - (version "0.9.6.1") + (version "0.9.7") (source (origin (method url-fetch) (uri (string-append @@ -242,7 +242,7 @@ many input formats and provides a customisable Vi-style user interface.") version ".tar.gz")) (sha256 (base32 - "0vxnaqfmcv7hhk0cj67imdcqngspnck7f0wfmvhfgfqa7x1xznll")))) + "1dy2jfkdw0nchars4xi4isrz66fqn53a9qk13bqza7lhmsg3s3qy")))) (build-system cmake-build-system) (arguments `(#:test-target "tests")) @@ -588,11 +588,12 @@ Guile.") (define-public non-sequencer ;; The latest tagged release is three years old and uses a custom build - ;; system, so we take the last commit affecting the "sequencer" directory. - (let ((commit "1d9bd576f6bf7ea240af5f7a60260592750af0dd")) + ;; system, so we take the last commit. + (let ((commit "a22f33f486a5c6f75b60e36f66504c036c0f6f8c") + (revision "2")) (package (name "non-sequencer") - (version (string-append "1.9.5-" (string-take commit 7))) + (version (string-append "1.9.5-" revision "." (string-take commit 7))) (source (origin (method git-fetch) (uri (git-reference @@ -600,7 +601,7 @@ Guile.") (commit commit))) (sha256 (base32 - "0pkkw8q6d55j38xm7r4rwpdv1wy00a44h8c4wrn7vbgpq9nij46y")) + "09q5x8i4f8mqnl8w6xnsq5zriy4bzdl4x2vq9n34a433rfrk84bg")) (file-name (string-append name "-" version "-checkout")))) (build-system waf-build-system) (arguments @@ -638,6 +639,28 @@ Sequencer happens on-line, in real-time. Music can be composed live, while the transport is rolling.") (license license:gpl2+)))) +(define-public non-session-manager + (package (inherit non-sequencer) + (name "non-session-manager") + (arguments + (substitute-keyword-arguments (package-arguments non-sequencer) + ((#:configure-flags flags) + `(cons "--project=session-manager" + (delete "--project=sequencer" ,flags))))) + (inputs + `(("jack" ,jack-1) + ("liblo" ,liblo) + ("ntk" ,ntk))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (home-page "http://non.tuxfamily.org/nsm/") + (synopsis "Audio session management") + (description + "The Non Session Manager is an API and an implementation for audio +session management. NSM clients use a well-specified OSC protocol to +communicate with the session management daemon.") + (license license:gpl2+))) + (define-public solfege (package (name "solfege") @@ -1744,8 +1767,8 @@ analogue-like user interface.") #t))))) (inputs `(("lilv" ,lilv) - ("fftw" ,fftw) - ("fftwf" ,fftwf) + ("fftw" ,fftw-with-threads) + ("fftwf" ,fftwf-with-threads) ("lv2" ,lv2) ("jack" ,jack-1) ("readline" ,readline))) @@ -1796,14 +1819,16 @@ event-based scripts for scrobbling, notifications, etc.") (define-public python-mutagen (package (name "python-mutagen") - (version "1.31") + (version "1.35.1") (source (origin (method url-fetch) (uri (pypi-uri "mutagen" version)) (sha256 (base32 - "16fnnhspniac2i7qswxafawsh2x2a803hmc6bn9k1zl5fxq1380a")))) + "0klk68c1n3285vvm2xzk8ii7mlqp1dxii04askan0gi1wlpagka9")))) (build-system python-build-system) + (native-inputs + `(("python-pytest" ,python-pytest))) (home-page "https://bitbucket.org/lazka/mutagen") (synopsis "Read and write audio tags") (description "Mutagen is a Python module to handle audio metadata. It @@ -1821,14 +1846,18 @@ streams on an individual packet/page level.") (define-public python-musicbrainzngs (package (name "python-musicbrainzngs") - (version "0.5") + (version "0.6") (source (origin (method url-fetch) (uri (pypi-uri "musicbrainzngs" version)) (sha256 (base32 - "12f48llmdf5rkiqxcb70k2k1dmhm8byq0ifazvlrca8dfnmqh4r8")))) + "1dddarpjawryll2wss65xq3v9q8ln8dan7984l5dxzqx88d2dvr8")))) (build-system python-build-system) + (arguments + '(;; The tests fail suffer from race conditions: + ;; https://github.com/alastair/python-musicbrainzngs/issues/211 + #:tests? #f)) (home-page "https://python-musicbrainzngs.readthedocs.org/") (synopsis "Python bindings for MusicBrainz NGS webservice") (description "Musicbrainzngs implements Python bindings of the MusicBrainz @@ -1876,13 +1905,13 @@ detailed track info including timbre, pitch, rhythm and loudness information. (define-public python-pylast (package (name "python-pylast") - (version "1.5.1") + (version "1.6.0") (source (origin (method url-fetch) (uri (pypi-uri "pylast" version)) (sha256 (base32 - "10znd9xr1vs2ix519jkz3ccm90zciaddcdr2w2wrrh2jyy3bc59a")))) + "0bml11gfkxqd3i2jxkn5k2xllc4rvxjcyhs8an05gcyy1zp2bwvb")))) (build-system python-build-system) (native-inputs `(("python-coverage" ,python-coverage) @@ -1905,16 +1934,20 @@ websites such as Libre.fm.") (define-public beets (package (name "beets") - (version "1.3.19") + (version "1.4.1") (source (origin (method url-fetch) (uri (pypi-uri "beets" version)) (sha256 (base32 - "1vi1dh3fr554bnm8y9pjy09hblw18v6cl2jppzwlp72afri1w93b")))) + "14yn88xrcinpdg3ic285ar0wmwldzyjfd3ll6clmp3z3r4iqffip")))) (build-system python-build-system) (arguments - `(#:python ,python-2 ; only Python 2 is supported + `(;; Python 3 support is still "alpha", and the upstream maintainers ask + ;; packagers not to use it yet: + ;; https://github.com/beetbox/beets/releases/tag/v1.4.1 + ;; TODO Check this again for the next release. + #:python ,python-2 #:phases (modify-phases %standard-phases (add-after 'unpack 'set-HOME @@ -1935,7 +1968,8 @@ websites such as Libre.fm.") ("python2-responses" ,python2-responses))) ;; TODO: Install optional plugins and dependencies. (inputs - `(("python2-enum34" ,python2-enum34) + `(("python2-discogs-client" ,python2-discogs-client) + ("python2-enum34" ,python2-enum34) ("python2-jellyfish" ,python2-jellyfish) ("python2-munkres" ,python2-munkres) ("python2-musicbrainzngs" ,python2-musicbrainzngs) @@ -2413,3 +2447,37 @@ a simulation of an analog Wah pedal with switchless activation.")))) filters, crossovers, simple gain plugins without zipper noise, switch box plugins, a switch trigger, a toggle switch, and a peakmeter.") (license license:gpl2+)))) + +(define-public python-discogs-client + (package + (name "python-discogs-client") + (version "2.2.1") + (source (origin + (method url-fetch) + (uri (pypi-uri "discogs-client" version)) + (sha256 + (base32 + "053ld2psh0yj3z0kg6z5bn4y3cr562m727494n0ayhgzbkjbacly")))) + (build-system python-build-system) + (propagated-inputs + `(("python-oauthlib" ,python-oauthlib) + ("python-requests" ,python-requests))) + (native-inputs + `(("python-six" ,python-six))) + (home-page "https://github.com/discogs/discogs_client") + (synopsis "Official Python client for the Discogs API") + (description "This is the official Discogs API client for Python. It enables +you to query the Discogs database for information on artists, releases, labels, +users, Marketplace listings, and more. It also supports OAuth 1.0a +authorization, which allows you to change user data such as profile information, +collections and wantlists, inventory, and orders.") + (license license:bsd-2) + (properties `((python2-variant . ,(delay python2-discogs-client)))))) + +(define-public python2-discogs-client + (let ((base (package-with-python2 + (strip-python2-variant python-discogs-client)))) + (package (inherit base) + (native-inputs + `(("python2-setuptools" ,python2-setuptools) + ,@(package-native-inputs base)))))) |