SNIP Changelog

What's new in SNIP 8.0.1

Oct 18, 2022
  • Increased API polling from 1s to 2s. Track changes may reflect slightly slower. This change was made due to Snip getting rate limited by Spotify.
  • Changed it so that if Snip does hit the rate limit that it won't reset and cause duplicate entries in the history file.

New in SNIP 8.0.0 (Oct 9, 2022)

  • Improved callback handler for Spotify authentication. It should work much more reliably and consistent.
  • Removed local Spotify player detection completely. Snip now relies on all information provided by the web API. This allows much more reliable and accurate detection of what's playing. Additionally, a benefit of this is that you can play Spotify from any device or computer and Snip will detect it.
  • Local songs in Spotify will display their information correctly. However, album artwork is not supported by the Spotify API and will not work.
  • Added a blank "No Player" option before Spotify and iTunes. This allows Snip to run without requiring you to sign into Spotify first. This is useful for users only wishing to use it for iTunes. After initial launch right-click on the tray icon and choose your player. NOTE: After selecting player if you switch between players multiple times Snip will not detect updates anymore.

New in SNIP 7.0.5 (Sep 15, 2019)

  • Made Spotify detection substantially better. Due to Windows API limits you cannot get the main window handle from a process minimized to the system tray. With this version Snip will only need to see the Spotify window one time and it will work from then on until you restart Spotify.

New in SNIP 7.0.2 (Jul 30, 2019)

  • Changed timer from 5 seconds back to 1 second. However Snip now uses the titlebar of Spotify to determine when tracks change and will only fetch new data when the titlebar changes. This ultimately cuts down on API calls significantly.
  • Fixed issue where podcasts and non-track information would crash Snip. Spotify does not provide any data on podcasts unfortunately.

New in SNIP 7.0.1 (Jul 25, 2019)

  • Reduced the API call rate from 1 second to 5 seconds. There may be up to a five second delay when a track changes before Snip detects it but it will significantly reduce the amount of API calls happening.
  • Implemented API call retry when rate limit exceeded.

New in SNIP 7.0.0 (Jul 22, 2019)

  • Brought Spotify code up to date. You will have to authorize your account.
  • Removed all media player support except Spotify and iTunes. (I don't have the time to maintain all of the code for all of the media players. I'm sorry about that. Perhaps with a rewrite I can make Snip modular and other people can maintain their own plugins.)
  • Polished up code some and removed a lot of unused code.
  • Tested against iTunes 12.9.5.7 (non-Windows Store version).
  • Tested against Spotify 1.1.10.540.gfcf0430f (non-Windows Store version.)
  • Project is now built with Visual Studio 2019 (previous was 2017).

New in SNIP 6.10.2 (Jul 25, 2018)

  • Merged pull request #267 from GenesisFR, which refactors a lot of code and clears out artwork when Snip is exited.
  • Snip now checks the parent process to make sure it's actually Spotify. (Thanks to GenesisFR for finding the cause)

New in SNIP 6.10.1 (Jul 22, 2018)

  • Snip will now require administrator access upon launching.
  • Fixed version update checking not working.

New in SNIP 6.10.0 (Jul 22, 2018)

  • When enabling save separate files Snip will now save Spotify metadata to Snip_Metadata.json.
  • Cleaned up localization code internally.
  • #199 Snip can now be run multiple times. I'm not sure how this will work but have at it.
  • Changed Spotify back to AnyCPU from 64-bit.
  • #268 #283 #284 #290 #291 #297 #299 Fixes Spotify not working since Spotify shut down their desktop API. (Hotkeys currently do not work in Spotify now).

New in SNIP 6.9.5 (Apr 2, 2018)

  • Updated copyright to 2018.
  • Renamed quodlibet to Quod Libet.
  • Moved Quod Libet in the menu.
  • Snip is now 64-bit only.
  • Snip now erases Snip.txt on exit.
  • If an ad is playing in Spotify it will empty the text file.
  • Removed excess strings from resource files.
  • Removed "tiny" size from artwork as Spotify stopped supporting it.
  • Spotify port detection code is now threaded so Snip will no longer freeze.

New in SNIP 6.9.1 (Jul 7, 2017)

  • Czech translation corrections by jingtongtangflee.
  • Snip will now loop through various ports to find the correct port to connect with Spotify. Fixes #173.
  • Changed snip.spotilocal.com to 127.0.0.1.

New in SNIP 6.9.0 (Jul 7, 2017)

  • Danish translation provided by Jens Møller.
  • Changed the port that Snip uses to get a token from SpotifyWebHelper. This should hopefully allow more users to successfully obtain a token.

New in SNIP 6.8.0 (Jun 26, 2017)

  • Added option to cache Spotify track information. This option is enabled by default.
  • Changed Snip to remember settings for all major versions in the future. This means that anything Snip v6.x.x will share settings. If a new feature or option were added that would break compatibility it will force Snip to bump up to the next major version. I also removed my name from the registry path so it will now just be located under Snip.
  • Fixed possible uppercase/lowercase issues based on user's locale setting.
  • Added Quod Libet player support (Support added by Jay Lapham).
  • Changed Spotify player check behavior. If it can't connect to the local web service it will now show that Spotify is not running.

New in SNIP 6.5.0 (Jun 15, 2017)

  • Added support for Google Play Music Desktop Player
  • Added option to toggle song text as how it appears, all upper case, or all lower case. There are six new hidden variables to support this. They are: $$ut, $$lt, $$ua, $$la, $$ul, $$ll
  • Fixed bug where Snip may write output too much when no track playing with Spotify

New in SNIP 6.1.0 (Jun 11, 2017)

  • Rewrote Spotify code to take advantage of the local web server instead of searching for track information using Spotify's window title.
  • Lots of code changes and cleanups behind the scenes.

New in SNIP 6.0.5 (Jun 10, 2017)

  • Reverted/fixed some VLC code until a proper fix can be made. Fix provided by KingCrazy.
  • Changed how Snip gets the authorization tokens from Spotify. It's now per user instead of one central server token.

New in SNIP 6.0.2 (Jun 5, 2017)

  • Added a user-agent to Snip's Spotify code

New in SNIP 6.0.1 (Jun 5, 2017)

  • Fixed Spotify not working after 60 minutes.

New in SNIP 6.0.0 (Jun 5, 2017)

  • #153 Fix for Spotify's API now requiring authorization
  • Greek translation provided by Stathis Galazios (nFin1ty)
  • Fix for VLC player trimming titles prematurely provided by KingCrazy
  • Fixed spelling in German translations

New in SNIP 5.6.5 (Jan 26, 2017)

  • #125 Fix for filtering out file extensions from VLC's titlebar. Fix provided by Bartosz Wiśniewski (PoprostuRonin)
  • Added Czech translation thanks to jingtongtangflee.
  • #129 Fix for variables being replaced in track names and artist names when they shouldn't be. Because of this change all variables have been changed from $var to $$var.
  • #124 Fix for beta versions of foobar2000 not having the version stripped out of the title.

New in SNIP 5.6.0 (Jan 26, 2017)

  • #119 Fix for separate files not using output format.
  • #118 Some users of Spotify have "Spotify" in the window title and that breaks the search.
  • Fixed an issue where Snip would repeatedly query Spotify's search until it got a result.
  • #87 Prevent Snip crashing when an invalid JSON file is downloaded. It will fall back to just showing the window title in this case.
  • #59 Fixes an issue where songs with no artist in the ID3 tag would not display in Snip when using iTunes.
  • When saving output format it will now update right away instead of waiting for the next song to play.

New in SNIP 5.5.0 (Sep 27, 2016)

  • Fix for song title selection if the album has the same name as the track being played.
  • Fix for finding titles from Spotify with a : in them (among other characters).
  • Added Spanish (es-CL) translation thanks to NioZero.
  • Added hidden $i variable. This can be used in the output format settings to display the Spotify track ID.

New in SNIP 5.4.0 (Sep 6, 2016)

  • Implemented Spotify track ID saving. If saving files separately is enabled then a new file, Snip_TrackId.txt, will be created that contains the Spotify track ID.
  • When Snip queries Spotify's servers for track information it will now use the result with the highest "popularity" rating. This change hopefully will result in more accurate track selection.
  • Cleaned up Spotify artwork downloading. It will now download the files provided in the main JSON file instead of downloading the JSON for the embedded site and then using the images linked there. This potentially will result in less blank artwork.

New in SNIP 5.3.1 (Apr 2, 2016)

  • Fix for crash when using Spotify and a song title had a / in it. This was caused by Spotify's API not liking the use of a /. I now replaced the / with a space in code and it's worked on all songs I've tested so far. This fixes #91.

New in SNIP 5.3.0 (Feb 12, 2016)

  • JSON is now downloaded as UTF8. This will fix an issue where non-standard characters were showing up wrong.
  • Added the ability to use $n in the output format. This will add a newline wherever used.
  • Changed the way VLC was detected and the text handled. This should fix problems people using VLC in a different language were having.
  • Added the ability for Snip to check if there's a new version available. If a new version is found then the place where Snip shows the current version in the context menu will be replaced with text showing a new version is available. You can click this text to open your web browser to download the new version.
  • Feel free to update translation files and/or submit new languages.

New in SNIP 5.2.1 (Feb 12, 2016)

  • Fixed an issue where blank artwork would be repeatedly saved if Spotify was not running.

New in SNIP 5.2.0 (Feb 12, 2016)

  • Spotify deprecated the API Snip was using. Snip now uses the new API.
  • Fixed crash when song titles are too long.

New in SNIP 5.1.0 (Feb 12, 2016)

  • Added feature allowing Snip to display a popup notification on track change.
  • New Snip icon. Snip icon also moved out of the form resource and into a global resource.
  • Fixed issue with Spotify not getting track information correctly if the title had a : in it.
  • Fixed Snip writing which player it switched to when emptying files is enabled.

New in SNIP 5.0.5 (Feb 12, 2016)

  • Renamed Swedish resource from se-SE to sv-SE.
  • Added Norwegian translation thanks to gummi.
  • Fixed Snip not saving settings in the event of not exiting via right-click. (#42)
  • Fixed Snip not writing song titles to text files for players other than iTunes or Spotify. (#43)

New in SNIP 5.0.1 (Feb 12, 2016)

  • Fixed advertisements in Spotify causing a crash.
  • Updated Dutch translation by Eegee
  • Fix for Visual Studio paths with spaces by Eegee

New in SNIP 5.0.0 (Feb 12, 2016)

  • Updated Spotify code to work with the latest client.
  • Optimized text handling globally so it won't write text unless it changed.
  • Updated Swedish translation by Lukas Michanek

New in SNIP 4.6.0 (Feb 12, 2016)

  • Fixed artist, track, and album files not being emptied out.
  • Removed hidden debugging option to track execution times of methods.
  • Cleaned up code for Spotify to cut down on complexity.
  • Added support for saving the album name when using Spotify.

New in SNIP 4.5.0 (Feb 12, 2016)

  • Added support for VLC.

New in SNIP 4.4.2 (Feb 12, 2016)

  • Dropped privilege requirement from Administrator to AsInvoker.