MCPcopy Index your code
hub / github.com/Enitoni/pulseshitter

github.com/Enitoni/pulseshitter @v3.0.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v3.0.0 ↗ · + Follow
231 symbols 443 edges 24 files 12 documented · 5%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

pulseshitter

License

Screenshot of pulseshitter

pulseshitter is a shitty solution to a shitty problem.

you see, it all started back in 2015, when discord announced discord, an instant messaging social platform for gamers, until they decided that it was for everyone too.

however, they clearly don't support everyone because they hate us blessed linux users. to this day, discord still doesn't support sharing audio via screen sharing on linux.

what is this?

this overengineered project is a workaround to make it possible to share audio via a bot. it does not pipe your audio through your microphone. this has two advantages:

  • other people can mute your stream without muting you
  • the audio is stereo (WIDE)

features

  • shits your audio into a voice channel
  • based terminal user interface
  • automatically reconnects to an application when parec stops streaming it (it does that a lot)
  • cool good sound meter™️
  • follows you around so you can always bother your friends
  • says fuck you to discord (fuck you discord)
  • 🚀 blazingly fa--

caveats

  • you need a bot in a server to use it
  • linux audio sources are very inconsistent so it's not guaranteed it will reconnect properly, or even show a meaningful name, but you can always just select the app you want to stream again

usage

prerequisites

download latest release and run the binary in your terminal. you can also add it to path for easy access.

./pulseshitter

faq (you)

Is this a joke?

Parts of this README, yes. The project itself, no. It's actually something I worked really hard on and it is actually a successor to pulsecord which my friend was using. It had some issues, and that's what led to this project.

Why can't I stream Spotify?

Spotify streaming is disabled by default due to me not wanting to get in trouble for distributing a binary that allows you to bypass the measures Discord has in place to stop you from streaming Spotify through their service.

You can enable it by compiling the project yourself with the ALLOW_SPOTIFY_STREAMING environment variable set to true.

Are you open to suggestions/bug reports?

Yes. Please make a GitHub issue if you want to report a bug or suggest a feature.


build

prerequisites

  • rust
  • pulseaudio / pipewire
  • libopus

compile it by typing this in your terminal:

cargo build --release

then you're done (wow!)

license

MPL-2 license (very original do not steal)

Extension points exported contracts — how you extend this code

View (Interface)
(no doc) [13 implementers]
src/interface/view.rs

Core symbols most depended-on inside this repo

index
called by 10
src/audio/source.rs
set_voice_state
called by 7
src/dickcord/system.rs
name
called by 7
src/audio/source.rs
read
called by 7
src/audio/system.rs
discord_state
called by 5
src/app.rs
context
called by 5
src/dickcord/bot.rs
write
called by 5
src/audio/analysis.rs
context
called by 4
src/app.rs

Shape

Method 167
Class 31
Enum 16
Function 16
Interface 1

Languages

Rust100%

Modules by API surface

src/app.rs32 symbols
src/audio/source.rs28 symbols
src/dickcord/system.rs25 symbols
src/dickcord/bot.rs20 symbols
src/audio/system.rs17 symbols
src/audio/pulse.rs15 symbols
src/audio/analysis.rs14 symbols
src/interface/dashboard/settings_module.rs11 symbols
src/interface/setup/form.rs8 symbols
src/interface/dashboard/source_selector.rs8 symbols
src/state.rs7 symbols
src/interface/setup/mod.rs7 symbols

For agents

$ claude mcp add pulseshitter \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page