Skip to main content

Error

Enum Error 

Source
pub enum Error {
Show 39 variants EncodingError, DecodingError, ConnectionError, SendingError, InvalidResponse, SocketError(String), RaiseDisabled, SetFullscreenDisabled, QuitDisabled, PlayerNotConnected, StateNotInitialized, QueueEmpty, SourceError, PlayerPlaying, PlayerPaused, PlayerStopped, SeekNotSupported, CannotGoPrevious, CannotGoNext, ShuffleNotSupported, NoTrackAtIndex(usize), RateOutOfRange, FixedRate, InvalidDuration, DurationOverflow, PlaylistExists, LibraryNotInitialized, UnknownPlaylist, IndexOutOfBounds, DuplicateItems, UnknownTrack, StateNotReadable, StateWriteFailed, StateNotAFile, PathDoesNotExist, PathExistenceUnknown, DirectoryWithNoTracks, PlaylistParsingError, PlaylistExportFailed,
}
Expand description

Error related to the daemon.

Can either originate from a Response or from a function in this crate.

Variants§

§

EncodingError

The provided command could not be encoded.

§

DecodingError

The daemon response could not be decoded.

§

ConnectionError

Could not connect to the daemon.

§

SendingError

Could not send the command to the daemon.

§

InvalidResponse

The response received from the daemon was unexpected or invalid.

§

SocketError(String)

Could not obtain a socket.

§

RaiseDisabled

Raise requests from external clients are not allowed.

§

SetFullscreenDisabled

Toggling fullscreen mode by external clients is not allowed.

§

QuitDisabled

Quit requests from external clients are not allowed.

§

PlayerNotConnected

The audio player is not connected.

This may happen if the device doesn’t have an audio device or none of the audio devices are marked as default.

§

StateNotInitialized

The playback state is not initialized.

This error may occur when a PlaybackCommand is sent to the daemon too early, before the state is restored from cache.

§

QueueEmpty

The queue is empty.

§

SourceError

The audio file could not be opened, has an unsupported format or is corrupt.

§

PlayerPlaying

The player is already playing.

§

PlayerPaused

The player is already paused.

§

PlayerStopped

Thrown when a client attempts to stop the player when it was already stopped or when a client attempts to seek while the player is stopped.

§

SeekNotSupported

Seek is not supported for the current audio source.

§

CannotGoPrevious

Cannot go to the previous track.

This means that the current track is first in the queue and the loop state is set to LoopState::Off.

§

CannotGoNext

Cannot go to the next track.

This means that the current track is last in the queue and the loop state is set to LoopState::Off.

§

ShuffleNotSupported

The daemon was not built with shuffle support.

§

NoTrackAtIndex(usize)

No track at this index.

§

RateOutOfRange

The specified rate value was out of the allowed range.

§

FixedRate

The modification of the playback rate is not allowed.

§

InvalidDuration

The player position could not be set because the duration provided was invalid.

The player will additionally refuse to seek by 0s to prevent audio popping.

§

DurationOverflow

Overflow detected while performing a seek operation.

§

PlaylistExists

Could not complete the operation because a playlist with the provided name already exists.

§

LibraryNotInitialized

Could not perform the operation because the music library is not initialized.

This can happen if a command is sent to early and the music library is not yet initialized.

§

UnknownPlaylist

There is no playlist in the music library with the provided name.

§

IndexOutOfBounds

The provided item index was out of bounds.

§

DuplicateItems

The provided list contained duplicate values.

§

UnknownTrack

The provided track is not registered in the library.

§

StateNotReadable

Could not read the contents of the library state file.

§

StateWriteFailed

Could not write the library state to a file.

§

StateNotAFile

The library state path is not a file.

§

PathDoesNotExist

The provided path does not exist or access to it was denied.

§

PathExistenceUnknown

Could not check if the provided file exists.

§

DirectoryWithNoTracks

Could not find any audio files in the provided directory path.

§

PlaylistParsingError

Could not parse the M3U8 playlist.

Please make sure that the playlist has the correct format and is not corrupted.

§

PlaylistExportFailed

Could not export the playlist to M3U8.

This likely either means that the specified file path doesn’t exists or is not writable.

Trait Implementations§

Source§

impl Clone for Error

Source§

fn clone(&self) -> Error

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Error

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'de> Deserialize<'de> for Error

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl Display for Error

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Eq for Error

Source§

impl Hash for Error

Source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl PartialEq for Error

Source§

fn eq(&self, other: &Error) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Serialize for Error

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl StructuralPartialEq for Error

Auto Trait Implementations§

§

impl Freeze for Error

§

impl RefUnwindSafe for Error

§

impl Send for Error

§

impl Sync for Error

§

impl Unpin for Error

§

impl UnsafeUnpin for Error

§

impl UnwindSafe for Error

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
§

impl<T> TryClone for T
where T: Clone,

§

fn try_clone(&self) -> Result<T, Error>

Clones self, possibly returning an error.
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.