mirror of
https://github.com/narrrl/proton-stream.git
synced 2026-11-04 08:56:59 +01:00
Anime releases often carry two subtitle tracks in one language, the dialogue and a "Signs & Songs" track, and the second is as often as not the one marked default or forced. mpv, picking by language, played it. pstr_core::subtitles reads a track's name and forced flag for whether it is the dialogue, and every client asks it once per file, after mpv has made its own pick, whether to switch to a track in the same language that is. A subtitle track the viewer chose by name stays, and subtitles that are off stay off.
35 lines
891 B
Rust
35 lines
891 B
Rust
//! Shares, catalog, naming and persistence for `proton-stream`.
|
|
//!
|
|
//! Everything that is not the player or the UI. Front ends depend on this crate
|
|
//! rather than on `proton-drive-rs` directly, so there is one place that knows
|
|
//! how a share is opened and how its contents are modelled.
|
|
#![forbid(unsafe_code)]
|
|
|
|
pub mod account;
|
|
pub mod appearance;
|
|
pub mod browse;
|
|
pub mod catalog;
|
|
pub mod chapters;
|
|
pub mod config;
|
|
pub mod error;
|
|
pub mod franchise;
|
|
pub mod language;
|
|
pub mod library;
|
|
pub mod metadata;
|
|
pub mod naming;
|
|
pub mod prefs;
|
|
pub mod profile;
|
|
pub mod shares;
|
|
pub mod shelves;
|
|
pub mod subtitles;
|
|
pub mod sync;
|
|
|
|
pub use account::{Account, AccountStore};
|
|
pub use error::{Error, Result};
|
|
#[cfg(not(target_os = "android"))]
|
|
pub use shares::KeyringSecretStore;
|
|
pub use shares::{SecretStore, Share, ShareClient, ShareStore, SharedLibrary};
|
|
|
|
pub use proton_drive_rs;
|
|
pub use proton_sdk;
|