Skip to main content

Crate moosicbox_tidal

Crate moosicbox_tidal 

Source
Expand description

Tidal music streaming service integration.

This crate provides a Rust client for interacting with the Tidal music streaming API. It implements the MusicApi trait to enable fetching artists, albums, tracks, and search results from Tidal, as well as managing user favorites.

§Features

  • OAuth 2.0 device authorization flow for authentication
  • Fetch and manage favorite artists, albums, and tracks
  • Search for music content across Tidal’s catalog
  • Retrieve track playback URLs and metadata
  • Support for different audio quality levels (High, Lossless, Hi-Res Lossless)
  • Optional database persistence for authentication tokens

§Examples

use moosicbox_tidal::TidalMusicApi;

let api = TidalMusicApi::builder()
    .with_db(db)
    .build()
    .await?;

Modules§

api
HTTP API endpoints for Tidal integration.
db
Database operations for persisting Tidal authentication credentials.
models
Tidal API data models and type conversions.

Macros§

tidal_api_endpoint
Constructs Tidal API endpoint URLs with optional parameters and query strings.

Structs§

TidalMusicApi
Implementation of the MusicApi trait for Tidal streaming service.
TidalMusicApiBuilder
Builder for configuring and constructing a TidalMusicApi instance.
TidalTrackPlaybackInfo
Playback information for a Tidal track including audio metadata.
TryFromAlbumTypeError
Error returned when converting an unsupported album type to TidalAlbumType.

Enums§

Error
Errors that can occur when interacting with the Tidal API.
SearchType
Content types that can be searched on Tidal.
TidalAlbumOrder
Order field for album queries.
TidalAlbumOrderDirection
Sort direction for album queries.
TidalAlbumType
Album type classification in Tidal.
TidalArtistOrder
Order field for artist queries.
TidalArtistOrderDirection
Sort direction for artist queries.
TidalAudioQuality
Audio quality levels supported by Tidal.
TidalConfigError
Errors that can occur when configuring the Tidal API client.
TidalDeviceType
Device type for Tidal API requests.
TidalSearchType
Tidal-specific search type identifiers.
TidalTrackOrder
Order field for track queries.
TidalTrackOrderDirection
Sort direction for track queries.

Statics§

API_SOURCE
The API source identifier for Tidal.

Functions§

add_favorite_album
Adds an album to the user’s favorites on Tidal.
add_favorite_artist
Adds an artist to the user’s favorites on Tidal.
add_favorite_track
Adds a track to the user’s favorites on Tidal.
album
Retrieves album metadata from Tidal by album ID.
album_tracks
Fetches tracks from an album on Tidal.
all_favorite_albums
Retrieves all favorite albums from Tidal by paginating through results.
artist
Retrieves artist metadata from Tidal by artist ID.
artist_albums
Fetches albums by an artist from Tidal.
device_authorization
Initiates the OAuth 2.0 device authorization flow for Tidal.
device_authorization_token
Exchanges a device code for an access token in the OAuth 2.0 flow.
favorite_albums
Fetches the user’s favorite albums from Tidal.
favorite_artists
Fetches the user’s favorite artists from Tidal.
favorite_tracks
Fetches the user’s favorite tracks from Tidal.
remove_favorite_album
Removes an album from the user’s favorites on Tidal.
remove_favorite_artist
Removes an artist from the user’s favorites on Tidal.
remove_favorite_track
Removes a track from the user’s favorites on Tidal.
search
Searches for content on Tidal by query string and content types.
track
Retrieves track metadata from Tidal by track ID.
track_file_url
Retrieves the playback URLs for a track at the specified audio quality.
track_playback_info
Retrieves detailed playback information for a track including audio metadata.