HermesApp / Hermes

Compact macOS Pandora client that doesn’t use Flash
http://hermesapp.org/
MIT License
381 stars 99 forks source link

Feature Request: Pause Hermes When Skype Call Starts #183

Open kmoya opened 10 years ago

kmoya commented 10 years ago

Skype will pause iTunes when a new call starts, and start iTunes playing again when the call ends. This would be a nice feature for Hermes to support. I found a python script that someone wrote to do this for Spotify. The Python script can be found here. Perhaps something similar could be developed for Hermes?

winny- commented 10 years ago

I created a proof of concept that is on my GitHub Gist: https://gist.github.com/winny-/33df3e09243717dc083f

It has some limitations currently:

  1. If Skype exits, the script needs to be restarted. I've opened an issue asking about this.
  2. You need to to run Python in 32-bit mode and need to install the Skype4Py dependency in 32-bit mode.

    # Set your PATH so /usr/local/bin comes first.
    brew install --universal python
    arch -i386 pip install Skype4Py
    arch -i386 python control_playback_in_skype_call.py

Hope it works for you!

winny- commented 10 years ago

Hey @kmoya did you get that script working?

kmoya commented 10 years ago

Not yet. I will give it a try this week and let you know.

Thanks

On 29 Jun, 2014, at 16:00 , Winston Weinert notifications@github.com wrote:

Hey @kmoya did you get that script working?

— Reply to this email directly or view it on GitHub.

kmoya commented 10 years ago

Success! The only trick to it was that I had to use this:

export VERSIONER_PYTHON_PREFER_32_BIT=yes
python control_playback_in_skype_call.py

instead of this:

arch -i386 python control_playback_in_skype_call.py

When I ran it using the arch command it would segfault immediately, telling me that it was running the 64 bit version of python. I found this link on stackoverflow which pointed me in the right direction (see the comment from Ned Deily). Once I exported the environment variable telling python to run in 32 bit mode, everything worked perfectly.

Too bad there is no Objective-C native version of Skype4Py. Oh well, at least we have something that works.

Thanks!

kmoya commented 10 years ago

Oops... I found a slight issue. Hermes starts playing after a Skype call ends, regardless of whether or not it was playing before the call started - i.e. if you pause Hermes, place a Skype call and then hang up, Hermes will start playing. Not a huge deal but I wanted to let you know about it.

winny- commented 10 years ago

I fixed that little nuisance and checked my changes into a GitHub repository: https://github.com/winny-/HermesSkypeControl

This should work better.