+
+(define-public fmit
+ (package
+ (name "fmit")
+ (version "1.2.13")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/gillesdegottex/fmit/")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1qyskam053pvlap1av80rgp12pzhr92rs88vqs6s0ia3ypnixcc6"))))
+ (build-system gnu-build-system)
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ (delete 'configure)
+ (add-before 'build 'qmake
+ (lambda _
+ (let ((out (assoc-ref %outputs "out")))
+ (invoke "qmake"
+ "fmit.pro"
+ (string-append "PREFIX=" out)
+ (string-append "PREFIXSHORTCUT=" out)
+ "CONFIG+=acs_qt acs_alsa acs_jack acs_portaudio"))))
+ (add-after 'install 'wrap-executable
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (wrap-program (string-append out "/bin/fmit")
+ `("QT_PLUGIN_PATH" ":" prefix
+ ,(map (lambda (label)
+ (string-append (assoc-ref inputs label)
+ "/lib/qt5/plugins"))
+ '("qtbase" "qtmultimedia" "qtsvg")))
+ `("QML2_IMPORT_PATH" ":" prefix
+ ,(map (lambda (label)
+ (string-append (assoc-ref inputs label)
+ "/lib/qt5/qml"))
+ '("qtmultimedia"))))
+ #t))))))
+ (inputs
+ `(("alsa-lib" ,alsa-lib)
+ ("fftw" ,fftw)
+ ("jack" ,jack-1)
+ ("portaudio" ,portaudio)
+ ("qtbase" ,qtbase)
+ ("qtmultimedia" ,qtmultimedia)
+ ("qtsvg" ,qtsvg)))
+ (native-inputs
+ `(("gettext" ,gnu-gettext)
+ ("hicolor-icon-theme" ,hicolor-icon-theme)
+ ("itstool" ,itstool)
+ ("qttools" ,qttools)))
+ (synopsis "Musical instrument tuner")
+ (description "FMIT is a graphical utility for tuning musical instruments,
+with error and volume history, and advanced features.")
+ (home-page "https://gillesdegottex.github.io/fmit/")
+ ;; Most of the code is under GPL2+, but some abstract or helper classes
+ ;; are under LGPL2.1.
+ (license (list license:gpl2+ license:lgpl2.1))))
+
+(define-public mloop
+ (let ((commit "adebff98b0b4dc5872a03acb82e89c77cb29c127")
+ (revision "0"))
+ (package
+ (name "mloop")
+ (version (git-version "0.0.1" revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "http://git.fuzzle.org/mloop")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "175gxvg5slq0bllcx1c381rjlq3xpxww8c3kpiw5i2kfr4m52myz"))))
+ (build-system waf-build-system)
+ (arguments
+ `(#:python ,python-2
+ #:tests? #f)) ; no "check" target
+ (inputs
+ `(("jack" ,jack-1)
+ ("ncurses" ,ncurses)))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (home-page "https://fuzzle.org/~petern/mloop.html")
+ (synopsis "Live MIDI looper")
+ (description "mloop is a live MIDI looping system, using jack-midi.
+Loops are recorded, optionally with beat quantization, and can then be played
+back, either once or looping. A 'note cache' system is implemented to
+remember which notes are pressed and their velocities. This allows for a loop
+to start off with the currently pressed notes, making seamless loops much
+easier to perform. Features include:
+
+@itemize
+@item Quantisation; end a loop on a beat exactly.
+@item Delayed recording; wait for a MIDI event before starting a loop record.
+@item Adjust tempo; Playback speed of loops can be adjusted on the fly.
+@end itemize\n")
+ (license license:gpl2))))
+
+(define-public pragha
+ (package
+ (name "pragha")
+ (version "1.3.4")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/pragha-music-player/pragha/"
+ "releases/download/v" version "/pragha-" version
+ ".tar.bz2"))
+ (sha256
+ (base32
+ "19kbhq99bkimx3aqrdzln0vlr4slkpx6kq66j731jvqyq76nlkp5"))))
+ (build-system glib-or-gtk-build-system)
+ (native-inputs
+ `(("intltool" ,intltool)
+ ("pkg-config" ,pkg-config)))
+ (inputs
+ `(("glib" ,glib)
+ ("grilo" ,grilo)
+ ("gstreamer" ,gstreamer)
+ ("gst-plugins-base" ,gst-plugins-base)
+ ("gst-plugins-good" ,gst-plugins-good)
+ ("gtk+" ,gtk+)
+ ("libcddb" ,libcddb)
+ ("libcdio" ,libcdio)
+ ("libcdio-paranoia" ,libcdio-paranoia)
+ ("libgudev" ,libgudev)
+ ("libnotify" ,libnotify)
+ ("libpeas" ,libpeas)
+ ("libsoup" ,libsoup)
+ ("sqlite" ,sqlite)
+ ("taglib" ,taglib)))
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'install 'wrap-program
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out"))
+ (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH")))
+ (wrap-program (string-append out "/bin/pragha")
+ `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path)))
+ #t))))))
+ (home-page "https://pragha-music-player.github.io")
+ (synopsis "Music player")
+ (description "Pragha is a lightweight music player based on Gtk and
+sqlite. It is constructed to be fast, light, and simultaneously tries to be
+complete without obstructing your daily work.")
+ (license license:gpl3+)))
+
+(define-public playerctl
+ (package
+ (name "playerctl")
+ (version "2.0.2")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/altdesktop/playerctl.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1f3njnpd52djx3dmhh9a8p5a67f0jmr1gbk98icflr2q91149gjz"))))
+ (build-system meson-build-system)
+ (arguments
+ `(#:configure-flags '("-Dintrospection=false" "-Dgtk-doc=false")))
+ (inputs `(("python-pygobject" ,python-pygobject)))
+ (native-inputs
+ `(("glib:bin" ,glib "bin")
+ ("pkg-config" ,pkg-config)))
+ (synopsis "Control MPRIS-supporting media player applications")
+ (description
+ "Playerctl is a command-line utility and library for controlling media
+players that implement the MPRIS D-Bus Interface Specification. Playerctl
+makes it easy to bind player actions, such as play and pause, to media keys.
+You can also get metadata about the playing track such as the artist and title
+for integration into status line generators or other command-line tools.")
+ (home-page "https://github.com/altdesktop/playerctl")
+ (license license:lgpl3+)))