Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
59 changes: 30 additions & 29 deletions SteelSeriesAPI.Sample/Program.cs
Original file line number Diff line number Diff line change
Expand Up @@ -18,42 +18,43 @@ static void Main(string[] args)
// If I want to detect changes made on GG, I can use the listener (require admin rights)
sonarManager.StartListener();
// Then I register the events I want (I've put them all to demonstrate)
sonarManager.EventManager.OnSonarModeChange += OnModeChangeHandler; // When the mode is change
sonarManager.EventManager.OnSonarVolumeChange += OnVolumeChangeHandler; // When the volume of a Sonar Channel or Mix is changed
sonarManager.EventManager.OnSonarMuteChange += OnMuteChangeHandler; // When a Sonar Channel or Mix is muted or unmuted
sonarManager.EventManager.OnSonarConfigChange += OnConfigChangeHandler; // When a new config is set to a Sonar Channel
sonarManager.EventManager.OnSonarChatMixChange += OnChatMixChangeHandler; // When the ChatMix value is changed
sonarManager.EventManager.OnSonarRedirectionDeviceChange += OnRedirectionDeviceChangeHandler; // When the Redirection Channel of a Sonar Channel is changed
sonarManager.EventManager.OnSonarRedirectionStateChange += OnRedirectionStateChangeHandler; // When the Redirection of a Sonar Mix is muted or unmuted
sonarManager.EventManager.OnSonarAudienceMonitoringChange += OnAudienceMonitoringChangeHandler; // When the Audience Monitoring is muted or unmuted
sonarManager.Event.OnSonarModeChange += OnModeChangeHandler; // When the mode is change
sonarManager.Event.OnSonarVolumeChange += OnVolumeChangeHandler; // When the volume of a Sonar Channel or Mix is changed
sonarManager.Event.OnSonarMuteChange += OnMuteChangeHandler; // When a Sonar Channel or Mix is muted or unmuted
sonarManager.Event.OnSonarConfigChange += OnConfigChangeHandler; // When a new config is set to a Sonar Channel
sonarManager.Event.OnSonarChatMixChange += OnChatMixChangeHandler; // When the ChatMix value is changed
sonarManager.Event.OnSonarRedirectionDeviceChange += OnRedirectionDeviceChangeHandler; // When the Redirection Channel of a Sonar Channel is changed
sonarManager.Event.OnSonarRedirectionStateChange += OnRedirectionStateChangeHandler; // When the Redirection of a Sonar Mix is muted or unmuted
sonarManager.Event.OnSonarAudienceMonitoringChange += OnAudienceMonitoringChangeHandler; // When the Audience Monitoring is muted or unmuted

// Get current sonar mode
Mode mode = sonarManager.GetMode();
// Change sonar mode to Streamer
sonarManager.SetMode(Mode.STREAMER);

// Get current volume of a Sonar Channel
double vol = sonarManager.GetVolume(Channel.MEDIA);
double vol = sonarManager.VolumeSettings.GetVolume(Channel.MEDIA);
// Get current volume of a Sonar Mix
double vol2 = sonarManager.GetVolume(Channel.CHAT, Mix.STREAM);
double vol2 = sonarManager.VolumeSettings.GetVolume(Channel.CHAT, Mix.STREAM);
// Set the volume of a Sonar Channel
sonarManager.SetVolume(0.75, Channel.GAME);
sonarManager.VolumeSettings.SetVolume(0.75, Channel.GAME);
// Set the volume of a Sonar Mix
sonarManager.SetVolume(0.1, Channel.MEDIA, Mix.MONITORING);
sonarManager.VolumeSettings.SetVolume(0.1, Channel.MEDIA, Mix.MONITORING);

// Get the current mute state of a Sonar Channel
bool state = sonarManager.GetMute(Channel.CHAT);
bool state2 = sonarManager.GetMute(Channel.MASTER, Mix.MONITORING);
bool state = sonarManager.VolumeSettings.GetMute(Channel.CHAT);
bool state2 = sonarManager.VolumeSettings.GetMute(Channel.MASTER, Mix.MONITORING);
// Set the current mute state of a Sonar Channel
sonarManager.SetMute(true, Channel.CHAT); // Mute chat
sonarManager.VolumeSettings.SetMute(true, Channel.CHAT); // Mute chat

// Get audio configs
List<SonarAudioConfiguration> allConfigs = sonarManager.GetAllAudioConfigurations().ToList(); // Return all configs (A SonarAudioConfiguration contains an Id, a Name and an AssociatedChannel)
List<SonarAudioConfiguration> mediaConfigs = sonarManager.GetAudioConfigurations(Channel.MEDIA).ToList(); // Return all configs of a Sonar Channel
SonarAudioConfiguration currentConfig = sonarManager.GetSelectedAudioConfiguration(Channel.MEDIA); // Return the currently used config of a Sonar Channel
List<SonarAudioConfiguration> allConfigs = sonarManager.Configurations.GetAllAudioConfigurations().ToList(); // Return all configs (A SonarAudioConfiguration contains an Id, a Name and an AssociatedChannel)
List<SonarAudioConfiguration> mediaConfigs = sonarManager.Configurations.GetAudioConfigurations(Channel.MEDIA).ToList(); // Return all configs of a Sonar Channel
SonarAudioConfiguration currentConfig = sonarManager.Configurations.GetSelectedAudioConfiguration(Channel.MEDIA); // Return the currently used config of a Sonar Channel
// Set the config of a Sonar Channel
sonarManager.SetConfig(Channel.MEDIA, "Podcast"); // Using its name
sonarManager.SetConfig(currentConfig.Id); // Using its id (no need to precise which Sonar Channel, one id goes to one Sonar Channel)
sonarManager.Configurations.SetConfigByName(Channel.MEDIA, "Podcast"); // Using its name
sonarManager.Configurations.SetConfig(currentConfig.Id); // Using its id (no need to precise which Sonar Channel, one id goes to one Sonar Channel)
sonarManager.Configurations.SetConfig(currentConfig); // Or you can just directly give the config

// Get ChatMix info
double chatMixBalance = sonarManager.GetChatMixBalance(); // The ChatMix value between -1 and 1
Expand All @@ -62,16 +63,16 @@ static void Main(string[] args)
sonarManager.SetChatMixBalance(0.5); // 0.5 is halfway to Chat

// Get playback devices (Windows devices)
List<PlaybackDevice> inputDevices = sonarManager.GetPlaybackDevices(DataFlow.INPUT).ToList(); // Input devices (Mics...)
sonarManager.GetPlaybackDevices(DataFlow.OUTPUT); // Output devices (headset, speakers...)
sonarManager.GetPlaybackDeviceFromId("{0.0.0.00000000}.{192b4f5b-9cc1-4eb2-b752-c5e15b99d548}"); // Get a redirection channel from its id
PlaybackDevice gameRDevice = sonarManager.GetClassicPlaybackDevice(Channel.GAME); // Give currently used Redirection Channel for classic mode
sonarManager.GetStreamPlaybackDevice(Mix.MONITORING); // Give currently used Redirection Channel for Streamer mode
sonarManager.GetStreamPlaybackDevice(Channel.MIC); // Give currently used Redirection Channel for Mic in streamer mode
List<PlaybackDevice> inputDevices = sonarManager.PlaybackDevices.GetPlaybackDevices(DataFlow.INPUT).ToList(); // Input devices (Mics...)
sonarManager.PlaybackDevices.GetPlaybackDevices(DataFlow.OUTPUT); // Output devices (headset, speakers...)
sonarManager.PlaybackDevices.GetPlaybackDevice("{0.0.0.00000000}.{192b4f5b-9cc1-4eb2-b752-c5e15b99d548}"); // Get a redirection channel from its id
PlaybackDevice gameRDevice = sonarManager.PlaybackDevices.GetClassicPlaybackDevice(Channel.GAME); // Give currently used Redirection Channel for classic mode
sonarManager.PlaybackDevices.GetStreamerPlaybackDevice(Mix.MONITORING); // Give currently used Redirection Channel for Streamer mode
sonarManager.PlaybackDevices.GetStreamerPlaybackDevice(Channel.MIC); // Give currently used Redirection Channel for Mic in streamer mode
// Change playback devices using their id
sonarManager.SetClassicPlaybackDevice(gameRDevice.Id, Channel.GAME);
sonarManager.SetStreamPlaybackDevice(gameRDevice.Id, Mix.MONITORING);
sonarManager.SetStreamPlaybackDevice(inputDevices[0].Id, Channel.MIC);
sonarManager.PlaybackDevices.SetClassicPlaybackDevice(gameRDevice.Id, Channel.GAME);
sonarManager.PlaybackDevices.SetStreamerPlaybackDevice(gameRDevice.Id, Mix.MONITORING);
sonarManager.PlaybackDevices.SetStreamerPlaybackDevice(inputDevices[0].Id, Channel.MIC);

// Get the redirections states
sonarManager.GetRedirectionState(Channel.MEDIA, Mix.MONITORING);
Expand Down
Loading