What's Changed
  • Added error handling on the new chat response if the stream is down. For some reason, it doesn't create the option on some occurrences resulting in crashes. This should prevent this, otherwise, go to Settings -> Twitch and enable these options once and turn them off after (if you don't want to use them)
  • Removed the patch notes from the main window after an app update. It now opens the patch notes window

What's Changed 1.3.9​

Songify App​

  • Added Twitch Login through Twitch API as well as PubSub (Twitch Event Listener).
    • In order to Login with twitch click on Twitch -> Twitch Login or Settings -> Twitch -> Login With Twitch (this will redirect you to a webpage where you have to grant access)
    • After you logged in you can check Settings -> Twitch and see your connection
    • This does not replace the Twitch Chat Login with Account Name, OAuth Token and Channel Name. You still have to set that up too! (Logging in with Twitch will fill out those fields for you, but if you want to use a different account you have to change it manually)
    • You can also now refund points if something fails (Twitch -> Rewards -> Refund when...)
      • In order to refund, a new Channel Point Reward has to be made through Songify! To do this head over to Settings -> Twitch -> Rewards -> Create New Reward. This is a limitation on Twitch's end. Make sure you chose a unique name for the reward. After creating the reward your Rewards page will automatically open. You can see if Songify can manage the reward by the pencil icon in the dropdown of the rewards.
      • It's now possible to track whether the stream is live or not. That way it's possible to limit all Twitch actions (sr, chat commands, auto announce etc.) to only work when the stream is up. If Songify has been started while the stream is live, it won't detect it. You can click on Twitch -> Check Online Status.
  • The config file (config.xml) is not being used anymore. On first startup with the config file present the app will now create 4 new config files called AppConfig.yaml, SpotifyCredentials.yaml, TwitchCredentials.yaml and BotConfig.yaml. These will now be the standard config files since I want to split tokens and credentials from other configs.
  • Added a web server that can be configured in Settings -> Web Server.
    • The web server exposes data of the current playing song in JSON. This can be used to make custom song displays in OBS using browser sources.
  • Added a 5 seconds cooldown on !voteskip after a song has been skipped to prevent accidental voting for the new song if the votes came in too fast
  • Added indicators that show if services are connected or not. These are in the bottom left of the main window and show a red triangle if a service is not connected. Services are: Twitch Chat Bot, Twitch API, Twitch PubSubs, Spotify and WebServer
  • Added custom response for !next and !pos
  • Added a console window that can be opened by clicking View -> Console.
    • The console window shows (for now) only a handful of events.
    • The console window can be attached/detached by clicking the icon on the top left of the console window
  • Added a setting to receive beta updates. This can be found in Settings -> Config
  • Added the ability to change the command triggers. You can now rename commands to whatever you want. This can be found in the bot configuration.
  • Added a 5-times retry on adding a song request to the Spotify queue. This is due to Spotify having a lot of 503 issues lately...
  • Added the option to disable the song request limit
  • Added a channel reward option to skip the current song (this is optional)
  • Added back in telemetry. The data is still anonymous and only used for statistics. I do want to know how many people are using the app after all.
  • The Settings window has been redesigned
  • Moved the !ssr command to the bot configuration
  • Removed the progress.txt file since it caused issues. The proper way to do it now is to use the data from the webserver.
  • Fixed Album Cover download crash on certain circumstances (hopefully)
  • Fixed !next command not working properly
  • Fixed an issue that reverted the "use own app" setting after an update
  • Fixed artist blocklist not saving correctly when the result contains more than one artist
  • Fixed user blocklist comparison check. It was case sensitive before, now its case insensitive
  • Fixed VLC not properly fetching
  • Fixed a crash that would occur if the output directory has been set in the app and it got deleted afterward. It now shows a prompt and reverts back to the app directory if the output directory can't be found
  • Fixed settings getting corrupt after a PC crash or power outage
  • The Spanish translation has been improved by @elhertz

Songify Website​

  • Overhauled the website to make it more user friendly
  • The queue page now shows the current song and the queue in a fancier way and also updates in real-time
  • Moved to a new hosting provider. This should make the website faster and more reliable
  • URL changed to songify.overcode.tv the old URL will be redirected. Older versions of Songify won't be able to connect to the website anymore.

Songify Widget​

  • The widget won't work with older versions of Songify since the web server has been changed.

What's Changed​

  • Added checks for live stream status on every command trigger. Before it only checked if Songify was running and the stream went live afterward. It will now check before every command execution (!song, !next, channel points, etc.) if the stream is up.
  • Added a new option in Settings -> Twitch -> "Send offline notification to chat"
    • Enabling this will send a message to chat if the stream is offline. The option to limit Twitch activity has to be enabled for this. It just responds with "The stream is not live right now".
  • At the bottom of the main window, it will now tell you if the stream is offline and actions have been canceled
  • Changed the icon for the web server to be gray if the server is offline since it's not crucial for Songify.
  • The port range on the web server settings has been set to 1025 - 66535


What's Changed

  • Fixed an issue where it would put the wrong value in the error message when the max requests per user are reached. It now will output the correct number and max amount for the user's user level. For example @Username maximum number of songs in queue reached (Vip 3).
  • Fixed an issue where Songify would render as a black window and was unresponsive until opened from the system tray again
  • Fixed an issue where the min required user level would not display correctly in the settings window
  • Fixed an issue where the patchnotes would not show
  • Added the ability to set the amounts of votes for skipping a song
  • Added !voteskip command for regulars, number of votes can be adjusted (Settings -> Integration -> Configure Bot Responses & Commands)
  • Changed phrasing on the Twitch user level from "Everyone" to "Viewer (non vip/sub)" because it caused some confusion
  • Removed the Menu entry "Twitch -> Bot Config -> Configure Bot Responses & Commands" and moved the onClick function to just "Bot Config" MenuItem


  • Fixed output format for twitch not working with requester info ({{requested by {req}}})


  • Added a secondary output format just for Twitch chat. This output will get sent to Twitch chat when the !song command is used.
    • Added {url} parameter to the right-click menu for output format (this adds the Spotify link of the current song)
  • Added Song request user level restriction e.g. only subs and above or only VIPs and above can request songs. You can choose between Everyone, VIP, Subscriber, Moderator, and Broadcaster
  • Added a cooldown to the skip command (5 seconds)
  • Added a new window under File -> Patch Notes. It displays the patch notes for the current and all past versions.
  • Added the ability to set the max song request limit for each user based on the user level. For example, you can now set everyone ( regulars ) to be able to only request 1 song at a time, VIPs 3, subs 5, and so on. The broadcaster has been removed entirely from the limit. Go to Settings -> Songify SR.
  • Added an update screen with patch notes after the app updated
  • Fixed an issue with the skip command (requester could skip everything)
  • Fixed an issue where the position of the window wouldn't be saved correctly
  • Moved error handling to App.cs instead of MainWindow.cs. This way logs should get created even when the app fails to start correctly.


  • Added a !skip command.
    • Broadcaster / Moderators and the person who requested the current song can skip immediately. Regulars will start a vote of 5 to skip the song. Votes will be reset on song change.
    • Added bot responses for the !skip command
  • Added an option to open the queue window on startup
  • Changed the way that the columns are spaced in the queue window
  • Switched old Patreon links to Ko-Fi
  • Bot responses now will be saved
  • Fixed bot response toggles in Settings not being displayed correctly
  • Fixed issues with progress saving
  • Fixed an issue where the config export would open twice
  • Fixed an issue where with foobar it would cut off the output if it has multiple . in it. (#30)
  • Fixed a bug that made it possible to connect to twitch multiple times resulting in duplicate messages and song requests


  • Added a message box that pops up when the software crashes, it can open the log file directory
  • Fixed Progress.txt file save location & related crash


  • Fixed an issue with the config being stored in wrong case format
  • Removed desktop notifications for Twitch disconnect

What's Changed​

  • Added progress bar setup guide for obs by @karimawii in #29
  • Fixed crashes related to Twitch Auto reconnect
  • Fixed different time formats in log files
  • Changed the way settings are written and read (The Theme setting will reset to default, which is the light mode, fixed a typo...)
  • Moved Progressbar related files to a new folder called Progress



md5: 09823632c855b12c588e9cbdcb3b1344
sha1: 2b3957881a021d56bbabb1c05150d99505a12693
sha256: 06ea6a54daa8bbe269c2625c2ea115fe70b245efa2596b09270b9a49f1ae282f


md5: cf06108ed07c3c01a6abe7015bda4a0c
sha1: c4f5a6678eab6398f8b6db7737fc84cac9d62f60
sha256: cfecfbb2d495aa5342be11a6f5baf6a4a03e322c87ce520044c708413997601b

Full Changelog: v1.3.1...v1.3.2
- added {url} parameter to the output tab. This only works with Spotify API and adds the song link.
- added a new output file progress.txt in which the percentage of the progress of the current song is stored. This is useful to make your own progress bar using HTML / js. An example progress.html-file is included and can be used (see the style.css for own styling).
- added auto-reconnect when disconnected from twitch by accident

Telemetry has been removed entirely.

Bot config is now saved to settings file


  • none


  • none


  • Fixed YouTube not working properly (YouTube has to be the first tab in the browser)
  • Fixed VLC not working properly



md5: 22c2845f38b4a8d9f72d77c201847726
sha1: 213c6af0493536d93cfeebcc78db86c629897314
sha256: 935b6530ee7c7cee69dd5c83437bcf8e4cc07f466072905403b70d18cb5cce94


md5: 9f2d6fadc07fdd0ab35384aca24e1094
sha1: 644d91830ae51c53a83e3a13e305d57630b955ef
sha256: f2c585d3a5427bee6f6d0d6eebacfa1b71d961e7abd2cd2b7d37e1541116cc53
  • Added systray icon context menu for Twitch
  • none
  • Fixed a typo in the config file (opening and closing the settings window should fix this)
  • Fixed Twitch Connect / Disconnect buttons not working in other languages than English
  • Fixed an issue that causes Songify to crash when auto-send to chat was active while being disconnected from Twitch
  • Fixed {errormsg} output when using Channel Reward song request
  • Fixed !next command (it was showing Artist - Artist)
  • Fixed VLC displaying "Pause" when scrubbing through the seekbar
  • Fixed VLC not displaying the separator for Artist and Title (#20)
  • Fixed Twitch Channel and Username trailing whitespaces (whitespaces caused some issues, this is to circumvent faulty user input)
  • Fixed output string for desktop and browser players
  • Added try/catch to the write method since it caused a crash when attempting to write the text file on some occasions
  • Removed config save on window close
  • Added config save to SettingsWindow close

md5: 2454e7894bb1ed67795c820e32d0cd8f
sha1: 67adcc2c7353e41d77693b0f063665370a86781f
sha256: 2974a292010ba200e2f4604813dfeca3e1518ae1cf5d6f7f6f31086db5848c57

md5: 05668d2e26d09f1ed68a67a1cf9b2611
sha1: 208a8f6d8a81c0c19b81e36b3b0c8971a1df44bc
sha256: 67471eaaf12bce150704e510294e4540ed
  • Foobar2000 wasn't working, now it is.
  • Auto announce in chat now uses the output string
Why this is the final update on Songify 1.x
This is the final update to Songify 1.x because we want to focus on 2.0 which we want to build from scratch. We do this in order to have an app that is maintainable, sustainable, and extensible. We have a lot of planned features but at this time we don't have any planned release date. Development takes its time, especially if you consider, that Songify is just a free-time project of two friends. If you want to keep up with the development, feel free to join our Discord.

  • Added a selection to the blocked Artists when adding a new one
  • Added an option to set the max song length in minutes
  • Added Edge (Chromium) as supported Browser for Youtube
  • Added Opera Browser as supported Browser for Youtube
  • Added more Bot-Responses
  • Added Bot-Commands
    • !song -> Displays the current song in chat
    • !pos -> Displays the queue positions of the user's song requests
    • !next -> Displays the next song in the queue
  • Added an option to automatically announce the current song in chat when the song changes
  • Added Russian, French and Spanish translations (using deepL)
  • Removed Nightbot support since we now need proper oAuth to access the API. Too much work for 1.x
  • Songify now won't use up 100% of your CPU in certain scenarios
  • SplitOutput now works as intended
  • Improved error logging upon unhandled exception
  • Made Youtube via Chrome significantly better in performance
  • Renamed Youtube (Chrome) and Deezer (Chrome) to Youtube (Browser) and Deezer (Browser). The code automatically detects which browser is used: The first browser found will be used, the order is Chrome -> Edge -> Opera.
  • Changed the way VLC and Foobar getting fetched. There were issues when the name of the file was not in a specific format.
  • Changed SettingsWindow to be wider to fit for all languages
  • The Save-Button in Settings / Spotify is gone (thankfully)
This Version fixes a crash that can occur when the Album Cover is used in OBS and on some rare occasions it just crashes randomly when trying to save / display the album cover. The Cover now gets downloaded to a temporary file and then the old one gets overwritten with the new file. This is a better approach instead of downloading to the same file over and over again because the old way sometimes leaves the albom cover in OBS weirdly artifacted.