mIRC Homepage

Spotify now-playing for mIRC

Posted By: turbosmurfen

Spotify now-playing for mIRC - 05/02/21 03:35 PM

I have been looking around for a project like this so many times. And the most projects is outdated.

My project is named Spoton and can be found as Open Source on Github.com

Spoton have been tested in Windows 7, 10 and 11 which works great. And in mIRC versions from 7.21 to 7.69.

From downloading and installation. This can be found on the start page.

An example how it looks like when just echo out the song in the active window:
[Linked Image from raw.githubusercontent.com]


Posted By: klez

Re: Spotify now-playing for mIRC - 01/03/21 01:32 PM

Will be good if you include not only Spotify, but Aimp, Winamp, Windows Media Player, Windows Groove .. smile
Posted By: turbosmurfen

Re: Spotify now-playing for mIRC - 03/03/21 06:59 PM

Originally Posted by klez
Will be good if you include not only Spotify, but Aimp, Winamp, Windows Media Player, Windows Groove .. smile

This sound like a good idea. What I know is there someone that already have created a Winamp NP DLL-File for mIRC.
But I can't be sure if this is going to happen. Still learning a lot.
Posted By: klez

Re: Spotify now-playing for mIRC - 03/03/21 07:30 PM

Yes! Is an old dll that i use till now.. he perfectly works on Winamp, Aimp, but not works with Media Classic/Windows Media Player or Groove.
Posted By: Deep3D

Re: Spotify now-playing for mIRC - 04/03/21 05:05 PM

I've been looking around for something like this for a while now!

Thanks for sharing this turbosmurfen!

I'll follow you on Github for future updates, please also update this thread.
Posted By: turbosmurfen

Re: Spotify now-playing for mIRC - 09/03/21 09:51 PM

Just to clear things up. I have more things I want to do for this Now Playing tool.
There will come more updates. Just wait a bit more. The thread here will also be updated.

I'm going to make a new thread about Now Playing for other Media Players. Which will be all in one, requested by some users.
But this will come when I have more C++ knowledge. because I don't want to read only title from Media Players.
Posted By: turbosmurfen

Re: Spotify now-playing for mIRC - 23/03/21 06:57 PM

Just to notice people that don't follow me on GitHub.
I have released version 1.0.4 which works best when advertisement comes up.
This also means that you need to update the script you use.
Empty title is now a part in advertisement detection's. Which is message "2", "3" doesn't exist anymore.

There is some more features I'm still working on.
Posted By: turbosmurfen

Re: Spotify now-playing for mIRC - 23/09/21 09:32 PM

I have put this project on ice because I didn't know if people still use my project. But I just noticed someone have made a feature request.

I hope you guys use my project. And I'm going to learn me more C++. Next post by me will maybe be an update of the project.
Posted By: turbosmurfen

Re: Spotify now-playing for mIRC - 06/02/22 04:24 PM

There have been some changes on my GitHub. I have not posted this here before.

New:
Control Spotify Media Controls through mIRC.
Lite Addon
Beta Addon

I have also taking a vacation from programming Spoton.
Could also be a reason that I no longer use Spotify too.
Posted By: Deep3D

Re: Spotify now-playing for mIRC - 07/02/22 11:15 AM

Me and my friends are using Spoton every day, I'm so happy you made this!

I've been waiting years, finally you posted Spoton here on mIRC Discussion Forums.

Thanks a lot for your great work, I hope you will maintain this into the future. smile
Posted By: turbosmurfen

Re: Spotify now-playing for mIRC - 10/02/22 02:25 PM

Originally Posted by Deep3D
Me and my friends are using Spoton every day, I'm so happy you made this!

I've been waiting years, finally you posted Spoton here on mIRC Discussion Forums.

Thanks a lot for your great work, I hope you will maintain this into the future. smile


This is making me happy to hear. That people use my project and is happy about it.

Another note: Spoton now support UTF8. Took me a bit to do this, but after reading tutorials about UTF8 I succeded.
To compile my code or download the DLL-File, go to my GitHub page.
Posted By: turbosmurfen

Re: Spotify now-playing for mIRC - 16/05/22 04:51 PM

I have updated Spoton to remove Line Feeds. I don't know if Spotify accept this, but fixed IF. I also updated Spoton Lite mIRC script to use the latest way I read the data.
So if you use old version of my script for mIRC, go to https://github.com/turbosmurfen/spoton/wiki/Addon-Lite and replace with this script.
Posted By: maroon

Re: Spotify now-playing for mIRC - 16/05/22 09:42 PM

Your special treatment of $cr and $lf looks motivated from my comments in the other thread about how these can be used as an exploit against someone doing "privmsg #channel string". But from looking at your source code it looks like you're replacing $cr and $lf with the 0x00 byte, effectively truncating the strings at the 1st position of either character. However, you may want to replace them with a space, for 2 reasons.

1 reason is to allow the user to see when someone tried to insert a payload. Another reason is that there can be innocent reasons for some fields to have $cr or $lf in them, though mostly this is in fields like 'comment' where someone just copypasted normal text from somewhere else
Posted By: turbosmurfen

Re: Spotify now-playing for mIRC - 17/05/22 12:37 PM

Thanks Maroon for the message. I will replace 0x00 byte with space char. I didn't know what to replace with, the reason I added 0x00 byte. But now I understand and is going to fix this in release later today. I'm so happy about your knowledge about mIRC and a lot more. Thank you so much.
Posted By: Deep3D

Re: Spotify now-playing for mIRC - 19/05/22 08:54 PM

I have stumbled over a issue in Spoton Version 1.1.3.

If you have Battle.net-client (a game client for diablo, wow, overwatch etc) up and running, it will overrule Spotify.

Battle.net-client have to be closed to show what Spotify actually is playing.

Quote
[20:50] <Deep3D> Spotify » Battle.net
[20:51] <Deep3D> Spotify » Midnight Oil - Beds Are Burning - Remastered


Code
spoton {
  var %status $dll(data\dll\spoton\spoton.dll,status,)
  if (%status == 1) echo -a Spotify is paused.
  elseif (%status == 2) echo -a Spotify is playing Advertisement.
  elseif (%status == 3) say Spotify » $dll(data\dll\spoton\spoton.dll,song,)
  else echo -a Spotify is not running.
}
Posted By: turbosmurfen

Re: Spotify now-playing for mIRC - 19/05/22 09:49 PM

Thanks for the report Dee3D. I know what's the problem is. It's looking for a chromium window which Spotify and Battle.net client use. I will add back the old check. Sure it's reading through processes for Spotify. I think this is the best option to fix the issues.
Posted By: turbosmurfen

Re: Spotify now-playing for mIRC - 20/05/22 12:46 AM

Originally Posted by Deep3D
I have stumbled over a issue in Spoton Version 1.1.3.

If you have Battle.net-client (a game client for diablo, wow, overwatch etc) up and running, it will overrule Spotify.

Battle.net-client have to be closed to show what Spotify actually is playing.

Quote
[20:50] <Deep3D> Spotify » Battle.net
[20:51] <Deep3D> Spotify » Midnight Oil - Beds Are Burning - Remastered


Code
spoton {
  var %status $dll(data\dll\spoton\spoton.dll,status,)
  if (%status == 1) echo -a Spotify is paused.
  elseif (%status == 2) echo -a Spotify is playing Advertisement.
  elseif (%status == 3) say Spotify » $dll(data\dll\spoton\spoton.dll,song,)
  else echo -a Spotify is not running.
}


Thanks for the report. This is fixed in 1.1.4. Also Line Feeds is now replaced with space.
Posted By: Fernet

Re: Spotify now-playing for mIRC - 28/05/22 07:14 PM

Does it works on multiple mirc server? How?
Posted By: turbosmurfen

Re: Spotify now-playing for mIRC - 30/05/22 10:52 AM

Originally Posted by Fernet
Does it works on multiple mirc server? How?


I have only tested this tool for 1 server. But I guess some other people here that use the tool in multiple servers could maybe tell you this.
I'm sorry that I can't tell you about more servers. But what I think this tool should work for multiple IRC servers.
Posted By: turbosmurfen

Re: Spotify now-playing for mIRC - 01/06/22 04:54 PM

Originally Posted by Fernet
Does it works on multiple mirc server? How?

From looking at you're earlier posts. You want to write out what's you are listening to in more than 1 server at the same time?
I guess you also want to write out in all channels too? Because my MSL skills is not the best. And I don't know how to make this.
Posted By: Wims

Re: Spotify now-playing for mIRC - 01/06/22 08:31 PM

Your current code:
Code
spoton {
  var %status $dll(data\dll\spoton\spoton.dll,status,)
  if (%status == 1) echo -a Spotify is paused.
  elseif (%status == 2) echo -a Spotify is playing Advertisement.
  elseif (%status == 3) say Spotify » $dll(data\dll\spoton\spoton.dll,song,)
  else echo -a Spotify is not running.
}
is using /say in status 3 (the one for other users to see that interest us) to send a message to the current channel (/spoton will fail if what's considered the active window is not a channel/query/etc window.
To send a message to all channel, there is the /amsg command, so first, you could improve the current /spoton alias by offering a feature to send to all channels (though sending a message to all your channel at the same time can be considered and seen bad/harmful/annoying).
Now, you would need to ask Fernet, but 'multi server' and only sending to the active window don't go together, there's only one active window at a time, for a given server. What would multi server support means here if you don't even have an option to send to all channels?


Anyway, /scon -at1 <command> is a command that can be used to execute a command on all connected server. If you use "/scon -at1 spoton", it will fail.

But you can do:

Code
spoton {
  var %status $dll(data\dll\spoton\spoton.dll,status,)
  if (%status == 1) echo -a Spotify is paused.
  elseif (%status == 2) echo -a Spotify is playing Advertisement.
  elseif (%status == 3) say Spotify » $dll(data\dll\spoton\spoton.dll,song,)
  elseif (%status == 4) amsg Spotify » $dll(data\dll\spoton\spoton.dll,song,)
  elseif (%status == 5) scon -at1 amsg Spotify » $unsafe($dll(data\dll\spoton\spoton.dll,song,))
  else echo -a Spotify is not running.
}
Now 4 = all channels and 5 = all channels on all connected server. $unsafe is required to avoid evaluation problem like was mentioned by maroon and $dll() returning some line feed characters (but this times it's because of /scon that we need it)

If this is not what was meant by OP with 'multi server' support, then he would have to explain what he wants smile
Posted By: turbosmurfen

Re: Spotify now-playing for mIRC - 02/06/22 10:19 PM

%status is a way to detect if Spotify is in a state: 0 - Not running, 1 - Paused, 2 - Advertisement, 3 - Playing. %status does not yet contains 4 or 5.
Everything else looks good. It's just that people would 100% get annoyed/angry if this would write out everywhere. But that's what I think.

Instead of %status 4 and 5. Someone that really want to do a amsg on 1 network or more networks could use a parameter like /spoton [x], if it contains 0 or 1. Send a message to 1 network, if 1 send to all networks. And if not a parameter just send to current window. I know how to detect parameters in aliases. It's just a bit easier to do like this.

I don't really know if I'm going to support mass messages like this in the Lite Script that I have created.

Anyway thanks for the information Wims.
Posted By: turbosmurfen

Re: Spotify now-playing for mIRC - 18/06/22 07:27 PM

I'm sorry to everyone that is waiting for more features for Spoton. I'm still learning me C++ from courses and my knowledge is getting better and better.

From my current knowledges I have fixed several issues in Spoton. So there is a new update, version 1.1.5.

From my testing I have noticed that the DLL-File never free the memory. So it will add more and more data to the memory. So please update to 1.1.5.
© 2022 mIRC Discussion Forums