Exaile is a database-oriented music player with smart playlists and some advanced tagging features. It supports browsing music indexed into it's database by artist, album, genre, data and combinations of those but not by folder or folder tree. Both browsing a music collection and dragging songs or albums from it to the playlist is really slow, notably so, if the collection's large. Exaile's also got a radio browser with a large amount of stations pre-configured. Exaile is fine for browsing radio stations and that's about it. It's interface is unacceptably irreponsive and too sluggish to use it as a general music player.
Features and usability
Exaile is in principle a fine music player with most of the more advanced features database-driven music players tend to have. Indexing the collection and storing it in Exaile's database upon first launch is very slow and it takes hours if the music collection is large. This is pretty normal and to be expected. Actually using the music collection database from Exaile's "Collection" tab is also very slow and that's not very typical and not at all acceptable.
Switching from one kind of view in it's collection tab to another is painfully slow. Clicking say Album makes Exaile freeze for half a minute until a list of albums - or random songs depending on how well your collection is tagged - appears.
Dragging songs from the collection view to the playlist is also painfully slow. Drag an album and over and nothing happens for 20 seconds. Tracks are eventually added and it's totally possible to make playlists if you are very patient. Playlists can be managed in tabs which makes it easy to have several open and quickly switch between them. That doesn't really help when it's impossible to quickly add songs to the playlist. Drag one folder and it's frozen for ages and you have to patiently wait until you can add another folder.
The user-interface has a completely different problem which makes Exaile painful to use in a very different way: The default icon sizes for the play/stop and back/forward buttons as well as file file navigation buttons in it's "Files" view are set to really small sizes which are extremely tiny on modern HiDPI monitors. These buttons can of course not be resized since Exaile is made with GTK 3 and the GTK developers decided that being able to resize icons made GTK applications too usable for people with poor eye-sight and HiDPI monitors so they removed that option in the typical GTK/GNOME fashion.
Exaile's button icons are perhaps totally usable on a big old monitor with a low resolution like 1280x768. They are simply way too small on a modern display.
Verdict and conclusion
Dragging files from the "Files" view is responsive and fine and it can be used for playlist management if you are fine with using that view and you are able to navigate it using the extremely tiny buttons. Everything related to the music collection index feature is just too horribly slow. It is nowhere near as responsive as a music player should be. This may have to do with Exaile being a Python program and those do tend to be really slow and laggy. PyChess is another example of another Python-program which could have been great but isn't because the graphical interface acts like it is stuck in glue. Regardless of why Exaile needs to spend 20 seconds doing something that should take less than one: It absolutely ruins the experience. That combined with the tiny icons makes it a non-alternative. It's just bad at being a data-based oriented music player. Audacious is a better choice if you just want to add files from folders to a playlist. The Music Player Daemon combined with a front-end like Cantata is a much better choice if you want to index a music collection and use those kinds of features.
Exaile's website is at https://www.exaile.org/
The link to "Download 4.0.0 Source" in the "Download" section on that site is broken. The link to the Windows version does work and there's also instructions for acquiring the source from Microsoft github.
Stand-alone music players:
Music Player Daemon clients:
mpd is a database-oriented music player daemon which can be controlled by numerous front-end programs.