Skip to content

Stream Deck plugin to allow users to mute their microphone on MacOS. Written in Python.

Notifications You must be signed in to change notification settings

alysivji/mute-microphone-mac-streamdeck-plugin

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Mute Microphone Stream Deck Plugin

Stream Deck plugin to allow users to mute their microphone on MacOS.

Design

  • connect to Elgato Stream Deck software using Websockets
  • we use the asyncio event loop to manage running workloads for communicating with StreamDeck software and managing system sound
  • Plugin manager handles the coordination

Installation Instructions

  1. Download repo
  2. Create a virtual environment with Python 3.7+
  3. pip install -r requirements.txt
  4. Update shebang at top of mic_control/app.py with the Python Path from your virtual evironment above
  5. Link folder ln -s [path-to-file] /Users/[username]/Library/Application Support/com.elgato.StreamDeck/Plugins/com.alysivji.mutemic-mac.sdPlugin
  6. Restart StreamDeck software

Resources

Testing

pytest

python mic_control/main.py  -port 123 -info='{"application": {"language": "en", "platform": "mac", "version": "4.7.0.12981"}, "devicePixelRatio": 2, "devices": [{"id": "A123", "name": "Stream Deck", "size": {"columns": 5, "rows": 3}, "type": 0}, {"id": "D453", "name": "iPhone", "size": {"columns": 5, "rows": 3}, "type": 3}], "plugin": {"version": "1.4"}}'

Todo

  • https://github.com/aaugustin/websockets
  • what happens when client deletes our icon?
  • need to add a state machine around sound control, two states: ON and OFF
  • Lynn Root's video
    • handling signals
      • add handler
    • exception handling
      • add global exception handler
    • testing
    • debugging

About

Stream Deck plugin to allow users to mute their microphone on MacOS. Written in Python.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages