Gearlux / GDeskTunes

Desktop Player for Google Play Music™
http://gearlux.github.io/GDeskTunes/
GNU General Public License v2.0
34 stars 5 forks source link

Play/Pause toggle media key doesn't work #33

Open voldemarz opened 9 years ago

voldemarz commented 9 years ago

The Play/Pause toggle media key doesn't work on Microsoft Ergonomic Keyboard 4000. I see mediakey.h uses Qt::Key_MediaPlay: Qt::Key_MediaNext Qt::Key_MediaPrevious

I suppose adding use of Qt::Key_MediaTogglePlayPause would fix the issue.

Gearlux commented 9 years ago

OK, I will add the Qt::Key_MediaTogglePlayPause for the next release. Thanks.

On 18 Jan 2015, at 01:26, Valdis Vilcans notifications@github.com wrote:

The Play/Pause toggle media key doesn't work on Microsoft Ergonomic Keyboard 4000. I see mediakey.h uses Qt::Key_MediaPlay: Qt::Key_MediaNext Qt::Key_MediaPrevious

I suppose adding use of Qt::Key_MediaTogglePlayPause would fix the issue.

— Reply to this email directly or view it on GitHub https://github.com/Gearlux/GDeskTunes/issues/33.

voldemarz commented 9 years ago

How soon can the next release be expected?

Gearlux commented 9 years ago

I will try to make on this evening. Can you give me some feedback if the solution worked for you ? Tnx

voldemarz commented 9 years ago

Sure, I will.

Gearlux commented 9 years ago

Fingers crossed now ...

voldemarz commented 9 years ago

It works :) Thanks! But the download link in the web page is broken. It points to missing version 0.3.3 installer: https://github.com/Gearlux/GDeskTunes/releases/download/v0.3.3/GDeskTunesInstaller.exe

I had to modify the url to 0.3.5 to get the current one.

Gearlux commented 9 years ago

I always forget to update the website release :-( Thanks for noticing. Enjoy the program!

On 20 Jan 2015, at 20:48, Valdis Vilcans <notifications@github.com mailto:notifications@github.com> wrote:

It works :) Thanks! But the download link in the web page is broken. It points to missing version 0.3.3 installer: https://github.com/Gearlux/GDeskTunes/releases/download/v0.3.3/GDeskTunesInstaller.exe https://github.com/Gearlux/GDeskTunes/releases/download/v0.3.3/GDeskTunesInstaller.exe I had to modify the url to 0.3.5 to get the current one.

— Reply to this email directly or view it on GitHub https://github.com/Gearlux/GDeskTunes/issues/33#issuecomment-70719863.

voldemarz commented 9 years ago

By the way the media key works only if application is in focus. Would be nice to get it working when in background (which is most of the time)

Gearlux commented 9 years ago

I had similar problems with my logitech keyboard. It turned out that the setpoint daemon redirected the media keys to the background programs it “thinks” needs to be notified. Any chance that microsoft does similar things ? Anyhow, let’s try to fix this thing because this was my main reason to develop GDesktunes ;-)

(I am currently on a location with very bad internet connection, so I can not figure this out from here :-( )

On 22 Jan 2015, at 01:07, Valdis Vilcans notifications@github.com wrote:

By the way the media key works only if application is in focus. Would be nice to get it working when in background (which is most of the time)

— Reply to this email directly or view it on GitHub https://github.com/Gearlux/GDeskTunes/issues/33#issuecomment-70947805.

voldemarz commented 9 years ago

I don't think there any Microsoft software redirecting or changing meaning of key, Spotify for example captures keys when in background. In "Microsoft Mouse on Keyboard Center" application I can change the mapping between keys, e.g. make F2 behave as Play/Pause media key, but can't make it be delivered to apps that run in background.

It seems you need to add a global hook. See http://stackoverflow.com/questions/7196883/capture-media-keys-when-application-is-minimized http://stackoverflow.com/questions/7196883/capture-media-keys-when-application-is-minimized

I initially forked your project to see if I can quickly add the missing QT key check, but did not find clear info on how to set up dependencies and gave uo. There is dns_sd.h header missing.

On 23 January 2015 at 20:51, Gearlux notifications@github.com wrote:

I had similar problems with my logitech keyboard. It turned out that the setpoint daemon redirected the media keys to the background programs it “thinks” needs to be notified. Any chance that microsoft does similar things ? Anyhow, let’s try to fix this thing because this was my main reason to develop GDesktunes ;-)

(I am currently on a location with very bad internet connection, so I can not figure this out from here :-( )

On 22 Jan 2015, at 01:07, Valdis Vilcans notifications@github.com wrote:

By the way the media key works only if application is in focus. Would be nice to get it working when in background (which is most of the time)

— Reply to this email directly or view it on GitHub < https://github.com/Gearlux/GDeskTunes/issues/33#issuecomment-70947805>.

— Reply to this email directly or view it on GitHub https://github.com/Gearlux/GDeskTunes/issues/33#issuecomment-71254189.

Gearlux commented 9 years ago

In order to get it compiled you will need to install Bonjour SDK. https://developer.apple.com/downloads/index.action?q=Bonjour%20SDK%20for%20Windows https://developer.apple.com/downloads/index.action?q=Bonjour%20SDK%20for%20Windows

You can safely remote all dependencies on these classes (it should be no effort). I will check your link and see if I can get it working with an old logitech keyboard.

On 26 Jan 2015, at 19:51, Valdis Vilcans <notifications@github.com mailto:notifications@github.com> wrote:

I don't think there any Microsoft software redirecting or changing meaning of key, Spotify for example captures keys when in background. In "Microsoft Mouse on Keyboard Center" application I can change the mapping between keys, e.g. make F2 behave as Play/Pause media key, but can't make it be delivered to apps that run in background.

It seems you need to add a global hook. See http://stackoverflow.com/questions/7196883/capture-media-keys-when-application-is-minimized http://stackoverflow.com/questions/7196883/capture-media-keys-when-application-is-minimized <http://stackoverflow.com/questions/7196883/capture-media-keys-when-application-is-minimized http://stackoverflow.com/questions/7196883/capture-media-keys-when-application-is-minimized>

I initially forked your project to see if I can quickly add the missing QT key check, but did not find clear info on how to set up dependencies and gave uo. There is dns_sd.h header missing.

On 23 January 2015 at 20:51, Gearlux <notifications@github.com mailto:notifications@github.com> wrote:

I had similar problems with my logitech keyboard. It turned out that the setpoint daemon redirected the media keys to the background programs it “thinks” needs to be notified. Any chance that microsoft does similar things ? Anyhow, let’s try to fix this thing because this was my main reason to develop GDesktunes ;-)

(I am currently on a location with very bad internet connection, so I can not figure this out from here :-( )

On 22 Jan 2015, at 01:07, Valdis Vilcans <notifications@github.com mailto:notifications@github.com> wrote:

By the way the media key works only if application is in focus. Would be nice to get it working when in background (which is most of the time)

— Reply to this email directly or view it on GitHub < https://github.com/Gearlux/GDeskTunes/issues/33#issuecomment-70947805 https://github.com/Gearlux/GDeskTunes/issues/33#issuecomment-70947805>.

— Reply to this email directly or view it on GitHub <https://github.com/Gearlux/GDeskTunes/issues/33#issuecomment-71254189 https://github.com/Gearlux/GDeskTunes/issues/33#issuecomment-71254189>.

— Reply to this email directly or view it on GitHub https://github.com/Gearlux/GDeskTunes/issues/33#issuecomment-71514767.

Gearlux commented 9 years ago

Hi, I think I got this working (at least on an old laptop with media keys). I just need to make sure that it also works with the logitech keyboards before making a new release. If you managed to get GDeskTunes to compile, can you check if this fixes your issue ?

voldemarz commented 9 years ago

I didn't have time try compiling the application. I could do in the weekend. However, if you have test build I can test it out.

On 29 January 2015 at 21:39, Gearlux notifications@github.com wrote:

Hi, I think I got this working (at least on an old laptop with media keys). I just need to make sure that it also works with the logitech keyboards before making a new release. If you managed to get GDeskTunes to compile, can you check if this fixes your issue ?

— Reply to this email directly or view it on GitHub https://github.com/Gearlux/GDeskTunes/issues/33#issuecomment-72099663.

voldemarz commented 9 years ago

Unfortunately, the media key doesn't work when app in background.

On 29 January 2015 at 22:39, Gearlux notifications@github.com wrote:

Try installing https://mega.co.nz/#!OdlEibZS!7K9z7SlVKziKeyDoXnjEu59-ljMgh0SEWbDf4HRf3KE

— Reply to this email directly or view it on GitHub https://github.com/Gearlux/GDeskTunes/issues/33#issuecomment-72109579.

Gearlux commented 9 years ago

:-( I am getting more puzzled about the implementation of media keys in Windows.

On a freshly rebooted computer, can you run GDeskTunes with a debugger ? eg. "c:\Program Files (x86)\Windows Kits\8.1\Debuggers\x86\windbg.exe" "c:\Program Files (x86)\GDeskTunes\GDeskTunes.exe" Check the debug output for messages like "Hotkey 'NEXT' registered, using MOD_NOREPEAT flag"; or "Hotkey 'NEXT' could not be registered";

On my laptop, I sometimes need to reboot the PC to get the hotkeys registered correctly (looking into this).

If the hotkeys are registered correctly but not working, can you launch spy++ and check which virtual keys are send on an active GDeskTunes window ?

voldemarz commented 9 years ago

Will do in the evening.

On 30 January 2015 at 09:13, Gearlux notifications@github.com wrote:

:-( I am getting more puzzled about the implementation of media keys in Windows.

A newer version that contains more debug output (only when run in a debugger) https://mega.co.nz/#!aY8VFDhI!_rLaHLe4YcOhIOP2IK1GEzy7h667uAFOtQry11xH2Wk

On a freshly rebooted computer, can you run GDeskTunes with a debugger ? eg. "c:\Program Files (x86)\Windows Kits\8.1\Debuggers\x86\windbg.exe" "c:\Program Files (x86)\GDeskTunes\GDeskTunes.exe" Check the debug output for messages like "Hotkey 'NEXT' registered, using MOD_NOREPEAT flag"; or "Hotkey 'NEXT' could not be registered";

On my laptop, I sometimes need to reboot the PC to get the hotkeys registered correctly (looking into this).

If the hotkeys are registered correctly but not working, can you launch spy++ and check which virtual keys are send on an active GDeskTunes window ?

— Reply to this email directly or view it on GitHub https://github.com/Gearlux/GDeskTunes/issues/33#issuecomment-72167657.

Gearlux commented 9 years ago

Make sure chrome (or any other application that could possibly register media keys) is closed.

http://www.omgchrome.com/chrome-google-music-media-keys/

Gearlux commented 9 years ago

Try the following version: https://mega.co.nz/#!nUdAkKLR!EUk1ndmh2S1lEjVVZr5VpMwaaDYrueYmD26jFsTZmdA

It has a checkbox within the settings dialog that you can toggle so you can find the application which is hijacking your media keys (off course GDeskTunes hijacks them from the other applications as well when succesful).

voldemarz commented 9 years ago

For both of the last two mega links I get "The file you are trying to download is no longer available". I don't think anything else hijack the keys since Spotify reacts to the media key. Having Chrome closed doesn't change anything.

On 30 January 2015 at 18:51, Gearlux notifications@github.com wrote:

Try the following version: https://mega.co.nz/#!rQcDgRya!HneKpYkagTvxm68KrRn9vbJmTiivxuU0KIfLqR38Gvg

It has a checkbox within the settings dialog that you can toggle so you can find the application which is hijacking your media keys (off course GDeskTunes hijacks them from the other applications as well when succesful).

— Reply to this email directly or view it on GitHub https://github.com/Gearlux/GDeskTunes/issues/33#issuecomment-72241186.

Gearlux commented 9 years ago

Please try again with https://mega.co.nz/#!GYlkhYYT!QbJG-8f88piCkjwtzfwYi1But5B4YjkGIXyP7c5hJt8

Correct, Spotify does not seem to hijack the media keys, but behaves captures the media keys when nobody else is responding to it. At least, I know that Chrome does hijack the media keys when the Google Play Music app is present.

I am still trying to figure out a "decent" way to let GDeskTunes behave nicely with the media keys. Please check the new program (I hope the download link works now)

voldemarz commented 9 years ago

Doesn't work. Tried the checkbox three times. First it didn't seem to have an effect (there was no pop-up). I restarted the app, the checkbox in the preferences was untoggled. Upon toggling, a pop-up showed up informing that app failed to register media keys. Third try was after a reboot and an attempt to run with WinDbg (output at the end). In that case there was no reaction to the toggle again.

I tried to look into Spy++. The messages for GDeskTunes window look like below. I have only Play/Pause media key. Pressing it shows up as WM_APPCOMMAND. The rest are for the mouse move and minimization to the tray. When minimized to tray WM_APPCOMMAND messages no longer show up.


START Spy++

[some omitted]

<00043> 00020C96 S WM_SETCURSOR hwnd:00020C96 nHittest:HTCLIENT wMouseMsg:WM_MOUSEMOVE <00044> 00020C96 R WM_SETCURSOR fHaltProcessing:False <00045> 00020C96 P WM_MOUSEMOVE fwKeys:0000 xPos:577 yPos:648 <00046> 00020C96 S WM_NCHITTEST xPos:-611 yPos:1000 <00047> 00020C96 R WM_NCHITTEST nHittest:HTCLIENT <00048> 00020C96 S WM_SETCURSOR hwnd:00020C96 nHittest:HTCLIENT wMouseMsg:WM_MOUSEMOVE <00049> 00020C96 R WM_SETCURSOR fHaltProcessing:False <00050> 00020C96 P WM_MOUSEMOVE fwKeys:0000 xPos:578 yPos:646 <00051> 00020C96 S WM_NCHITTEST xPos:-611 yPos:1000 <00052> 00020C96 R WM_NCHITTEST nHittest:HTCLIENT <00053> 00020C96 S WM_MOUSEACTIVATE hwndTopLevel:00020C96 nHittest:HTCLIENT uMsg:WM_LBUTTONDOWN <00054> 00020C96 R WM_MOUSEACTIVATE fuActivate:MA_ACTIVATE <00055> 00020C96 S WM_WINDOWPOSCHANGING lpwp:004AD704 <00056> 00020C96 R WM_WINDOWPOSCHANGING <00057> 00020C96 S WM_WINDOWPOSCHANGED lpwp:004AD700 <00058> 00020C96 R WM_WINDOWPOSCHANGED <00059> 00020C96 S WM_ACTIVATEAPP fActive:True dwThreadID:00000000 <00060> 00020C96 R WM_ACTIVATEAPP <00061> 00020C96 S WM_NCACTIVATE fActive:True <00062> 00020C96 R WM_NCACTIVATE <00063> 00020C96 S WM_ACTIVATE fActive:WA_CLICKACTIVE fMinimized:False hwndPrevious:(null) <00064> 00020C96 S WM_IME_SETCONTEXT fSet:1 iShow:C000000F <00065> 00020C96 S WM_IME_NOTIFY dwCommand:IMN_OPENSTATUSWINDOW dwCommand:00000002 dwData:00000000 <00066> 00020C96 R WM_IME_NOTIFY <00067> 00020C96 R WM_IME_SETCONTEXT <00068> 00020C96 S WM_SETFOCUS hwndLoseFocus:(null) <00069> 00020C96 R WM_SETFOCUS <00070> 00020C96 R WM_ACTIVATE <00071> 00020C96 S WM_SETCURSOR hwnd:00020C96 nHittest:HTCLIENT wMouseMsg:WM_LBUTTONDOWN <00072> 00020C96 R WM_SETCURSOR fHaltProcessing:False <00073> 00020C96 P WM_LBUTTONDOWN fwKeys:MK_LBUTTON xPos:578 yPos:646 <00074> 00020C96 P WM_MOUSEMOVE fwKeys:MK_LBUTTON xPos:578 yPos:646 <00075> 00020C96 P WM_LBUTTONUP fwKeys:0000 xPos:578 yPos:646 <00076> 00020C96 S WM_CAPTURECHANGED hwndNewCapture:00000000 <00077> 00020C96 R WM_CAPTURECHANGED <00078> 00020C96 S WM_NCHITTEST xPos:-611 yPos:1000 <00079> 00020C96 R WM_NCHITTEST nHittest:HTCLIENT <00080> 00020C96 S WM_SETCURSOR hwnd:00020C96 nHittest:HTCLIENT wMouseMsg:WM_MOUSEMOVE <00081> 00020C96 R WM_SETCURSOR fHaltProcessing:False <00082> 00020C96 P WM_MOUSEMOVE fwKeys:0000 xPos:578 yPos:646 <00083> 00020C96 S WM_APPCOMMAND <00084> 00020C96 R WM_APPCOMMAND <00085> 00020C96 S WM_APPCOMMAND <00086> 00020C96 R WM_APPCOMMAND <00087> 00020C96 S WM_NCHITTEST xPos:-606 yPos:990 <00088> 00020C96 R WM_NCHITTEST nHittest:HTCLIENT <00089> 00020C96 S WM_SETCURSOR hwnd:00020C96 nHittest:HTCLIENT wMouseMsg:WM_MOUSEMOVE <00090> 00020C96 R WM_SETCURSOR fHaltProcessing:False <00091> 00020C96 P WM_MOUSEMOVE fwKeys:0000 xPos:583 yPos:636 <00092> 00020C96 S WM_NCHITTEST xPos:-590 yPos:974 [some omitted] <00165> 00020C96 R WM_SETCURSOR fHaltProcessing:False <00166> 00020C96 P WM_NCMOUSEMOVE nHittest:HTMINBUTTON xPos:-116 yPos:340 <00167> 00020C96 S WM_SETCURSOR hwnd:00020C96 nHittest:HTMINBUTTON wMouseMsg:WM_LBUTTONDOWN <00168> 00020C96 R WM_SETCURSOR fHaltProcessing:False <00169> 00020C96 P WM_NCLBUTTONDOWN nHittest:HTMINBUTTON xPos:-116 yPos:340 <00170> 00020C96 P WM_LBUTTONUP fwKeys:0000 xPos:1073 yPos:-14 <00171> 00020C96 S WM_CAPTURECHANGED hwndNewCapture:00000000 <00172> 00020C96 R WM_CAPTURECHANGED <00173> 00020C96 S WM_SYSCOMMAND uCmdType:SC_MINIMIZE xPos:65420 yPos:340 <00174> 00020C96 S WM_KILLFOCUS hwndGetFocus:(null) <00175> 00020C96 R WM_KILLFOCUS <00176> 00020C96 S WM_IME_SETCONTEXT fSet:0 iShow:C000000F <00177> 00020C96 S WM_IME_NOTIFY dwCommand:IMN_CLOSESTATUSWINDOW dwCommand:00000001 dwData:00000000 <00178> 00020C96 R WM_IME_NOTIFY <00179> 00020C96 R WM_IME_SETCONTEXT <00180> 00020C96 S WM_WINDOWPOSCHANGING lpwp:004ACF8C <00181> 00020C96 S WM_GETMINMAXINFO lpmmi:004ACCB4 <00182> 00020C96 R WM_GETMINMAXINFO lpmmi:004ACE10 <00183> 00020C96 R WM_WINDOWPOSCHANGING <00184> 00020C96 S WM_NCCALCSIZE fCalcValidRects:True lpncsp:004ACF34 <00185> 00020C96 R WM_NCCALCSIZE fuValidRect:0000 lpncsp:004AD0B8 <00186> 00020C96 S WM_WINDOWPOSCHANGED lpwp:004ACF88 <00187> 00020C96 S WM_MOVE xPos:33536 yPos:33536 <00188> 00020C96 R WM_MOVE <00189> 00020C96 S WM_SIZE fwSizeType:SIZE_MINIMIZED nWidth:0 nHeight:0 <00190> 00020C96 R WM_SIZE <00191> 00020C96 R WM_WINDOWPOSCHANGED <00192> 00020C96 S WM_NCACTIVATE fActive:False <00193> 00020C96 R WM_NCACTIVATE fDeactivateOK:True <00194> 00020C96 S WM_ACTIVATE fActive:WA_INACTIVE fMinimized:True hwndPrevious:(null) <00195> 00020C96 R WM_ACTIVATE <00196> 00020C96 S WM_ACTIVATEAPP fActive:False dwThreadID:00002014 <00197> 00020C96 R WM_ACTIVATEAPP <00198> 00020C96 R WM_SYSCOMMAND <00199> 00020C96 S WM_SHOWWINDOW fShow:False fuStatus:0 (ShowWindow was called) <00200> 00020C96 R WM_SHOWWINDOW <00201> 00020C96 S WM_WINDOWPOSCHANGING lpwp:004ACEF4 <00202> 00020C96 R WM_WINDOWPOSCHANGING <00203> 00020C96 S WM_WINDOWPOSCHANGED lpwp:004ACEF0 <00204> 00020C96 R WM_WINDOWPOSCHANGED <00205> 00020C96 P WM_NCMOUSELEAVE --- END Spy++ I tried to run with WinDbg after a reboot. The app apparently crashed, here's output --- START WinDBG CommandLine: "c:\Program Files (x86)\GDeskTunes\GDeskTunes.exe" ************\* Symbol Path validation summary ************** Response Time (ms) Location Deferred SRV_C:\symbols_ http://msdl.microsoft.com/download/symbols Symbol search path is: SRV_C:\symbols_ http://msdl.microsoft.com/download/symbols Executable search path is: ModLoad: 00ac0000 00b71000 image00ac0000 ModLoad: 776c0000 7782e000 ntdll.dll ModLoad: 76f70000 770b0000 C:\Windows\SysWOW64\KERNEL32.DLL ModLoad: 772d0000 773a7000 C:\Windows\SysWOW64\KERNELBASE.dll ModLoad: 751b0000 75303000 C:\Windows\SysWOW64\USER32.dll ModLoad: 640f0000 64124000 c:\Program Files (x86)\GDeskTunes\Qt5WebKitWidgets.dll ModLoad: 5d9e0000 5eab5000 c:\Program Files (x86)\GDeskTunes\Qt5WebKit.dll ModLoad: 5d590000 5d9d8000 c:\Program Files (x86)\GDeskTunes\Qt5Widgets.dll ModLoad: 640a0000 640e1000 c:\Program Files (x86)\GDeskTunes\Qt5WinExtras.dll ModLoad: 5d120000 5d583000 c:\Program Files (x86)\GDeskTunes\Qt5Gui.dll ModLoad: 5d050000 5d120000 c:\Program Files (x86)\GDeskTunes\Qt5Network.dll ModLoad: 61f50000 61f79000 c:\Program Files (x86)\GDeskTunes\Qt5Xml.dll ModLoad: 5cc60000 5d04e000 c:\Program Files (x86)\GDeskTunes\Qt5Core.dll ....... ModLoad: 73010000 7309b000 C:\Windows\SysWOW64\SHCORE.DLL ModLoad: 74e50000 74ea4000 C:\Windows\SysWOW64\bcryptPrimitives.dll (2020.19dc): Break instruction exception - code 80000003 (first chance) eax=00000000 ebx=00000000 ecx=73db0000 edx=00000000 esi=7f78f000 edi=00000000 eip=7777415d esp=0098f470 ebp=0098f49c iopl=0 nv up ei pl zr na pe nc cs=0023 ss=002b ds=002b es=002b fs=0053 gs=002b efl=00000246 ntdll!LdrpDoDebuggerBreak+0x2b: 7777415d cc int 3 --- END WinDBG On 30 January 2015 at 21:15, Gearlux notifications@github.com wrote: > Please try again with > https://mega.co.nz/#!GYlkhYYT!QbJG-8f88piCkjwtzfwYi1But5B4YjkGIXyP7c5hJt8 > > Correct, Spotify does not seem to hijack the media keys, but behaves > captures the media keys when nobody else is responding to it. > At least, I know that Chrome does hijack the media keys when the Google > Play Music app is present. > > I am still trying to figure out a "decent" way to let GDeskTunes behave > nicely with the media keys. > Please check the new program (I hope the download link works now) > > — > Reply to this email directly or view it on GitHub > https://github.com/Gearlux/GDeskTunes/issues/33#issuecomment-72263518.
Gearlux commented 9 years ago

Thanks a lot for your valuable feedback.

I am currently following the track of responding to WM_APPCOMMANDs. If the program runs in the background, you need to register a separate dll that hooks into the shell. More info here http://www.codeguru.com/cpp/w-p/system/keyboard/article.php/c5655/Using-Multimedia-Keyboard-Keys-in-Your-Own-Program.htm and here http://ashish.vashisht.net/2008/01/configuring-keyboard-multimedia-keys.html

One day, it will work on your machine ;-) Hope you can live without for another couple of days.

(In the mean time, I will keep the option to register the hotkeys in GDeskTunes, this will probably be a solution for some other keyboards).

When running with windbg, you need press F5 (or Debug > Go) to launch the app.

voldemarz commented 9 years ago

Ok, here's the output from WinDbg. When the app launched I pressed "Play" using mouse on one of the front page artists. Then two times the Play/Pause key (shows as playbackChanged(2)), then minimized, tried media key (didn't work) and quit the app from tray menu.

0:000> g ModLoad: 75780000 757a7000 C:\Windows\SysWOW64\IMM32.DLL ModLoad: 771b0000 772c3000 C:\Windows\SysWOW64\MSCTF.dll Cleaning up jump list icons QDir( "C:/Users/Valdis/AppData/Local/Temp/GDeskTunes/qt-jl-icons" , nameFilters = { _.ico }, QDir::SortFlags( Name | IgnoreCase ) , QDir::Filters( Files ) ) ModLoad: 5bd60000 5be42000 C:\Program Files (x86)\GDeskTunes\platforms\qwindows.dll ModLoad: 770b0000 77145000 C:\Windows\SysWOW64\OLEAUT32.dll ModLoad: 71e20000 71f0d000 C:\Windows\SysWOW64\uxtheme.dll ModLoad: 738e0000 738e9000 C:\Windows\SysWOW64\kernel.appcore.dll ModLoad: 71730000 7174a000 C:\Windows\SysWOW64\dwmapi.dll Debug mode: false ModLoad: 5bd10000 5bd5f000 C:\Program Files (x86)\Intel\iCLS Client\ssleay32.dll ModLoad: 5bbe0000 5bd0c000 C:\Program Files (x86)\Intel\iCLS Client\LIBEAY32.dll QSslSocket: cannot resolve TLSv1_1_client_method QSslSocket: cannot resolve TLSv1_2_client_method QSslSocket: cannot resolve TLSv1_1_server_method QSslSocket: cannot resolve TLSv1_2_server_method QSslSocket: cannot resolve SSL_select_next_proto QSslSocket: cannot resolve SSL_CTX_set_next_proto_select_cb QSslSocket: cannot resolve SSL_get0_next_proto_negotiated ModLoad: 73490000 734a3000 C:\Windows\SysWOW64\NETAPI32.DLL ModLoad: 73480000 7348a000 C:\Windows\SysWOW64\netutils.dll ModLoad: 73300000 7331d000 C:\Windows\SysWOW64\srvcli.dll ModLoad: 72fa0000 72fb1000 C:\Windows\SysWOW64\wkscli.dll ModLoad: 73f30000 73f49000 C:\Windows\SysWOW64\CRYPTSP.dll ModLoad: 73f00000 73f30000 C:\Windows\SysWOW64\rsaenh.dll ModLoad: 73ee0000 73efe000 C:\Windows\SysWOW64\bcrypt.dll Create MainWindow ModLoad: 5f610000 5f61e000 C:\Program Files (x86)\GDeskTunes\imageformats\qdds.dll ModLoad: 5f240000 5f24b000 C:\Program Files (x86)\GDeskTunes\imageformats\qgif.dll ModLoad: 5f070000 5f07c000 C:\Program Files (x86)\GDeskTunes\imageformats\qicns.dll ModLoad: 5f060000 5f06b000 C:\Program Files (x86)\GDeskTunes\imageformats\qico.dll ModLoad: 5bb60000 5bbd1000 C:\Program Files (x86)\GDeskTunes\imageformats\qjp2.dll ModLoad: 5bb20000 5bb60000 C:\Program Files (x86)\GDeskTunes\imageformats\qjpeg.dll ModLoad: 5bae0000 5bb1b000 C:\Program Files (x86)\GDeskTunes\imageformats\qmng.dll ModLoad: 5edd0000 5edd9000 C:\Program Files (x86)\GDeskTunes\imageformats\qsvg.dll ModLoad: 5ba90000 5bad2000 c:\Program Files (x86)\GDeskTunes\Qt5Svg.dll ModLoad: 5e910000 5e919000 C:\Program Files (x86)\GDeskTunes\imageformats\qtga.dll ModLoad: 5ba30000 5ba81000 C:\Program Files (x86)\GDeskTunes\imageformats\qtiff.dll ModLoad: 5ba20000 5ba29000 C:\Program Files (x86)\GDeskTunes\imageformats\qwbmp.dll ModLoad: 5b9c0000 5ba11000 C:\Program Files (x86)\GDeskTunes\imageformats\qwebp.dll MainWindow::changeEvent( 33 ) ModLoad: 75120000 751ad000 C:\Windows\SysWOW64\clbcatq.dll ModLoad: 50530000 51cc4000 C:\Windows\SysWOW64\nvoglv32.DLL ModLoad: 75850000 75a01000 C:\Windows\SysWOW64\SETUPAPI.dll ModLoad: 734b0000 734bf000 C:\Windows\SysWOW64\WTSAPI32.dll ModLoad: 75670000 756ad000 C:\Windows\SysWOW64\WINTRUST.dll ModLoad: 74d70000 74d98000 C:\Windows\SysWOW64\ntmarta.dll ModLoad: 732b0000 732f0000 C:\Windows\SysWOW64\powrprof.dll ModLoad: 72fc0000 73005000 C:\Windows\SysWOW64\WINSTA.dll ModLoad: 6b1d0000 6b468000 C:\Windows\SysWOW64\explorerframe.dll ModLoad: 6b150000 6b1cf000 C:\Windows\SysWOW64\DUser.dll ModLoad: 6afe0000 6b149000 C:\Windows\SysWOW64\DUI70.dll Adding windows system menu Create LastFM Create GoogleMusicApp ModLoad: 5b9b0000 5b9b9000 C:\Program Files (x86)\GDeskTunes\sensors\qtsensors_dummy.dll ModLoad: 5b9a0000 5b9ab000 C:\Program Files (x86)\GDeskTunes\sensors\qtsensors_generic.dll Create Settings QDir( "c:/Program Files (x86)/GDeskTunes/userstyles" , nameFilters = { * }, QDir::SortFlags( Name | IgnoreCase ) , QDir::Filters( Dirs|Files|Drives|AllEntries ) ) QDir( "c:/Program Files (x86)/GDeskTunes/userstyles/mini" , nameFilters = { * }, QDir::SortFlags( Name | IgnoreCase ) , QDir::Filters( Dirs|Files|Drives|AllEntries ) ) Create CookeJar Create SystemTrayIcon Create MiniPlayer MiniPlayer::changeEvent( 33 ) MiniPlayer::changeEvent( 21 ) Create Downloader Windows application connectUI( "Settings" , "MediaKey" ) Connecting: "register_media_keys.toggled(bool) -> MediaKey.setRegisterMediaKeys(bool)" MediaKey::load() Hotkey 'NEXT' registered, using MOD_NOREPEAT flag Hotkey 'STOP' registered, using MOD_NOREPEAT flag Hotkey 'PLAY/PAUSE' registered, using MOD_NOREPEAT flag connectSlotsByName( "GoogleMusicApp" , "GDeskTunes" ) Connecting: "GoogleMusicApp.isPlaying(int) -> GDeskTunes.isPlaying(int)" Connecting: "GoogleMusicApp.forwardEnabled(int) -> GDeskTunes.forwardEnabled(int)" Connecting: "GoogleMusicApp.rewindEnabled(int) -> GDeskTunes.rewindEnabled(int)" Connecting: "GoogleMusicApp.repeat(QString) -> GDeskTunes.repeat(QString)" Connecting: "GoogleMusicApp.shuffle(QString) -> GDeskTunes.shuffle(QString)" connectSlotsByName( "GDeskTunes" , "GoogleMusicApp" ) connectUI( "GDeskTunes" , "GDeskTunes" ) Connecting: "actionAbout.triggered() -> GDeskTunes.about()" Connecting: "actionPreferences.triggered() -> GDeskTunes.preferences()" Connecting: "actionQuit_GDeskTunes.triggered() -> GDeskTunes.quitGDeskTunes()" Connecting: "actionSwitch_mini.triggered() -> GDeskTunes.switchMini()" Connecting: "actionSwitch_menu.triggered() -> GDeskTunes.switchMenu()" Connecting: "actionClose_Window.triggered() -> GDeskTunes.closeWindow()" Connecting: "actionSwitch_Full_Screen.triggered() -> GDeskTunes.switchFullScreen()" Connecting: "actionShow_Minimized.triggered() -> GDeskTunes.showMinimized()" Connecting: "actionZoom.triggered() -> GDeskTunes.zoom()" Connecting: "action_About.triggered() -> GDeskTunes.about()" Connecting: "actionCheck_Flash_Player.triggered() -> GDeskTunes.checkFlashPlayer()" Connecting: "actionView_Sidebar.triggered() -> GDeskTunes.viewSidebar()" Connecting: "customized.toggled(bool) -> GDeskTunes.setCustomized(bool)" Connecting: "GDeskTunes.customized(bool) -> customized.setChecked(bool)" Connecting: "CSS.currentIndexChanged(QString) -> GDeskTunes.setCSS(QString)" Connecting: "GDeskTunes.CSS(QString) -> CSS.setCurrentText(QString)" Connecting: "mini_CSS.currentIndexChanged(QString) -> GDeskTunes.setMiniCSS(QString)" Connecting: "GDeskTunes.miniCSS(QString) -> mini_CSS.setCurrentText(QString)" Connecting: "mini_player_on_top.toggled(bool) -> GDeskTunes.setMiniPlayerOnTop(bool)" Connecting: "GDeskTunes.miniPlayerOnTop(bool) -> mini_player_on_top.setChecked(bool)" Connecting: "check_updates_startup.toggled(bool) -> GDeskTunes.setCheckUpdatesStartup(bool)" Connecting: "GDeskTunes.checkUpdatesStartup(bool) -> check_updates_startup.setChecked(bool)" Connecting: "navigation_buttons.toggled(bool) -> GDeskTunes.setNavigationButtons(bool)" Connecting: "GDeskTunes.navigationButtons(bool) -> navigation_buttons.setChecked(bool)" Connecting: "keep_logo.toggled(bool) -> GDeskTunes.setKeepLogo(bool)" Connecting: "GDeskTunes.keepLogo(bool) -> keep_logo.setChecked(bool)" Connecting: "keep_links.toggled(bool) -> GDeskTunes.setKeepLinks(bool)" Connecting: "GDeskTunes.keepLinks(bool) -> keep_links.setChecked(bool)" Connecting: "tray_icon.toggled(bool) -> GDeskTunes.setTrayIcon(bool)" Connecting: "minimize_to_tray.toggled(bool) -> GDeskTunes.setMinimizeToTray(bool)" Connecting: "GDeskTunes.minimizeToTray(bool) -> minimize_to_tray.setChecked(bool)" connectUI( "GDeskTunes" , "GoogleMusicApp" ) Connecting: "actionPlay.triggered() -> GoogleMusicApp.play()" Connecting: "actionNext.triggered() -> GoogleMusicApp.next()" Connecting: "actionPrevious.triggered() -> GoogleMusicApp.previous()" Connecting: "actionIncrease_Volume.triggered() -> GoogleMusicApp.increaseVolume()" Connecting: "actionDecrease_Volume.triggered() -> GoogleMusicApp.decreaseVolume()" Connecting: "shuffle_on.triggered() -> GoogleMusicApp.shuffleOn()" Connecting: "shuffle_off.triggered() -> GoogleMusicApp.shuffleOff()" Connecting: "repeat_off.triggered() -> GoogleMusicApp.repeatOff()" Connecting: "repeat_all.triggered() -> GoogleMusicApp.repeatAll()" Connecting: "repeat_one.triggered() -> GoogleMusicApp.repeatOne()" connectUI( "MiniPlayer" , "GoogleMusicApp" ) Connecting: "toggle_thumbs_up.clicked() -> GoogleMusicApp.toggleThumbsUp()" Connecting: "toggle_thumbs_down.clicked() -> GoogleMusicApp.toggleThumbsDown()" Connecting: "toggle_repeat.clicked() -> GoogleMusicApp.toggleRepeat()" Connecting: "previous.clicked() -> GoogleMusicApp.previous()" Connecting: "play.clicked() -> GoogleMusicApp.play()" Connecting: "next.clicked() -> GoogleMusicApp.next()" Connecting: "toggle_shuffle.clicked() -> GoogleMusicApp.toggleShuffle()" connectUI( "Settings" , "CookieJar" ) Connecting: "dont_save_cookies.toggled(bool) -> CookieJar.setDontSaveCookies(bool)" Connecting: "CookieJar.dontSaveCookies(bool) -> dont_save_cookies.setChecked(bool)" connectSlotsByName( "GoogleMusicApp" , "LastFM" ) Connecting: "GoogleMusicApp.nowPlaying(QString,QString,QString,QString,int) -> LastFM.nowPlaying(QString,QString,QString,QString,int)" Connecting: "GoogleMusicApp.love(QString,QString,QString) -> LastFM.love(QString,QString,QString)" Connecting: "GoogleMusicApp.unlove(QString,QString,QString) -> LastFM.unlove(QString,QString,QString)" connectSlotsByName( "LastFM" , "Settings" ) Connecting: "LastFM.authorized(bool) -> Settings.authorized(bool)" connectSlotsByName( "Settings" , "LastFM" ) Connecting: "Settings.login(QString,QString) -> LastFM.login(QString,QString)" Connecting: "Settings.logout() -> LastFM.logout()" connectUI( "Settings" , "LastFM" ) Connecting: "auto_liked.toggled(bool) -> LastFM.setAutoLiked(bool)" Connecting: "LastFM.autoLiked(bool) -> auto_liked.setChecked(bool)" Connecting: "scrobbled.toggled(bool) -> LastFM.setScrobbled(bool)" Connecting: "LastFM.scrobbled(bool) -> scrobbled.setChecked(bool)" connectUI( "Settings" , "SystemTrayIcon" ) Connecting: "tray_icon.toggled(bool) -> SystemTrayIcon.setTrayIcon(bool)" Connecting: "SystemTrayIcon.trayIcon(bool) -> tray_icon.setChecked(bool)" Connecting: "show_notifications.toggled(bool) -> SystemTrayIcon.setShowNotifications(bool)" Connecting: "SystemTrayIcon.showNotifications(bool) -> show_notifications.setChecked(bool)" Connecting: "hide_when_active.toggled(bool) -> SystemTrayIcon.setHideWhenActive(bool)" Connecting: "SystemTrayIcon.hideWhenActive(bool) -> hide_when_active.setChecked(bool)" Connecting: "album_art_notifications.toggled(bool) -> SystemTrayIcon.setAlbumArtNotifications(bool)" Connecting: "SystemTrayIcon.albumArtNotifications(bool) -> album_art_notifications.setChecked(bool)" Connecting: "iTunes_notifications.toggled(bool) -> SystemTrayIcon.setITunesNotifications(bool)" Connecting: "SystemTrayIcon.iTunesNotifications(bool) -> iTunes_notifications.setChecked(bool)" connectSlotsByName( "GoogleMusicApp" , "SystemTrayIcon" ) Connecting: "GoogleMusicApp.nowPlaying(QString,QString,QString,QString,int) -> SystemTrayIcon.nowPlaying(QString,QString,QString,QString,int)" connectSlotsByName( "SystemTrayIcon" , "MiniPlayer" ) Connecting: "SystemTrayIcon.placeMiniPlayer(QPoint&) -> MiniPlayer.placeMiniPlayer(QPoint&)" connectSlotsByName( "GoogleMusicApp" , "MiniPlayer" ) Connecting: "GoogleMusicApp.isPlaying(int) -> MiniPlayer.isPlaying(int)" Connecting: "GoogleMusicApp.nowPlaying(QString,QString,QString,QString,int) -> MiniPlayer.nowPlaying(QString,QString,QString,QString,int)" Connecting: "GoogleMusicApp.albumArt(QString,QPixmap) -> MiniPlayer.albumArt(QString,QPixmap)" Connecting: "GoogleMusicApp.rating(int) -> MiniPlayer.rating(int)" Connecting: "GoogleMusicApp.playbackTime(int,int) -> MiniPlayer.playbackTime(int,int)" Connecting: "GoogleMusicApp.forwardEnabled(int) -> MiniPlayer.forwardEnabled(int)" Connecting: "GoogleMusicApp.rewindEnabled(int) -> MiniPlayer.rewindEnabled(int)" Connecting: "GoogleMusicApp.repeat(QString) -> MiniPlayer.repeat(QString)" Connecting: "GoogleMusicApp.shuffle(QString) -> MiniPlayer.shuffle(QString)" Connecting: "Application.aboutToQuit() -> SystemTrayIcon.hide()" Connecting: "Application.aboutToQuit() -> SystemTrayIcon.save()" Connecting: "Application.aboutToQuit() -> GDeskTunes.save()" Connecting: "Application.aboutToQuit() -> GDeskTunes.saveState()" Connecting: "Application.aboutToQuit() -> CookieJar.save()" Connecting: "Application.aboutToQuit() -> LastFM.save()" Connecting: "webView.loadFinished(bool) -> GoogleMusicApp.loadFinished(bool)" Connecting: "LastFM.lastFMPassword(QString) -> last_fm_password_text.setText(QString)" Connecting: "LastFM.lastFMUserName(QString) -> last_fm_user_name_text.setText(QString)" Connecting: "GDeskTunes.keepLinks(bool) -> GDeskTunes.updateAppearance()" Connecting: "GDeskTunes.keepLogo(bool) -> GDeskTunes.updateAppearance()" Connecting: "GDeskTunes.navigationButtons(bool) -> GDeskTunes.updateAppearance()" Connecting: "clear.clicked() -> CookieJar.deleteAllCookies()" Connecting: "clear.clicked() -> GDeskTunes.loadUrl()" Connecting: "GDeskTunes.preferences() -> Settings.activateAndRaise()" Connecting: "actionBring_All_To_Front.triggered() -> GDeskTunes.activateWindow()" Connecting: "SystemTrayIcon.trayIcon(bool) -> SystemTrayIcon.setVisible(bool)" Connecting: "SystemTrayIcon.doubleClicked() -> GDeskTunes.bringToFront()" Connecting: "SystemTrayIcon.trayIcon(bool) -> minimize_to_tray.setEnabled(bool)" Connecting: "albumart.clicked() -> MiniPlayer.changeBackground()" Connecting: "MiniPlayer.changePlaybackTime(int) -> GoogleMusicApp.changePlaybackTime(int)" Connecting: "GDeskTunes.backgroundColor(QColor) -> MiniPlayer.setBackgroundColor(QColor)" Connecting: "GDeskTunes.miniPlayerOnTop(bool) -> MiniPlayer.setMiniPlayerOnTop(bool)" Connecting: "closeMini.clicked(bool) -> MiniPlayer.hide()" Connecting: "GDeskTunes.isDraggable(bool) -> webView.setDraggable(bool)" Connecting: "SystemTrayIcon.next() -> GoogleMusicApp.next()" Starting application MiniPlayer::setMiniPlayerOnTop( false ) GoogleMusicApp::addWindowObjects() ModLoad: 5b990000 5b99e000 C:\Program Files (x86)\GDeskTunes\bearer\qgenericbearer.dll ModLoad: 74680000 746a0000 C:\Windows\SysWOW64\iphlpapi.dll ModLoad: 74250000 74258000 C:\Windows\SysWOW64\WINNSI.DLL ModLoad: 72980000 72994000 C:\Windows\SysWOW64\dhcpcsvc.DLL ModLoad: 729a0000 729b3000 C:\Windows\SysWOW64\dhcpcsvc6.DLL ModLoad: 5b980000 5b98e000 C:\Program Files (x86)\GDeskTunes\bearer\qnativewifibearer.dll ModLoad: 72940000 7297f000 C:\Windows\SysWOW64\wlanapi.dll ModLoad: 74540000 745df000 C:\Windows\SysWOW64\winhttp.dll Connecting: "Application.messageReceived(constQString&) -> GDeskTunes.receiveMessage(constQString&)" Connecting: "GoogleMusicApp.unsupportedContent(QNetworkReply) -> Downloader.onUnsupportedContent(QNetworkReply*)" Showing application Preferences: "\HKEY_CURRENT_USER\Software\GearLux\GDeskTunes" MainWindow::about( false ) MainWindow::show() windows offset QPoint(8,31) ModLoad: 72e20000 72e6b000 C:\Windows\SysWOW64\mswsock.dll emit MainWindow::shown() ModLoad: 72dc0000 72dc8000 C:\Windows\SysWOW64\rasadhlp.dll ModLoad: 74260000 7427b000 C:\Windows\SysWOW64\USERENV.dll ModLoad: 74210000 7421f000 C:\Windows\SysWOW64\profapi.dll ModLoad: 69ed0000 69f74000 C:\Windows\SysWOW64\twinapi.dll ModLoad: 71790000 718ca000 C:\Windows\SysWOW64\propsys.dll ModLoad: 69e80000 69ecd000 C:\Windows\SysWOW64\Bcp47Langs.dll ModLoad: 69e70000 69e7b000 C:\Windows\SysWOW64\LINKINFO.dll ModLoad: 69dc0000 69e68000 C:\Windows\SysWOW64\ntshrui.dll ModLoad: 73300000 7331d000 C:\Windows\SysWOW64\srvcli.dll ModLoad: 71e10000 71e1f000 C:\Windows\SysWOW64\cscapi.dll ModLoad: 72dd0000 72e16000 C:\Windows\SysWOW64\fwpuclnt.dll DockedApplication::event() 121 DockedApplication::event() 214 Application::onApplicationStateChanged( 4 ) activeWindow(): QObject(0x0) activationWindow(): GDeskTunes(0x489920, name = "GDeskTunes") just_clicked: false MainWindow::changeEvent( 99 ) emit MainWindow::windowActivated() QSslSocket: cannot call unresolved function SSL_get0_next_proto_negotiated QIODevice::read: device not open Settings::setAuthorized( true ) QSslSocket: cannot call unresolved function SSL_get0_next_proto_negotiated GoogleMusicApp::addWindowObjects() QSslSocket: cannot call unresolved function SSL_get0_next_proto_negotiated QSslSocket: cannot call unresolved function SSL_get0_next_proto_negotiated QSslSocket: cannot call unresolved function SSL_get0_next_proto_negotiated QSslSocket: cannot call unresolved function SSL_get0_next_proto_negotiated QSslSocket: cannot call unresolved function SSL_get0_next_proto_negotiated Online: "0.3.5" Running: "0.3.6" QSslSocket: cannot call unresolved function SSL_get0_next_proto_negotiated QSslSocket: cannot call unresolved function SSL_get0_next_proto_negotiated QSslSocket: cannot call unresolved function SSL_get0_next_proto_negotiated QSslSocket: cannot call unresolved function SSL_get0_next_proto_negotiated QSslSocket: cannot call unresolved function SSL_get0_next_proto_negotiated QSslSocket: cannot call unresolved function SSL_get0_next_proto_negotiated QSslSocket: cannot call unresolved function SSL_get0_next_proto_negotiated QSslSocket: cannot call unresolved function SSL_get0_next_proto_negotiated QSslSocket: cannot call unresolved function SSL_get0_next_proto_negotiated QSslSocket: cannot call unresolved function SSL_get0_next_proto_negotiated QSslSocket: cannot call unresolved function SSL_get0_next_proto_negotiated QSslSocket: cannot call unresolved function SSL_get0_next_proto_negotiated QSslSocket: cannot call unresolved function SSL_get0_next_proto_negotiated QSslSocket: cannot call unresolved function SSL_get0_next_proto_negotiated QSslSocket: cannot call unresolved function SSL_get0_next_proto_negotiated QSslSocket: cannot call unresolved function SSL_get0_next_proto_negotiated ModLoad: 5b950000 5b977000 C:\Program Files (x86)\GDeskTunes\mediaservice\wmfengine.dll ModLoad: 6b780000 6b808000 C:\Windows\SysWOW64\MF.dll ModLoad: 6b6b0000 6b774000 C:\Windows\SysWOW64\MFPlat.DLL ModLoad: 5b8e0000 5b945000 C:\Windows\SysWOW64\MFReadWrite.dll ModLoad: 6b470000 6b6a5000 C:\Windows\SysWOW64\MFCORE.DLL ModLoad: 6bae0000 6bae7000 C:\Windows\SysWOW64\ksuser.dll ModLoad: 6ba60000 6ba80000 C:\Windows\SysWOW64\RTWorkQ.DLL ModLoad: 6bc40000 6bc4a000 C:\Windows\SysWOW64\AVRT.dll ModLoad: 0fb70000 10c78000 C:\Windows\SysWOW64\Macromed\Flash\NPSWF32_16_0_0_257.dll ModLoad: 746a0000 74875000 C:\Windows\SysWOW64\WININET.dll ModLoad: 715e0000 7172a000 C:\Windows\SysWOW64\urlmon.dll ModLoad: 62d10000 62d91000 C:\Windows\SysWOW64\DSOUND.dll ModLoad: 5b8a0000 5b8d6000 C:\Windows\SysWOW64\DINPUT8.dll ModLoad: 62b50000 62bcf000 C:\Windows\SysWOW64\mscms.dll ModLoad: 74280000 744b2000 C:\Windows\SysWOW64\iertutil.dll ModLoad: 67b40000 67b73000 C:\Windows\SysWOW64\mlang.dll ModLoad: 73580000 7358a000 C:\Windows\SysWOW64\Secur32.dll ModLoad: 6c2f0000 6c34d000 C:\Windows\SysWOW64\schannel.dll QSslSocket: cannot call unresolved function SSL_get0_next_proto_negotiated QSslSocket: cannot call unresolved function SSL_get0_next_proto_negotiated QSslSocket: cannot call unresolved function SSL_get0_next_proto_negotiated QSslSocket: cannot call unresolved function SSL_get0_next_proto_negotiated QSslSocket: cannot call unresolved function SSL_get0_next_proto_negotiated ModLoad: 69c20000 69c73000 C:\Windows\SysWOW64\MMDevApi.dll ModLoad: 69bc0000 69c20000 C:\Windows\SysWOW64\AUDIOSES.DLL QSslSocket: cannot call unresolved function SSL_get0_next_proto_negotiated QSslSocket: cannot call unresolved function SSL_get0_next_proto_negotiated QSslSocket: cannot call unresolved function SSL_get0_next_proto_negotiated QSslSocket: cannot call unresolved function SSL_get0_next_proto_negotiated QSslSocket: cannot call unresolved function SSL_get0_next_proto_negotiated GoogleMusicApp::playbackChanged( 0 ) GoogleMusicApp::playbackChanged( 0 ) GoogleMusicApp::playbackChanged( 0 ) GoogleMusicApp::playbackChanged( 0 ) QSslSocket: cannot call unresolved function SSL_get0_next_proto_negotiated QSslSocket: cannot call unresolved function SSL_get0_next_proto_negotiated QSslSocket: cannot call unresolved function SSL_get0_next_proto_negotiated QSslSocket: cannot call unresolved function SSL_get0_next_proto_negotiated QSslSocket: cannot call unresolved function SSL_get0_next_proto_negotiated QSslSocket: cannot call unresolved function SSL_get0_next_proto_negotiated QSslSocket: cannot call unresolved function SSL_get0_next_proto_negotiated QSslSocket: cannot call unresolved function SSL_get0_next_proto_negotiated QSslSocket: cannot call unresolved function SSL_get0_next_proto_negotiated QSslSocket: cannot call unresolved function SSL_get0_next_proto_negotiated QSslSocket: cannot call unresolved function SSL_get0_next_proto_negotiated QSslSocket: cannot call unresolved function SSL_get0_next_proto_negotiated QSslSocket: cannot call unresolved function SSL_get0_next_proto_negotiated QSslSocket: cannot call unresolved function SSL_get0_next_proto_negotiated QSslSocket: cannot call unresolved function SSL_get0_next_proto_negotiated QSslSocket: cannot call unresolved function SSL_get0_next_proto_negotiated QSslSocket: cannot call unresolved function SSL_get0_next_proto_negotiated QSslSocket: cannot call unresolved function SSL_get0_next_proto_negotiated QSslSocket: cannot call unresolved function SSL_get0_next_proto_negotiated QSslSocket: cannot call unresolved function SSL_get0_next_proto_negotiated QSslSocket: cannot call unresolved function SSL_get0_next_proto_negotiated QSslSocket: cannot call unresolved function SSL_get0_next_proto_negotiated QSslSocket: cannot call unresolved function SSL_get0_next_proto_negotiated QSslSocket: cannot call unresolved function SSL_get0_next_proto_negotiated QSslSocket: cannot call unresolved function SSL_get0_next_proto_negotiated QSslSocket: cannot call unresolved function SSL_get0_next_proto_negotiated QSslSocket: cannot call unresolved function SSL_get0_next_proto_negotiated QSslSocket: cannot call unresolved function SSL_get0_next_proto_negotiated QSslSocket: cannot call unresolved function SSL_get0_next_proto_negotiated Title: "Evergreen" Artist: "Ben Howard" Album: "I Forget Where We Were" Art: "https://lh6.ggpht.com/3NGMJekVAAVdlSv3j3X9LJEW_RzvEYknFwb20uAJ8bO9V1K4RrqI0D7DePzeOTj17EKJQ5Y1Jw=s130-c-e100" Duration: 244 MiniPlayer::nowPlaying( "Evergreen" , "Ben Howard" , "I Forget Where We Were" , 244 ) "ALL_SHUFFLE" "ALL_SHUFFLE" "LIST_REPEAT" "LIST_REPEAT" GoogleMusicApp::playbackChanged( 0 ) GoogleMusicApp::playbackChanged( 0 ) GoogleMusicApp::playbackChanged( 0 ) GoogleMusicApp::playbackChanged( 0 ) GoogleMusicApp::playbackChanged( 0 ) GoogleMusicApp::playbackChanged( 0 ) GoogleMusicApp::forwardChanged( 1 ) MainWindow::forwardEnabled( 1 ) GoogleMusicApp::rewindChanged( 1 ) MainWindow::forwardEnabled( 1 ) Rating 0 QSslSocket: cannot call unresolved function SSL_get0_next_proto_negotiated "

Evergreen Ben Howard I Forget Where We Were

" QSslSocket: cannot call unresolved function SSL_get0_next_proto_negotiated QSslSocket: cannot call unresolved function SSL_get0_next_proto_negotiated QSslSocket: cannot call unresolved function SSL_get0_next_proto_negotiated DockedApplication::event() 1 QSslSocket: cannot call unresolved function SSL_get0_next_proto_negotiated QSslSocket: cannot call unresolved function SSL_get0_next_proto_negotiated QSslSocket: cannot call unresolved function SSL_get0_next_proto_negotiated GoogleMusicApp::playbackChanged( 2 ) GoogleMusicApp::playbackChanged( 2 ) GoogleMusicApp::playbackChanged( 2 ) QSslSocket: cannot call unresolved function SSL_get0_next_proto_negotiated QSslSocket: cannot call unresolved function SSL_get0_next_proto_negotiated MainWindow::keyPressEvent( QKeyEvent(KeyPress, key=0x1000086) ) GoogleMusicApp::play() QSslSocket: cannot call unresolved function SSL_get0_next_proto_negotiated GoogleMusicApp::playbackChanged( 1 ) GoogleMusicApp::playbackChanged( 1 ) QSslSocket: cannot call unresolved function SSL_get0_next_proto_negotiated QSslSocket: cannot call unresolved function SSL_get0_next_proto_negotiated QSslSocket: cannot call unresolved function SSL_get0_next_proto_negotiated MainWindow::keyPressEvent( QKeyEvent(KeyPress, key=0x1000086) ) GoogleMusicApp::play() GoogleMusicApp::playbackChanged( 2 ) GoogleMusicApp::playbackChanged( 2 ) QSslSocket: cannot call unresolved function SSL_get0_next_proto_negotiated MainWindow::keyPressEvent( QKeyEvent(KeyPress, key=0x1000086) ) GoogleMusicApp::play() GoogleMusicApp::playbackChanged( 1 ) GoogleMusicApp::playbackChanged( 1 ) QSslSocket: cannot call unresolved function SSL_get0_next_proto_negotiated DockedApplication::event() 122 DockedApplication::event() 214 Application::onApplicationStateChanged( 2 ) activeWindow(): GDeskTunes(0x489920, name = "GDeskTunes") activationWindow(): GDeskTunes(0x489920, name = "GDeskTunes") just_clicked: false MainWindow::changeEvent( 99 ) emit MainWindow::windowActivated() emit MainWindow::hidden() MainWindow::changeEvent( 105 ) Hide window MainWindow::hide() emit MainWindow::hidden() DockedApplication::event() 121 DockedApplication::event() 214 Application::onApplicationStateChanged( 4 ) activeWindow(): QObject(0x0) activationWindow(): GDeskTunes(0x489920, name = "GDeskTunes") just_clicked: false DockedApplication::event() 122 DockedApplication::event() 214 Application::onApplicationStateChanged( 2 ) activeWindow(): QObject(0x0) activationWindow(): GDeskTunes(0x489920, name = "GDeskTunes") just_clicked: false MediaKey::load() Unregistering hot keys 0x90eee Hot keys unregistered (418.1ad8): Unknown exception - code 0000071a (first chance) ModLoad: 73480000 7348a000 C:\Windows\SysWOW64\netutils.dll QWaitCondition: Destroyed while threads are still waiting QWaitCondition: Destroyed while threads are still waiting eax=00000000 ebx=745cd2c8 ecx=00000002 edx=00000000 esi=745cd2c8 edi=00000000 eip=776fcbfc esp=0019f2ac ebp=0019f318 iopl=0 nv up ei pl nz na pe nc cs=0023 ss=002b ds=002b es=002b fs=0053 gs=002b efl=00000206 ntdll!NtTerminateProcess+0xc: 776fcbfc c20800 ret 8

Gearlux commented 9 years ago

OK, so registration as hotkeys does not work on your system. Let's try the APP_COMMAND implementation, this will take some time to implement. I will keep you updated.

voldemarz commented 9 years ago

By the way I have Windows 8.1 Pro x64.

Gearlux commented 9 years ago

Try: https://mega.co.nz/#!XN8QFbbR!D7ptysdzx0XOZKTJoMwsGZxlDswz1lh5joFSeCKPj-4 (hope it works)

If this works, I will consider building a 64-bit version (or at least a 64-bit daemon program that forwards the messages to GDeskTunes).

Fingers crossed.

voldemarz commented 9 years ago

It works if a 32-bit process is active. Doesn't work for 64-bit ones. Thanks!

On 31 January 2015 at 16:07, Gearlux notifications@github.com wrote:

Try: https://mega.co.nz/#!XN8QFbbR!D7ptysdzx0XOZKTJoMwsGZxlDswz1lh5joFSeCKPj-4 (hope it works)

  • Check Register Media AppCommands in the settings Dialog
  • Switch to another 32-bit process (important, since I did not find a way to hook into the 64-bit shell) and check if your media keys now work when the other 32-bit process is active.

If this works, I will consider building a 64-bit version (or at least a 64-bit daemon program that forwards the messages to GDeskTunes).

Fingers crossed.

— Reply to this email directly or view it on GitHub https://github.com/Gearlux/GDeskTunes/issues/33#issuecomment-72321175.

voldemarz commented 9 years ago

Not sure what happened, but it stopped working until I did a fresh reboot. Might have been somehow caused by sleep. Didn't check Spy++ when it didn't work, but now when media keys work, the appcommands do show up there. I will check it next time it happens.

On 31 January 2015 at 17:25, voldemarz@gmail.com wrote:

It works if a 32-bit process is active. Doesn't work for 64-bit ones. Thanks!

On 31 January 2015 at 16:07, Gearlux notifications@github.com wrote:

Try: https://mega.co.nz/#!XN8QFbbR!D7ptysdzx0XOZKTJoMwsGZxlDswz1lh5joFSeCKPj-4 (hope it works)

  • Check Register Media AppCommands in the settings Dialog
  • Switch to another 32-bit process (important, since I did not find a way to hook into the 64-bit shell) and check if your media keys now work when the other 32-bit process is active.

If this works, I will consider building a 64-bit version (or at least a 64-bit daemon program that forwards the messages to GDeskTunes).

Fingers crossed.

— Reply to this email directly or view it on GitHub https://github.com/Gearlux/GDeskTunes/issues/33#issuecomment-72321175.

Gearlux commented 9 years ago

One of the final versions (I hope)

It (should) work(s), if you do not mess too much with spotify and GDeskTunes running at the same time. (I am still trying to figure out why). Just try it and see how it behaves on your computer.

Here is the download link (again fingers crossed that the link works ;-) ) https://mega.co.nz/#!2QU1wQBT!jXO9f-90Zj5L1kH_byd41ZST16OaxsNTkRrOz1z4Zsk

GDeskTunes now launches a separate program MMGDeskHook64 which hooks into the 64-bit shell and forwards the appcommands to the 32-bit GDeskTunes. I think I will remove the MM prefix of the program to make it more clear that it is related to GDeskTunes.

voldemarz commented 9 years ago

The link says file not available. Or not yet?

On 1 February 2015 at 21:45, Gearlux notifications@github.com wrote:

One of the final versions (I hope)

It (should) work(s), if you do not mess too much with spotify and GDeskTunes running at the same time. (I am still trying to figure out why). Just try it and see how it behaves on your computer.

Here is the download link (again fingers crossed that the link works ;-) ) https://mega.co.nz/#!2QU1wQBT!jXO9f-90Zj5L1kH_byd41ZST16OaxsNTkRrOz1z4Zsk

GDeskTunes now launches a separate program MMGDeskHook64 which hooks into the 64-bit shell and forwards the appcommands to the 32-bit GDeskTunes. I think I will remove the MM prefix of the program to make it more clear that it is related to GDeskTunes.

— Reply to this email directly or view it on GitHub https://github.com/Gearlux/GDeskTunes/issues/33#issuecomment-72383326.

Gearlux commented 9 years ago

https://mega.co.nz/#!3AdEGLiD!xZaKqWb-0iSyHhkU5aBuW_IOBMmBhzmGNKu73w0FGQU

(I have no idea how these mega-links function, I only know it is not predictable)

On Sun, Feb 1, 2015 at 9:47 PM, Valdis Vilcans notifications@github.com wrote:

The link says file not available. Or not yet?

On 1 February 2015 at 21:45, Gearlux notifications@github.com wrote:

One of the final versions (I hope)

It (should) work(s), if you do not mess too much with spotify and GDeskTunes running at the same time. (I am still trying to figure out why). Just try it and see how it behaves on your computer.

Here is the download link (again fingers crossed that the link works ;-) )

https://mega.co.nz/#!2QU1wQBT!jXO9f-90Zj5L1kH_byd41ZST16OaxsNTkRrOz1z4Zsk

GDeskTunes now launches a separate program MMGDeskHook64 which hooks into the 64-bit shell and forwards the appcommands to the 32-bit GDeskTunes. I think I will remove the MM prefix of the program to make it more clear that it is related to GDeskTunes.

— Reply to this email directly or view it on GitHub https://github.com/Gearlux/GDeskTunes/issues/33#issuecomment-72383326.

— Reply to this email directly or view it on GitHub https://github.com/Gearlux/GDeskTunes/issues/33#issuecomment-72383415.

voldemarz commented 9 years ago

It works! :)

On 1 February 2015 at 22:03, Gearlux notifications@github.com wrote:

https://mega.co.nz/#!3AdEGLiD!xZaKqWb-0iSyHhkU5aBuW_IOBMmBhzmGNKu73w0FGQU

(I have no idea how these mega-links function, I only know it is not predictable)

On Sun, Feb 1, 2015 at 9:47 PM, Valdis Vilcans notifications@github.com wrote:

The link says file not available. Or not yet?

On 1 February 2015 at 21:45, Gearlux notifications@github.com wrote:

One of the final versions (I hope)

It (should) work(s), if you do not mess too much with spotify and GDeskTunes running at the same time. (I am still trying to figure out why). Just try it and see how it behaves on your computer.

Here is the download link (again fingers crossed that the link works ;-) )

https://mega.co.nz/#!2QU1wQBT!jXO9f-90Zj5L1kH_byd41ZST16OaxsNTkRrOz1z4Zsk

GDeskTunes now launches a separate program MMGDeskHook64 which hooks into the 64-bit shell and forwards the appcommands to the 32-bit GDeskTunes. I think I will remove the MM prefix of the program to make it more clear that it is related to GDeskTunes.

— Reply to this email directly or view it on GitHub https://github.com/Gearlux/GDeskTunes/issues/33#issuecomment-72383326.

— Reply to this email directly or view it on GitHub https://github.com/Gearlux/GDeskTunes/issues/33#issuecomment-72383415.

— Reply to this email directly or view it on GitHub https://github.com/Gearlux/GDeskTunes/issues/33#issuecomment-72384070.

voldemarz commented 9 years ago

The media key didn't work at all after wake from sleep. However, appcommands did show up in Spy++ for application window. After restarting the app it works, but only when application is in focus or when Spy++ (for any other application it doesn't).

Gearlux commented 9 years ago

It also does not work when the application is minimized on my laptop. I will look into this. Any good references about appcommands is appreciated.

voldemarz commented 9 years ago

I haven't worked with them myself so can't be much of help with references.

On 4 February 2015 at 09:20, Gearlux notifications@github.com wrote:

It also does not work when the application is minimized on my laptop. I will look into this. Any good references about appcommands is appreciated.

— Reply to this email directly or view it on GitHub https://github.com/Gearlux/GDeskTunes/issues/33#issuecomment-72807918.

christianbearslyclark commented 9 years ago

Yea ... version 3.3 on Windows had an issue of stop / skip the music.

..... but version 3.5 on Windows is ALL GOOD !!!

voldemarz commented 9 years ago

Just installed 0.3.5. Doesn't react to my Play/Pause key when minimized. Is it supposed to work in this version? I don't see the toggle regarding media keys / appcomands in Preferences.

On 15 February 2015 at 10:07, Christian notifications@github.com wrote:

Yea ... version 3.3 on Windows had an issue of stop / skip the music.

..... but version 3.5 on Windows is ALL GOOD !!!

— Reply to this email directly or view it on GitHub https://github.com/Gearlux/GDeskTunes/issues/33#issuecomment-74409721.

Gearlux commented 9 years ago

No. The toggle regarding media keys/appcommands will be implemented in next version. I am working on a new sticky option for the mini player and a new installer to minimise the download size for new releases. If this is finished (probably next week), I will upload the new release.

On 15 Feb 2015, at 13:38, Valdis Vilcans notifications@github.com wrote:

Just installed 0.3.5. Doesn't react to my Play/Pause key when minimized. Is it supposed to work in this version? I don't see the toggle regarding media keys / appcomands in Preferences.

On 15 February 2015 at 10:07, Christian notifications@github.com wrote:

Yea ... version 3.3 on Windows had an issue of stop / skip the music.

..... but version 3.5 on Windows is ALL GOOD !!!

— Reply to this email directly or view it on GitHub https://github.com/Gearlux/GDeskTunes/issues/33#issuecomment-74409721.

— Reply to this email directly or view it on GitHub https://github.com/Gearlux/GDeskTunes/issues/33#issuecomment-74415784.

christianbearslyclark commented 9 years ago

Awesome. I can't wait for the update.

torynet commented 8 years ago

So, it sounds like you guys got this all worked out a long time ago, and yet it still doesn't work for me. Is there something special you have to do? What is the difference between the two "Media Keys" options in the preferences screen? Do I need to have or not have the Microsoft "Mouse and Keyboard Center" installed?

This looks awesome and I'm very excited to have it. Thanks for all the hard work and I really appreciate any guidance you can provide.

voldemarz commented 8 years ago

Haven't been using Google Music for a while.. Upgraded the player to latest and the play Play/Pause button doesn't have any effect, not even when app is in focus.

Gearlux commented 8 years ago

Hey Tory,

I am the developer of GDeskTunes. I have not been using it since Google switched the layout an functionality in the beginning of this year. I seriously doubt that the player still works with the media keys. Whenever I find the time, I will pick up development or maintenance of GDeskTunes again.

Good luck finding a Google Music Player that suits your needs, Gert

On 23 Nov 2015, at 20:09, Tory Netherton notifications@github.com wrote:

So, it sounds like you guys got this all worked out a long time ago, and yet it still doesn't work for me. Is there something special you have to do? What is the difference between the two "Media Keys" options in the preferences screen? Do I need to have or not have the Microsoft "Mouse and Keyboard Center" installed?

This looks awesome and I'm very excited to have it. Thanks for all the hard work and I really appreciate any guidance you can provide.

— Reply to this email directly or view it on GitHub https://github.com/Gearlux/GDeskTunes/issues/33#issuecomment-159031001.