Skip to main content

mediaplayer/
lib.rs

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}