mxl_player_components/ui/playlist/
messages.rs1use mxl_relm4_components::relm4::prelude::DynamicIndex;
2use std::path::PathBuf;
3
4#[derive(Debug, Clone, Copy)]
5pub enum PlaylistState {
6 Stopped,
7 Playing,
8 Stopping,
9}
10
11#[derive(Debug, Clone, Copy, Default)]
12pub enum RepeatMode {
13 #[default]
14 Off,
15 All,
16}
17
18#[derive(Debug, Clone, Copy)]
19pub enum SortOrder {
20 StartTime,
21 ShortUri,
22}
23
24#[derive(Debug, Clone, Copy)]
25pub enum PlaylistChange {
26 Added,
27 Removed,
28 Updated,
29 Reordered,
30}
31
32#[derive(Debug)]
33pub enum PlaylistComponentInput {
34 Start,
35 Stop,
36 Previous,
37 Next,
38 PlayerPlaying,
39 PlayerStopped,
40 Activate(usize),
41 Switch(DynamicIndex),
42 EndOfPlaylist(DynamicIndex),
43 Add(Vec<PathBuf>),
44 AddBefore(DynamicIndex, Vec<PathBuf>),
45 AddAfter(DynamicIndex, Vec<PathBuf>),
46 Remove(DynamicIndex),
47 Updated(DynamicIndex),
48 Move(DynamicIndex, usize),
49 FetchMetadata,
50 FileChooserRequest,
51 Sort(SortOrder),
52 ToggleRepeat,
53 FetchMetadataForUri(
54 String,
55 mxl_relm4_components::relm4::Sender<super::factory::PlaylistEntryInput>,
56 ),
57}
58
59#[derive(Debug)]
60pub enum PlaylistComponentOutput {
61 PlaylistChanged(PlaylistChange),
62 SwitchUri(String),
63 EndOfPlaylist,
64 StateChanged(PlaylistState),
65 FileChooserRequest,
66}
67
68#[derive(Debug)]
69pub enum PlaylistCommandOutput {
70 ShowPlaceholder(bool),
71}