ivy-ampache is an elisp package allowing you to access your ampache library from Emacs.
It uses the XML API of ampache to get the data from the server.
It parses artists, albums, songs and the streaming url. The urls are then fed to an external player for audio playback.
It currently can use several players as backends. Please refer to the related section.
The main entrypoint function is
Diclaimer: This is my first Emacs and elisp package, so there might be dragons. Furthermore, don't hesitate to provide feedback and advices to improve the code quality (as I am mainly an object-oriented programmer).
The package has been tested on GNU Linux (Ubuntu) and Windows.
Via el-get (or other package managers that handle github urls):
(el-get-bundle ivy-ampache :url "https://github.com/aancel/ivy-ampache" :features ivy-ampache)
- Setup the environment for the package
;; Login information (setq ampache-user "user") (setq ampache-password "password") ;; Url of the instance (setq ampache-base-url "https://nextcloud.domain.com/index.php/apps/music/ampache") (setq ampache-result-limit "100")
Music application for Nextcloud
As of now, there are two backend for playing music and handling playlists:
- Either via emms, by setting:
;; When using this backend on Windows, use mplayer instead of vlc ;; Using the external vlc process tends to block further accesses to the server (setq ampache-use-emms-backend t)
- Or directly via external players
;; Do not use the emms backend (setq ampache-use-emms-backend nil) ;; Then specify the media player path (setq ampache-media-player "C:\\Program Files (x86)\\Clementine\\clementine.exe")
- Make sure ampache-auto-login is enabled
;; Sets up auto-login to instance, otherwise use (ampache-authenticate) (setq ampache-auto-login t)
- Enqueue albums
- Authenticate with your server
- Enqueue albums