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

Latest commit

 

History

History
82 lines (64 loc) · 6.19 KB

README.md

File metadata and controls

82 lines (64 loc) · 6.19 KB

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