SpotiAmp

 

Spotify is a great service! I have been using it for quite a while, but I felt that something was missing.
Winamp has been my main player for years and I got inspired to make a combination support thing with this application, here is what SpotiAmp is all about.

SpotiAmp v0.95

Features

  • Global keyboard hotkeys to control play, stop, pause, next, previous, volume up/down and mute
  • Mute commercials / ads. It comes with a price, read about below!
  • Simple Webserver support, now Ajax-support
  • Winamp WM_COMMAND / WM_WA_IPC support to let other applications (like girder) control Spotify
  • Version 0.95 fixes bugs regarding the interface and have some new eye candy

Requirements
You must install Microsoft Visual C++ 2010 SP1 Redistributable Package to use SpotiAmp (This also apply to Vista and Windows 7!)

    32-bit version (You need 32-bit, even if you have a 64-bit system. Spotiamp is a 32-bit software)

Download

Download html for webserver
The Ajax HTML shall be unpacked in the same directory as the Spotiamp.exe.
If you put Spotiamp.exe in the same directory as Spotify then the directory structure should look like this:
C:\Program Files\Spotify\Spotify.exe
C:\Program Files\Spotify\Uninstall.exe
C:\Program Files\Spotify\SpotiAmp.exe
C:\Program Files\Spotify\html\ <-- All files from ajaxhtml.zip here Download old versions (v0.9 uses 2010 Redist, older 2008)

You must install Microsoft Visual C++ 2008 SP1 Redistributable Package to use SpotiAmp v0.8 (This also apply to Vista and Windows 7!)
32-bit version

Known limits:
1. It has been tested with Windows XP (SP3) and Windows 7. Vista suck and does not work quite right. Wine is NOT supported!
2. This version is confirmed working with Spotify v0.9.7.17 (Spotify updates itself each time you start it, you should check version, if you have trouble)

Global hotkeys, neat
SpotiAmp hotkeys
You select the hotkey combination you like. Windows-key has also been added (made a new hotkey-ctrl for that silly button).
Should be pretty straight forward to configure, you’ll get an error if a combination already exists.

Mute commercials, wtf?
SpotiAmp commercial muting
I know, but after hours of programming I got really, really, reeeeally tired of the commercials.
Audio commercials should be banned in my eyes, especially when Spotify actively pauses when you want to mute. This is your counter-measure, but remember it could easily be “fixed” by Spotify-crew if they want.
In the other end Spotify needs to live and royalties has to be paid. Just to nag you and not letting you forget that you don’t use premium a nag-screen has been implemented.
It looks like this:
SpotiAmp nagscreen
(Note: If Spotify actively contacts me regarding this function, I will permanently remove the feature.)

Webserver support
Download the really simple html-page and extract it in the same where you have SpotiAmp.exe (desktop is not a good place for it, if you want to use webserver).

A really simple interface has been added, by requesting control.htm?[command] on the port the server is opened to a command is executed.
Here are the [command] alternatives: PREV, PLAY, NEXT, VOLUP, VOLDOWN and MUTE.

If the SpotiAmp works in Wine a simple wget should be able to execute commands on your Spotify 🙂 Perfect for HTPC computers who want to control Spotify a little.

The html look like shit and if you bother check out degeros version. Neat solution to grab the screen!

Winamp WM_COMMAND support
Many people have Girder or something similar together with a remote (or simular).
By adding a simple WM_COMMAND Winamp-style based IPC you’ll manage Spotify the same way as Winamp.
It fakes the Winamp v1.x window and you can use the PostCommand(::FindWindow(NULL, L”Winamp v1.x”), WM_COMMAND, NULL, WINAMP_BUTTON2) or simular.

Please check out Winamp developer site and download the SDK extract the WINAMPCMD.H and wa_ipc.h. Most functions are not supported, but you can control the basics.

Comments
If you have any comments regarding the release, please add it below.

 Posted by at 22:44:15

  116 Responses to “SpotiAmp”

  1. ano:
    Sjekk om du har portforwardet riktig, hvis du vil ha eksterne brukere inn på den (anbefales ikke). Sjekk også lokal brannmur på f.eks Vista & W7 som skiller mellom offentlig og privat nett.

  2. Jeg får ikke webserver til og funke. Jeg kan komme inn, men ikke mine venner.

  3. Chris:
    No I didn’t consider it… Since people can very easy controll Spotify with know methods. As I answered another person earlier:

    Download the Toastiy sourcecode: http://toastify.codeplex.com/SourceControl/list/changesets

    Check out spotify.cs file:
    public enum SpotifyAction : long
    {
    None = 0,
    ShowToast = 1,
    ShowSpotify = 2,
    CopyTrackInfo = 3,
    PlayPause = 917504,
    Mute = 524288,
    VolumeDown = 589824,
    VolumeUp = 655360,
    Stop = 851968,
    PreviousTrack = 786432,
    NextTrack = 720896
    }

    These commands emulate keyboard presses on multimediakeyboards with this function: Win32.SendMessage(GetSpotify(), Win32.Constants.WM_APPCOMMAND, IntPtr.Zero, new IntPtr((long)a));

    Where GetSpotify return a HWND of the spotify window and the a-variable is one of the SpotifyAction messages.

    That is it 🙂

    This should be easy to convert for people to C++ like I did…

  4. This is a cool tool. Would you consider releasing the source code to allow people to make their own improvements?
    Thanks,
    Chris

  5. Thanks for this handy little application. 🙂

  6. Awesome app! Just what I wanted, however I agree with anon’s comment — memory leak problems — I’ve seen 700mb ++ and wondered why my compiler was taking so long :). However this is with an uptime measured in weeks on my main machine…

    You have the source code for me to look at anywhere?

    Annonymouse

  7. Hi,
    Great tool, been using it for while now!
    There seems to be a problem with the french commercial “People for Cinema” that won’t mute. Other new ads are perfectly muted, but that one seems to resist and needs to be added to the commercial list every time it appears.
    I think you use an other version than the french one and the problem may not occur on other languages’ versions, but anyway, you know, just reporting some bugs.

  8. […] litt Googling finner jeg mange alternativer. Noen koster penger og andre er gratis. Valget kom pÃ¥ SpotiAmp som til og med tilbyr Ã¥ mute Johnatan og alle hans bekjente. Det fungerer til og med med samme […]

  9. Hi!
    Mute function doesn’t work here nor “manually” or auto, XP SP3 with Spotify 0.3.22 .
    It adds to the counter in settings.ini but doesn’t actually mute.
    All other functions work.
    Any suggestions appreciated.

  10. Hi!
    Great working program.
    But it would be even greater if the “Comersials database” could be copied and merged between computers. I have one computer at home and one at work and i would like to use and enlarge the databeáse on both at the same time. If possible it would even be useful to share database over the internet.

    Regards
    Tomas

  11. Hi Lars – great stuff – keep up the good work!

  12. listener:
    No credz to me, it was rs suggestion 😉 I don’t even have W7 installed yet. XP is my baby.

  13. It works on Windows 7 (64-bit) when run in XP (SP3) compatibility mode – thanks for the tip large.

  14. Ok. Thanks for the answers.

  15. will run under win7 if you run it in XP compatibility mode.

  16. listener: Sure does work with 0.3.22, but I’m guessing you are using Vista/Windows 7 that have a different soundcard handling. So what you are really saying is that the mute-commercials doesn’t work for you…

  17. Doesn’t work with the newest spotify version: 0.3.22

  18. Update: seems to work on WinXP but fails on Win7 x64 for some reason. Themida in Spottify makes it a pain to debug your app to find the source of the bug…

  19. The mute button doesn’t work for the latest version of Spottify. The back/forward buttons work just fine.

  20. Jag fÃ¥r inte mute knappen att fungera. Inte heller mutad reklam 🙁 NÃ¥gra tips?

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggers like this: