|
Joined: Jan 2021
Posts: 33
Ameglian cow
|
OP
Ameglian cow
Joined: Jan 2021
Posts: 33 |
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 at https://github.com/turbosmurfen/spotonSpoton is limited due to Spotify's requirements. To be able to run Spotify you need Windows 10/11. From downloading and installation. This can be found on the Start page. If you find a bug or have a problem or have any other issues, post it here or use the issues on my GitHub. An example how it looks like when just echo out the song in the active window:
Last edited by Khaled; 15/08/24 07:06 PM.
|
|
|
|
Joined: Sep 2015
Posts: 101
Vogon poet
|
Vogon poet
Joined: Sep 2015
Posts: 101 |
Will be good if you include not only Spotify, but Aimp, Winamp, Windows Media Player, Windows Groove ..
|
|
|
|
Joined: Jan 2021
Posts: 33
Ameglian cow
|
OP
Ameglian cow
Joined: Jan 2021
Posts: 33 |
Will be good if you include not only Spotify, but Aimp, Winamp, Windows Media Player, Windows Groove .. 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
|
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
|
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: 33
Ameglian cow
|
OP
Ameglian cow
Joined: Jan 2021
Posts: 33 |
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: 33
Ameglian cow
|
OP
Ameglian cow
Joined: Jan 2021
Posts: 33 |
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: 33
Ameglian cow
|
OP
Ameglian cow
Joined: Jan 2021
Posts: 33 |
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: 33
Ameglian cow
|
OP
Ameglian cow
Joined: Jan 2021
Posts: 33 |
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
|
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.
|
|
|
|
Joined: Jan 2021
Posts: 33
Ameglian cow
|
OP
Ameglian cow
Joined: Jan 2021
Posts: 33 |
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. 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: 33
Ameglian cow
|
OP
Ameglian cow
Joined: Jan 2021
Posts: 33 |
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
|
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: 33
Ameglian cow
|
OP
Ameglian cow
Joined: Jan 2021
Posts: 33 |
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
|
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. [20:50] <Deep3D> Spotify » Battle.net [20:51] <Deep3D> Spotify » Midnight Oil - Beds Are Burning - Remastered 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: 33
Ameglian cow
|
OP
Ameglian cow
Joined: Jan 2021
Posts: 33 |
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: 33
Ameglian cow
|
OP
Ameglian cow
Joined: Jan 2021
Posts: 33 |
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. [20:50] <Deep3D> Spotify » Battle.net [20:51] <Deep3D> Spotify » Midnight Oil - Beds Are Burning - Remastered 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: 84
Babel fish
|
Babel fish
Joined: May 2022
Posts: 84 |
Does it works on multiple mirc server? How?
|
|
|
|
Joined: Jan 2021
Posts: 33
Ameglian cow
|
OP
Ameglian cow
Joined: Jan 2021
Posts: 33 |
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: 33
Ameglian cow
|
OP
Ameglian cow
Joined: Jan 2021
Posts: 33 |
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,187
Hoopy frood
|
Hoopy frood
Joined: Jul 2006
Posts: 4,187 |
Your current 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: 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
#mircscripting @ irc.swiftirc.net == the best mIRC help channel
|
|
|
|
Joined: Jan 2021
Posts: 33
Ameglian cow
|
OP
Ameglian cow
Joined: Jan 2021
Posts: 33 |
%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: 33
Ameglian cow
|
OP
Ameglian cow
Joined: Jan 2021
Posts: 33 |
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: 33
Ameglian cow
|
OP
Ameglian cow
Joined: Jan 2021
Posts: 33 |
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: 33
Ameglian cow
|
OP
Ameglian cow
Joined: Jan 2021
Posts: 33 |
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
Self-satisfied door
|
Self-satisfied door
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: 329
Pan-dimensional mouse
|
Pan-dimensional mouse
Joined: Jan 2012
Posts: 329 |
You can find it at the following links:
|
|
|
|
Joined: Apr 2024
Posts: 3
Self-satisfied door
|
Self-satisfied door
Joined: Apr 2024
Posts: 3 |
Awesome!Thank you so much
|
|
|
|
Joined: Jan 2021
Posts: 33
Ameglian cow
|
OP
Ameglian cow
Joined: Jan 2021
Posts: 33 |
You can find it at the following links: Thanks for the help, I saw this now.
|
|
|
|
Joined: Jan 2021
Posts: 33
Ameglian cow
|
OP
Ameglian cow
Joined: Jan 2021
Posts: 33 |
Due to lack of time I don't update the code and script anymore. Please use caution while using my project. I want to thanks everyone in this thread and people on GitHub that have followed me while working on this project. I hope in the future that someone else create a better project.
|
|
|
|
|