Skip to content
This repository has been archived by the owner on Jan 7, 2024. It is now read-only.

iXab3r/MicSwitch

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Discord Chat

Intro

There are dozens of different audio chat apps like Discord, TeamSpeak, Ventrilo, Skype, in-game audio chats, etc. And all of them have DIFFERENT ways of handling push-to-talk and always-on microphone functionality. I bet many of you know how distracting it could be when someone forgets to turn off a microphone. I will try to explain what I mean using a feature matrix.

App Microphone status overlay Keyboard support Mouse buttons support Audio notification
MicSwitch Supported Supported Supported Supported
Discord In-game only Supported Supported Not supported
TeamSpeak Supported Supported Supported Supported
Ventrilo Not supported Supported Has a bug dating 2012 Supported
Skype Not supported Hard-coded Ctrl+M Not supported Not supported

MicSwitch allows you to mute/unmute your system microphone using a predefined system-wide hotkey which will affect any program that uses microphone (no more heavy breathing during Skype conferences, hooray!) Also it supports configurable mute/unmute sounds(similar to TeamSpeak/Ventrilo) and a configurable overlay with scaling/transparency support. All these features allow you to seamlessly switch between chat apps and use THE SAME input system with overlay and notifications support.

Features / Bugfixes priority (click to vote or post feature/bug request)

Requests

Installation

  • You can download the latest version of installer here - download.
  • After initial installation application will periodically check Github for updates

Features

  • Multiple microphones support (useful for streamers) - ALL microphones in your system could be muted/unmuted by a single key press
  • System-wide hotkeys (supports mouse XButtons)
  • Always-on-top configurable (scale, transparency) Overlay - could be disable if not needed
  • Mute/unmute audio notification (with custom audio files support)
  • Customizable tray and overlay icons
  • Multiple hotkeys support
  • Auto-startup (could be Minimized by default)
  • Three Audio modes: Push-to-talk, Push-to-mute and Toggle mute
  • Overlay visibility could be linked to microphone state, i.e. it will be shown only when Muted/Unmuted
  • Auto-updates via Github

Media

UI

Overlay with configurable size/opacity

Overlay with configurable size/opacity

Configurable Audio notification when microphone is muted/unmuted

Configurable Audio notification when microphone is muted/unmuted

Customizable overlay/tray icons

Customizable overlay/tray icons

Auto-update via Github

Auto-update via Github

How to build application

  • I am extensively using git-submodules so you may have to run extra commands (git submodule update) if your git-client does not fully support this tech. I would highly recommend to use Git Extensions which is awesome, free and open-source and makes submodules integration seamless
  • The main "catch-up-moment" is that you need to run InitSymlinks.cmd before building an application - this is due to the fact that git symlinks are not supported on some older versions of Windows and I am using them to create links to submodules
  • I am usually using Jetbrains Rider so there MAY be some issues if you are using Microsoft Visual Studio, although I am trying to keep things compatible

Build from command line

  1. git clone https://github.com/iXab3r/MicSwitch.git
  2. cd MicSwitch
  3. remove submodule DeploymentTools - MicSwitch's installer built and oublished as a part of another project and it's not included into this repository
  4. git submodule init
  5. git submodule update --checkout
  6. InitSymlinks.cmd
  7. dotnet build Sources/MicSwitch

That's it. Portable version will be in bin folder. Framework-dependent version

Linux/MacOS Support ?

Probably not going to happen in the nearest future because in it's core MicSwitch is a WPF application, technology that Microsoft does not want to port at all. Migrating to something cross-platform like Avalon, Xamarin is an option, but not a cheap one, unfortunately I don't have so much spare time to do it now.

Meanwhile you could take a look at

MacOS

MuteKey (thanks to benpeter for finding it): https://apps.apple.com/us/app/mutekey/id1509590766?mt=12

Linux

???

Contacts