Fauxdacious Media Player (Fork of Audacious Audio Player)

Introducing
Fauxdacious Logo
(Updated 06/14/2023) I’m pleased to announce the latest release of Fauxdacious(tm) Media Player, v. 4.3-final!  However, Fauxdacious is on a “rolling-release” basis on the official GITHUB sight, (Currently at v4.3-final) which is kept pretty closely up-to-date with the latest Audacious git!  (NOTE:  You can now install Fauxdacious alongside your current Audacious installation without removing it, ie. to try out Fauxdacious without committing to switching)!  Fauxdacious is my FORK of “Audacious Audio Player“.  (See FAQ Here for more detailed and up-to-date information, and latest changes here)!  The reason for this fork was that I’ve accumulated numerous changes that I’ve made over the years to Audacious, my favorate audio player app. in order to have a single go-to all-around media-player that does everything I want!  I’ve also added some big new features, namely VIDEO-playing capability, a shiny new DVD-player plugin, and web-based album art covers!  We’ve also retained the classic GTK interface (option) that Audacious has depreciated!  While Fauxdacious adds numerous new features and capabilities to Audacious, they’re there only when you want them and do not get in your way (and most can be turned off)!  Long-time Audacious users should feel right at home with Fauxdacious, as the interface and usability remain virtually identical.  Mostly, Audacious users will notice a few more plugins included, settings checkboxes and fields here and there, command-line options, config file options, and Winamp skins included, enhanced album-art and lyrics support, along with better integration with and easier access to streaming radio stations, podcasts, videos, etc.  I plan to continue making further patches and changes I make to Fauxdacious available to the Audacious team for their consideration, but will not be concerned about whether they choose to include them.  I try to keep Fauxdacious up-to-date with the latest GIT changes in Audacious, but can also be more open to new patches offered by others, which the Audacious team may reject, as well as cherry-picking new bugfixes, upgrades, and features that they include into their future releases.  Therefore, you may see some Audacious features / fixes show up here before they do in the next official Audacious release!
If you have an issue with Fauxdacious, your best bet would be to first try real Audacious and then check their forums.  You need to determine if it fails there also, or if the issue only affects Fauxdacious!  If Audacious replicates the bug, then report it there (I monitor their bug list and feature requests!), but if not, then notify me (as it is then an issue with my Fauxdacious patches), and I need to fix it!  Please DO NOT file bug reports with Audacious regarding this project unless you can replicate it there without notifying me first!
Fauxdacious Features not currently found in Audacious (see the FAQ. for others, and for more up-to-date detail and instructions on how to take advantage of them)!:
Fauxdacious main screen (Qt)
Fauxdacious (Qt interface) showing Album Art plugin with album cover fetched from Musicbrainz.com while playing a streaming radio station.
1)  A “DVD-player” plugin for playing DVDs (video, audio & menus) Now for both Linux/Unix and Windows, may work on Mac too, but I can’t test!
2)  A new “visualization” plugin / option for displaying the video of files and streams that contain a video stream in a popup window.  Since Audacious already has “visualization” plugins that pop up a separate window to display stuff like fractals, equalizer graphs, etc. that are tied to what’s playing, my idea was to create a “visualization” plugin that would display the actual video part of the stream, if it contained one.  I have rewritten their “FFAudio Plugin” to add options for handling video and, so far, it handles pretty much any video stream (that also contains audio) that ffmpeg / ffplay can play!  Screenshot below playing a Youtube video (live, not downloaded) with my new “DefaultViolet” skin (included):
Youtube video on Fauxdacious
Fauxdacious (Winamp Skins interface, DefaultViolet skin) playing a Youtube video.
Export Presets Screen3)  Restoration of XMMS’s “auto-preset” feature that permits creation of song/stream specific equalizer (and optionally, effects plugins) settings.  In the equalizer window (when using the WinAmp Skin interface, the [Auto] and [Preset] buttons now work again)!  When you “Export” a “Preset” file, the window pops up with the name of the currently-playing song displayed as the default file name and the default directory is the Audacious config directory.  If you save your preset file there under that name and you turn the [Auto] button on, and restart the song, Fauxdacious will load the matching preset file from there for that song/stream while it is playing, then restore the default equalizer presets when advancing to another song.  The [Preset] button also lights up (as shown in the image above) if Fauxdacious is currently using a song/stream specific preset.  Fauxdacious can also optionally save which Effects plugins you have on, along with the equalizer settings allowing you to have certain Effects plugins on just for specific songs, urls, directories, disks, etc.  As of v3.9 we’ve also restored XMMS’s directory-specific preset option as well, that will look first for custom equalizer (and Effects plugin) settings for local song files in the song’s directory.
4)  Ability to play Youtube, Vimeo, and other web-based videos using (an included) Perl “helper” background-script (FauxdaciousUrlHelper.pl) found in the contrib/ directory for prefetching the video title in the background, and extracting and adding the hidden “live-stream” to the playlist in place of the Youtube url you specify.  (One time) You need to copy FauxdaciousUrlHelper.pl from the contrib directory to somewhere in your executable path, like /usr/local/bin/ (Linux/Unix users – the install script takes care of this for Windows users!) AND go to [Settings].[Advanced] and in the box under “URL-Helper program?:” type in: “FauxdaciousUrlHelper.exe” and change the “Allow URL-helper:” dropdown from “Never” to “URLs NOT in playlists” and you should be all set!  Simply go to their site, find your video, then simply paste the desired video’s url into Fauxdacious’s “Add URL” box.
5)  Ability to play most IHeart.com, Tunein.com, et. al. radio stations, video sites (that contain an actual live stream) such as Youtube, Vimeo, Rumble, et. al., and podcasts (Apple, Castbox, Spreaker, et. al.); via the new (provided) FauxdaciousUrlHelper.pl url-helper background script (mentioned in the previous paragraph).  The helper script will enable Fauxdacious to fetch and play (without having to download) pretty much any URL supported by my (The Fauxdacious author’s) Perl “StreamFinder” module (See that link for details on all the sites it supports).  Simply go to a streaming site, find your station, video, or podcast, then simply paste the desired webpage url into Fauxdacious’s “Add URL” box. NOTE: Windows users will not need Perl installed, as the helper scripts are pre-compiled for Windows as binary EXE files and installed by the Windows Easy Installer when installing Fauxdacious for Windows!
Lyricwiki Plugin Options Screen6)  Restoration of the (currently partially-working) Audacious LyricWiki (song lyrics fetching) plugins using a new Perl helper program: FauxdaciousLyricsHelper.pl (.exe for Windows users) which now uses my “LyricFinder” module, which can randomly search multiple online lyrics sites, and even return album-art!  We’ve also added an option to automatically save / cache newly-fetched lyrics to disk (~/.config/fauxdacious[-instancename]/lyrics/).  NOTE: Set this in [Settings].[Advanced].”.”Lyric plugin helper program:” – see FAQ #22 for details.
7)  Ability to both save song lyrics from lyricwiki to local text files or embed into the file’s metadatags (supported formats) and use them for song lyrics via the Lyricwiki plugin.
Albumart Plugin Options Screen8)  Ability to live-fetch and cache album-cover images from Genius.com, Musicmatch.com and Musicbrainz.com for many songs using the Fauxdacious-enhanced version of the “Album Art” plugin. These images, along with the cover-art icons for many streaming radio stations, Youtube videos, podcasts, CDs and DVDs via the (included) Perl Cover Art helper script “FauxdaciousCoverArtHelper.pl” (.exe for Windows users) – set this in [Settings].[Advanced].”.”Cover Art-helper program:” – see the FAQ #28, et. al. for details.
9)  Ability to save tag metadata (title, artist, cover art images, etc.) to files in media formats that don’t support tags, such as streams (URLs), Audio-CDs, and DVDs by going to [Settings].[Song Info] and checking the “Save unsavable metadata to file” box..  Such metadata will be stored in a text file (user_tag_data) in either the file’s local directory or your fauxdacious[_instancename] config directory (your choice).  Leveraging this option, Fauxdacious can now download your favorate CD and DVD cover images and CD track metadata and use them for cover art, etc. when playing your Audio CDs, DVDs and Youtube / Vimeo, et. al. videos with Fauxdacious!  Now with version 3.9, we’ve added the ability to create custom tag files for specific directories and audio CDs (ie. user-created “mash CDs” (for which the metadata is not seekable on the disk or the internet!)  Also for “one-off” videos, such as Youtube/Vimeo videos, podcasts, etc. the helper script instead saves the tag/cover art data to a temp. file (tmp_tag_data), that is automatically deleted for you when you restart Fauxdacious with the “-D” option, preventing your user_tag_data file from filling up with the cruft of all the Youtube, etc. videos you’ve watched.  Fauxdacious will also look in a local song file’s directory for a file called “user_tag_data.tag” for tag data.
10)  New “-#” / “-n” / –new=<instance-name> options to activate a new “instance” of Fauxdacious by specifying an alternate config directory name (~/.config/fauxdacious-<instance-name>/).  I use this, as described in the script below (for the -P option) with two separate instances of Fauxdacious running at the same time with different playlists (and / or different configurations).  The default config directory is named “fauxdacious” (~/.config/fauxdacious/).  a new, separate “instance” is specified by “–new=newconfig” where “newconfig” referrs to the name of a different config directory (can be a copy).  This “instance-name” (much easier to remember than just a number, as in Audacious) can then be used in the “fauxdtool” command to specify which instance of Fauxdacious to manipulate!  The default instance name is “fauxdacious”, with nothing appended to the end of it.  -# works just like Audacious instances.
11)  Better (imho) stdin input (for streaming) of most formats as well as playlists and cuesheets.  (UPDATE:  as of v3.83-beta3, we now support Audacious’s way of doing this (in addition to our prev. way), removing many of our code changes!)  NOTE:  Cuesheets and playlists (other than m3u/text) require the old “extension hint” (“-.cue”, “-.pls”, etc.)  Again this is for using Fauxdacious as a component in pipes.  Audacious actually implemented this at my urging a while back, but my rejected patch not only permits streaming media through stdin, but also lists of media files to process via simple ls commands, etc.  ie. generated by a script, etc.  Audacious now supports this via a slightly more complicated syntax, however.  Added new “–” (double-dash) stdin option to v3.9 that loads a text-base list of entries (ie. ls -d1 *, or a text file with entries one per line) as if they were specified on the command-line INSTEAD of being piped in as an m3u “playlist”.  This is needed in order to be able to pipe in additional entries to an already running instance, ie. “ls morefiles | fauxdacious -e –” if Fauxdacious is already running. For a simple example:
ls ~/Music/*Swift*.mp3 | fauxdacious -Dc --
12)  Option to divert audio output to stdout in the user’s choice of selected audio formats for further processing by another program.  This is a rejected feature added to Audacious’s “FileWriter” plugin.  The idea here is to be able to use Fauxdacious as an audio component in pipes.  It also permits continuous recording across multiple files / tracks into a single stream.  Now, you can do one-off piping without having to first start up Fauxdacious and set the output to FileWriter and set FileWriter output type by using the new “–out=<ext>” command-line option, which will remember your normal audio output plugin and FileWriter’s normal recording settings and restore them when Fauxdacious exits when piping is complete!  (“<ext>” can be “wav”, “mp3”, “ogg”, or “flac” as before).  There are options in FileWriter to control when/how stdout is “closed”, allowing for multiple recordings (starting and stopping [Record]) to a single file via stdout (no “close”, but all output saved), multiple songs, but close when recording stops (avoids potential playback / song-length errors, but only last recording saved), or single song recording (stdout closed when song ends/changes ensuring no overrun, but only last song recorded is recorded if stdout is written to a file).
13)  New option (-P) to use the Pause button to simply mute (ie. commercials) while stream continues to play (silently), allowing you to listen to something else in another instance (see feature# 10 above).  I often keep two instances open while listening to online commercial radio streams (which are in commercial for nearly half the time anyway with typically 5-6 minute breaks).  I have the other instance playing my own (legally) downloaded music without the Pause-Mute option, and with one button-click, can switch to and resume my music where it left off while the commercials (in the first instance) blather on (muted) to the bit bucket! 😀  Otherwise, one must either pause the radio stream, and resume where it left off (at the beginning of the commercial break) or mute the system’s speakers preventing the playing of anything else!
Here’s my script for toggling between music and radio (and adjust the volume difference between the radio and my music) in two separate instances of Fauxdacious (the 2nd called “radio”) activated by a desktop launcher button:
    audStatus=`cat /tmp/fauxdstatus`

    if [ "X$audStatus" = "X1" ]; then

         fauxdtool instance radio playback-pause set-volume -12

         fauxdtool playback-play

         echo "2" >/tmp/fauxdstatus

    else

         fauxdtool playback-stop

         fauxdtool instance radio playback-play set-volume +12

         echo "1" >/tmp/fauxdstatus

    fi
14)  Command line option “-D” – Delete all playlists. Audacious added multiple playlists via tabs in their GTK/Qt interfaces which is quite nice, but I could never get used to it as I only use the classic WinAmp skin interface, which only supports (displays) a single playlist.  When starting Audacious with a new file or list of files, by default, it creates a new playlist, leaving all the others intact and invisible to you, which becomes annoying.  By starting Fauxdacious with “-D”, any existing playlists and temporary tag data are deleted for you.  A second new option “-c” clears all entries from the current playlist.  by starting up with “-Dc”, you are guaranteed to start up with a clean slate containing only items listed as arguments.  If you start it with no arguments, you start up with a clean, empty playlist!
15)  New “-z” option to start up without the equalizer on.
16)  Restoration of XMMS’s “Random Skin on Play” option (see [Settings].[Appearance] screen (bottom) to turn this on; off by default) to have a different, random “skin” (theme) whenever the playing song-entry changes.
Mini-Fauxdacious plugin (Qt version)
Mini-Fauxdacious plugin (Qt vsn.) undocked with optional toolbar shown in “Moonstone” style.
17)  A “Mini-Fauxdacious” plugin that switches the “Info-bar” (bottom) portion of the main window (non-Winamp Skin interfaces) to a separate standalone but dockable window.  When standalone (undocked), the (larger) main window can be minimized/iconified/hidden essentually providing a “minimalist Fauxdacious” window, which includes keyboard bindings for volume and basic playback control and an optional toolbar.  A tooltip will appear when hovering the mouse over the window listing the main keyboard sequences, a subset of those available, when the main window is visible and the playlist is focused!  Audacious offers similar features with their new Moonstone plugin (Qt interface only), but unfortunately without an option or menu-access in the GUI to switch back to their other interfaces without shutting down and manually editing their configuration file.  Also, unlike Moonstone, Mini-Fauxdacious is also available in the GTK versions!  UPDATE: (v4.2.1-beta1):  We’ve added plugin-configuration options to display an optional Moonstone-like toolbar at the bottom of the window and user-configurable options to select which buttons are to be shown in the toolbar!  With these new feature options, we se no reason to merge Audacious’s Moonstone interface plugin into Fauxdacious at this time.
18)  New option (-a) to launch Fauxdacious with multiple playlists from the command line (See FAQ #42 for more details).
19)  Additional skins, namely my very own “Lavadacious”, which I designed to match the violet “Lavafox” theme I use in Firefox (when it was still skinnable) and in my current desktop theme.  There are also “DefaultRed” and “DefaultViolet” skins based on the Audacious “Default” skin, and additional flavors of the “Refugee” skin.
The Audacious team leader told me that it was not worth my effort (or theirs) to add video capability to Audacious since there are many excellent video players out there, but I disagree.  Sure, there are (I like VLC and Mplayer myself), but I really prefer the Audacious interface, and I’m spoiled used to it!  I also like to use Audacious’s sound-enhancing effects plugins while listening to audio, video, podcasts and DVDs!  I admit that I probably use my media player a bit differently than most.  I’m sort of a Linux command-line and scripting kinda guy and that’s what many of these features are for.  If you are too and / or like being able to watch videos and DVDs while using Audacious’s wonderful audio-enhancing plugins, features, and beautiful classic WinAmp skins, or use a system without Qt installed, then Fauxdacious is definitely for you!
Ok, so how do you get Fauxdacious?!
DISCLAIMER:  First of all, before downloading and installing Fauxdacious, please be aware that though I now consider Fauxdacious to now be production-quality software, I provide you this software “as-is” and I assume no liability for any damages resulting from it’s installation or use.  By using this software, you acknowledge that you are assuming all risk of any damages or injury that may result from such use!  Whereas Audacious has a team of experienced C++ experts working on it, Fauxdacious only has me (Jim Turner), a retired Perl programmer who dabbles with C/C++ and other languages (volunteers / contributors are welcome).  Fauxdacious is open-source software licensed under the same BSD license that Audacious is; and is and will always be free to use and modify (except the “Fauxdacious” name, icon, and branding are copyrighted by me with all rights reserved – if you publicly release your own fork of Fauxdacious with your own code-changes, you need to change the name, icon, and branding, just like I did with Audacious!)  Before you do, consider working with me first to potentially integrate your “enhancements” into Fauxdacious itself – I’m open to new ideas, particularly ones that include working patches!
NOTE:  If you are using M$-Windows, simply download, unzip, and run the Windows self-installing binary which you can download directly here!  NOTE also that the binary Windows version (GTK-only currently) is the latest final release, which is usually slightly behind the latest Github (rolling-release / beta) version with the latest GIT commits.  Whenever we release a new “final” (non-beta) version on GitHub, we rebuild and release it for Windows at that time!  Releases marked “final” do not mean a “final release” of Fauxdacious (development is active and ongoing), but rather they are official (stable) releases which are not considered beta and for which the latest Windows build (not rolling) has been rebuilt to and tested. Non-“final” (beta) releases change frequently as new commits are added to Github.
For everyone else, simply follow the instructions on the GITHUB sight for downloading, dependencies, building, and installing.
TO DO:  Create Debian, etc. installable “packages” for Linux.