{"_id":"@coooookies/windows-smtc-monitor","_rev":"4-21a31f0f947ed8a7942adc42c9b73340","name":"@coooookies/windows-smtc-monitor","dist-tags":{"latest":"1.0.12"},"versions":{"1.0.9":{"name":"@coooookies/windows-smtc-monitor","version":"1.0.9","keywords":["windows","media","smtc","monitor","napi","native","addon"],"author":{"url":"https://mitay.net","name":"Coooookies","email":"admin@mitay.net"},"license":"MIT","_id":"@coooookies/windows-smtc-monitor@1.0.9","maintainers":[{"name":"coooookies","email":"admin@mitay.net"}],"homepage":"https://github.com/LeagueTavern/node-windows-smtc-monitor#readme","bugs":{"url":"https://github.com/LeagueTavern/node-windows-smtc-monitor/issues"},"ava":{"require":["@swc-node/register"],"timeout":"3m","extensions":["ts"],"environmentVariables":{"TS_NODE_PROJECT":"./tsconfig.json"}},"dist":{"shasum":"05fb2d188e3e45a2c566b3321cc08221a029fc8e","tarball":"https://registry.npmjs.org/@coooookies/windows-smtc-monitor/-/windows-smtc-monitor-1.0.9.tgz","fileCount":9,"integrity":"sha512-5J0LOB1MpVNzhyL2IkU3dGEq09ojxBQ0TuyISM57WowKJeV6FV5vHfVMws7I7st2Uq4zT6Op8LvUW1NU0yRfhg==","signatures":[{"sig":"MEYCIQDbRGPnNRktDLmBWsZOsSJmWFQmrxrD+Y1XYMe+2wl1rwIhALQHg3o+7p6dDUCfeUKTqCv0eRcRnxSASGiWB3jh0Rpa","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@coooookies%2fwindows-smtc-monitor@1.0.9","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":25138},"main":"index.js","napi":{"name":"windows-smtc-monitor","triples":{"defaults":false,"additional":["x86_64-pc-windows-msvc","i686-pc-windows-msvc","aarch64-pc-windows-msvc"]}},"types":"index.d.ts","module":"index.mjs","engines":{"node":">=16.0.0"},"exports":{".":{"import":"./index.mjs","require":"./index.js"}},"gitHead":"374721d8baa0cd4932e68ee703e8fe19b68942db","scripts":{"test":"ava __test__/**/index*.*","build":"napi build --platform --release --js binding.js --dts binding.d.ts","example":"npm run build && node example/index.js","version":"napi version","artifacts":"napi artifacts","universal":"napi universal","example:ts":"npm run build && node -r @swc-node/register example/index.ts","build:debug":"napi build --platform --js binding.js --dts binding.d.ts","example:mjs":"npm run build && node --experimental-specifier-resolution=node example/index.mjs","prepublishOnly":"napi prepublish -t npm && esbuild binding.js --minify --allow-overwrite --outfile=binding.js"},"_npmUser":{"name":"coooookies","email":"admin@mitay.net"},"repository":{"url":"git+https://github.com/LeagueTavern/node-windows-smtc-monitor.git","type":"git"},"_npmVersion":"10.8.2","description":"Fetch Windows SMTC media player information and listen for media control events (e.g., play, pause, skip). Suitable for Windows 1809 and later.","directories":{},"_nodeVersion":"20.18.3","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"yarn@3.8.5","devDependencies":{"ava":"^5.3.1","esbuild":"^0.25.0","ts-node":"^10.9.2","@swc/core":"^1.11.8","typescript":"^5.8.2","@types/node":"^22.13.10","@napi-rs/cli":"^2.18.4","@swc-node/register":"^1.10.9"},"optionalDependencies":{"@coooookies/windows-smtc-monitor-win32-x64-msvc":"1.0.9","@coooookies/windows-smtc-monitor-win32-ia32-msvc":"1.0.9","@coooookies/windows-smtc-monitor-win32-arm64-msvc":"1.0.9"},"_npmOperationalInternal":{"tmp":"tmp/windows-smtc-monitor_1.0.9_1741547491835_0.7804288935703765","host":"s3://npm-registry-packages-npm-production"}},"1.0.10":{"name":"@coooookies/windows-smtc-monitor","version":"1.0.10","keywords":["windows","media","smtc","monitor","napi","native","addon"],"author":{"url":"https://mitay.net","name":"Coooookies","email":"admin@mitay.net"},"license":"MIT","_id":"@coooookies/windows-smtc-monitor@1.0.10","maintainers":[{"name":"coooookies","email":"admin@mitay.net"}],"homepage":"https://github.com/LeagueTavern/node-windows-smtc-monitor#readme","bugs":{"url":"https://github.com/LeagueTavern/node-windows-smtc-monitor/issues"},"ava":{"require":["@swc-node/register"],"timeout":"3m","extensions":["ts"],"environmentVariables":{"TS_NODE_PROJECT":"./tsconfig.json"}},"dist":{"shasum":"2e59c457c9ad8715e1f93165307b973a02d4ad2d","tarball":"https://registry.npmjs.org/@coooookies/windows-smtc-monitor/-/windows-smtc-monitor-1.0.10.tgz","fileCount":9,"integrity":"sha512-wi2QDmoCxg/qcbVyaCxOaSxYJjPaWIsdhdptG5BmcU/bBgvXaCe78YUI8eXJsxc8siYEQA+TR459cA35xYEgMw==","signatures":[{"sig":"MEUCIQDusLqVxeSqQxCalxeX4FZ/vh8i8DApGwdQLryMHrrF+wIgPro19Pl/W5qxQrz+9uwOV5Lla2WDrV7wA1WHC3yYQ+w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@coooookies%2fwindows-smtc-monitor@1.0.10","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":25173},"main":"index.js","napi":{"name":"windows-smtc-monitor","triples":{"defaults":false,"additional":["x86_64-pc-windows-msvc","i686-pc-windows-msvc","aarch64-pc-windows-msvc"]}},"types":"index.d.ts","module":"index.mjs","engines":{"node":">=16.0.0"},"exports":{".":{"types":"./index.d.ts","import":"./index.mjs","require":"./index.js"}},"gitHead":"e09675b53390ddbbf7b3d9daa345b3f6d41a357f","scripts":{"test":"ava __test__/**/index*.*","build":"napi build --platform --release --js binding.js --dts binding.d.ts","example":"npm run build && node example/index.js","version":"napi version","artifacts":"napi artifacts","universal":"napi universal","example:ts":"npm run build && node -r @swc-node/register example/index.ts","build:debug":"napi build --platform --js binding.js --dts binding.d.ts","example:mjs":"npm run build && node --experimental-specifier-resolution=node example/index.mjs","prepublishOnly":"napi prepublish -t npm && esbuild binding.js --minify --allow-overwrite --outfile=binding.js"},"_npmUser":{"name":"coooookies","email":"admin@mitay.net"},"repository":{"url":"git+https://github.com/LeagueTavern/node-windows-smtc-monitor.git","type":"git"},"_npmVersion":"10.8.2","description":"Fetch Windows SMTC media player information and listen for media control events (e.g., play, pause, skip). Suitable for Windows 1809 and later.","directories":{},"_nodeVersion":"20.18.3","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"yarn@3.8.5","devDependencies":{"ava":"^5.3.1","esbuild":"^0.25.0","ts-node":"^10.9.2","@swc/core":"^1.11.8","typescript":"^5.8.2","@types/node":"^22.13.10","@napi-rs/cli":"^2.18.4","@swc-node/register":"^1.10.9"},"optionalDependencies":{"@coooookies/windows-smtc-monitor-win32-x64-msvc":"1.0.10","@coooookies/windows-smtc-monitor-win32-ia32-msvc":"1.0.10","@coooookies/windows-smtc-monitor-win32-arm64-msvc":"1.0.10"},"_npmOperationalInternal":{"tmp":"tmp/windows-smtc-monitor_1.0.10_1741548657036_0.4571462978077241","host":"s3://npm-registry-packages-npm-production"}},"1.0.11":{"name":"@coooookies/windows-smtc-monitor","version":"1.0.11","keywords":["windows","media","smtc","monitor","napi","native","addon"],"author":{"url":"https://mitay.net","name":"Coooookies","email":"admin@mitay.net"},"license":"MIT","_id":"@coooookies/windows-smtc-monitor@1.0.11","maintainers":[{"name":"coooookies","email":"admin@mitay.net"}],"homepage":"https://github.com/LeagueTavern/node-windows-smtc-monitor#readme","bugs":{"url":"https://github.com/LeagueTavern/node-windows-smtc-monitor/issues"},"ava":{"require":["@swc-node/register"],"timeout":"3m","extensions":["ts"],"environmentVariables":{"TS_NODE_PROJECT":"./tsconfig.json"}},"dist":{"shasum":"750249ef74d73166a71a8dcb91d66e12ea397364","tarball":"https://registry.npmjs.org/@coooookies/windows-smtc-monitor/-/windows-smtc-monitor-1.0.11.tgz","fileCount":9,"integrity":"sha512-FbykBm75o9fdikGOdRkCqJ3CEpvVnjFRnWw1ugeqMHVKceiIMrOIsb4EiQMmmXNmAFFvFbhNciQAhNzenpgf1A==","signatures":[{"sig":"MEQCIDPDSM1iXHCajhPlXc/JlwsBXDJZP0f9cRuX92QvKRm0AiBDG4o97zT1fOXF8ZszEaPqNXDU24TWeJCH3Y+ye5dn/Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@coooookies%2fwindows-smtc-monitor@1.0.11","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":25173},"main":"index.js","napi":{"name":"windows-smtc-monitor","triples":{"defaults":false,"additional":["x86_64-pc-windows-msvc","i686-pc-windows-msvc","aarch64-pc-windows-msvc"]}},"types":"index.d.ts","module":"index.mjs","engines":{"node":">=16.0.0"},"exports":{".":{"types":"./index.d.ts","import":"./index.mjs","require":"./index.js"}},"gitHead":"5e680a93f79df719db40c044c8a3dc5d9c866c27","scripts":{"test":"ava __test__/**/index*.*","build":"napi build --platform --release --js binding.js --dts binding.d.ts","example":"npm run build && node example/index.js","version":"napi version","artifacts":"napi artifacts","universal":"napi universal","example:ts":"npm run build && node -r @swc-node/register example/index.ts","build:debug":"napi build --platform --js binding.js --dts binding.d.ts","example:mjs":"npm run build && node --experimental-specifier-resolution=node example/index.mjs","prepublishOnly":"napi prepublish -t npm && esbuild binding.js --minify --allow-overwrite --outfile=binding.js"},"_npmUser":{"name":"coooookies","email":"admin@mitay.net"},"repository":{"url":"git+https://github.com/LeagueTavern/node-windows-smtc-monitor.git","type":"git"},"_npmVersion":"10.8.2","description":"Fetch Windows SMTC media player information and listen for media control events (e.g., play, pause, skip). Suitable for Windows 1809 and later.","directories":{},"_nodeVersion":"20.18.3","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"yarn@3.8.5","devDependencies":{"ava":"^5.3.1","esbuild":"^0.25.0","ts-node":"^10.9.2","@swc/core":"^1.11.8","typescript":"^5.8.2","@types/node":"^22.13.10","@napi-rs/cli":"^2.18.4","@swc-node/register":"^1.10.9"},"optionalDependencies":{"@coooookies/windows-smtc-monitor-win32-x64-msvc":"1.0.11","@coooookies/windows-smtc-monitor-win32-ia32-msvc":"1.0.11","@coooookies/windows-smtc-monitor-win32-arm64-msvc":"1.0.11"},"_npmOperationalInternal":{"tmp":"tmp/windows-smtc-monitor_1.0.11_1741549162470_0.12538517034977947","host":"s3://npm-registry-packages-npm-production"}},"1.0.12":{"name":"@coooookies/windows-smtc-monitor","description":"Fetch Windows SMTC media player information and listen for media control events (e.g., play, pause, skip). Suitable for Windows 1809 and later.","version":"1.0.12","main":"index.js","module":"index.mjs","types":"index.d.ts","exports":{".":{"types":"./index.d.ts","import":"./index.mjs","require":"./index.js"}},"author":{"name":"Coooookies","email":"admin@mitay.net","url":"https://mitay.net"},"napi":{"name":"windows-smtc-monitor","triples":{"defaults":false,"additional":["x86_64-pc-windows-msvc","i686-pc-windows-msvc","aarch64-pc-windows-msvc"]}},"license":"MIT","devDependencies":{"@napi-rs/cli":"^2.18.4","@swc-node/register":"^1.10.9","@swc/core":"^1.11.8","@types/node":"^22.13.10","ava":"^5.3.1","esbuild":"^0.25.0","ts-node":"^10.9.2","typescript":"^5.8.2"},"engines":{"node":">=16.0.0"},"publishConfig":{"registry":"https://registry.npmjs.org/","access":"public"},"keywords":["windows","media","smtc","monitor","napi","native","addon"],"scripts":{"artifacts":"napi artifacts","build":"napi build --platform --release --js binding.js --dts binding.d.ts","build:debug":"napi build --platform --js binding.js --dts binding.d.ts","example:ts":"npm run build && node -r @swc-node/register example/index.ts","example:mjs":"npm run build && node --experimental-specifier-resolution=node example/index.mjs","example":"npm run build && node example/index.js","example:worker":"npm run build && node example/worker.js","prepublishOnly":"napi prepublish -t npm && esbuild binding.js --minify --allow-overwrite --outfile=binding.js","test":"ava __test__/**/index*.*","universal":"napi universal","version":"napi version"},"ava":{"require":["@swc-node/register"],"extensions":["ts"],"timeout":"3m","environmentVariables":{"TS_NODE_PROJECT":"./tsconfig.json"}},"repository":{"type":"git","url":"git+https://github.com/LeagueTavern/node-windows-smtc-monitor.git"},"packageManager":"yarn@3.8.5","optionalDependencies":{"@coooookies/windows-smtc-monitor-win32-x64-msvc":"1.0.12","@coooookies/windows-smtc-monitor-win32-ia32-msvc":"1.0.12","@coooookies/windows-smtc-monitor-win32-arm64-msvc":"1.0.12"},"_id":"@coooookies/windows-smtc-monitor@1.0.12","gitHead":"0e8b27a6ed739419881902b5e3e0fa751ee765ef","bugs":{"url":"https://github.com/LeagueTavern/node-windows-smtc-monitor/issues"},"homepage":"https://github.com/LeagueTavern/node-windows-smtc-monitor#readme","_nodeVersion":"20.18.3","_npmVersion":"10.8.2","dist":{"integrity":"sha512-sIubsDCPsnFmR9T1anMgHBVfNxubXTt7mmv3X+ZJWPecwbWAGo41TI3iCzRChCpuLWpEMG3Zoo8n1m2/Hly+XQ==","shasum":"5ae59ef6e400156b43c44f2779d179a01bc3e13e","tarball":"https://registry.npmjs.org/@coooookies/windows-smtc-monitor/-/windows-smtc-monitor-1.0.12.tgz","fileCount":9,"unpackedSize":26052,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@coooookies%2fwindows-smtc-monitor@1.0.12","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDkV6C2fDY4clTOZwm9q8nz2lnAs8NCS7nAqNgSNHSyzwIgAhm/hj028lyW9tdwdnOuX2xKLHZyy1CYaweGzy49Pic="}]},"_npmUser":{"name":"coooookies","email":"admin@mitay.net"},"directories":{},"maintainers":[{"name":"coooookies","email":"admin@mitay.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/windows-smtc-monitor_1.0.12_1741701317570_0.7953277573059878"},"_hasShrinkwrap":false}},"time":{"created":"2025-03-09T19:11:31.750Z","modified":"2025-03-11T13:55:18.126Z","1.0.9":"2025-03-09T19:11:32.030Z","1.0.10":"2025-03-09T19:30:57.240Z","1.0.11":"2025-03-09T19:39:22.644Z","1.0.12":"2025-03-11T13:55:17.751Z"},"bugs":{"url":"https://github.com/LeagueTavern/node-windows-smtc-monitor/issues"},"author":{"name":"Coooookies","email":"admin@mitay.net","url":"https://mitay.net"},"license":"MIT","homepage":"https://github.com/LeagueTavern/node-windows-smtc-monitor#readme","keywords":["windows","media","smtc","monitor","napi","native","addon"],"repository":{"type":"git","url":"git+https://github.com/LeagueTavern/node-windows-smtc-monitor.git"},"description":"Fetch Windows SMTC media player information and listen for media control events (e.g., play, pause, skip). Suitable for Windows 1809 and later.","maintainers":[{"name":"coooookies","email":"admin@mitay.net"}],"readme":"# Node-Windows-SMTC-Monitor\n\n<a href=\"https://github.com/LeagueTavern/node-windows-smtc-monitor/issues\"><img src=\"https://img.shields.io/github/issues/LeagueTavern/node-windows-smtc-monitor?style=for-the-badge\" alt=\"@coooookies/windows-smtc-monitor downloads\"></a>\n<a href=\"https://github.com/LeagueTavern/node-windows-smtc-monitor/actions\"><img alt=\"GitHub CI Status\" src=\"https://img.shields.io/github/actions/workflow/status/LeagueTavern/node-windows-smtc-monitor/CI.yml?style=for-the-badge\"></a>\n<a href=\"https://nodejs.org/en/about/releases/\"><img src=\"https://img.shields.io/node/v/%40coooookies%2Fwindows-smtc-monitor?style=for-the-badge\" alt=\"Node.js version\"></a>\n<a href=\"https://www.npmjs.com/package/@coooookies/windows-smtc-monitor\"><img src=\"https://img.shields.io/npm/v/@coooookies/windows-smtc-monitor.svg?style=for-the-badge&sanitize=true\" alt=\"@coooookies/windows-smtc-monitor npm version\"></a>\n<a href=\"https://npmcharts.com/compare/@coooookies/windows-smtc-monitor?minimal=true\"><img src=\"https://img.shields.io/npm/dm/@coooookies/windows-smtc-monitor.svg?style=for-the-badge&sanitize=true\" alt=\"@coooookies/windows-smtc-monitor downloads\"></a>\n\n![Screenshot](docs/screenshot-1.png)\n\n> This is a [Node.js](https://nodejs.org/) toolkit for listening to [SMTC](https://learn.microsoft.com/en-us/uwp/api/windows.media.control.globalsystemmediatransportcontrolssessionmanager?view=winrt-26100) (System Media Transport Controls) media events in Windows. It is written in [Rust](https://www.rust-lang.org/) and utilizes [napi-rs](https://napi.rs/) to implement bindings with Node.js.\n\n## ⚠️ Warning\n\n`node-windows-smtc-monitor` only supports Windows 10 1809 and later versions (>= 10.0.17763)\n\n## 🚀 Features\n\n- Listen to media events such as play, pause, next track, previous track.\n- Get the current playback state and track information.\n- Support for both JavaScript and TypeScript.\n- Easy to use and integrate into existing Node.js applications.\n\n## Installation\n\n```shell\nnpm i @coooookies/windows-smtc-monitor\n```\n\n## 🍊 Example\n\n[CommonJS Example](example/index.js) <br />\n[ESModule Example](example/index.mjs) <br />\n[TypeScript Example](example/index.ts) <br />\n\n## Usage\n\n#### Importing the library\n\n```Typescript\n// Typescript & ESModule\nimport { SMTCMonitor } from '@coooookies/windows-smtc-monitor';\n\n// CommonJS\nconst { SMTCMonitor } = require('@coooookies/windows-smtc-monitor');\n```\n\n#### Gets all media sessions\n\nGets all of the available sessions.\n\n```Typescript\nconst sessions = SMTCMonitor.getMediaSessions(); // MediaInfo[]\n// [\n//   {\n//     sourceAppId: 'PotPlayerMini64.exe',\n//     media: {\n//       title: 'ぱられループ を歌ってみた (Jeku remix)',\n//       artist: 'Jeku/aori',\n//       albumTitle: '',\n//       albumArtist: 'ぱられループ を歌ってみた (Jeku remix)',\n//       genres: [],\n//       albumTrackCount: 0,\n//       trackNumber: 0,\n//       thumbnail: <Buffer 42 4d 0e ... 1048526 more bytes> // The Album Cover/Thumbnail in Buffer\n//     },\n//     playback: { playbackStatus: 4, playbackType: 1 },\n//     timeline: { position: 217.228, duration: 259 },\n//     lastUpdatedTime: 1740000000000\n//   },\n//   {\n//     sourceAppId: 'player.exe',\n//     media: { ... },\n//     playback: { ... },\n//     timeline: { ... },\n//     lastUpdatedTime: 1740000000000\n//   }\n// ]\n```\n\n#### Gets the current media session\n\nGets the current session. This is the session the system believes the user would most likely want to control.\n\n```Typescript\nconst session = SMTCMonitor.getCurrentMediaSession(); // MediaInfo | null\n// {\n//   sourceAppId: 'PotPlayerMini64.exe',\n//   media: { ... },\n//   playback: { ... },\n//   timeline: { ... },\n//   lastUpdatedTime: 1740000000000\n// }\n```\n\n#### Gets the specified media session\n\nGets the specified session by the sourceAppId.\n\n```Typescript\nconst session = SMTCMonitor.getMediaSessionByAppId('player.exe'); // MediaInfo | null\n// {\n//   sourceAppId: 'player.exe',\n//   media: { ... },\n//   playback: { ... },\n//   timeline: { ... },\n//   lastUpdatedTime: 1740000000000\n// }\n```\n\n#### Using Listeners\n\nIf you need to continuously listen for media events, you might consider using the `getMediaSessions` method for polling. However, this approach can be resource-intensive. Instead, `node-windows-smtc-monitor` provides a listener class that allows you to listen for events such as\n[GlobalSystemMediaTransportControlsSessionManager.CurrentSessionChanged](https://learn.microsoft.com/en-us/uwp/api/windows.media.control.globalsystemmediatransportcontrolssessionmanager.currentsessionchanged?view=winrt-26100)\n[GlobalSystemMediaTransportControlsSessionManager.SessionsChanged](https://learn.microsoft.com/en-us/uwp/api/windows.media.control.globalsystemmediatransportcontrolssessionmanager.sessionschanged?view=winrt-26100)\nand other related events to monitor media sessions efficiently.\n\n```Typescript\n// Register the monitor\nconst monitor = new SMTCMonitor();\n\n// Normal use\nmonitor.on('session-media-changed', (appId, mediaProps) => {\n  console.log(`Media info changed for ${appId}`, mediaProps);\n});\n\n// Using a listener defined outside\nconst listener = (appId, playbackInfo) => {\n  console.log(`Playback state changed for ${appId}`, playbackInfo);\n};\n\nmonitor.on('session-playback-changed', listener); // Register the listener\nmonitor.off('session-playback-changed', listener); // Unregister the listener\n\nconsole.log(monitor.sessions)\n// Shows all the sessions\n\n// Destroy monitoring when done\n// monitor.destroy();\n```\n\nHere is a list of available events:\n\n| Event Name               | Description                                 | Parameters                                    |\n| ------------------------ | ------------------------------------------- | --------------------------------------------- |\n| session-media-changed    | Triggered when media info changes           | (appId: string, mediaProps: MediaProps)       |\n| session-timeline-changed | Triggered when position or duration changes | (appId: string, timelineProps: TimelineProps) |\n| session-playback-changed | Triggered when playback state changes       | (appId: string, playbackInfo: PlaybackInfo)   |\n| session-added            | Triggered when a new media session is added | (appId: string, mediaInfo: MediaInfo)         |\n| session-removed          | Triggered when a media session is removed   | (appId: string)                               |\n| current-session-changed  | Triggered when the current session changes  | (appId: string)                               |\n\n## Using in Electron\n\nTo use `node-windows-smtc-monitor` in Electron, you need to run it in a Worker thread. Running it in the main process will cause the main thread to lock up, which will freeze the renderer process. An example of how to use it in a Worker is provided in `example/worker.js`. <br />\n\n[Worker Example](example/worker.js)\n\n## License\n\nThis project is licensed under the [MIT](LICENSE) License.\n","readmeFilename":"README.md"}