Skip to content

Micser is a modular audio routing framework for Microsoft Windows (mostly) written in C#.

License

Notifications You must be signed in to change notification settings

loreggia/micser

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Current State

As the initial version did not meet some of my expectations the project is currently undergoing a major refactoring. The main problems I wish to address are:

  • Using WPF was not an optimal choice. I struggled to create a good user experience, especially for the main dashboard.
  • Communication between the frontend and the service via named pipes caused security problems on some machines.

Additionally, as I currently work mostly in web development and feel more comfortable there, this led me to start a big refactoring process, which involves:

  • Recreating the UI as a web app based on React and using the React-Flow library
  • Converting the service communications to a REST API

Because of this, the development of new features will be on hold until I reach feature parity with the old architecture.

Micser

Micser is a modular audio routing application for Microsoft Windows (mostly) written in C#.

The application includes the following parts:

  • WPF application with graphical audio routing using widgets
  • Audio engine Windows service
  • Virtual audio cable driver with a configurable number of devices (WIP, will require an extended validation code signing certificate)

Building

Requirements

  • Visual Studio 2019
    • .NET Core SDK 3.1
    • Windows 10 SDK, version 10.0.18362.0
    • WDK for Windows 10, version 1903
    • MSVC v142 build tools & spectre-mitigated libs (v14.21)
  • WiX Toolset 3.11.1

Build Status micser CI

Installer

Building the installer (Micser.Setup project) and the driver (Micser.Vac.* projects) in Release mode requires the presence of a code signing certificate. The certificate needs to be named "Certificate.pfx" and placed in the folder "crt" in the repository root.

Plugins

Micser is a modular framework and can easily be extended with plugins.

The main modules (Device In-/Output, Gain, Compressor, ..) are provided in the Micser.Plugins.Main assembly, which serves as an example for how to implement a plugin for Micser.

Credits

This project uses the following libraries: