Skip to content

Changelog

splayerapi-v5

v.323

  • New API: set_device_info added to the end of splayer_options_api-1.h. Sets the brand and model of the hardware, which Soundtrack uses to tell products apart. Set it on the options object before create_with_options; both strings are copied. Required for certification, see the Requirements page for the format. vendor_device_name is no longer used to identify the model and can hold a user-facing name.
  • Deprecation: create and create_with_log_handler in splayerapi-5.h are deprecated. Use create_with_options instead: it takes the same splayer_config_t, and the log handler can be set on the options object with set_log_handler. Builds for new integrations fail in both deprecated functions, since the device brand and model can only be set through the options object.

v.321

  • New API: seek added to splayer_controls_api-3.h. Seeks to a position, in milliseconds, within the currently playing track. The seek is applied asynchronously, so a return value of 0 means the request was accepted; read the new position back with get_current_track_position. Negative positions are rejected.

v.319

  • New API: get_current_source & free_source added to the end of splayer_library_api-1.h. Returns the music source (playlist or schedule) currently assigned to the sound zone, so its name and image can be displayed without fetching the library. Read it with the existing get_source_id, get_source_name, get_source_type and get_source_image_uri getters. When a schedule is assigned, the schedule is returned rather than the playlist it is currently playing.

v.318

  • Reference App: The SDK package now includes a reference app in reference-app/, a complete player with a web UI that shows how we use every part of the SDK. It includes an automatic updater you can use in your own player.
  • Removed Examples: The standalone examples example_auth.c, example_curl.c, example_dlopen.c, example_metadata.c and example_troubles.c, and the example updater curl_update.c, have been removed in favour of the reference app. The audio output implementations, the mock libraries and webserver.py remain in src/.
  • New API: unpair_sync added to splayer_auth_api-1.h. Unpairs the player and waits until get_auth_status returns SPLAYER_AUTH_STATUS_NOT_PAIRED, so the player can be paired again directly afterwards. Like unpair, it is safe to call on a player that is not paired, and returns 0 in that case. unpair is a deferred request and pairing immediately after it can fail with T_FAIL_ALREADY_PAIRED.

v.293

  • New API: Added splayer_library_api-1 for accessing a user's Music Library, supporting pagination and playback of specific sources (e.g., schedule or playlist) to a soundzone. Library fetching is primarily asynchronous via fetch_library(), with a synchronous helper fetch_library_sync() for simpler integrations.

v.290

  • API Behaviour: get_pairing_result from splayer_auth_api-1.h now returns a result with success=1 and device_id when the device is already paired from a previous session (e.g. after a restart). Previously it would return NULL in this state.

v.287

  • New API: splayer options API splayer_options_api-1 to allow specifying additional configuration when creating an splayer_t instance while preserving ABI compatibility.
  • New Functionality: An option to start a player in a paused state via the new API, call set_initially_paused on the options object to start the instance paused. (Players remain unpaused by default.)
  • Updated Example example_auth.c has been updated to demonstrate the new API usage.

v.266

  • New API: console_log_callback added to splayerapi-5.h to allow setting a custom log callback function for SDK console logs. Needs to be used with the new API create_with_log_handler added to splayerapi-5.h to create an splayer_t instance with a custom log handler. example_metadata.c has been updated to demonstrate its usage.
  • Updated ALSA Example: The ALSA example has been updated to easier follow along and demonstrate how to properly set up sound output with best practices.

v.260

  • Deprecation: loop_iteration has been deprecated. Instead, use should_exit to poll if the application should exit or not.
  • Updated Examples: All examples have been updated to remove the use of loop_iteration and instead use should_exit.

v.253

  • New Enum: splayer_auth_status_t added to splayer_auth_api-1.h to provide the last known authentication status of the player.
  • Deprecation: is_paired function has been deprecated. It is replaced with a new api get_auth_status() which provides the last known authentication status.

v.218

  • New Struct: splayer_soundzone_t in splayer_auth_api-1.h has been added, containing information regarding a sound zone name and ID.
  • New API: get_soundzone & free_soundzone added in splayer_auth_api-1.h to return the soundzone information of the player and free the result.
  • New API: unpair in splayer_auth_api-1.h added to unpair player from currently paired sounzone.

v.213

  • New Function: splayer_pair_with_code_sync added to splayer_auth_api-1.h. This is a convenience function that combines initiate_pair_with_code and get_pairing_result until a result is available.
  • Breaking change: Hard pairing has been removed from the API. From this version onwards, only soft pairing is supported. For details, please refer to splayer_auth_api-1.h and our pairing page.
  • Example Added: An interactive web pairing example has been added to example_auth.c.

v.163

  • SDK Version Update: Version update from splayerapi v4 to v5. The old version v4 will no longer receive major updates.