AutoHotkey Homepage AutoHotkey Community
Let's help each other out
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Spotify Global Hotkeys

 
Reply to topic    AutoHotkey Community Forum Index -> Scripts & Functions
View previous topic :: View next topic  
Author Message
Sansana



Joined: 04 Jan 2009
Posts: 1

PostPosted: Sun Jan 04, 2009 9:45 pm    Post subject: Spotify Global Hotkeys Reply with quote

Hello,
I know there's a topic like this already, but in Ask for help section, and I believe this is a more fitting place for this. This tiny script is based on zzzTAG's script from this topic http://www.autohotkey.com/forum/topic38617.html .

It's basically a global hotkeys script which includes a little clipboard extra feature. It covers all playback hotkeys such as: previous, next, play/pause, volume up, volume down and mute. The little extra feature I've mentioned above allows you to copy current song's name (Artist - Title) to clipboard - I think it's a very useful thing Smile

Here's the code:
Code:
SetTitleMatchMode 2

; "CTRL + LEFT"  for previous
^Left::
DetectHiddenWindows, On
ControlSend, ahk_parent, ^{Left}, ahk_class SpotifyMainWindow
DetectHiddenWindows, Off
return


; "CTRL + RIGHT"  for next
^Right::
{
DetectHiddenWindows, On
ControlSend, ahk_parent, ^{Right}, ahk_class SpotifyMainWindow
DetectHiddenWindows, Off
return
}

; "CTRL + UP"  for pause
^UP::
{
DetectHiddenWindows, On
ControlSend, ahk_parent, {space}, ahk_class SpotifyMainWindow
DetectHiddenWindows, Off
return
}

; "CTRL + DOWN"  for info
^Down::
{
DetectHiddenWindows, On
SetTitleMatchMode 2
WinGetTitle, now_playing, ahk_class SpotifyMainWindow
StringTrimLeft, playing, now_playing, 10
DetectHiddenWindows, Off
clipboard = %playing%`r`n
return
}

; "CTRL + PAGE UP"  for volume up
^PgUP::
{
DetectHiddenWindows, On
ControlSend, ahk_parent, ^{Up}, ahk_class SpotifyMainWindow
DetectHiddenWindows, Off
return
}

; "CTRL + PAGE DOWN"  for volume down
^PgDn::
{
DetectHiddenWindows, On
ControlSend, ahk_parent, ^{Down}, ahk_class SpotifyMainWindow
DetectHiddenWindows, Off
return
}

; "CTRL + END"  for mute
^End::
{
DetectHiddenWindows, On
ControlSend, ahk_parent, ^+{Down}, ahk_class SpotifyMainWindow
DetectHiddenWindows, Off
return
}


Here's the program : http://rapidshare.com/files/179823740/spotify_autohotkey.exe.html

The keys goes like this:

Previous - Ctrl + Left
Next - Ctrl + Right
Play/Pause - Ctrl + Up
Copy song name to clipboard - Ctrl + Down
Volume up - Ctrl + Page Up
Volume down - Control + Page Down
Mute - Control + End

Enjoy!
Back to top
View user's profile Send private message
michaelJ
Guest





PostPosted: Sun Jan 11, 2009 10:50 pm    Post subject: Reply with quote

Very convenient. Thank's alot.
Back to top
Elias
Guest





PostPosted: Wed Feb 04, 2009 8:25 pm    Post subject: Reply with quote

Link is dead? Sad
Back to top
ibr



Joined: 12 Aug 2009
Posts: 5
Location: Norway

PostPosted: Wed Aug 12, 2009 12:15 pm    Post subject: Reply with quote

Great script, I was looking at a VB.NET class that does the same, but it cannot change song (next/previous) without focusing the window. AutoHotKey never stop to impress me Smile
Back to top
View user's profile Send private message
Antonimo



Joined: 28 Apr 2006
Posts: 55

PostPosted: Fri Nov 19, 2010 4:49 pm    Post subject: Reply with quote

Ha Ha!

I did a quick search in Google for spotify global hotkey and the top link came here.

I should have come to Autohotkey in the first place.

The link above may not work, but creating the AHK script with the code gives more control over which hotkeys to assign.

Thanks Sansana - Very useful.
Back to top
View user's profile Send private message
tuna



Joined: 03 Oct 2007
Posts: 155
Location: UK

PostPosted: Thu Jan 06, 2011 1:03 am    Post subject: Reply with quote

Had a similar idea a while back trying to skip Spotify ads. It allows you to easily add as many hotkeys as you want just by adding variables hotkeyN and hotkeyNSend at the top of the script, where N is the next highest variable number. If you're interested:
tuna wrote:
Quote:
make a script to play next song a split second before the previous one finishes? ads would never start?

Sound idea, so done a quick script - can't get the ClassNN of Spotify controls so detecting the end of a track is left to the user via hotkeys.
Set as many hotkeys as you like to control Spotify in the background.
Code:
#Persistent
DetectHiddenWindows, On
SetBatchLines, -1
SetWinDelay, -1

;Hotkeys must be named sequentially and consecutively like so:
hotkey1              = ^+d            ; previous
hotkey1Send          = {UP}{ENTER}
hotkey2              = ^+c            ; next
hotkey2Send          = {DOWN}{ENTER}
hotkey3              = ^+x            ; pause
hotkey3Send          = {SPACE}
hotkey4             = ^+r             ; repeat
hotkey4Send          = {ENTER}
winTitle             = ahk_class SpotifyMainWindow

Loop {
   If !hotkey%A_Index%
      Break
   Hotkey, % hotkey%A_Index%, winSend
   hashCurr := "hash" . hashFunction(hotkey%A_Index%)
   %hashCurr% := hotkey%A_Index%Send
}
Return

winSend:
hotkeyHash := "hash" . hashFunction(A_ThisHotkey)
ControlSend, , % %hotkeyHash%, %winTitle%
Return

hashFunction(str) {
   SetFormat, IntegerFast, H
   str := hashFunctionTransform(str)
   SetFormat, IntegerFast, D
   Return str
}

hashFunctionTransform(str) {
   Return Substr((Asc(Str) + 0), 3) . (StrLen(Str) > 1 ? hashFunction(SubStr(Str, 2)) : "")
}

Full post at http://www.autohotkey.com/forum/viewtopic.php?t=45291&postdays=0&postorder=asc&start=22

On a related note, since then I've also tried to get rid of audio ads completely, but also contains hotkeys to control Spotify still:
tuna wrote:
Features
> Skips Spotify's audio ads without any user intervention
> Spotify playback controls available through unobtrusive (and draggable) mini UI
> Control master volume via mouse
> Detects Spotify window closure, opening, minimisation etc and handles in all those situations
> Automatic software updates
> Portable - put it on a flash drive and run it on any computer





Usage
Run Stopify, and just play songs in Spotify as normal - easy.
Double click tray icon to toggle show/hide.

Hotkeys: Ctrl+Shift+...
...Mouse Scroll (MButton) Click/Scroll Down/Scroll Up or ...Q/W/E: (master) mute/volume down/volume up
...Z/X/C: previous/toggle play/next song
...A/S: shuffle/repeat
...D/F: Spotify volume down/volume up

For more see http://www.autohotkey.com/forum/viewtopic.php?p=411058#411058


Thanks
Back to top
View user's profile Send private message
robertpateii



Joined: 12 Aug 2011
Posts: 1
Location: Austin, TX

PostPosted: Fri Aug 12, 2011 12:37 am    Post subject: Reply with quote

i registered so i could thank the OP, Sansana, for this. It's just what I wanted, and the code posted works great once compiled. I have a few autohotkey scripts that I've tweaked, but I haven't had to write one from scratch yet thanks to the rocking community.
Back to top
View user's profile Send private message
nimda



Joined: 26 Dec 2010
Posts: 3815
Location: Awesometown, USA

PostPosted: Fri Aug 12, 2011 2:09 am    Post subject: Reply with quote

Guest posting is allowed, but too late now Razz
_________________
Spam. Autoclick. Rapidfire.Window Control ToolsLicense
Back to top
View user's profile Send private message
AttckDog
Guest





PostPosted: Mon Jan 23, 2012 8:31 pm    Post subject: Reply with quote

Thanks Man Love it simple !
Back to top
Display posts from previous:   
Reply to topic    AutoHotkey Community Forum Index -> Scripts & Functions All times are GMT
Page 1 of 1

 
Jump to:  
You can post new topics in this forum
You can reply to topics in this forum


Powered by phpBB © 2001, 2005 phpBB Group