Skip to main content

Simple Python wrapper for the SteelSeries Sonar API

Project description

SteelSeries Sonar Python API

publish

Overview

This Python package provides a convenient interface for interacting with the SteelSeries Sonar application API. The Sonar application allows users to control and display volumes for various audio channels. You can check the project PyPI site here!

Installation

To use this package, follow these steps:

  1. Install the package using pip:

    pip install steelseries-sonar-py
    
  2. Import the Sonar class in your Python script or application:

    from steelseries_sonar_py import Sonar
    

Usage

Initializing the Sonar Object

The Sonar class accepts two optional parameters during initialization: streamer_mode: Set to True to use streamer mode (default is False). app_data_path: Specify a custom path for the SteelSeries Engine 3 coreProps.json file (default is the default installation path: C:\\ProgramData\\SteelSeries\\SteelSeries Engine 3\\coreProps.json).

sonar = Sonar(streamer_mode=True, app_data_path="C:\\path\\to\\coreProps.json")

Retrieving Volume Information

Retrieve information about the current volume settings for all channels:

volume_data = sonar.get_volume_data()
print(volume_data)

Setting Volume for a Channel

Set the volume for a specific channel. The channel parameter should be one of the following: "master", "game", "chatRender", "media", "aux", "chatCapture". The volume parameter should be a float between 0 and 1:

channel = "master"
volume = 0.75

result = sonar.set_volume(channel, volume)
print(result)

Muting/Unmuting a Channel

Toggle mute status for a specific channel. The channel parameter should be one of the following: master, game, chatRender, media, aux, chatCapture. The muted parameter should be a boolean indicating whether to mute (True) or unmute (False) the channel:

channel = "game"
muted = `True`

result = sonar.mute_channel(channel, muted)
print(result)

Exceptions

The package introduces a set of exceptions that might be raised during usage. It is advisable to handle these exceptions accordingly in your code. You can import them from steelseries_sonar_py.exceptions. Here is the list of potential exceptions:

  • EnginePathNotFoundError: Raised when SteelSeries Engine 3 is not installed or not in the default location.
  • ServerNotAccessibleError: Raised when the SteelSeries server is not accessible. Provides the HTTP status code.
  • SonarNotEnabledError: Raised when SteelSeries Sonar is not enabled.
  • ServerNotReadyError: Raised when SteelSeries Sonar is not ready.
  • ServerNotRunningError: Raised when SteelSeries Sonar is not running.
  • WebServerAddressNotFoundError: Raised when the web server address is not found.
  • ChannelNotFoundError: Raised when the specified channel is not found.
  • InvalidVolumeError: Raised when an invalid volume value is provided.

Example

Here is a complete example demonstrating the usage of the SteelSeries Sonar Python API:

from steelseries_sonar_py import Sonar
from steelseries_sonar_py.exceptions import EnginePathNotFoundError

# Initialize Sonar object
try:
    sonar = Sonar(streamer_mode=False, app_data_path="C:\\path\\to\\coreProps.json")
except EnginePathNotFoundError:
    print("Engine not found!")
    quit()

# Retrieve volume data
volume_data = sonar.get_volume_data()
print("Volume Data:", volume_data)

# Set volume for the 'master' channel
channel = "master"
volume = 0.8
result = sonar.set_volume(channel, volume)
print(f"Set volume for {channel}:", result)

# Mute the 'game' channel
channel = "game"
muted = `True`
result = sonar.mute_channel(channel, muted)
print(f"Mute {channel}:", result)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

steelseries-sonar-py-1.0.1.tar.gz (8.0 kB view details)

Uploaded Source

Built Distribution

steelseries_sonar_py-1.0.1-py3-none-any.whl (5.6 kB view details)

Uploaded Python 3

File details

Details for the file steelseries-sonar-py-1.0.1.tar.gz.

File metadata

  • Download URL: steelseries-sonar-py-1.0.1.tar.gz
  • Upload date:
  • Size: 8.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.7

File hashes

Hashes for steelseries-sonar-py-1.0.1.tar.gz
Algorithm Hash digest
SHA256 b0f7566f750766ab952338c2c4d2eb2c764dc66812a3049f553e88d33d02eef5
MD5 d54a6d7f9148bed0c1d722c77b24c241
BLAKE2b-256 872548ad03cc4fc60f48308ac6c8e3bbc6cf558b9b4c5e727447efe4d416838c

See more details on using hashes here.

File details

Details for the file steelseries_sonar_py-1.0.1-py3-none-any.whl.

File metadata

File hashes

Hashes for steelseries_sonar_py-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 2820f919b34809d5df63ee073dec4e07d0ef4cb28a17c0ffc83847b3e4e88102
MD5 b687187a06e5812cb364383fc6faa431
BLAKE2b-256 473fa3d90ddfe7ebdc913469fbec7c4b554bc9385f79381e46420cc1cbb246e0

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page