Media Keys

Media Keys

Lets you control various media sites using the media keys on your keyboard. Supported Sites: youtube, pandora, spotify, bandcamp, google play, yandex, soundcloud, tidalhifi, deezer, plex, vk and more.

Merlin
Additional files are visible only to premium users

manifest.json


{
    "manifest_version": 2,
    "short_name": "Media Keys",
    "name": "Media Keys",
    "version": "2.5.2",
    "author": "Carlin Scott",
    "homepage_url": "https://github.com/carlin-q-scott/browser-media-players",
    "description": "Lets you control many popular website media players using media key events",
    "icons": {
        "64": "icon64.png",
        "128": "icon128.png"
    },
    "browser_specific_settings": {
        "gecko": {
            "id": "jid1-4GP7z3tkUd3Tzg@jetpack",
            "strict_min_version": "60.0"
        }
    },
    "background": {
        "page": "index.html"
    },
    "commands": {
        "MediaPlayPause": {
            "description": "toggles play state of the last active media website",
            "suggested_key": {
                "default": "MediaPlayPause"
            },
            "global": true
        },
        "MediaNextTrack": {
            "description": "plays the next track for the last active media website",
            "suggested_key": {
                "default": "MediaNextTrack"
            },
            "global": true
        },
        "MediaPrevTrack": {
            "description": "plays the previous track for the last active media website",
            "suggested_key": {
                "default": "MediaPrevTrack"
            },
            "global": true
        },
        "MediaStop": {
            "description": "stops playback of the last active media website",
            "suggested_key": {
                "default": "MediaStop"
            },
            "global": true
        }
    },
    "options_ui": {
        "page": "options/options_ui.html",
        "browser_style": false,
        "chrome_style": false,
        "open_in_tab": false
    },
    "permissions": [
        "storage"
    ],
    "optional_permissions": [
        "*://*/"
    ],
    "content_scripts": [
        {
            "matches": [
                "*://*.youtube.com/*"
                //,"file:///*/tests/youtube.com.html"
            ],
            "js": [
                "lib/browser-polyfill.min.js",
                "data/youtube.com-orchestrator.js"
            ],
            "all_frames": true
        },
        {
            "js": [
                "lib/browser-polyfill.min.js",
                "data/pandora.com-view.js",
                "data/finder.js",
                "data/orchestrator.js"
            ],
            "matches": [
                "*://*.pandora.com/*"
                //,"file:///*/tests/pandora.com.html"
            ]
        },
        {
            "js": [
                "lib/browser-polyfill.min.js",
                "data/tidal.com-view.js",
                "data/finder.js",
                "data/orchestrator.js"
            ],
            "matches": [
                "*://*.tidal.com/*"
            ]
        },
        {
            "js": [
                "lib/browser-polyfill.min.js",
                "data/music.apple.com-view.js",
                "data/finder.js",
                "data/orchestrator.js"
            ],
            "matches": [
                "*://*.music.apple.com/*"
            ]
        },
        {
            "js": [
                "lib/browser-polyfill.min.js",
                "data/bandcamp.com-view.js",
                "data/finder.js",
                "data/orchestrator.js"
            ],
            "matches": [
                "*://*.bandcamp.com/*",
                "*://shop.attackthemusic.com/*"
            ]
        },
        {
            "js": [
                "lib/browser-polyfill.min.js",
                "data/play.google.com-view.js",
                "data/finder.js",
                "data/orchestrator.js"
            ],
            "matches": [
                "*://*.play.google.com/*"
            ]
        },
        {
            "js": [
                "lib/browser-polyfill.min.js",
                "data/play.spotify.com-view.js",
                "data/finder.js",
                "data/orchestrator.js"
            ],
            "matches": [
                "*://*.play.spotify.com/*"
            ]
        },
        {
            "js": [
                "lib/browser-polyfill.min.js",
                "data/player.spotify.com-view.js",
                "data/finder.js",
                "data/orchestrator.js"
            ],
            "matches": [
                "*://*.player.spotify.com/*"
            ]
        },
        {
            "js": [
                "lib/browser-polyfill.min.js",
                "data/open.spotify.com-view.js",
                "data/finder.js",
                "data/orchestrator.js"
            ],
            "matches": [
                "*://*.open.spotify.com/*"
            ]
        },
        {
            "js": [
                "lib/browser-polyfill.min.js",
                "data/soundcloud.com-view.js",
                "data/finder.js",
                "data/orchestrator.js"
            ],
            "matches": [
                "*://soundcloud.com/*"
            ]
        },
        {
            "matches": [
                "https://w.soundcloud.com/player/*"
            ],
            "all_frames": true,
            "js": [
                "lib/browser-polyfill.min.js",
                "data/w.soundcloud.com-orchestrator.js"
            ]
        },
        {
            "js": [
                "lib/browser-polyfill.min.js",
                "data/stitcher.com-view.js",
                "data/finder.js",
                "data/orchestrator.js"
            ],
            "matches": [
                "*://app.stitcher.com/*"
            ]
        },
        {
            "js": [
                "lib/browser-polyfill.min.js",
                "data/music.yandex.ru-view.js",
                "data/finder.js",
                "data/orchestrator.js"
            ],
            "matches": [
                "*://*.music.yandex.ru/*"
            ]
        },
        {
            "js": [
                "lib/browser-polyfill.min.js",
                "data/vk.com-view.js",
                "data/finder.js",
                "data/orchestrator.js"
            ],
            "matches": [
                "*://*.vk.com/*"
            ]
        },
        {
            "js": [
                "lib/browser-polyfill.min.js",
                "data/radio.yandex.ru-view.js",
                "data/finder.js",
                "data/orchestrator.js"
            ],
            "matches": [
                "*://*.radio.yandex.ru/*"
            ]
        },
        {
            "js": [
                "lib/browser-polyfill.min.js",
                "data/deezer.com-view.js",
                "data/finder.js",
                "data/orchestrator.js"
            ],
            "matches": [
                "*://*.deezer.com/*"
            ]
        },
        {
            "js": [
                "lib/browser-polyfill.min.js",
                "data/overcast.fm-view.js",
                "data/finder.js",
                "data/orchestrator.js"
            ],
            "matches": [
                "*://*.overcast.fm/*"
            ]
        },
        {
            "js": [
                "lib/browser-polyfill.min.js",
                "data/plex.tv-view.js",
                "data/finder.js",
                "data/orchestrator.js"
            ],
            "matches": [
                "*://*.plex.tv/*"
            ]
        },
        {
            "js": [
                "lib/browser-polyfill.min.js",
                "data/pluralsight.com-view.js",
                "data/finder.js",
                "data/orchestrator.js"
            ],
            "matches": [
                "*://*.app.pluralsight.com/*"
            ]
        },
        {
            "js": [
                "lib/browser-polyfill.min.js",
                "data/jamstash-view.js",
                "data/finder.js",
                "data/orchestrator.js"
            ],
            "matches": [
                "*://*.jamstash.com/*"
            ]
        },
        {
            "js": [
                "lib/browser-polyfill.min.js",
                "data/jango.com-view.js",
                "data/finder.js",
                "data/orchestrator.js"
            ],
            "matches": [
                "*://*.jango.com/*"
            ]
        },
        {
            "js": [
                "lib/browser-polyfill.min.js",
                "data/kanopy-view.js",
                "data/finder.js",
                "data/orchestrator.js"
            ],
            "matches": [
                "*://*.kanopy.com/*"
            ]
        },
        {
            "js": [
                "lib/browser-polyfill.min.js",
                "data/koel-view.js",
                "data/finder.js",
                "data/orchestrator.js"
            ],
            "matches": [
                "*://*.koel.phanan.net/*"
            ]
        },
        {
            "js": [
                "lib/browser-polyfill.min.js",
                "data/subsonic-view.js",
                "data/finder.js",
                "data/orchestrator.js"
            ],
            "matches": [
                "*://*.demo.subsonic.org/*"
            ]
        },
        {
            "js": [
                "lib/browser-polyfill.min.js",
                "data/madsonic-view.js",
                "data/finder.js",
                "data/orchestrator.js"
            ],
            "matches": [
                "*://*.demo.madsonic.org/*"
            ]
        },
        {
            "js": [
                "lib/browser-polyfill.min.js",
                "data/music.amazon-view.js",
                "data/finder.js",
                "data/orchestrator.js"
            ],
            "matches": [
                "*://*.music.amazon.com/*",
                "*://*.music.amazon.de/*",
                "*://*.music.amazon.co.uk/*"
            ]
        },
        {
            "js": [
                "lib/browser-polyfill.min.js",
                "data/cbcmusic.ca-view.js",
                "data/finder.js",
                "data/orchestrator.js"
            ],
            "matches": [
                "*://*.cbcmusic.ca/*"
            ]
        },
        {
            "js": [
                "lib/browser-polyfill.min.js",
                "data/mixcloud.com-view.js",
                "data/finder.js",
                "data/orchestrator.js"
            ],
            "matches": [
                "*://*.mixcloud.com/*"
            ]
        },
        {
            "js": [
                "lib/browser-polyfill.min.js",
                "data/hulu.com-view.js",
                "data/finder.js",
                "data/orchestrator.js"
            ],
            "matches": [
                "*://*.hulu.com/*"
            ]
        },
        {
            "js": [
                "lib/browser-polyfill.min.js",
                "data/hypem.com-view.js",
                "data/finder.js",
                "data/orchestrator.js"
            ],
            "matches": [
                "*://*.hypem.com/*"
            ]
        },
        {
            "js": [
                "lib/browser-polyfill.min.js",
                "data/netflix.com-view.js",
                "data/finder.js",
                "data/orchestrator.js"
            ],
            "matches": [
                "*://*.netflix.com/*"
            ]
        },
        {
            "js": [
                "lib/browser-polyfill.min.js",
                "data/npr.org-view.js",
                "data/finder.js",
                "data/orchestrator.js"
            ],
            "matches": [
                "*://*.npr.org/*"
            ]
        },
        {
            "js": [
                "lib/browser-polyfill.min.js",
                "data/tunein.com-view.js",
                "data/finder.js",
                "data/orchestrator.js"
            ],
            "matches": [
                "*://*.tunein.com/*"
            ]
        },
        {
            "js": [
                "lib/browser-polyfill.min.js",
                "data/play.pocketcasts.com-view.js",
                "data/finder.js",
                "data/orchestrator.js"
            ],
            "matches": [
                "*://play.pocketcasts.com/*"
            ]
        },
        {
            "js": [
                "lib/browser-polyfill.min.js",
                "data/di.fm-view.js",
                "data/finder.js",
                "data/orchestrator.js"
            ],
            "matches": [
                "*://*.di.fm/*"
            ]
        },
        {
            "js": [
                "lib/browser-polyfill.min.js",
                "data/udemy.com-view.js",
                "data/finder.js",
                "data/orchestrator.js"
            ],
            "matches": [
              "*://*.udemy.com/*"
            ]
        }
    ],
    "web_accessible_resources": [
        "data/youtube.com-orchestrator-pageScript.js"
    ]
}