mIRC Home    About    Download    Register    News    Help

Print Thread
Page 1 of 2 1 2
Joined: Jan 2021
Posts: 32
T
Ameglian cow
OP Offline
Ameglian cow
T
Joined: Jan 2021
Posts: 32
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]



Last edited by Khaled; 31/07/22 09:14 AM.
Joined: Sep 2015
Posts: 101
Vogon poet
Offline
Vogon poet
Joined: Sep 2015
Posts: 101
Will be good if you include not only Spotify, but Aimp, Winamp, Windows Media Player, Windows Groove .. smile

Joined: Jan 2021
Posts: 32
T
Ameglian cow
OP Offline
Ameglian cow
T
Joined: Jan 2021
Posts: 32
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.

Joined: Sep 2015
Posts: 101
Vogon poet
Offline
Vogon poet
Joined: Sep 2015
Posts: 101
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.

Joined: Dec 2002
Posts: 483
Pan-dimensional mouse
Offline
Pan-dimensional mouse
Joined: Dec 2002
Posts: 483
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.

Joined: Jan 2021
Posts: 32
T
Ameglian cow
OP Offline
Ameglian cow
T
Joined: Jan 2021
Posts: 32
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.

Joined: Jan 2021
Posts: 32
T
Ameglian cow
OP Offline
Ameglian cow
T
Joined: Jan 2021
Posts: 32
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.

Joined: Jan 2021
Posts: 32
T
Ameglian cow
OP Offline
Ameglian cow
T
Joined: Jan 2021
Posts: 32
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.

Joined: Jan 2021
Posts: 32
T
Ameglian cow
OP Offline
Ameglian cow
T
Joined: Jan 2021
Posts: 32
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.

Joined: Dec 2002
Posts: 483
Pan-dimensional mouse
Offline
Pan-dimensional mouse
Joined: Dec 2002
Posts: 483
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

Joined: Jan 2021
Posts: 32
T
Ameglian cow
OP Offline
Ameglian cow
T
Joined: Jan 2021
Posts: 32
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.

Joined: Jan 2021
Posts: 32
T
Ameglian cow
OP Offline
Ameglian cow
T
Joined: Jan 2021
Posts: 32
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.

Joined: Jan 2004
Posts: 2,127
Hoopy frood
Offline
Hoopy frood
Joined: Jan 2004
Posts: 2,127
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

Joined: Jan 2021
Posts: 32
T
Ameglian cow
OP Offline
Ameglian cow
T
Joined: Jan 2021
Posts: 32
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.

Joined: Dec 2002
Posts: 483
Pan-dimensional mouse
Offline
Pan-dimensional mouse
Joined: Dec 2002
Posts: 483
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.
}

Joined: Jan 2021
Posts: 32
T
Ameglian cow
OP Offline
Ameglian cow
T
Joined: Jan 2021
Posts: 32
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.

Joined: Jan 2021
Posts: 32
T
Ameglian cow
OP Offline
Ameglian cow
T
Joined: Jan 2021
Posts: 32
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.

Joined: May 2022
Posts: 60
F
Babel fish
Offline
Babel fish
F
Joined: May 2022
Posts: 60
Does it works on multiple mirc server? How?

Joined: Jan 2021
Posts: 32
T
Ameglian cow
OP Offline
Ameglian cow
T
Joined: Jan 2021
Posts: 32
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.

Joined: Jan 2021
Posts: 32
T
Ameglian cow
OP Offline
Ameglian cow
T
Joined: Jan 2021
Posts: 32
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.

Joined: Jul 2006
Posts: 4,149
W
Hoopy frood
Offline
Hoopy frood
W
Joined: Jul 2006
Posts: 4,149
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


#mircscripting @ irc.swiftirc.net == the best mIRC help channel
Joined: Jan 2021
Posts: 32
T
Ameglian cow
OP Offline
Ameglian cow
T
Joined: Jan 2021
Posts: 32
%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.

Joined: Jan 2021
Posts: 32
T
Ameglian cow
OP Offline
Ameglian cow
T
Joined: Jan 2021
Posts: 32
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.

Last edited by turbosmurfen; 18/06/22 07:33 PM.
Joined: Jan 2021
Posts: 32
T
Ameglian cow
OP Offline
Ameglian cow
T
Joined: Jan 2021
Posts: 32
I want to thanks everyone that have helped me and also have tested Spoton from beta stage and upon latest version of Spoton. I have put my time on other things than learning me C++. And I want to say that I no longer is going to update Spoton. If someone else want to update Spoton or use it's code, feel free to do that.

Joined: Jan 2021
Posts: 32
T
Ameglian cow
OP Offline
Ameglian cow
T
Joined: Jan 2021
Posts: 32
I use Spotify now and needed to test out if Spoton 1.1.7 was working.
I noticed that the volume control in Spoton changed master volume instead of Spotify volume. I also needed Artist and Title for a thing.

So why not update the same for everyone else. Version 1.1.8 is now out.

Joined: Apr 2024
Posts: 3
C
Self-satisfied door
Offline
Self-satisfied door
C
Joined: Apr 2024
Posts: 3
Forgive my ignorance but I am unable to find spoton.dll. Have looked in the zip and on github. If you could point me in the right direction I would be very grateful.
Thanks in advance!

Joined: Jan 2012
Posts: 301
Pan-dimensional mouse
Offline
Pan-dimensional mouse
Joined: Jan 2012
Posts: 301
You can find it at the following links:



🌐 http://forum.epicnet.ru 📜 irc.epicnet.ru 6667 #Code | mIRC scripts, help, discuss, examples
Joined: Apr 2024
Posts: 3
C
Self-satisfied door
Offline
Self-satisfied door
C
Joined: Apr 2024
Posts: 3
Awesome!Thank you so much

Joined: Jan 2021
Posts: 32
T
Ameglian cow
OP Offline
Ameglian cow
T
Joined: Jan 2021
Posts: 32
Originally Posted by Epic
You can find it at the following links:


Thanks for the help, I saw this now.

Page 1 of 2 1 2

Link Copied to Clipboard