Skip to content
This repository was archived by the owner on May 25, 2026. It is now read-only.

Available Commands

LaGrangeDeSteepy edited this page Jul 20, 2024 · 5 revisions

Currently Avalables Commands

First things first,

You need to understand some terminology:

Local: This refers to the monitoring Stream: THis refers to the streaming mix. Identifier: This is the identity of your audio port, similar to an IP address but for audio (e.g., //USB:AUDIO:DEVICE). Name: This is the name of the audio port, such as "Realtek HD AUDIO".

When using an identifier, always ensure to use the corresponding name! For example, if you have a command with: "identifier": "//USB:AUDIO:DEVICE", "name": "USB_interface_generic", make sure the identifier matches the specified name. Mixing names and identifiers will not work!

Input and Mixer IDs input_id: This represents the type of input. Available options include:

  • System
  • Music
  • Browser
  • VoiceChat
  • SFX
  • Game
  • Aux1
  • Aux2

mixer_id: This represents the type of mixer. Available options include:

  • local
  • stream

Additionally, WaveLink uses websockets for communication. The default websocket is set to WaveLink’s, but you can change it if necessary. In the "How to Use" section, you’ll find where to input the websocket URL and port. By default, they are set as follows:

websocket = "ws://127.0.0.1" #Default Websocket Url you don't need to change it 
port = "1824" #Default Websocket Port you don't need to change it  

SetVolumeLocal

How to use:

ElgatoWavePy.SetVolumeLocal(volume, websocket, port) # Sets the Local Volume to the specified integer, maximum is 100

Exemple :

ElgatoWavePy.SetVolumeLocal(50) # Sets the Local Volume to 50%

SetVolumeStream

How to use:

ElgatoWavePy.SetVolumeStream(volume, websocket, port) # Sets the Stream Volume to the specified integer, maximum is 100

Exemple :

ElgatoWavePy.SetVolumeStream(50) # Sets the Stream Volume to 50%

SetOuput

How to use:

ElgatoWavePy.SetOutput(identifier, name, websocket, port) # This command sets your Local Output to the device specified by the identifier and name

Exemple:

identifier = "HDAUDIO#FUNC_01&VEN_10DE&DEV_00A3&SUBSYS_14625104&REV_1001#5&12AEC60F&0&0001#{6994AD04-93EF-11D0-A3CC-00A0C9223196}\\WAVE0B"
name = "Philips FTV (NVIDIA High Definition Audio)"

ElgatoWavePy.SetOutput(identifier, name) # In this case, it will set the monitoring mix output to my TV

SetVolumeInput

How to use:

ElgatoWavePy.SetVolumeInput(volume, input_id, mixer_id, websocket, port) # This command sets the "input" of the "mixer" to a certain "volume"

There is multiple class available: input id : System, Music, Browser, VoiceChat, SFX, Game, Aux1, Aux2 mixer_id: local, stream

Exemple:

ElgatoWavePy.SetVolumeInput(25, "Music", "local") # This will set the Music input for the Monitoring mix to 25%

If you have a different input to control, like a supplementary mic, instead of input_id you can use the identifier, such as "PCM_OUT_01_V_02_SD3" for the Music input.

SetMuteOutput

How to use:

ElgatoWavePy.SetMuteOutput(state, mixer_id, websocket, port) # This will mute the mixer you choose, either local or stream

Exemple:

ElgatoWavePy.SetMuteOutput(True, "local") # This will mute the monitoring mix

SetMuteInput

How to use:

ElgatoWavePy.SetMuteInput(state, input_id,mixer_id, websocket, port) # This will mute the input you choose on the specified mixer

Exemple:

ElgatoWavePy.SetMuteinput(True, "Music", "local") # This will mute the Music input on the monitoring mix

If you have a different input to control, like a supplementary mic, instead of input_id you can use the identifier, such as "PCM_OUT_01_V_02_SD3" for the Music input.

DumpOutputs

How to use:

ElgatoWavePy.DumpOutputs(websocket, port) # This will dump you the available outputs usable by wavelink

Exemple:

ElgatoWavePy.DumpOutputs() # This will return a Json with all the outputs

DumpConfigs

How to use:

ElgatoWavePy.DumpConfigs(websocket, port) # This will dump the config of your local and stream mixer.

Exemple:

ElgatoWavePy.DumpOutputs() # This will return a JSON with all the outputs.

results:

{'id': 1, 'result': {'localMixer': [False, 100], 'streamMixer': [False, 100]}}
  • 'localMixer' -> Monitoring Mix
  • '[False, 100]' :
    • 'False' -> if it's on true then it mean that the mixer is muted
    • '100' -> the current level of the mixer

And, That's it for now :)

Clone this wiki locally