pub trait MusicPlayer:
Send
+ Sync
+ 'static {
Show 87 methods
// Required methods
fn register_listener<'async_trait>(
self: Arc<Self>,
request: Request<RegisterListenerRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<()>, Status>> + Send + 'async_trait>>
where Self: 'async_trait;
fn ping<'async_trait>(
self: Arc<Self>,
request: Request<()>,
) -> Pin<Box<dyn Future<Output = Result<Response<PingResponse>, Status>> + Send + 'async_trait>>
where Self: 'async_trait;
fn daemon_shutdown<'async_trait>(
self: Arc<Self>,
request: Request<()>,
) -> Pin<Box<dyn Future<Output = Result<Response<()>, Status>> + Send + 'async_trait>>
where Self: 'async_trait;
fn library_rescan<'async_trait>(
self: Arc<Self>,
request: Request<()>,
) -> Pin<Box<dyn Future<Output = Result<Response<()>, Status>> + Send + 'async_trait>>
where Self: 'async_trait;
fn library_rescan_in_progress<'async_trait>(
self: Arc<Self>,
request: Request<()>,
) -> Pin<Box<dyn Future<Output = Result<Response<InProgressResponse>, Status>> + Send + 'async_trait>>
where Self: 'async_trait;
fn library_analyze<'async_trait>(
self: Arc<Self>,
request: Request<LibraryAnalyzeRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<()>, Status>> + Send + 'async_trait>>
where Self: 'async_trait;
fn library_analyze_in_progress<'async_trait>(
self: Arc<Self>,
request: Request<()>,
) -> Pin<Box<dyn Future<Output = Result<Response<InProgressResponse>, Status>> + Send + 'async_trait>>
where Self: 'async_trait;
fn library_recluster<'async_trait>(
self: Arc<Self>,
request: Request<()>,
) -> Pin<Box<dyn Future<Output = Result<Response<()>, Status>> + Send + 'async_trait>>
where Self: 'async_trait;
fn library_recluster_in_progress<'async_trait>(
self: Arc<Self>,
request: Request<()>,
) -> Pin<Box<dyn Future<Output = Result<Response<InProgressResponse>, Status>> + Send + 'async_trait>>
where Self: 'async_trait;
fn library_brief<'async_trait>(
self: Arc<Self>,
request: Request<()>,
) -> Pin<Box<dyn Future<Output = Result<Response<LibraryBriefResponse>, Status>> + Send + 'async_trait>>
where Self: 'async_trait;
fn library_full<'async_trait>(
self: Arc<Self>,
request: Request<()>,
) -> Pin<Box<dyn Future<Output = Result<Response<LibraryFullResponse>, Status>> + Send + 'async_trait>>
where Self: 'async_trait;
fn library_health<'async_trait>(
self: Arc<Self>,
request: Request<()>,
) -> Pin<Box<dyn Future<Output = Result<Response<LibraryHealthResponse>, Status>> + Send + 'async_trait>>
where Self: 'async_trait;
fn library_artists<'async_trait>(
self: Arc<Self>,
request: Request<()>,
) -> Pin<Box<dyn Future<Output = Result<Response<ArtistBriefList>, Status>> + Send + 'async_trait>>
where Self: 'async_trait;
fn library_albums<'async_trait>(
self: Arc<Self>,
request: Request<()>,
) -> Pin<Box<dyn Future<Output = Result<Response<AlbumBriefList>, Status>> + Send + 'async_trait>>
where Self: 'async_trait;
fn library_songs<'async_trait>(
self: Arc<Self>,
request: Request<()>,
) -> Pin<Box<dyn Future<Output = Result<Response<SongBriefList>, Status>> + Send + 'async_trait>>
where Self: 'async_trait;
fn library_playlists<'async_trait>(
self: Arc<Self>,
request: Request<()>,
) -> Pin<Box<dyn Future<Output = Result<Response<PlaylistList>, Status>> + Send + 'async_trait>>
where Self: 'async_trait;
fn library_collections<'async_trait>(
self: Arc<Self>,
request: Request<()>,
) -> Pin<Box<dyn Future<Output = Result<Response<CollectionList>, Status>> + Send + 'async_trait>>
where Self: 'async_trait;
fn library_dynamic_playlists<'async_trait>(
self: Arc<Self>,
request: Request<()>,
) -> Pin<Box<dyn Future<Output = Result<Response<DynamicPlaylistList>, Status>> + Send + 'async_trait>>
where Self: 'async_trait;
fn library_song_get<'async_trait>(
self: Arc<Self>,
request: Request<Ulid>,
) -> Pin<Box<dyn Future<Output = Result<Response<SongOption>, Status>> + Send + 'async_trait>>
where Self: 'async_trait;
fn library_song_get_by_path<'async_trait>(
self: Arc<Self>,
request: Request<Path>,
) -> Pin<Box<dyn Future<Output = Result<Response<SongOption>, Status>> + Send + 'async_trait>>
where Self: 'async_trait;
fn library_song_get_artists<'async_trait>(
self: Arc<Self>,
request: Request<Ulid>,
) -> Pin<Box<dyn Future<Output = Result<Response<ArtistBriefList>, Status>> + Send + 'async_trait>>
where Self: 'async_trait;
fn library_song_get_album<'async_trait>(
self: Arc<Self>,
request: Request<Ulid>,
) -> Pin<Box<dyn Future<Output = Result<Response<AlbumBriefOption>, Status>> + Send + 'async_trait>>
where Self: 'async_trait;
fn library_song_get_playlists<'async_trait>(
self: Arc<Self>,
request: Request<Ulid>,
) -> Pin<Box<dyn Future<Output = Result<Response<PlaylistList>, Status>> + Send + 'async_trait>>
where Self: 'async_trait;
fn library_song_get_collections<'async_trait>(
self: Arc<Self>,
request: Request<Ulid>,
) -> Pin<Box<dyn Future<Output = Result<Response<CollectionList>, Status>> + Send + 'async_trait>>
where Self: 'async_trait;
fn library_album_get<'async_trait>(
self: Arc<Self>,
request: Request<Ulid>,
) -> Pin<Box<dyn Future<Output = Result<Response<AlbumOption>, Status>> + Send + 'async_trait>>
where Self: 'async_trait;
fn library_album_get_artists<'async_trait>(
self: Arc<Self>,
request: Request<Ulid>,
) -> Pin<Box<dyn Future<Output = Result<Response<ArtistBriefList>, Status>> + Send + 'async_trait>>
where Self: 'async_trait;
fn library_album_get_songs<'async_trait>(
self: Arc<Self>,
request: Request<Ulid>,
) -> Pin<Box<dyn Future<Output = Result<Response<SongBriefList>, Status>> + Send + 'async_trait>>
where Self: 'async_trait;
fn library_artist_get<'async_trait>(
self: Arc<Self>,
request: Request<Ulid>,
) -> Pin<Box<dyn Future<Output = Result<Response<ArtistOption>, Status>> + Send + 'async_trait>>
where Self: 'async_trait;
fn library_artist_get_songs<'async_trait>(
self: Arc<Self>,
request: Request<Ulid>,
) -> Pin<Box<dyn Future<Output = Result<Response<SongBriefList>, Status>> + Send + 'async_trait>>
where Self: 'async_trait;
fn library_artist_get_albums<'async_trait>(
self: Arc<Self>,
request: Request<Ulid>,
) -> Pin<Box<dyn Future<Output = Result<Response<AlbumBriefList>, Status>> + Send + 'async_trait>>
where Self: 'async_trait;
fn library_playlist_get<'async_trait>(
self: Arc<Self>,
request: Request<Ulid>,
) -> Pin<Box<dyn Future<Output = Result<Response<PlaylistOption>, Status>> + Send + 'async_trait>>
where Self: 'async_trait;
fn library_playlist_get_by_name<'async_trait>(
self: Arc<Self>,
request: Request<PlaylistName>,
) -> Pin<Box<dyn Future<Output = Result<Response<PlaylistOption>, Status>> + Send + 'async_trait>>
where Self: 'async_trait;
fn library_playlist_get_songs<'async_trait>(
self: Arc<Self>,
request: Request<Ulid>,
) -> Pin<Box<dyn Future<Output = Result<Response<SongBriefList>, Status>> + Send + 'async_trait>>
where Self: 'async_trait;
fn library_collection_get<'async_trait>(
self: Arc<Self>,
request: Request<Ulid>,
) -> Pin<Box<dyn Future<Output = Result<Response<CollectionOption>, Status>> + Send + 'async_trait>>
where Self: 'async_trait;
fn library_collection_get_songs<'async_trait>(
self: Arc<Self>,
request: Request<Ulid>,
) -> Pin<Box<dyn Future<Output = Result<Response<SongBriefList>, Status>> + Send + 'async_trait>>
where Self: 'async_trait;
fn library_dynamic_playlist_get<'async_trait>(
self: Arc<Self>,
request: Request<Ulid>,
) -> Pin<Box<dyn Future<Output = Result<Response<DynamicPlaylistOption>, Status>> + Send + 'async_trait>>
where Self: 'async_trait;
fn library_dynamic_playlist_get_songs<'async_trait>(
self: Arc<Self>,
request: Request<Ulid>,
) -> Pin<Box<dyn Future<Output = Result<Response<SongBriefList>, Status>> + Send + 'async_trait>>
where Self: 'async_trait;
fn state_audio<'async_trait>(
self: Arc<Self>,
request: Request<()>,
) -> Pin<Box<dyn Future<Output = Result<Response<StateAudioResponse>, Status>> + Send + 'async_trait>>
where Self: 'async_trait;
fn current_artists<'async_trait>(
self: Arc<Self>,
request: Request<()>,
) -> Pin<Box<dyn Future<Output = Result<Response<ArtistBriefListOption>, Status>> + Send + 'async_trait>>
where Self: 'async_trait;
fn current_album<'async_trait>(
self: Arc<Self>,
request: Request<()>,
) -> Pin<Box<dyn Future<Output = Result<Response<AlbumBriefOption>, Status>> + Send + 'async_trait>>
where Self: 'async_trait;
fn current_song<'async_trait>(
self: Arc<Self>,
request: Request<()>,
) -> Pin<Box<dyn Future<Output = Result<Response<SongBriefOption>, Status>> + Send + 'async_trait>>
where Self: 'async_trait;
fn rand_artist<'async_trait>(
self: Arc<Self>,
request: Request<()>,
) -> Pin<Box<dyn Future<Output = Result<Response<ArtistBriefOption>, Status>> + Send + 'async_trait>>
where Self: 'async_trait;
fn rand_album<'async_trait>(
self: Arc<Self>,
request: Request<()>,
) -> Pin<Box<dyn Future<Output = Result<Response<AlbumBriefOption>, Status>> + Send + 'async_trait>>
where Self: 'async_trait;
fn rand_song<'async_trait>(
self: Arc<Self>,
request: Request<()>,
) -> Pin<Box<dyn Future<Output = Result<Response<SongBriefOption>, Status>> + Send + 'async_trait>>
where Self: 'async_trait;
fn search<'async_trait>(
self: Arc<Self>,
request: Request<SearchRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<SearchResult>, Status>> + Send + 'async_trait>>
where Self: 'async_trait;
fn search_artist<'async_trait>(
self: Arc<Self>,
request: Request<SearchRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<ArtistBriefList>, Status>> + Send + 'async_trait>>
where Self: 'async_trait;
fn search_album<'async_trait>(
self: Arc<Self>,
request: Request<SearchRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<AlbumBriefList>, Status>> + Send + 'async_trait>>
where Self: 'async_trait;
fn search_song<'async_trait>(
self: Arc<Self>,
request: Request<SearchRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<SongBriefList>, Status>> + Send + 'async_trait>>
where Self: 'async_trait;
fn playback_toggle<'async_trait>(
self: Arc<Self>,
request: Request<()>,
) -> Pin<Box<dyn Future<Output = Result<Response<()>, Status>> + Send + 'async_trait>>
where Self: 'async_trait;
fn playback_play<'async_trait>(
self: Arc<Self>,
request: Request<()>,
) -> Pin<Box<dyn Future<Output = Result<Response<()>, Status>> + Send + 'async_trait>>
where Self: 'async_trait;
fn playback_pause<'async_trait>(
self: Arc<Self>,
request: Request<()>,
) -> Pin<Box<dyn Future<Output = Result<Response<()>, Status>> + Send + 'async_trait>>
where Self: 'async_trait;
fn playback_stop<'async_trait>(
self: Arc<Self>,
request: Request<()>,
) -> Pin<Box<dyn Future<Output = Result<Response<()>, Status>> + Send + 'async_trait>>
where Self: 'async_trait;
fn playback_restart<'async_trait>(
self: Arc<Self>,
request: Request<()>,
) -> Pin<Box<dyn Future<Output = Result<Response<()>, Status>> + Send + 'async_trait>>
where Self: 'async_trait;
fn playback_skip_forward<'async_trait>(
self: Arc<Self>,
request: Request<PlaybackSkipRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<()>, Status>> + Send + 'async_trait>>
where Self: 'async_trait;
fn playback_skip_backward<'async_trait>(
self: Arc<Self>,
request: Request<PlaybackSkipRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<()>, Status>> + Send + 'async_trait>>
where Self: 'async_trait;
fn playback_clear_player<'async_trait>(
self: Arc<Self>,
request: Request<()>,
) -> Pin<Box<dyn Future<Output = Result<Response<()>, Status>> + Send + 'async_trait>>
where Self: 'async_trait;
fn playback_clear<'async_trait>(
self: Arc<Self>,
request: Request<()>,
) -> Pin<Box<dyn Future<Output = Result<Response<()>, Status>> + Send + 'async_trait>>
where Self: 'async_trait;
fn playback_seek<'async_trait>(
self: Arc<Self>,
request: Request<PlaybackSeekRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<()>, Status>> + Send + 'async_trait>>
where Self: 'async_trait;
fn playback_repeat<'async_trait>(
self: Arc<Self>,
request: Request<PlaybackRepeatRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<()>, Status>> + Send + 'async_trait>>
where Self: 'async_trait;
fn playback_shuffle<'async_trait>(
self: Arc<Self>,
request: Request<()>,
) -> Pin<Box<dyn Future<Output = Result<Response<()>, Status>> + Send + 'async_trait>>
where Self: 'async_trait;
fn playback_volume<'async_trait>(
self: Arc<Self>,
request: Request<PlaybackVolumeSetRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<()>, Status>> + Send + 'async_trait>>
where Self: 'async_trait;
fn playback_volume_up<'async_trait>(
self: Arc<Self>,
request: Request<PlaybackVolumeAdjustRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<()>, Status>> + Send + 'async_trait>>
where Self: 'async_trait;
fn playback_volume_down<'async_trait>(
self: Arc<Self>,
request: Request<PlaybackVolumeAdjustRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<()>, Status>> + Send + 'async_trait>>
where Self: 'async_trait;
fn playback_toggle_mute<'async_trait>(
self: Arc<Self>,
request: Request<()>,
) -> Pin<Box<dyn Future<Output = Result<Response<()>, Status>> + Send + 'async_trait>>
where Self: 'async_trait;
fn playback_mute<'async_trait>(
self: Arc<Self>,
request: Request<()>,
) -> Pin<Box<dyn Future<Output = Result<Response<()>, Status>> + Send + 'async_trait>>
where Self: 'async_trait;
fn playback_unmute<'async_trait>(
self: Arc<Self>,
request: Request<()>,
) -> Pin<Box<dyn Future<Output = Result<Response<()>, Status>> + Send + 'async_trait>>
where Self: 'async_trait;
fn queue_add<'async_trait>(
self: Arc<Self>,
request: Request<RecordId>,
) -> Pin<Box<dyn Future<Output = Result<Response<()>, Status>> + Send + 'async_trait>>
where Self: 'async_trait;
fn queue_add_list<'async_trait>(
self: Arc<Self>,
request: Request<RecordIdList>,
) -> Pin<Box<dyn Future<Output = Result<Response<()>, Status>> + Send + 'async_trait>>
where Self: 'async_trait;
fn queue_set_index<'async_trait>(
self: Arc<Self>,
request: Request<QueueSetIndexRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<()>, Status>> + Send + 'async_trait>>
where Self: 'async_trait;
fn queue_remove_range<'async_trait>(
self: Arc<Self>,
request: Request<QueueRemoveRangeRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<()>, Status>> + Send + 'async_trait>>
where Self: 'async_trait;
fn playlist_get_or_create<'async_trait>(
self: Arc<Self>,
request: Request<PlaylistName>,
) -> Pin<Box<dyn Future<Output = Result<Response<RecordId>, Status>> + Send + 'async_trait>>
where Self: 'async_trait;
fn playlist_remove<'async_trait>(
self: Arc<Self>,
request: Request<Ulid>,
) -> Pin<Box<dyn Future<Output = Result<Response<()>, Status>> + Send + 'async_trait>>
where Self: 'async_trait;
fn playlist_clone<'async_trait>(
self: Arc<Self>,
request: Request<Ulid>,
) -> Pin<Box<dyn Future<Output = Result<Response<RecordId>, Status>> + Send + 'async_trait>>
where Self: 'async_trait;
fn playlist_remove_songs<'async_trait>(
self: Arc<Self>,
request: Request<PlaylistRemoveSongsRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<()>, Status>> + Send + 'async_trait>>
where Self: 'async_trait;
fn playlist_add<'async_trait>(
self: Arc<Self>,
request: Request<PlaylistAddRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<()>, Status>> + Send + 'async_trait>>
where Self: 'async_trait;
fn playlist_add_list<'async_trait>(
self: Arc<Self>,
request: Request<PlaylistAddListRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<()>, Status>> + Send + 'async_trait>>
where Self: 'async_trait;
fn playlist_rename<'async_trait>(
self: Arc<Self>,
request: Request<PlaylistRenameRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<PlaylistBrief>, Status>> + Send + 'async_trait>>
where Self: 'async_trait;
fn playlist_export<'async_trait>(
self: Arc<Self>,
request: Request<PlaylistExportRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<()>, Status>> + Send + 'async_trait>>
where Self: 'async_trait;
fn playlist_import<'async_trait>(
self: Arc<Self>,
request: Request<PlaylistImportRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<RecordId>, Status>> + Send + 'async_trait>>
where Self: 'async_trait;
fn collection_freeze<'async_trait>(
self: Arc<Self>,
request: Request<CollectionFreezeRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<RecordId>, Status>> + Send + 'async_trait>>
where Self: 'async_trait;
fn radio_get_similar<'async_trait>(
self: Arc<Self>,
request: Request<RadioSimilarRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<SongBriefList>, Status>> + Send + 'async_trait>>
where Self: 'async_trait;
fn radio_get_similar_ids<'async_trait>(
self: Arc<Self>,
request: Request<RadioSimilarRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<RecordIdList>, Status>> + Send + 'async_trait>>
where Self: 'async_trait;
fn dynamic_playlist_create<'async_trait>(
self: Arc<Self>,
request: Request<DynamicPlaylistCreateRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<RecordId>, Status>> + Send + 'async_trait>>
where Self: 'async_trait;
fn dynamic_playlist_update<'async_trait>(
self: Arc<Self>,
request: Request<DynamicPlaylistUpdateRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<DynamicPlaylist>, Status>> + Send + 'async_trait>>
where Self: 'async_trait;
fn dynamic_playlist_remove<'async_trait>(
self: Arc<Self>,
request: Request<Ulid>,
) -> Pin<Box<dyn Future<Output = Result<Response<()>, Status>> + Send + 'async_trait>>
where Self: 'async_trait;
fn dynamic_playlist_export<'async_trait>(
self: Arc<Self>,
request: Request<Path>,
) -> Pin<Box<dyn Future<Output = Result<Response<()>, Status>> + Send + 'async_trait>>
where Self: 'async_trait;
fn dynamic_playlist_import<'async_trait>(
self: Arc<Self>,
request: Request<Path>,
) -> Pin<Box<dyn Future<Output = Result<Response<DynamicPlaylistList>, Status>> + Send + 'async_trait>>
where Self: 'async_trait;
}Expand description
Generated trait containing gRPC methods that should be implemented for use with MusicPlayerServer.
Required Methodsยง
Sourcefn register_listener<'async_trait>(
self: Arc<Self>,
request: Request<RegisterListenerRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<()>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
fn register_listener<'async_trait>(
self: Arc<Self>,
request: Request<RegisterListenerRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<()>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
Miscellaneous
fn ping<'async_trait>(
self: Arc<Self>,
request: Request<()>,
) -> Pin<Box<dyn Future<Output = Result<Response<PingResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
fn daemon_shutdown<'async_trait>(
self: Arc<Self>,
request: Request<()>,
) -> Pin<Box<dyn Future<Output = Result<Response<()>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
Sourcefn library_rescan<'async_trait>(
self: Arc<Self>,
request: Request<()>,
) -> Pin<Box<dyn Future<Output = Result<Response<()>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
fn library_rescan<'async_trait>(
self: Arc<Self>,
request: Request<()>,
) -> Pin<Box<dyn Future<Output = Result<Response<()>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
Library maintenance
fn library_rescan_in_progress<'async_trait>(
self: Arc<Self>,
request: Request<()>,
) -> Pin<Box<dyn Future<Output = Result<Response<InProgressResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
fn library_analyze<'async_trait>(
self: Arc<Self>,
request: Request<LibraryAnalyzeRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<()>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
fn library_analyze_in_progress<'async_trait>(
self: Arc<Self>,
request: Request<()>,
) -> Pin<Box<dyn Future<Output = Result<Response<InProgressResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
fn library_recluster<'async_trait>(
self: Arc<Self>,
request: Request<()>,
) -> Pin<Box<dyn Future<Output = Result<Response<()>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
fn library_recluster_in_progress<'async_trait>(
self: Arc<Self>,
request: Request<()>,
) -> Pin<Box<dyn Future<Output = Result<Response<InProgressResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
Sourcefn library_brief<'async_trait>(
self: Arc<Self>,
request: Request<()>,
) -> Pin<Box<dyn Future<Output = Result<Response<LibraryBriefResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
fn library_brief<'async_trait>(
self: Arc<Self>,
request: Request<()>,
) -> Pin<Box<dyn Future<Output = Result<Response<LibraryBriefResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
Library inspection
fn library_full<'async_trait>(
self: Arc<Self>,
request: Request<()>,
) -> Pin<Box<dyn Future<Output = Result<Response<LibraryFullResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
fn library_health<'async_trait>(
self: Arc<Self>,
request: Request<()>,
) -> Pin<Box<dyn Future<Output = Result<Response<LibraryHealthResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
fn library_artists<'async_trait>(
self: Arc<Self>,
request: Request<()>,
) -> Pin<Box<dyn Future<Output = Result<Response<ArtistBriefList>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
fn library_albums<'async_trait>(
self: Arc<Self>,
request: Request<()>,
) -> Pin<Box<dyn Future<Output = Result<Response<AlbumBriefList>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
fn library_songs<'async_trait>(
self: Arc<Self>,
request: Request<()>,
) -> Pin<Box<dyn Future<Output = Result<Response<SongBriefList>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
fn library_playlists<'async_trait>(
self: Arc<Self>,
request: Request<()>,
) -> Pin<Box<dyn Future<Output = Result<Response<PlaylistList>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
fn library_collections<'async_trait>(
self: Arc<Self>,
request: Request<()>,
) -> Pin<Box<dyn Future<Output = Result<Response<CollectionList>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
fn library_dynamic_playlists<'async_trait>(
self: Arc<Self>,
request: Request<()>,
) -> Pin<Box<dyn Future<Output = Result<Response<DynamicPlaylistList>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
Sourcefn library_song_get<'async_trait>(
self: Arc<Self>,
request: Request<Ulid>,
) -> Pin<Box<dyn Future<Output = Result<Response<SongOption>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
fn library_song_get<'async_trait>(
self: Arc<Self>,
request: Request<Ulid>,
) -> Pin<Box<dyn Future<Output = Result<Response<SongOption>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
Library lookup helpers
fn library_song_get_by_path<'async_trait>(
self: Arc<Self>,
request: Request<Path>,
) -> Pin<Box<dyn Future<Output = Result<Response<SongOption>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
fn library_song_get_artists<'async_trait>(
self: Arc<Self>,
request: Request<Ulid>,
) -> Pin<Box<dyn Future<Output = Result<Response<ArtistBriefList>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
fn library_song_get_album<'async_trait>(
self: Arc<Self>,
request: Request<Ulid>,
) -> Pin<Box<dyn Future<Output = Result<Response<AlbumBriefOption>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
fn library_song_get_playlists<'async_trait>(
self: Arc<Self>,
request: Request<Ulid>,
) -> Pin<Box<dyn Future<Output = Result<Response<PlaylistList>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
fn library_song_get_collections<'async_trait>(
self: Arc<Self>,
request: Request<Ulid>,
) -> Pin<Box<dyn Future<Output = Result<Response<CollectionList>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
fn library_album_get<'async_trait>(
self: Arc<Self>,
request: Request<Ulid>,
) -> Pin<Box<dyn Future<Output = Result<Response<AlbumOption>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
fn library_album_get_artists<'async_trait>(
self: Arc<Self>,
request: Request<Ulid>,
) -> Pin<Box<dyn Future<Output = Result<Response<ArtistBriefList>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
fn library_album_get_songs<'async_trait>(
self: Arc<Self>,
request: Request<Ulid>,
) -> Pin<Box<dyn Future<Output = Result<Response<SongBriefList>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
fn library_artist_get<'async_trait>(
self: Arc<Self>,
request: Request<Ulid>,
) -> Pin<Box<dyn Future<Output = Result<Response<ArtistOption>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
fn library_artist_get_songs<'async_trait>(
self: Arc<Self>,
request: Request<Ulid>,
) -> Pin<Box<dyn Future<Output = Result<Response<SongBriefList>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
fn library_artist_get_albums<'async_trait>(
self: Arc<Self>,
request: Request<Ulid>,
) -> Pin<Box<dyn Future<Output = Result<Response<AlbumBriefList>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
fn library_playlist_get<'async_trait>(
self: Arc<Self>,
request: Request<Ulid>,
) -> Pin<Box<dyn Future<Output = Result<Response<PlaylistOption>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
fn library_playlist_get_by_name<'async_trait>(
self: Arc<Self>,
request: Request<PlaylistName>,
) -> Pin<Box<dyn Future<Output = Result<Response<PlaylistOption>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
fn library_playlist_get_songs<'async_trait>(
self: Arc<Self>,
request: Request<Ulid>,
) -> Pin<Box<dyn Future<Output = Result<Response<SongBriefList>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
fn library_collection_get<'async_trait>(
self: Arc<Self>,
request: Request<Ulid>,
) -> Pin<Box<dyn Future<Output = Result<Response<CollectionOption>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
fn library_collection_get_songs<'async_trait>(
self: Arc<Self>,
request: Request<Ulid>,
) -> Pin<Box<dyn Future<Output = Result<Response<SongBriefList>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
fn library_dynamic_playlist_get<'async_trait>(
self: Arc<Self>,
request: Request<Ulid>,
) -> Pin<Box<dyn Future<Output = Result<Response<DynamicPlaylistOption>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
fn library_dynamic_playlist_get_songs<'async_trait>(
self: Arc<Self>,
request: Request<Ulid>,
) -> Pin<Box<dyn Future<Output = Result<Response<SongBriefList>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
Sourcefn state_audio<'async_trait>(
self: Arc<Self>,
request: Request<()>,
) -> Pin<Box<dyn Future<Output = Result<Response<StateAudioResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
fn state_audio<'async_trait>(
self: Arc<Self>,
request: Request<()>,
) -> Pin<Box<dyn Future<Output = Result<Response<StateAudioResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
State inspection
fn current_artists<'async_trait>(
self: Arc<Self>,
request: Request<()>,
) -> Pin<Box<dyn Future<Output = Result<Response<ArtistBriefListOption>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
fn current_album<'async_trait>(
self: Arc<Self>,
request: Request<()>,
) -> Pin<Box<dyn Future<Output = Result<Response<AlbumBriefOption>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
fn current_song<'async_trait>(
self: Arc<Self>,
request: Request<()>,
) -> Pin<Box<dyn Future<Output = Result<Response<SongBriefOption>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
Sourcefn rand_artist<'async_trait>(
self: Arc<Self>,
request: Request<()>,
) -> Pin<Box<dyn Future<Output = Result<Response<ArtistBriefOption>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
fn rand_artist<'async_trait>(
self: Arc<Self>,
request: Request<()>,
) -> Pin<Box<dyn Future<Output = Result<Response<ArtistBriefOption>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
Random sampling
fn rand_album<'async_trait>(
self: Arc<Self>,
request: Request<()>,
) -> Pin<Box<dyn Future<Output = Result<Response<AlbumBriefOption>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
fn rand_song<'async_trait>(
self: Arc<Self>,
request: Request<()>,
) -> Pin<Box<dyn Future<Output = Result<Response<SongBriefOption>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
Sourcefn search<'async_trait>(
self: Arc<Self>,
request: Request<SearchRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<SearchResult>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
fn search<'async_trait>(
self: Arc<Self>,
request: Request<SearchRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<SearchResult>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
Search
fn search_artist<'async_trait>(
self: Arc<Self>,
request: Request<SearchRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<ArtistBriefList>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
fn search_album<'async_trait>(
self: Arc<Self>,
request: Request<SearchRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<AlbumBriefList>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
fn search_song<'async_trait>(
self: Arc<Self>,
request: Request<SearchRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<SongBriefList>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
Sourcefn playback_toggle<'async_trait>(
self: Arc<Self>,
request: Request<()>,
) -> Pin<Box<dyn Future<Output = Result<Response<()>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
fn playback_toggle<'async_trait>(
self: Arc<Self>,
request: Request<()>,
) -> Pin<Box<dyn Future<Output = Result<Response<()>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
Playback control
fn playback_play<'async_trait>(
self: Arc<Self>,
request: Request<()>,
) -> Pin<Box<dyn Future<Output = Result<Response<()>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
fn playback_pause<'async_trait>(
self: Arc<Self>,
request: Request<()>,
) -> Pin<Box<dyn Future<Output = Result<Response<()>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
fn playback_stop<'async_trait>(
self: Arc<Self>,
request: Request<()>,
) -> Pin<Box<dyn Future<Output = Result<Response<()>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
fn playback_restart<'async_trait>(
self: Arc<Self>,
request: Request<()>,
) -> Pin<Box<dyn Future<Output = Result<Response<()>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
fn playback_skip_forward<'async_trait>(
self: Arc<Self>,
request: Request<PlaybackSkipRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<()>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
fn playback_skip_backward<'async_trait>(
self: Arc<Self>,
request: Request<PlaybackSkipRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<()>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
fn playback_clear_player<'async_trait>(
self: Arc<Self>,
request: Request<()>,
) -> Pin<Box<dyn Future<Output = Result<Response<()>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
fn playback_clear<'async_trait>(
self: Arc<Self>,
request: Request<()>,
) -> Pin<Box<dyn Future<Output = Result<Response<()>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
fn playback_seek<'async_trait>(
self: Arc<Self>,
request: Request<PlaybackSeekRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<()>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
fn playback_repeat<'async_trait>(
self: Arc<Self>,
request: Request<PlaybackRepeatRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<()>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
fn playback_shuffle<'async_trait>(
self: Arc<Self>,
request: Request<()>,
) -> Pin<Box<dyn Future<Output = Result<Response<()>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
fn playback_volume<'async_trait>(
self: Arc<Self>,
request: Request<PlaybackVolumeSetRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<()>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
fn playback_volume_up<'async_trait>(
self: Arc<Self>,
request: Request<PlaybackVolumeAdjustRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<()>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
fn playback_volume_down<'async_trait>(
self: Arc<Self>,
request: Request<PlaybackVolumeAdjustRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<()>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
fn playback_toggle_mute<'async_trait>(
self: Arc<Self>,
request: Request<()>,
) -> Pin<Box<dyn Future<Output = Result<Response<()>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
fn playback_mute<'async_trait>(
self: Arc<Self>,
request: Request<()>,
) -> Pin<Box<dyn Future<Output = Result<Response<()>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
fn playback_unmute<'async_trait>(
self: Arc<Self>,
request: Request<()>,
) -> Pin<Box<dyn Future<Output = Result<Response<()>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
Sourcefn queue_add<'async_trait>(
self: Arc<Self>,
request: Request<RecordId>,
) -> Pin<Box<dyn Future<Output = Result<Response<()>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
fn queue_add<'async_trait>(
self: Arc<Self>,
request: Request<RecordId>,
) -> Pin<Box<dyn Future<Output = Result<Response<()>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
Queue management
fn queue_add_list<'async_trait>(
self: Arc<Self>,
request: Request<RecordIdList>,
) -> Pin<Box<dyn Future<Output = Result<Response<()>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
fn queue_set_index<'async_trait>(
self: Arc<Self>,
request: Request<QueueSetIndexRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<()>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
fn queue_remove_range<'async_trait>(
self: Arc<Self>,
request: Request<QueueRemoveRangeRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<()>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
Sourcefn playlist_get_or_create<'async_trait>(
self: Arc<Self>,
request: Request<PlaylistName>,
) -> Pin<Box<dyn Future<Output = Result<Response<RecordId>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
fn playlist_get_or_create<'async_trait>(
self: Arc<Self>,
request: Request<PlaylistName>,
) -> Pin<Box<dyn Future<Output = Result<Response<RecordId>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
Playlist management
fn playlist_remove<'async_trait>(
self: Arc<Self>,
request: Request<Ulid>,
) -> Pin<Box<dyn Future<Output = Result<Response<()>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
fn playlist_clone<'async_trait>(
self: Arc<Self>,
request: Request<Ulid>,
) -> Pin<Box<dyn Future<Output = Result<Response<RecordId>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
fn playlist_remove_songs<'async_trait>(
self: Arc<Self>,
request: Request<PlaylistRemoveSongsRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<()>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
fn playlist_add<'async_trait>(
self: Arc<Self>,
request: Request<PlaylistAddRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<()>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
fn playlist_add_list<'async_trait>(
self: Arc<Self>,
request: Request<PlaylistAddListRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<()>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
fn playlist_rename<'async_trait>(
self: Arc<Self>,
request: Request<PlaylistRenameRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<PlaylistBrief>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
fn playlist_export<'async_trait>(
self: Arc<Self>,
request: Request<PlaylistExportRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<()>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
fn playlist_import<'async_trait>(
self: Arc<Self>,
request: Request<PlaylistImportRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<RecordId>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
Sourcefn collection_freeze<'async_trait>(
self: Arc<Self>,
request: Request<CollectionFreezeRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<RecordId>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
fn collection_freeze<'async_trait>(
self: Arc<Self>,
request: Request<CollectionFreezeRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<RecordId>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
Collections
Sourcefn radio_get_similar<'async_trait>(
self: Arc<Self>,
request: Request<RadioSimilarRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<SongBriefList>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
fn radio_get_similar<'async_trait>(
self: Arc<Self>,
request: Request<RadioSimilarRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<SongBriefList>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
Radio
fn radio_get_similar_ids<'async_trait>(
self: Arc<Self>,
request: Request<RadioSimilarRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<RecordIdList>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
Sourcefn dynamic_playlist_create<'async_trait>(
self: Arc<Self>,
request: Request<DynamicPlaylistCreateRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<RecordId>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
fn dynamic_playlist_create<'async_trait>(
self: Arc<Self>,
request: Request<DynamicPlaylistCreateRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<RecordId>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
Dynamic playlists