Changelog
splayerapi-v5
v.323
- New API:
set_device_infoadded to the end ofsplayer_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 beforecreate_with_options; both strings are copied. Required for certification, see the Requirements page for the format.vendor_device_nameis no longer used to identify the model and can hold a user-facing name. - Deprecation:
createandcreate_with_log_handlerinsplayerapi-5.hare deprecated. Usecreate_with_optionsinstead: it takes the samesplayer_config_t, and the log handler can be set on the options object withset_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:
seekadded tosplayer_controls_api-3.h. Seeks to a position, in milliseconds, within the currently playing track. The seek is applied asynchronously, so a return value of0means the request was accepted; read the new position back withget_current_track_position. Negative positions are rejected.
v.319
- New API:
get_current_source&free_sourceadded to the end ofsplayer_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 existingget_source_id,get_source_name,get_source_typeandget_source_image_urigetters. 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.candexample_troubles.c, and the example updatercurl_update.c, have been removed in favour of the reference app. The audio output implementations, the mock libraries andwebserver.pyremain insrc/. - New API:
unpair_syncadded tosplayer_auth_api-1.h. Unpairs the player and waits untilget_auth_statusreturnsSPLAYER_AUTH_STATUS_NOT_PAIRED, so the player can be paired again directly afterwards. Likeunpair, it is safe to call on a player that is not paired, and returns0in that case.unpairis a deferred request and pairing immediately after it can fail withT_FAIL_ALREADY_PAIRED.
v.293
- New API: Added
splayer_library_api-1for 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 viafetch_library(), with a synchronous helperfetch_library_sync()for simpler integrations.
v.290
- API Behaviour:
get_pairing_resultfromsplayer_auth_api-1.hnow returns a result withsuccess=1anddevice_idwhen the device is already paired from a previous session (e.g. after a restart). Previously it would returnNULLin this state.
v.287
- New API: splayer options API
splayer_options_api-1to allow specifying additional configuration when creating ansplayer_tinstance while preserving ABI compatibility. - New Functionality: An option to start a player in a paused state via the new API, call
set_initially_pausedon the options object to start the instance paused. (Players remain unpaused by default.) - Updated Example
example_auth.chas been updated to demonstrate the new API usage.
v.266
- New API:
console_log_callbackadded tosplayerapi-5.hto allow setting a custom log callback function for SDK console logs. Needs to be used with the new APIcreate_with_log_handleradded tosplayerapi-5.hto create ansplayer_tinstance with a custom log handler.example_metadata.chas 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_iterationhas been deprecated. Instead, useshould_exitto poll if the application should exit or not. - Updated Examples: All examples have been updated to remove the use of
loop_iterationand instead useshould_exit.
v.253
- New Enum:
splayer_auth_status_tadded tosplayer_auth_api-1.hto provide the last known authentication status of the player. - Deprecation:
is_pairedfunction has been deprecated. It is replaced with a new apiget_auth_status()which provides the last known authentication status.
v.218
- New Struct:
splayer_soundzone_tinsplayer_auth_api-1.hhas been added, containing information regarding a sound zone name and ID. - New API:
get_soundzone&free_soundzoneadded insplayer_auth_api-1.hto return the soundzone information of the player and free the result. - New API:
unpairinsplayer_auth_api-1.hadded to unpair player from currently paired sounzone.
v.213
- New Function:
splayer_pair_with_code_syncadded tosplayer_auth_api-1.h. This is a convenience function that combinesinitiate_pair_with_codeandget_pairing_resultuntil 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.hand 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
splayerapiv4 to v5. The old version v4 will no longer receive major updates.