VAIMP was created from a larger project, called VAI. And hence its name: VAI-Music Player.
VAI was a voice-controlled virtual assistant, which initially had basic functions such as searching for things on the internet, providing information about the weather, opening programs, etc. Then an integrated music player was added that, in addition to having the basic functions of a player, could also be controlled by voice and do things like play a certain song, switch between playlists just by saying it, etc. This is how, due to the usefulness of its music player, it was decided to create its own independent version with great optimization involved in order that it can be used at the same time as "heavy" applications or games without affecting their performance.
Programmatically speaking, VAIMP is a Windows Presentation Fundation (WPF) application written in C# and built with .NET Framework 4.5. Also, it uses the following libraries:
- CSCore: a free .NET audio library which is completely written in C#. Although it is still a rather young project, it offers tons of features like playing or capturing audio, en- or decoding many different codecs, effects and much more!
- DiscordRPC: a C# implementation of the Discord RPC library which was originally written in C++. This avoids having to use the official C++ and instead provides a managed way of using the Rich Presence within the .NET environment*.
- Html Agility Pack: an HTML parser written in C# to read/write DOM and supports plain XPATH or XSLT.
- Newtonsoft JSON: popular high-performance JSON framework for .NET.
- Ookii.Dialogs: a class library for .Net applications providing several common dialogs. Included are classes for task dialogs, credential dialogs, progress dialogs, input dialogs, and common file dialogs.
- PortableSettingsProvider: a .NET library that can be used to make the built-in application of WinForms and WPF application settings portable and more configurable.
- SFML.Net: the official binding of SFML for the .Net language family (C#, VB.Net, C++/CLI, etc.). It is built on top of the C binding, CSFML, to ensure maximum compatibility across platforms.
- TagLib#: a .NET platform-independent library for reading and writing metadata in media files, including video, audio, and photo formats.