Skip to content

Windows System Media Transport Controls Interoperability Plug-in for Winamp

License

Notifications You must be signed in to change notification settings

laszlolukacs/gen_smtcinterop

Repository files navigation

gen_smtcinterop

Windows System Media Transport Controls Interoperability Plug-in for Winamp

Winamp and System Media Transport Controls showcase

Propagates the metadata of all contents that Winamp supports to SMTC and lets you focus and control Winamp from the Windows Media Controls. Provides the functionality via a single binary (DLL).

System requirements

Installation

  1. Download the plugin from Releases
  2. Copy the gen_smtcinterop.dll to your Winamp installation's Plugins directory

Dependencies

Summary of set up

  • git clone git@github.com:laszlolukacs/gen_smtcinterop.git
  • cd ./gen_smtcinterop
  • vcpkg install taglib:x86-windows-static
  • Open ./gen_smtcinterop.sln in Visual Studio

Environment variables

  • WA_SDK_HOME the root directory of the Winamp SDK, required to build the VC++ project
    • [Environment]::SetEnvironmentVariable("WA_SDK_HOME", "C:\Program Files (x86)\Winamp SDK", [System.EnvironmentVariableTarget]::User)
  • WINAMP_HOME the root directory of the Winamp installation itself
    • [Environment]::SetEnvironmentVariable("WINAMP_HOME", "C:\Program Files (x86)\Winamp", [System.EnvironmentVariableTarget]::User)

Grant write permission on the Winamp Plugins directory

The plugin's binary is automatically copied from the build output directory to the Winamp installation's Plugins directory for debug builds. However for this to work the current user must have the write permission on the Winamp installation's Plugins directory. This could be set from the Windows Explorer. Alternatively executing the script below in an Administrative PowerShell session grants that:

$waPluginsPath = "C:\Program Files (x86)\Winamp\Plugins\"
$waPluginsAcl = Get-Acl $waPluginsPath
$waPluginsAclEntry = [System.Security.Principal.WindowsIdentity]::GetCurrent().Name, "Write", "Allow"
$waPluginsAccessRule = New-Object System.Security.AccessControl.FileSystemAccessRule($waPluginsAclEntry)
$waPluginsAcl.SetAccessRule($waPluginsAccessRule)
$waPluginsAcl | Set-Acl $waPluginsPath
Get-Acl -Path $waPluginsPath

Greetings

  • NanMetal/gen_smtc - A longer existing Winamp plugin delivering the same SMTC integration, the major difference is instead of the VC++ Runtime it depends on the .NET Framework

About

Windows System Media Transport Controls Interoperability Plug-in for Winamp

Topics

Resources

License

Stars

Watchers

Forks