Our forum migration to Discourse is underway and scheduled to last through June 21. During the migration, the forums will be read-only, except for a single temporary forum (contents of which will not be getting transferred). Read our announcement post for more information about the forum migration.
Hey folks, there is a new Podcast category for forums https://forums.plex.tv/categories/podcasts
If you have not already, we suggest setting your Plex username to something else rather than email which is displayed on your posts in forum. You can change the username at https://app.plex.tv/desktop#!/account
Welcome to our forums! Please take a few moments to read through our Community Guidelines (also conveniently linked in the header at the top of each page). There, you'll find guidelines on conduct, tips on getting the help you may be searching for, and more!

Logitech Setpoint & Plexamp

jerrodcarterjerrodcarter Members, Plex Pass Posts: 3 Plex Pass
edited April 12 in Plex Labs

It seems that Logitech Setpoint (comes with my MX5500 keyboard) eats all the media keys (play/pause, next, prev) and only passes them to apps it knows about. This is controlled with the C:\Program Files\Logitech\SetPointP\players.ini file. There are entries in there for lots of players, but not, of course, our favorite new player, plexamp. This is all documented fairly well in this post.

Unfortunately, I don't know what all the fields in that file mean and haven't been able to get a working entry in there. Anyone have any hints?

Here's the line I tried:
Plexamp=key,Plexamp.exe,xxx,xxx,xxx,xxx,xxx,xxx,xxx,xxx,0,1,Plexamp

Here the other entries in the file:

#List of supported players
#{btn|key|msg|emg|cmd|wac},exeName,wndClass,wndCaption,xxx,play_delayplay,pause,stop,prev,next,remove_flags,ShowOSD,menu_item
#special char --> ^ ctrl;+ shift+ctrl; $ ctrl (no translation); * alt (no translation); \@ ctrl+alt (no tanslation); & (no translation)
[Players]
MusicMatch7=wac,MMJB.EXE,MMJB:MAINWND,xxx,xxx,xxx,xxx,xxx,xxx,xxx,0,1,MusicMatch
MusicMatch=cmd,MMJB.EXE,xxx,MusicMatch Jukebox 4,xxx,0x101F4,0x18059,0x101F5,0x101F6,0x101F7,0,1,MusicMatch
MDesktop=wac,MDesktop.exe,MediaDesktopClass,Media Desktop,xxx,xxx,xxx,xxx,xxx,xxx,0,1,Media Desktop
PowerDVD=key,PowerDVD.exe,xxx,CyberLink PowerDVD,xxx,0x0d,0x20,S,P,N,0,1,Power DVD
WinDVD=wac,WinDVD.exe,WinDVDClass,Player,xxx,xxx,xxx,xxx,xxx,xxx,0,1,Win DVD
WinDVD4=key,WinDVD.exe,WinDVDClass,InterVideo WinDVD 4,xxx,0x0d,0x20,0x23,0x21,0x22,0,1,Win DVD
WinDVD5=key,WinDVD.exe,WinDVDClass,InterVideo WinDVD 5,xxx,0x0d,0x20,0x23,0x21,0x22,0,1,Win DVD
WinDVD6=key,WinDVD.exe,WinDVDClass,InterVideo WinDVD 6,xxx,0x0d,0x20,0x23,0x21,0x22,0,1,Win DVD
WinDVD7=key,WinDVD.exe,WinDVDClass,InterVideo WinDVD 7,xxx,0x0d,0x20,0x23,0x21,0x22,0,1,Win DVD
iTunes_104=wac,iTunes.exe,ITWindow,xxx,xxx,xxx,xxx,xxx,xxx,xxx,0,1,iTunes
iTunes=wac,iTunes.exe,ITunes,xxx,xxx,xxx,xxx,xxx,xxx,xxx,0,1,iTunes
MSMedia9=wac,wmplayer.exe,WMPlayerApp,Windows Media Player,xxx,xxx,xxx,xxx,xxx,xxx,0,1,Windows Media Player 9
MSMedia7=wac,wmplayer.exe,WMP Skin Host,Windows Media Player,xxx,xxx,xxx,xxx,xxx,xxx,0,1,Windows Media Player 7
MediaCenter=wac,ehshell.exe,eHome Render Window,xxx,xxx,xxx,xxx,xxx,xxx,xxx,0,1,Windows Media Center
WinAmp3=key,studio.exe,STUDIO,xxx,xxx,X,C,V,Z,B,0,1,WinAmp 3
WinAmp3d=key,winamp3.exe,STUDIO,xxx,xxx,X,C,V,Z,B,0,1,WinAmp 3d
Plexamp=key,Plexamp.exe,xxx,xxx,xxx,xxx,xxx,xxx,xxx,xxx,0,1,Plexamp
Rhapsody=key,Rhapsody.exe,xxx,Rhapsody,xxx,^P,^P,^S,^B,^F,0,1,Rhapsody
#YahooMusicEngine=key,YahooMusicEngine.exe,YMPFrame,xxx,xxx,^ ,^ ,^S,$0x25,$0x27,0,1,Yahoo! Music Jukebox
YahooMusicEngine=key,YahooMusicEngine.exe,YMPFrame,xxx,xxx,^ ,^ ,^S,$0x25,$0x27,0,1,Yahoo! Music Jukebox
RealOne=wac,realplay.exe,GeminiWindowClass,xxx,xxx,xxx,xxx,xxx,xxx,xxx,0,1,RealOne Player
WinAmp5=cmd,winamp.exe,Winamp v1.x,xxx,xxx,40045,40046,40047,40044,40048,0,1,WinAmp 5
MediaLife=key,Medialife.exe,MediaLife Frame class,Logitech MediaLife,xxx, , ,S,P,N,0,1,MediaLife
MediaLife4=wac,Medialife.exe,MediaLife Koan GDI Class,xxx,xxx,xxx,xxx,xxx,xxx,xxx,0,1,MediaLife
PLAYDVD=key,PlayDVD.exe,PlayDVD Frame class,Play DVD,xxx, , ,S,P,N,0,1,PlayDVD
Nero=wac,NeroHome.exe,xxx,xxx,xxx,xxx,xxx,xxx,xxx,0,1,NeroHome
Nero2=wac,ShowTime.exe,xxx,xxx,xxx,xxx,xxx,xxx,xxx,0,1,ShowTime
Nero3=wac,Nero.exe,xxx,xxx,xxx,xxx,xxx,xxx,xxx,0,1,Nero
BaoFeng=key,storm.exe,xxx,xxx,xxx, , ,$0x53,&0x21,&0x22,0,1,Bao Feng
Koowoo=key,KwMusic.exe,xxx,xxx,xxx,$0x74,$0x74,$0x75,?0x25,?0x27,0,1,Koowoo
TTing=key,tting.exe,xxx,xxx,xxx,@0x4f,@0x4f,@0x4f,@0x25,@0x27,0,1,TTing
#Pctutu=key,PPStream.exe,xxx,xxx,xxx, , ,^S,^0x21,^0x22,0,1,Pctutu

[Players.Run]
MediaCenter=path,$WINDOWS\eHome
WinAmp3=reg,HKLM,SOFTWARE\Classes\Winamp3.File\DefaultIcon,,2
Rhapsody=reg,HKCR,rhap\DefaultIcon,,5
WinAmp5=reg,HKLM,SOFTWARE\Classes\Winamp.File\DefaultIcon,,2
YahooMusicEngine=reg,HKCR,TypeLib{2C5EBFB1-9174-4FE8-88DB-D1F460A9E83B}\1.0\0\win32,,
Koowoo=reg,HKLM,SOFTWARE\Classes\kwfile_ksf\shell\open\command,,5

[Players.Display]
MediaCenter=Windows Media Center
RealOne=RealOne Player
WinDVD=WinDVD
WinDVD4=WinDVD4
WinDVD5=WinDVD5
WinDVD6=WinDVD6
WinDVD7=WinDVD7
MediaLife=MediaLife
PLAYDVD=PlayDVD

#{btn|key|msg|emg|cmd|wac},start,end,repeat start,,Donot send Play appcommand at end of FastForward operation
[Players.Seek]
MusicMatch7=cmd,22861,xxx,1
MediaLife=wac,xxx,xxx,1,0
MediaLife4=wac,xxx,xxx,0,1
PowerDVD=wac,xxx,,0,1
MediaCenter=wac,xxx,xxx,0,1
PLAYDVD=key,F,,0,1
iTunes_104=wac,xxx,xxx,1,0
iTunes=wac,xxx,xxx,1,0
WinDVD7=key,F,0x0d,xxx,0
WinDVD6=key,F,0x0d,xxx,0
WinDVD5=key,F,0x0d,xxx,0
WinDVD4=key,F,0x0d,xxx,0
WinAmp5=cmd,40060,xxx,1,1
MSMedia9=wac,xxx,xxx,0,0
RealOne=key,^],,2,1

#{btn|key|msg|emg|cmd|wac},start,end,repeat start,Donot send Play appcommand at end of rewind operation
[Players.Rewind]
PowerDVD=wac,xxx,,0,1
MusicMatch7=cmd,22860,xxx,1,0
MediaLife=wac,xxx,xxx,1,1
MediaLife4=wac,xxx,xxx,0,1
MediaCenter=wac,xxx,xxx,0,1
PLAYDVD=key,B,,0,1
iTunes_104=wac,xxx,xxx,1,0
iTunes=wac,xxx,xxx,1,0
WinDVD7=key,R,0x0d,xxx,0
WinDVD6=key,R,0x0d,xxx,0
WinDVD5=key,R,0x0d,xxx,0
WinDVD4=key,R,0x0d,xxx,0
WinAmp5=cmd,40061,xxx,1,1
MSMedia9=wac,xxx,xxx,0,0
RealOne=key,^[,,2,1

#list of Burn UI players (available on Burn button)
[Players.BurnSupported]
MSMedia9=True
MusicMatch7=True
Nero3=True

#list of Record UI players (available on Record button)
[Players.RecordSupported]
MSMedia9=True
MusicMatch7=True
Nero3=True

#list of 10" UI players (available on remote button)
[Players.IsRemote]
MDesktop=Trues
MediaCenter=True
MediaLife=True
WinDVD=True
WinDVD4=True
WinDVD5=True
WinDVD6=True
WinDVD7=True
PowerDVD=True
PLAYDVD=True

Tagged:

Answers

  • elanelan CTO and Co-founder MauiMembers, Plex Employee, Plex Pass, Plex Ninja Posts: 6,981 Plex Employee

    Wow, great question, unfortunately I don 't have any advice. Have you tried asking their support what those fields mean? Maybe we could get it supported by default. Feel free to pass them my email elan at plex dot tv if they need contact info.

    instagram @elan // the wife's photography site.
    the Medium page // the dog's twitter feed.

  • stedanielsstedaniels Members, Plex Pass Posts: 72 Plex Pass
    edited April 20

    This is all guesswork since my Logitech Keyboard is at home and I'm at work, ahem. The format seems good to me:

    {btn|key|msg|emg|cmd|wac},exeName,wndClass,wndCaption,xxx,play_delayplay,pause,stop,prev,next,remove_flags,ShowOSD,menu_item

    {btn|key|msg|emg|cmd|wac} = How to send the command to the program, key looks to be the favourite
    exeName = executable filename, Plexamp.exe
    wndClass = Window Class, so for an electron app this is likely, Chrome_WidgetWin_1 (Googling or using a window spy like Spy++ or the one that comes with AutoHotKey)
    wndCaption = Window Caption/Title, it's not visible, but it's Plexamp
    xxx = Probably some old option
    play_delayplay = Key codes, a bit of Googling reveals that Chrome [1] likes these.. &0xB3
    pause = &0xB3
    stop = &0xB2
    prev = &0xB1
    next = &0xB0
    remove_flags = No idea
    ShowOSD = Show the Logitech SetPoint OSD or not
    menu_item = What to display in SetPoint

    So let's put that all together:

    Plexamp=key,Plexamp.exe,Chrome_WidgetWin_1,Plexamp,xxx,&0xB3,&0xB3,&0xB2,&0xB1,&0xB0,0,1,Plexamp

    Another option might be:

    Plexamp=wac,Plexamp.exe,Chrome_WidgetWin_1,Plexamp,xxx,xxx,xxx,xxx,xxx,xxx,0,1,Plexamp

    I think this latter one might just pass the keys through rather than translate them.

    I've not tested these yet, and I'm unsure when I'll get the chance. Please do test them, perhaps leaving out the wndCaption in each of them by replacing it with xxx.

    Failing that further Googling reveals a potential way to disable SetPoint's interception of the multimedia keys: https://getmusicbee.com/forum/index.php?topic=9079.msg137002#msg137002

    Good luck!

    [1] https://gist.github.com/julianxhokaxhiu/f5ea4bb922e3ab1d7fec

  • elanelan CTO and Co-founder MauiMembers, Plex Employee, Plex Pass, Plex Ninja Posts: 6,981 Plex Employee

    Thanks, @stedaniels, super helpful :smiley:

    instagram @elan // the wife's photography site.
    the Medium page // the dog's twitter feed.

  • FrozenTroutFrozenTrout Members, Plex Pass Posts: 31 Plex Pass
    edited May 30

    I can confirm that
    'Plexamp=key,Plexamp.exe,Chrome_WidgetWin_1,Plexamp,xxx,&0xB3,&0xB3,&0xB2,&0xB1,&0xB0,0,1,Plexamp'
    works!

  • elections@gmail.comelections@gmail.com Members Posts: 1

    This was helpful. Thanks!

Sign In or Register to comment.