Wave Link script functions¶
Functions for C# (Cb.Call) and Python (cb.call). See Script functions for how to use them.
wavelink.addAppToChannel¶
Sends an app's sound to a Wave Link channel, like putting Spotify on the Music channel. Only for Wave Link 3. Fails with an error when Wave Link is not connected.
| Value | What to put in |
|---|---|
channel |
The channel, by name or id, like "Music" or "Game". |
app |
Optional. The app, by name or id, like "Spotify". Leave it empty for the app that is in front right now. |
Gives back: The name of the app that was moved.
var answer = await Cb.Call("wavelink.addAppToChannel", new { channel = "Music", app = "Spotify" });
answer = cb.call("wavelink.addAppToChannel", channel="Music", app="Spotify")
wavelink.addOutputToMix¶
Plays a Wave Link mix on an output device. Only for Wave Link 3. Fails with an error when Wave Link is not connected.
| Value | What to put in |
|---|---|
device |
The output device, by name or id, like "Headphones". |
mix |
The mix, by name or id, like "Stream Mix" or "Monitor Mix". |
Gives back: true when done.
var answer = await Cb.Call("wavelink.addOutputToMix", new { device = "Speakers", mix = "Monitor Mix" });
answer = cb.call("wavelink.addOutputToMix", device="Speakers", mix="Monitor Mix")
wavelink.connect¶
Looks for Wave Link and starts connecting. It does not wait: Cuebot keeps trying in the background. Wave Link only runs on Windows and macOS.
Gives back: true when Wave Link can run on this computer (connecting has started), false when it cannot (for example on Linux).
var answer = await Cb.Call("wavelink.connect");
answer = cb.call("wavelink.connect")
wavelink.disconnect¶
Disconnects Cuebot from Wave Link.
Gives back: true when done.
var answer = await Cb.Call("wavelink.disconnect");
answer = cb.call("wavelink.disconnect")
wavelink.getChannels¶
Lists your Wave Link channels (in Wave Link 1.x/2.x: inputs) and how they are set.
Gives back: A list of channels. Each has id, name, type, muted, volume, mixes (mute, volume and filterBypassed per mix), effects (name, enabled) and apps.
var answer = await Cb.Call("wavelink.getChannels");
answer = cb.call("wavelink.getChannels")
wavelink.getInputDevices¶
Lists your Wave Link input devices (in Wave Link 1.x/2.x: microphones) and their settings.
Gives back: A list of devices. Each has id, name, type and inputs (muted, gain, gainDb, gainLocked, micPcMix, lowCut, clipGuard).
var answer = await Cb.Call("wavelink.getInputDevices");
answer = cb.call("wavelink.getInputDevices")
wavelink.getMixes¶
Lists your Wave Link mixes, like Stream Mix and Monitor Mix.
Gives back: A list of mixes. Each has id, name, muted and volume.
var answer = await Cb.Call("wavelink.getMixes");
answer = cb.call("wavelink.getMixes")
wavelink.getOutputDevices¶
Lists your Wave Link output devices, like headphones and speakers.
Gives back: main (the main output's name), monitoredMix (the mix you hear) and devices (each with id, name and outputs: muted, volume, mixId).
var answer = await Cb.Call("wavelink.getOutputDevices");
answer = cb.call("wavelink.getOutputDevices")
wavelink.getStatus¶
Tells you about the Wave Link connection and what Cuebot found in it.
Gives back: isConnected, isAvailable, status (a status line), api ("3" for Wave Link 3, "legacy" for 1.x/2.x), port, interfaceRevision and how many channels, mixes, inputDevices and outputDevices there are.
var answer = await Cb.Call("wavelink.getStatus");
answer = cb.call("wavelink.getStatus")
wavelink.isConnected¶
Checks whether Cuebot is connected to Elgato Wave Link right now.
Gives back: true while connected, otherwise false.
var answer = await Cb.Call("wavelink.isConnected");
answer = cb.call("wavelink.isConnected")
wavelink.setChannelEffect¶
Turns an effect on a Wave Link channel on or off (in Wave Link 1.x/2.x: an input filter). Fails with an error when Wave Link is not connected.
| Value | What to put in |
|---|---|
channel |
The channel, by name or id, like "Music" or "Game". |
effect |
The effect or filter, by name or id, like "Noise Gate". |
state |
Optional. "Enabled", "Disabled" or "Toggle" (switch). Default "Toggle". |
Gives back: The new state: true for on, false for off.
var answer = await Cb.Call("wavelink.setChannelEffect", new { channel = "Microphone", effect = "Noise Gate", state = "Enabled" });
answer = cb.call("wavelink.setChannelEffect", channel="Microphone", effect="Noise Gate", state="Enabled")
wavelink.setChannelMute¶
Mutes or unmutes a Wave Link channel. Fails with an error when Wave Link is not connected.
| Value | What to put in |
|---|---|
channel |
The channel, by name or id, like "Music" or "Game". |
mix |
Optional. Only in this mix, like "Stream Mix". Leave it empty for the whole channel (Wave Link 1.x/2.x: both mixes). |
state |
Optional. "Muted", "NotMuted" or "Toggle" (switch). Default "Toggle". |
Gives back: The new state: true when muted, false when not.
var answer = await Cb.Call("wavelink.setChannelMute", new { channel = "Music", mix = "Stream Mix", state = "Muted" });
answer = cb.call("wavelink.setChannelMute", channel="Music", mix="Stream Mix", state="Muted")
wavelink.setChannelVolume¶
Changes the volume of a Wave Link channel. Fails with an error when Wave Link is not connected.
| Value | What to put in |
|---|---|
channel |
The channel, by name or id, like "Music" or "Game". |
volume |
The volume in percent, 0-100, like 50. |
mix |
Optional. Only in this mix, like "Stream Mix". Leave it empty for the channel itself. |
relative |
Optional. true adds the number to the current value instead (use a minus number to go down). Default false. |
Gives back: The new volume.
var answer = await Cb.Call("wavelink.setChannelVolume", new { channel = "Music", volume = 30 });
answer = cb.call("wavelink.setChannelVolume", channel="Music", volume=30)
wavelink.setFilterBypass¶
Skips (bypasses) all filters on a Wave Link input, or turns them back on. Only for Wave Link 1.x/2.x. Fails with an error when Wave Link is not connected.
| Value | What to put in |
|---|---|
channel |
The channel, by name or id, like "Music" or "Game". |
mix |
Optional. Only in this mix, like "Stream Mix". Leave it empty for both mixes. |
state |
Optional. "Bypassed", "NotBypassed" or "Toggle" (switch). Default "Toggle". |
Gives back: The new state: true when the filters are skipped, false when they work.
var answer = await Cb.Call("wavelink.setFilterBypass", new { channel = "Microphone", state = "Bypassed" });
answer = cb.call("wavelink.setFilterBypass", channel="Microphone", state="Bypassed")
wavelink.setInputClipGuard¶
Turns Clipguard (it stops your mic from distorting when you get loud) of a Wave Link input on or off. Fails with an error when Wave Link is not connected.
| Value | What to put in |
|---|---|
device |
The input device or microphone, by name or id, like "Wave:3". |
state |
Optional. "On", "Off" or "Toggle" (switch). Default "Toggle". |
Gives back: The new state: true for on, false for off.
var answer = await Cb.Call("wavelink.setInputClipGuard", new { device = "Wave:3", state = "On" });
answer = cb.call("wavelink.setInputClipGuard", device="Wave:3", state="On")
wavelink.setInputGain¶
Changes the gain (how loud the mic picks you up) of a Wave Link input. Fails with an error when Wave Link is not connected.
| Value | What to put in |
|---|---|
device |
The input device or microphone, by name or id, like "Wave:3". |
gain |
The gain. Wave Link 3: 0-100 percent. Wave Link 1.x/2.x: the microphone's own gain number. |
relative |
Optional. true adds the number to the current value instead (use a minus number to go down). Default false. |
Gives back: The new gain.
var answer = await Cb.Call("wavelink.setInputGain", new { device = "Wave:3", gain = 60 });
answer = cb.call("wavelink.setInputGain", device="Wave:3", gain=60)
wavelink.setInputLowCut¶
Turns the low cut filter (it removes deep rumble) of a Wave Link input on or off. Fails with an error when Wave Link is not connected.
| Value | What to put in |
|---|---|
device |
The input device or microphone, by name or id, like "Wave:3". |
state |
Optional. "On", "Off" or "Toggle" (switch). Default "Toggle". |
Gives back: The new state: true for on, false for off.
var answer = await Cb.Call("wavelink.setInputLowCut", new { device = "Wave:3", state = "On" });
answer = cb.call("wavelink.setInputLowCut", device="Wave:3", state="On")
wavelink.setInputMute¶
Mutes or unmutes a Wave Link input device, like your microphone. Fails with an error when Wave Link is not connected.
| Value | What to put in |
|---|---|
device |
The input device or microphone, by name or id, like "Wave:3". |
state |
Optional. "Muted", "NotMuted" or "Toggle" (switch). Default "Toggle". |
Gives back: The new state: true when muted, false when not.
var answer = await Cb.Call("wavelink.setInputMute", new { device = "Wave:3", state = "Muted" });
answer = cb.call("wavelink.setInputMute", device="Wave:3", state="Muted")
wavelink.setMainOutput¶
Picks the main output device in Wave Link: where you listen. Fails with an error when Wave Link is not connected.
| Value | What to put in |
|---|---|
device |
The output device, by name or id, like "Headphones". |
Gives back: The name of the new main output.
var answer = await Cb.Call("wavelink.setMainOutput", new { device = "Headphones" });
answer = cb.call("wavelink.setMainOutput", device="Headphones")
wavelink.setMicPcBalance¶
Changes the Mic/PC balance of a Wave Link input: how much of your mic versus your computer sound you hear. Fails with an error when Wave Link is not connected.
| Value | What to put in |
|---|---|
device |
The input device or microphone, by name or id, like "Wave:3". |
balance |
The balance, 0-100, like 50. |
relative |
Optional. true adds the number to the current value instead (use a minus number to go down). Default false. |
Gives back: The new balance.
var answer = await Cb.Call("wavelink.setMicPcBalance", new { device = "Wave:3", balance = 50 });
answer = cb.call("wavelink.setMicPcBalance", device="Wave:3", balance=50)
wavelink.setMixMute¶
Mutes or unmutes a whole Wave Link mix. Fails with an error when Wave Link is not connected.
| Value | What to put in |
|---|---|
mix |
The mix, by name or id, like "Stream Mix" or "Monitor Mix". |
state |
Optional. "Muted", "NotMuted" or "Toggle" (switch). Default "Toggle". |
Gives back: The new state: true when muted, false when not.
var answer = await Cb.Call("wavelink.setMixMute", new { mix = "Stream Mix", state = "Muted" });
answer = cb.call("wavelink.setMixMute", mix="Stream Mix", state="Muted")
wavelink.setMixVolume¶
Changes the volume of a whole Wave Link mix. Fails with an error when Wave Link is not connected.
| Value | What to put in |
|---|---|
mix |
The mix, by name or id, like "Stream Mix" or "Monitor Mix". |
volume |
The volume in percent, 0-100, like 80. |
relative |
Optional. true adds the number to the current value instead (use a minus number to go down). Default false. |
Gives back: The new volume.
var answer = await Cb.Call("wavelink.setMixVolume", new { mix = "Monitor Mix", volume = 80 });
answer = cb.call("wavelink.setMixVolume", mix="Monitor Mix", volume=80)
wavelink.setMonitoredMix¶
Picks which Wave Link mix you hear on your main output. Fails with an error when Wave Link is not connected.
| Value | What to put in |
|---|---|
mix |
The mix, by name or id, like "Stream Mix" or "Monitor Mix". |
Gives back: The name of the mix you hear now.
var answer = await Cb.Call("wavelink.setMonitoredMix", new { mix = "Stream Mix" });
answer = cb.call("wavelink.setMonitoredMix", mix="Stream Mix")
wavelink.setOutputVolume¶
Changes the volume of a Wave Link output device. Only for Wave Link 3. Fails with an error when Wave Link is not connected.
| Value | What to put in |
|---|---|
device |
The output device, by name or id, like "Headphones". |
volume |
The volume in percent, 0-100, like 70. |
relative |
Optional. true adds the number to the current value instead (use a minus number to go down). Default false. |
Gives back: The new volume.
var answer = await Cb.Call("wavelink.setOutputVolume", new { device = "Headphones", volume = 70 });
answer = cb.call("wavelink.setOutputVolume", device="Headphones", volume=70)
wavelink.switchMonitoring¶
Switches what you hear between Monitor Mix and Stream Mix. Only for Wave Link 1.x/2.x; Wave Link 3 fails with an error (use wavelink.setMonitoredMix). Fails with an error when Wave Link is not connected.
Gives back: The name of the mix you hear now.
var answer = await Cb.Call("wavelink.switchMonitoring");
answer = cb.call("wavelink.switchMonitoring")