After 4 years break I'm back to working on Windows, which means I'm also back to developing my programming hobby project, the RP song notification app.
A short recap of what it is about: the app displays non-intrusive yet detailed updates on the currently played songs in Radio Paradise. Additionally, it offers the option to send song ratings without the need to interrupt what you're doing by opening the website or searching for browser tabs.
The idea is simple, but the implementation is hilariously over-engineered :)
It seamlessly integrates with the RP web player, the RP apps (tracking skipped songs and more), and even some audio players like Foobar2000 (my personal favorite).
@j_mason - Thanks for the suggestion, I have scanned my app with virustotal and all check came back clean. Then I noticed today the MS Defender had some updates in the last 2 days and my app is not flagged anymore. I tried with a friend's laptop with all updates who never had the app running yet and it opened without problems (except the "unknown source" notification).
So it looks that this problem solved itself.
j_mason wrote:
There';s a site called virustotal where you can upload .exe and it will run against most known AV products and provide you with the results. I work for a global support org and we've had problems in the past with our app being flagged as a threat until we signed our code.
As you say, the fact that the source is available should give people confidence to decide to flag this app as safe. Of course, if we build our own exe, we're all just going to run into the same issue as you did as well. However I (and possibly others) may be interested any any link to a tutorial on building from a git repo. I've never done it as sadly my coding days are behind me and a bit of occasional minor shell scripting is all I'm good for nowerdays.
If you have feedback from the working version, I would love to hear it. Will do!
There';s a site called virustotal where you can upload .exe and it will run against most known AV products and provide you with the results. I work for a global support org and we've had problems in the past with our app being flagged as a threat until we signed our code.
As you say, the fact that the source is available should give people confidence to decide to flag this app as safe. Of course, if we build our own exe, we're all just going to run into the same issue as you did as well. However I (and possibly others) may be interested any any link to a tutorial on building from a git repo. I've never done it as sadly my coding days are behind me and a bit of occasional minor shell scripting is all I'm good for nowerdays.
If you have feedback from the working version, I would love to hear it. Will do!
gvajda wrote:
@j_mason: This happened to me as well after I did a Windows update yesterday. I assume that this is triggered by some new heuristics virus search. It is quite upsetting and makes me look bad. I had to whitelist the .exe on my machine even though I build it myself from the code. I hadn't got time to go after this bug and to be honest I'm not a virus expert so I have to do some research and ask around on forums.
I understand if you don't have trust in an application that was downloaded from the internet and marked as a virus. But if you still want to use it then I recommend to clone the git repo (or just download the code) and build it on your machine. Since the code is open-sourced, if you can read it then you can see and you can see that nothing suspicious is going on. If you are interested to do this but you don't know how to build an app from code, let me know and I will look up a tutorial for it.
Anyway, I will try to resolve this when I get some time for it. If you have feedback from the working version, I would love to hear it.
and it ran file. thank you for this really nice utility. Unfortunately today Widows defender is claiming that it is infected with Trojan:Win32/Azden.B!cl It also won't now allow me to download it webfile: D:DownloadsAppsAudioRP_Notify.exe|https://github-production-rele...
Obviously I have no way to know if this is a false positive or not (I know unsigned .exe's are at risk of being flagged as a threat)
@j_mason: This happened to me as well after I did a Windows update yesterday. I assume that this is triggered by some new heuristics virus search. It is quite upsetting and makes me look bad. I had to whitelist the .exe on my machine even though I build it myself from the code. I hadn't got time to go after this bug and to be honest I'm not a virus expert so I have to do some research and ask around on forums.
I understand if you don't have trust in an application that was downloaded from the internet and marked as a virus. But if you still want to use it then I recommend to clone the git repo (or just download the code) and build it on your machine. Since the code is open-sourced, if you can read it then you can see and you can see that nothing suspicious is going on. If you are interested to do this but you don't know how to build an app from code, let me know and I will look up a tutorial for it.
Anyway, I will try to resolve this when I get some time for it. If you have feedback from the working version, I would love to hear it.
and it ran file. thank you for this really nice utility. Unfortunately today Widows defender is claiming that it is infected with Trojan:Win32/Azden.B!cl It also won't now allow me to download it webfile: D:DownloadsAppsAudioRP_Notify.exe|https://github-production-rele...
Obviously I have no way to know if this is a false positive or not (I know unsigned .exe's are at risk of being flagged as a threat)
and it ran file. thank you for this really nice utility. Unfortunately today Widows defender is claiming that it is infected with Trojan:Win32/Azden.B!cl It also won't now allow me to download it webfile: D:DownloadsAppsAudioRP_Notify.exe|https://github-production-rele...
Obviously I have no way to know if this is a false positive or not (I know unsigned .exe's are at risk of being flagged as a threat)
This version is a major internal redesign for improved user experience and stability (including the fix for the raised issue). To be honest, this is what the previous version (v1.1) should have been. I list below the user experience related changes, for the full list of changes please see the release notes
User experience updates:
Some menu elements are updated with better names (see screenshots)
Clicking on toast settings in the menu will display a representative toast notification to show what changed
Add Login/Logout button to the tray menu
Data delete request doesn't need a second attempt when logging is enabled - will delete config folder in one step
Multiple or all trackers can be enabled at the same time - ex. official RP players and Foobar2000- regardless of they are active or not
The active tracker (if there is any) will be displayed in bold in the tray menu
Tracking an enabled player will automatically start when nothing is actively tracked and the first player becomes available
Tracking an enabled player will automatically start at Startup. The priority at startup in case of multiple trackers are enabled and multiple players are available: Official RP player â Foobar2000 â Live stream Note: if multiple official RP players are available at startup then one will be randomly selected (for example if the web player in the browser and the iPhone app player are both active at startup)
Official RP player tracking tweaks:
Move "Track official RP players" setting to the persistent configuration (no need to re-enable after every startup)
Available official RP players will show the played channel in the tray menu even if they are not actively selected
Now the user can "un-track" an official RP player by clicking on it in the menu without disabling the official RP player tracking
List of official RP players will be updated - including the played channel displayed in the tray menu - if the tracking is enabled even if none of them is actively selected Note: when an RP player is active then they are updated more often, otherwise at the end of the song Note: if the official RP tracking is enabled but no player is actively selected then any changes in the player list will activate the tracking (like changing a channel)
If the web player on the RP site is paused then restarted, the remaining song time is refreshed in the tooltip text / toast progress bar Note: this only works with the web player, the RP API didn't refresh the song expiration when tested on the iPhone app (it will show that the song reached the end until the next song starts)
PS: I originally started this project to SAVE TIME by not switching browser tabs for song info and rating. That was a very silly idea. At least I enjoy spending time with it.
The next feature will be to add Foobar2000 controls in the applet tray menu. The idea is that if the Foobar2000 tracking is enabled and it's running in the background then a new menu section will be added to change the streamed channel or start/stop playing in Foobar2000. I have no ETA for this, but if there is any interest in this feature then I might release a working beta version.
RP_Notify.exe v1.1 has been downloaded on a PC and a laptop. Mixed feedback, so far. The applet crash on the PC has been reported on github. The applet works on the laptop, but it takes some time to asses it.
Track official Radio Paradise players - display updates of songs played in the browser or mobile apps, including the "My Favorites" channel Note: this feature works without logging in if the player/browser is on the same network (has the same IP)
Prompt for song rating - display a toast notification with the song rating input field 20 seconds before the song ends or if the channel is changed. Optional and only available if the user is logged in Tip: very useful to grow the song pool of the "My Favorites" channel
Just a quick update: I got all the info from Bill that I needed to add the tracking feature. I made it work and it looks good but I will need a few more days to test and sand off the rough edges.
The feature you ask for would be a really nice addition to track all official players, I didn't even notice it until you pointed out to me. However, it's a bit tricky. The RP site / RP app tracking must use a server-side database to sync the state of the players while the notification applet just checks the Foobar2000 player locally. I sent an email to Bill to ask if he would provide me with access to the API with the tracking data. He hasn't answered yet, I will try later because he usually answers super fast and the mail may got lost. Although it's very possible that he had enough of my API related questions
mirceat wrote:
Thanks again gvajda, this is a nice surprise. On the first impression, the notifications and the Foobar2000 integration work as expected. I'd suggest you to add the RP Android app tracking, when possible. I'm assuming if the Android app tracking is possible in browser, it should be possible in your app as well. In my particular case, there are 3 possible scenarios on my computer speakers - playing RP from browser, from Foobar2000 or from an Android device casting to the same speakers (using Chromecast Audio and a DAC with multiple inputs). The computer is shared for work and personal interests and sometimes I'm forced to switch the RP player.
Thanks again gvajda, this is a nice surprise. On the first impression, the notifications and the Foobar2000 integration work as expected. I'd suggest you to add the RP Android app tracking, when possible. I'm assuming if the Android app tracking is possible in browser, it should be possible in your app as well. In my particular case, there are 3 possible scenarios on my computer speakers - playing RP from browser, from Foobar2000 or from an Android device casting to the same speakers (using Chromecast Audio and a DAC with multiple inputs). The computer is shared for work and personal interests and sometimes I'm forced to switch the RP player.
This app became my hobby project - I completely rewrote it in C# and uploaded in GitHub: https://github.com/gvajda/radi... Now it supports all channels, displays album-art, song rating, and tracks which channel is played in Foobar2000. Check it out.
Thanks gvajda, your script is a keeper. I'm using the RP stream in FB2K, while tracking the stream in the RP web player. The automatic notification at the beginning of the song adds a bit of comfort and less interruption in my work. And many times I was wondering about the time left for the current song, now I'm good.
I wrote to myself an applet that solves my old problem and I thought I will publish here as it might be useful for others. Sorry in advance for my bad English.
Background (problem): I missed the option to see the now playing song on RP as Windows Desktop Notification (or with another name, toast notification). If I listen to a new song that I like, I'd like to know what it is. If my headphone is not on but my favourite song plays, I don't want to miss it. Furthermore, nowadays I listen to the RP flac stream via the Foobar2000 player that supports WASAPI. I don't want to get into what it is, but the point is that it sends bit-perfect output directly to the playback device opposed to the default soundcard option that mixes system sounds with the music and in the process resamples it, degrading the quality. But for the flac stream, it doesn't display the artist/title at all in my player. Duh.
Solution: I wrote an AutoHotkey (AHK) script that fetches the now played song info from the RadioParadise API and sends a Desktop Notifications for each new song as well as displays the song info in a tooltip when hovering above the tray icon of the applet. A great feature is (thanks to the API returns the length of the song) that the tray tooltip shows the remaining time of the song.
How to run: I will share the .exe and the raw script as well. As you should not trust any random exe from the internet, you can download the script and run through AHK or compile it to exe (with AHK) once you see that there is nothing suspicious in the script. (Btw AHK is a great tool, 100% worth to learn it if your OS is Windows IMHO). If you are a technological muggle and trust a random guy's app from the internet (which you should not do) then run the exe.
Behaviour: Just open the applet or run the script via AHK. An icon will show up in the Windows tray - hover above it with the mouse and it will display a tooltip message with song info and the remaining time of the song. Also, a Desktop Notification will show up once a new song started. Optionally the Desktop Notifications can be disabled (right click or double click on the tray icon of the applet) - the tooltip will still show the song info when hovered above the tray icon. Close it with right-clicking on the tray icon and choose Exit.
Disclaimer: Use it for your on responsibility. I wrote this for myself and I share it because I'm a nice person. Feedback is welcomed. I might respond to small change requests but no promises.
Enjoy!
Thanks! The script looks great. I'll fire up my Windows laptop & check it out this evening.
I wrote to myself an applet that solves my old problem and I thought I will publish here as it might be useful for others. Sorry in advance for my bad English.
Background (problem): I missed the option to see the now playing song on RP as Windows Desktop Notification (or with another name, toast notification). If I listen to a new song that I like, I'd like to know what it is. If my headphone is not on but my favourite song plays, I don't want to miss it. Furthermore, nowadays I listen to the RP flac stream via the Foobar2000 player that supports WASAPI. I don't want to get into what it is, but the point is that it sends bit-perfect output directly to the playback device opposed to the default soundcard option that mixes system sounds with the music and in the process resamples it, degrading the quality. But for the flac stream, it doesn't display the artist/title at all in my player. Duh.
Solution: I wrote an AutoHotkey (AHK) script that fetches the now played song info from the RadioParadise API and sends a Desktop Notifications for each new song as well as displays the song info in a tooltip when hovering above the tray icon of the applet. A great feature is (thanks to the API returns the length of the song) that the tray tooltip shows the remaining time of the song.
How to run: I will share the .exe and the raw script as well. As you should not trust any random exe from the internet, you can download the script and run through AHK or compile it to exe (with AHK) once you see that there is nothing suspicious in the script. (Btw AHK is a great tool, 100% worth to learn it if your OS is Windows IMHO). If you are a technological muggle and trust a random guy's app from the internet (which you should not do) then run the exe.
Behaviour: Just open the applet or run the script via AHK. An icon will show up in the Windows tray - hover above it with the mouse and it will display a tooltip message with song info and the remaining time of the song. Also, a Desktop Notification will show up once a new song started. Optionally the Desktop Notifications can be disabled (right click or double click on the tray icon of the applet) - the tooltip will still show the song info when hovered above the tray icon. Close it with right-clicking on the tray icon and choose Exit.
Disclaimer: Use it for your on responsibility. I wrote this for myself and I share it because I'm a nice person. Feedback is welcomed. I might respond to small change requests but no promises.