1#![doc = include_str!("../README.md")]
2#![cfg_attr(docsrs, feature(doc_cfg))]
3#![allow(
4 clippy::doc_markdown,
5 clippy::missing_const_for_fn,
6 clippy::missing_errors_doc,
7 clippy::module_name_repetitions
8)]
9
10pub mod artwork;
11pub mod constants;
12pub mod content_item;
13pub mod error;
14pub mod ffi;
15pub mod media_item;
16pub mod media_item_collection;
17pub mod media_library;
18pub mod media_playlist;
19pub mod media_query;
20pub mod music_player;
21pub mod now_playing;
22pub mod playable_content_data_source;
23pub mod remote_commands;
24pub mod system_music_player;
25pub mod volume_view;
26
27#[cfg(feature = "async")]
28#[cfg_attr(docsrs, doc(cfg(feature = "async")))]
29pub mod async_api;
30
31mod unsupported;
32
33pub use artwork::{AnimatedArtwork, Artwork};
34pub use content_item::ContentItem;
35pub use error::{ErrorCode, MediaPlayerError, ERROR_DOMAIN};
36pub use media_item::{MediaEntityPersistentId, MediaItem, MediaType};
37pub use media_item_collection::MediaItemCollection;
38pub use media_library::MediaLibrary;
39pub use media_playlist::MediaPlaylist;
40pub use media_query::MediaQuery;
41pub use music_player::MusicPlayer;
42pub use now_playing::{
43 LanguageOption, LanguageOptionGroup, LanguageOptionType, NowPlayingInfo, NowPlayingInfoCenter,
44 NowPlayingMediaType, PlaybackState,
45};
46pub use playable_content_data_source::PlayableContentDataSource;
47pub use remote_commands::{
48 ChangePlaybackPositionCommand, ChangePlaybackRateCommand, ChangeRepeatModeCommand,
49 ChangeShuffleModeCommand, Command, CommandEvent, CommandToken, FeedbackCommand, HandlerStatus,
50 LanguageOptionSetting, RatingCommand, RemoteCommand, RemoteCommandCenter, RepeatType, SeekType,
51 ShuffleType, SkipIntervalCommand,
52};
53pub use system_music_player::SystemMusicPlayer;
54pub use volume_view::VolumeView;
55
56pub mod prelude {
57 pub use crate::artwork::{AnimatedArtwork, Artwork};
58 pub use crate::content_item::ContentItem;
59 pub use crate::error::{ErrorCode, MediaPlayerError, ERROR_DOMAIN};
60 pub use crate::media_item::{MediaEntityPersistentId, MediaItem, MediaType};
61 pub use crate::media_item_collection::MediaItemCollection;
62 pub use crate::media_library::MediaLibrary;
63 pub use crate::media_playlist::MediaPlaylist;
64 pub use crate::media_query::MediaQuery;
65 pub use crate::music_player::MusicPlayer;
66 pub use crate::now_playing::{
67 LanguageOption, LanguageOptionGroup, LanguageOptionType, NowPlayingInfo,
68 NowPlayingInfoCenter, NowPlayingMediaType, PlaybackState,
69 };
70 pub use crate::playable_content_data_source::PlayableContentDataSource;
71 pub use crate::remote_commands::{
72 ChangePlaybackPositionCommand, ChangePlaybackRateCommand, ChangeRepeatModeCommand,
73 ChangeShuffleModeCommand, Command, CommandEvent, CommandToken, FeedbackCommand,
74 HandlerStatus, LanguageOptionSetting, RatingCommand, RemoteCommand, RemoteCommandCenter,
75 RepeatType, SeekType, ShuffleType, SkipIntervalCommand,
76 };
77 pub use crate::system_music_player::SystemMusicPlayer;
78 pub use crate::volume_view::VolumeView;
79}