@vencord/venmic v6.1.0
venmic - screenshare support for pipewire
!WARNING
This project is not intended for standalone usage. You need a modified discord client that makes use of this.
📖 Usage
venmic can be used as node-module or as a local rest-server.
The node-module is mainly intended for internal usage by Vesktop. For a usage example, see the following Vesktop source files:
- src/main/venmic.ts
- src/renderer/patches/screenShareAudio.ts
- src/renderer/components/ScreenSharePicker.tsx: 1, 2, 3
The Rest-Server exposes three simple endpoints
- (POST) - /list- List all available applications to share. 
 You can optionally define a JSON-Body containing all the props the listed nodes should have (i.e.- ["node.name"]).
- (POST) - /link- Depending on wether or not - includeor- excludeare defined the behavior will change:- only include- Links nodes that match given props
 
- only exclude- Links nodes that do not match given props
 
- both includeandexclude- Links all applications that match props in includeand not those given inexclude
 
- Links all applications that match props in 
 - The setting - ignore_devicesis optional and will default to- true.
 When enabled it will prevent hardware-devices like speakers and microphones from being linked to the virtual microphone.- The setting - only_speakersis optional and will default to- true.
 When enabled it will prevent linking against nodes that don't play to a speaker.- The setting - only_default_speakersis optional and will default to- true.
 When enabled it will prevent linking against nodes that don't play to the default speaker.- The setting - workaroundis also optional and will default to an empty array.
 When set, venmic will redirect the first node that matches all of the specified properties to itself.
- only 
- (GET) - /unlink- Unlinks the currently linked application 
🏗️ Compiling
- Rest-Server - git clone https://github.com/Vencord/linux-virtmic && cd linux-virtmic cmake -B build && cmake --build build
- Node-Addon - git clone https://github.com/Vencord/linux-virtmic && cd linux-virtmic pnpm install
🐛 Debugging
When reporting an issue please make sure to set the environment variable VENMIC_ENABLE_LOG.
If said variable is set venmic will output a lot of useful information to stdout and a log-file which can be found in ~/.local/state/venmic/venmic.log.
It is highly recommended to include this log file in your issue report otherwise we may not be able to help you!
🤝 Acknowledgements
- Curve/rohrkabel
- cmake-js
- @wwmm for improving compatibility with EasyEffects
Kudos to all the developers involved, keep up the great work!
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago