What's Now Playing

Free What's Now Playing 5.0.0

  • New Features:
    • ANNOUNCING WHAT'S NOW PLAYING CHARTS!
      • Now you can help the community figure out what DJs are ACTUALLY PLAYING on their streams!
      • After installing, copy your anonymous key from your client into the website to unlock a ton of features!
    • Everything renamed to WhatsNowPlaying
      • Quite a few things had already been renamed to use the new name. It was time to finish the job.
      • The rename includes the Documents directory. As part of the upgrade, the new Documents/WhatsNowPlaying directory will have your previous content also copied into it.
    • Many UI element upgrades
      • Major overhaul of the UI with many pages getting some clean up
      • On launch, an arrow will show you where the minimized icon is (relatively) supposed to be
      • Tree-structure to help organize various categories
      • Many preferences are now in tabs to make them less crowded
      • New startup window system shows progress tracking
      • AcoustID and MusicBrainz setup split apart
    • New Output System
      • Remote server support to send results to a central computer to consolidate one or more DJs into one set of outputs
      • Text Output was moved here
      • Set lists are now built in real-time and can be customized
    • Twitch
      • Switched from deprecated PubSub to WS-EventSub
      • Twitch Redemptions and Requests are back
      • Authentication system now simplified and self-contained
      • Added contextual help system for chat commands (e.g., !track help)
    • Requests Overhaul
      • Fuzzy matching with customizable threshold for track requests now handles some typos and natural language input
      • !hasartist chat command to search either entire DB or specific crates/playlists
      • Support for animated gifs/memes based upon text from Tenor
    • Title Filtering Overhaul
      • A new, simplified filter system for removing text from titles has been implemented. The newer one is much easier to use without having to do a lot of extra work.
      • The complex regex-based filter is still present and available, but upgrading to this version will remove existing filters and use a default set of useful filters.
    • Web Server changes
      • Removed bundled templates that did not use websockets
      • Revamped old templates to remove some sizing and background issues with OBS
      • New templates that mirror the boring templates everyone else uses
      • New templates with new special effects
      • All templates may now be referenced by name (e.g, /template.htm -> /templates/template.htm)
      • ws-gifwords-fade.htm to show GifWords requests
      • ws-justthecover.htm to cycle through all of the front covers
      • Bundled copies of some common libraries available via the /vendor endpoint
      • New remote control APIs
    • Several new template variables
      • discordguild
      • has_video
      • kickchannel
      • lyricist
      • now
      • timestamp
      • today
      • track_received
      • twitchchannel
    • Completely revamped documentation website to make it easy to pick your version
    • Upgrade downloads are now sent through whatsnowplaying.com/download so that users can be pointed to the correct one, see release notes, etc.
    • Distribution files now use user-friendly naming (e.g., WhatsNowPlaying-5.0.0-macOS12-AppleSilicon.zip, WhatsNowPlaying-5.0.0-Windows.zip) making it easier to identify the correct download for your platform
  • Windows Binary Overhaul
    • The binaries for Windows now come as a directory rather than a single executable. This was done to speed up launch time by removing the need to extract the content.
  • Bug fixes
    • M3U-based systems (Virtual DJ) file watching fixes
    • Wikimedia links did not correctly redirect
    • MP4 files with XMP data should get some info now
    • Fixed an issue with MP4 reader getting confused if tags are after the media data
    • TheAudioDB and ImageCache downloader handle rate limiting and other such problems better.
    • Kick would invalidate keys if their OAuth server was down... which happens a lot. Now if WNP can't connect, it won't invalidate.
    • The ability to set the poll watcher time somehow got dropped from the Quirks UI along the way
  • Removed
    • The non-websocket templates have been removed. The code to support your old templates is still there, but you should really update.
  • Denon
    • Many Denon devices using Stagelinq should now be supported
  • DJUCED
    • Revamped database support
    • hasartist support
    • Smart playlists should now be supported
  • Icecast (butt, Traktor, MIXX, others)
    • Icecast protocol fixes to make it more reliable
    • Fixed an issue where files without metadata were not properly doing "dash" separations. For example, a title of "The Pixies - Monkey Gone to Heaven" will now get split into artist: "The Pixies" title: "Monkey Gone to Heaven" so that proper metadata handling from there on out will work. Of course, properly tagged files are way better.
  • Serato
    • New Dual Serato Support
      • Very basic and experimental support for Serato 4. Since that is the future of Serato, a few renames in the UI have happened to show Serato vs Serato Legacy or Serato3. The system will copy over settings from Serato 3 to Serato on upgrade if your current input source is Serato.
      • Future releases will attempt to bring it to parity.
    • Before the beta drop, some changes to Serato Legacy had already happened:
      • Support for more than one _Serato_ library path
      • Smart crates now have limited support
      • hasartist support for crates, smart crates, or the full database
  • Traktor
    • Revamped database support, including automatic database refresh running in the background
    • hasartist support
  • Virtual DJ
    • Revamped database support, including automatic database refresh running in the background
    • hasartist support
MANY THANKS to the people who tested out the preview versions and reported bugs. You helped make this possible in ways you cannot imagine.
IMPORTANT NOTES:

  • This release might be the last binary releases I'll be able to make for macOS/intel, Windows 10, and macOS/ARM on Monterey. All of my build machines are getting either decommissioned or replaced. Future versions will likely only be Windows 11 and macOS/ARM on some newer release.

  • Twitch Requests are disabled in this release due to changes in the Twitch API. I'll bring them back in a future release.

As usual during upgrades, you only need the zip file for your particular machine.

########

  • Early Access to Kick.com Streaming Support
    • Chat bot integration for track announcements
    • Does not support requests or commands yet
    • Feature parity with Twitch is currently waiting for Kick to release APIs.

  • Twitch
    • Fixed many issues with really long messages getting dropped

  • Discord
    • Nearly rewritten from the ground up to have improved reliability
    • If MusicBrainz is enabled, will put album cover in status using the Rich Presence API

  • New DJ Software Support
    • JRiver Media Center: Connect to JRiver for automatic track detection
    • MixedInKey: Support for its custom musical key format in your track data

  • Backup Your Settings
    • Export your entire configuration to a JSON file for backup or sharing
    • Import settings on new installations or when switching computers
    • Keeps your API keys, templates, and preferences safe

  • Much Faster Artist Information
    • Artist bios, images, and metadata now load 3-4x faster
    • Many rebuilt using custom code, replacing most 3rd party libraries
    • Reduced wait times from 20-60 seconds down to 5-15 seconds
    • Better handling when multiple tracks change quickly during live sets

  • Improved Reliability
    • Hopefully fixed "application already running" errors on Windows
    • Better connection handling when DJ software restarts
    • More stable during long DJ sessions

  • Serato DJ
    • Much more reliable live playlist reading

  • MPRIS2
    • Rebuilt from the ground up for more reliability

  • General Metadata
    • Better support for tracks with multiple artists
    • Improved handling of audio files with complex metadata
    • More accurate release date information

  • Cache Management
    • New "Clear Cache" button in Artist Extras settings to easily clear stored artist information and images when needed

  • Better Error Handling
    • Improved reliability in some extreme edge cases

  • System Requirements
    • Improved compatibility with newer operating systems
    • Enhanced network connectivity handling

  • Random Bug Fixes
    • Fixed various Windows shutdown errors
    • Resolved hostname display issues in network settings
    • Improved audio file format compatibility
    • Better handling of special characters in track information
  • IMPORTANT! SOME SETTINGS WILL BE CHANGED:
    • Artist Extras support is now on
    • Musicbrainz support and Musicbrainz fallback is now on
    • The new Wikimedia support is now on (see below)'
  • IMPORTANT! 'artistthumb' has been renamed to 'artistthumbnail' in the metadata. For most users, this change is invisible, but if you use the API directly, be aware of this change.
  • IMPORTANT! All of the default templates have had their formatting cleaned up here and there. Additionally, many of the `ws-` files have had their CSS cleaned up so that they scale more much more proportionally to the browser window. In OBS, you will likely need to remove any excess CSS in the Properties setting in order for them to work correctly. This change makes it possible to use, for example, the rotating artist fanart collection in place of artist thumbnails as well as have a better chance of success with extremely long track titles.
  • EXPERIMENTAL! Added support for DJUCED DJ software!
  • EXPERIMENTAL! Special handling for Youtube downloaded content that hasn't been properly tagged.
  • EXPERIMENTAL! When doing some data lookups, if a song is a remix then fallback to the non-remixed version to at least try to locate artist data.
  • Added Wikimedia as a source if the wikidata entity URL is available as an artist website, such as if Musicbrainz website data is selected.
  • Reworked metadata gathering again and likely lost some performance in the process. But the higher quality sources should now be picked first.
  • Discogs should now honor Discogs artist URLs if they are available in the artist website data.
  • With the last two in mind, discogs and wikidata links from Musicbrainz will always be present in the website data if Musicbrainz is turned on.
  • Fixed some issues with 'The' disappearing from artist names.
  • Musicbrainz lookups should be much more reliable when certain tag are defined.
  • If covers cannot be found, other artwork may now be substituted via the artistextras settings.
  • A new websocket example template (`ws-justthecoverhtm`) that just shows the cover is now available.
  • Template variable 'genres' has been added as a _list_ as opposed to 'genre' which is a single string. Only Musicbrainz currently supports filling in the 'genres' variable.
  • It should now do a better job of using various manipulations of names. For example, MӨЯIS BLΛK will also trigger searches for Moris Blak in many places. Probably not perfect, but something is better than nothing.
  • Better support for "artist feat. artist" and other forms of multiple artists working together. However, as a trade-off, some identification features that used to work no longer do. For example, "Prince & The Revolution" will get recognized for "Purple Rain", but just "Prince" may not.)
  • theaudiodb language fallback should now work better.
  • Added a new twitchbot template that shows track and bio information as a more complex example of what can be done with the twitch bot.
  • Twitch chat now has a default announcement template that will be set on new installs.
  • If `Original Date` or `Original Year` tags are able to be read, those will be used in place of `Date` and `Year` tags.
  • Some comments metadata tags that were not being read correctly should have a higher chance of success now.
  • Internal: Changed the method by which the software looks for the 'Documents' folder on new installs because Windows 11 really wants you to use OneDrive.
  • Internal: Artwork caching should now work much better when substitutions are being done using recognition with the new `imagecacheartist` DB value.
  • Internal: Greatly improved a lot of out timeout problems by adding some timeout values to many of the 3rd party frameworks in use. As a result, there are a lot more customized bits rather than using off-the-shelf components. :(
  • Internal: The usual dependency updates.

To upgrade, you just need to download your platform's zip file and not the source code files.
This update replaces 4.0.5 with two critical bug fixes:

  • Setlists were not getting created.
  • Fresh installs would not actually install.
From 4.0.5:

  • Musicbrainz fill-in feature should be less crash-prone
  • Ability to force Twitch chat bot to post rather than reply
  • Twitch bot permissions should be more reliable
  • Quite a few small bug fixes all over that could potentially lead to crashes
  • Dependency fixes as usual
  • Some log cleanup
  • Minor perf enhancements here and there
  • Experimental: duration/duration_hhmmss
  • keep menu item running longer so users do not think the app is actually shut down
  • document the windows media support
  • change source code line length to 100
  • change how plugins are defined
  • Experimental feature: New option to use Musicbrainz to fill in missing metadata based only on artist and title (and album if available).
  • Add support for AVIF graphics. At some point, all of the templates will be updated to handle multiple formats so be prepared!
  • On Windows, the ability to read from Windows Media Transport compatible software, such as Amazon Music, Soundcloud, and likely others. (Ironically, Windows Media Player doesn't appear to use it for whatever reason.)
  • Ability to disable reading Virtual DJ remix fields from the M3U history file. This feature has no impact on what is read from the media itself. In other words, if the MP3 is tagged with remix data that will still show up.
  • Twitch redemptions using the 'Twofer' format now has the track title as optional.
  • The internal twitch lock should now be less likely to deadlock.
  • Some log messages have been bumped up from debut to error.
  • Unit tests ran during development have been improved.
  • Rework the development process; now almost entirely `pyproject.yaml`-based.
  • Some major doc changes here and there.
  • Rework and simplify some of the internals of plugins.
  • Along with that, sources that do not have the required operating system component installed won't show up as a possible selection in the UI.
  • The usual dependency updates that should improve program speed and dependability.
Now that the resource has been approved, some updates!

Version 4.0.3 - 2023-03-26​

  • Force binaries to build with Python 3.10 as 3.11 causes problems.
  • Verify the image cache at startup and every hour
  • Fixed some bugs around base64 encoding in the webserver that would trigger a 500 HTTP error
  • missed an await in trackrequest that cause it to go awol
  • Quiet down the logging of Virtual DJ playlist import
  • Try to make the artistextras artwork handling consistent when artist names are in disagreement. (Part 1)
  • Change TCP timeouts in artistextras to be based on track delay times if possible
  • Fix some edge-case crashes with artistextras
  • Push the discord more :D
  • Enhanced the automated testing of some parts of the code base
  • More dependency updates
  • Add some debug messages for some rare issues
  • JSON test source now supports random tracks

Version 4.0.2 - 2023-03-12​

  • Some dependency updates which should improve a few edge-case problems.
  • Prevent the app from being accidentally launched twice.
  • On new installs, the webserver is now enabled by default.
  • Some internal cleanup/simplification.
  • Some dialog changes for new installs.
  • Twitch chatbot token should now auto-strip 'oauth:' again if that is put into the settings field.

Version 4.0.1 - 2023-03-02​

  • Do not crash if a Native Instruments directory exists without a Traktor installation.
  • Log the platform in the debug log.
  • Make the installer actually install.
Top