-
Notifications
You must be signed in to change notification settings - Fork 0
Available Commands
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 How to use:
ElgatoWavePy.SetVolumeLocal(volume, websocket, port) # Sets the Local Volume to the specified integer, maximum is 100Exemple :
ElgatoWavePy.SetVolumeLocal(50) # Sets the Local Volume to 50%How to use:
ElgatoWavePy.SetVolumeStream(volume, websocket, port) # Sets the Stream Volume to the specified integer, maximum is 100Exemple :
ElgatoWavePy.SetVolumeStream(50) # Sets the Stream Volume to 50%How to use:
ElgatoWavePy.SetOutput(identifier, name, websocket, port) # This command sets your Local Output to the device specified by the identifier and nameExemple:
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 TVHow 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.
How to use:
ElgatoWavePy.SetMuteOutput(state, mixer_id, websocket, port) # This will mute the mixer you choose, either local or streamExemple:
ElgatoWavePy.SetMuteOutput(True, "local") # This will mute the monitoring mixHow to use:
ElgatoWavePy.SetMuteInput(state, input_id,mixer_id, websocket, port) # This will mute the input you choose on the specified mixerExemple:
ElgatoWavePy.SetMuteinput(True, "Music", "local") # This will mute the Music input on the monitoring mixIf 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.
How to use:
ElgatoWavePy.DumpOutputs(websocket, port) # This will dump you the available outputs usable by wavelinkExemple:
ElgatoWavePy.DumpOutputs() # This will return a Json with all the outputsHow 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