pub struct TimingPoint { /* private fields */ }
Expand description
Struct representing a timing point.
Each timing point influences a specified portion of the map, commonly called a timing section
.
The .osu file format requires these to be sorted in chronological order.
Implementations§
Source§impl TimingPoint
impl TimingPoint
Sourcepub fn beat_duration_ms_to_bpm(beat_duration_ms: Decimal) -> Decimal
pub fn beat_duration_ms_to_bpm(beat_duration_ms: Decimal) -> Decimal
Converts beat duration in milliseconds to BPM.
Sourcepub fn bpm_to_beat_duration_ms(bpm: Decimal) -> Decimal
pub fn bpm_to_beat_duration_ms(bpm: Decimal) -> Decimal
Converts BPM to beat duration in milliseconds.
Sourcepub fn new_inherited(
time: Integer,
slider_velocity_multiplier: Decimal,
meter: Integer,
sample_set: SampleSet,
sample_index: SampleIndex,
volume: Volume,
effects: Effects,
) -> Self
pub fn new_inherited( time: Integer, slider_velocity_multiplier: Decimal, meter: Integer, sample_set: SampleSet, sample_index: SampleIndex, volume: Volume, effects: Effects, ) -> Self
New instance of TimingPoint
that is inherited.
Sourcepub fn new_uninherited(
time: Integer,
beat_duration_ms: Decimal,
meter: Integer,
sample_set: SampleSet,
sample_index: SampleIndex,
volume: Volume,
effects: Effects,
) -> Self
pub fn new_uninherited( time: Integer, beat_duration_ms: Decimal, meter: Integer, sample_set: SampleSet, sample_index: SampleIndex, volume: Volume, effects: Effects, ) -> Self
New instance of TimingPoint
that is uninherited.
Sourcepub fn calc_bpm(&self) -> Option<Decimal>
pub fn calc_bpm(&self) -> Option<Decimal>
Calculates BPM using the beatLength
field when unherited.
- Returns
None
if the timing point is inherited orbeat_length
isn’t a valid decimal.
Sourcepub fn calc_slider_velocity_multiplier(&self) -> Option<Decimal>
pub fn calc_slider_velocity_multiplier(&self) -> Option<Decimal>
Calculates the slider velocity multiplier when the timing point is inherited.
- Returns
None
if the timing point is uninherited orbeat_length
isn’t a valid decimal.
Sourcepub fn time(&self) -> &Decimal
pub fn time(&self) -> &Decimal
Start time of the timing section, in milliseconds from the beginning of the beatmap’s audio. The end of the timing section is the next timing point’s time (or never, if this is the last timing point).
Sourcepub fn meter(&self) -> i32
pub fn meter(&self) -> i32
Amount of beats in a measure. Inherited timing points ignore this property.
Sourcepub fn sample_set(&self) -> SampleSet
pub fn sample_set(&self) -> SampleSet
Default sample set for hit objects
Sourcepub fn set_sample_set(&mut self, sample_set: SampleSet)
pub fn set_sample_set(&mut self, sample_set: SampleSet)
Set the timing point’s sample set.
Sourcepub fn sample_index(&self) -> SampleIndex
pub fn sample_index(&self) -> SampleIndex
Custom sample index for hit objects.
Sourcepub fn sample_index_mut(&mut self) -> &mut SampleIndex
pub fn sample_index_mut(&mut self) -> &mut SampleIndex
Get a mutable reference to the timing point’s sample index.
Sourcepub fn set_volume(&mut self, volume: Volume)
pub fn set_volume(&mut self, volume: Volume)
Set the timing point’s volume.
Sourcepub fn uninherited(&self) -> bool
pub fn uninherited(&self) -> bool
Get the timing point’s uninherited.
Sourcepub fn set_uninherited(&mut self, uninherited: bool)
pub fn set_uninherited(&mut self, uninherited: bool)
Set the timing point’s uninherited.
Sourcepub fn effects_mut(&mut self) -> &mut Option<Effects>
pub fn effects_mut(&mut self) -> &mut Option<Effects>
Get a mutable reference to the timing point’s effects.
Trait Implementations§
Source§impl Clone for TimingPoint
impl Clone for TimingPoint
Source§fn clone(&self) -> TimingPoint
fn clone(&self) -> TimingPoint
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for TimingPoint
impl Debug for TimingPoint
Source§impl Hash for TimingPoint
impl Hash for TimingPoint
Source§impl PartialEq for TimingPoint
impl PartialEq for TimingPoint
Source§impl VersionedFromStr for TimingPoint
impl VersionedFromStr for TimingPoint
Source§impl VersionedToString for TimingPoint
impl VersionedToString for TimingPoint
impl Eq for TimingPoint
impl StructuralPartialEq for TimingPoint
Auto Trait Implementations§
impl Freeze for TimingPoint
impl RefUnwindSafe for TimingPoint
impl Send for TimingPoint
impl Sync for TimingPoint
impl Unpin for TimingPoint
impl UnwindSafe for TimingPoint
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Paint for Twhere
T: ?Sized,
impl<T> Paint for Twhere
T: ?Sized,
Source§fn fg(&self, value: Color) -> Painted<&T>
fn fg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self
with the foreground set to
value
.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like red()
and
green()
, which have the same functionality but are
pithier.
§Example
Set foreground color to white using fg()
:
use yansi::{Paint, Color};
painted.fg(Color::White);
Set foreground color to white using white()
.
use yansi::Paint;
painted.white();
Source§fn bright_black(&self) -> Painted<&T>
fn bright_black(&self) -> Painted<&T>
Source§fn bright_red(&self) -> Painted<&T>
fn bright_red(&self) -> Painted<&T>
Source§fn bright_green(&self) -> Painted<&T>
fn bright_green(&self) -> Painted<&T>
Source§fn bright_yellow(&self) -> Painted<&T>
fn bright_yellow(&self) -> Painted<&T>
Source§fn bright_blue(&self) -> Painted<&T>
fn bright_blue(&self) -> Painted<&T>
Source§fn bright_magenta(&self) -> Painted<&T>
fn bright_magenta(&self) -> Painted<&T>
Source§fn bright_cyan(&self) -> Painted<&T>
fn bright_cyan(&self) -> Painted<&T>
Source§fn bright_white(&self) -> Painted<&T>
fn bright_white(&self) -> Painted<&T>
Source§fn bg(&self, value: Color) -> Painted<&T>
fn bg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self
with the background set to
value
.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like on_red()
and
on_green()
, which have the same functionality but
are pithier.
§Example
Set background color to red using fg()
:
use yansi::{Paint, Color};
painted.bg(Color::Red);
Set background color to red using on_red()
.
use yansi::Paint;
painted.on_red();
Source§fn on_primary(&self) -> Painted<&T>
fn on_primary(&self) -> Painted<&T>
Source§fn on_magenta(&self) -> Painted<&T>
fn on_magenta(&self) -> Painted<&T>
Source§fn on_bright_black(&self) -> Painted<&T>
fn on_bright_black(&self) -> Painted<&T>
Source§fn on_bright_red(&self) -> Painted<&T>
fn on_bright_red(&self) -> Painted<&T>
Source§fn on_bright_green(&self) -> Painted<&T>
fn on_bright_green(&self) -> Painted<&T>
Source§fn on_bright_yellow(&self) -> Painted<&T>
fn on_bright_yellow(&self) -> Painted<&T>
Source§fn on_bright_blue(&self) -> Painted<&T>
fn on_bright_blue(&self) -> Painted<&T>
Source§fn on_bright_magenta(&self) -> Painted<&T>
fn on_bright_magenta(&self) -> Painted<&T>
Source§fn on_bright_cyan(&self) -> Painted<&T>
fn on_bright_cyan(&self) -> Painted<&T>
Source§fn on_bright_white(&self) -> Painted<&T>
fn on_bright_white(&self) -> Painted<&T>
Source§fn attr(&self, value: Attribute) -> Painted<&T>
fn attr(&self, value: Attribute) -> Painted<&T>
Enables the styling Attribute
value
.
This method should be used rarely. Instead, prefer to use
attribute-specific builder methods like bold()
and
underline()
, which have the same functionality
but are pithier.
§Example
Make text bold using attr()
:
use yansi::{Paint, Attribute};
painted.attr(Attribute::Bold);
Make text bold using using bold()
.
use yansi::Paint;
painted.bold();
Source§fn rapid_blink(&self) -> Painted<&T>
fn rapid_blink(&self) -> Painted<&T>
Source§fn quirk(&self, value: Quirk) -> Painted<&T>
fn quirk(&self, value: Quirk) -> Painted<&T>
Enables the yansi
Quirk
value
.
This method should be used rarely. Instead, prefer to use quirk-specific
builder methods like mask()
and
wrap()
, which have the same functionality but are
pithier.
§Example
Enable wrapping using .quirk()
:
use yansi::{Paint, Quirk};
painted.quirk(Quirk::Wrap);
Enable wrapping using wrap()
.
use yansi::Paint;
painted.wrap();
Source§fn clear(&self) -> Painted<&T>
👎Deprecated since 1.0.1: renamed to resetting()
due to conflicts with Vec::clear()
.
The clear()
method will be removed in a future release.
fn clear(&self) -> Painted<&T>
resetting()
due to conflicts with Vec::clear()
.
The clear()
method will be removed in a future release.Source§fn whenever(&self, value: Condition) -> Painted<&T>
fn whenever(&self, value: Condition) -> Painted<&T>
Conditionally enable styling based on whether the Condition
value
applies. Replaces any previous condition.
See the crate level docs for more details.
§Example
Enable styling painted
only when both stdout
and stderr
are TTYs:
use yansi::{Paint, Condition};
painted.red().on_yellow().whenever(Condition::STDOUTERR_ARE_TTY);