Struct Notes

Source
pub struct Notes { /* private fields */ }
Expand description

The objects set for querying by lane or time.

Implementations§

Source§

impl Notes

Source

pub fn new() -> Self

Creates a new notes dictionary.

Source

pub fn into_all_notes(self) -> Vec<Obj>

Converts into the notes sorted by time.

Source

pub fn all_notes(&self) -> impl Iterator<Item = &Obj>

Returns the iterator having all of the notes sorted by time.

Source

pub fn bgms(&self) -> &BTreeMap<ObjTime, Vec<ObjId>>

Returns all the bgms in the score.

Source

pub fn bpm_changes(&self) -> &BTreeMap<ObjTime, BpmChangeObj>

Returns the bpm change objects.

Source

pub fn section_len_changes(&self) -> &BTreeMap<Track, SectionLenChangeObj>

Returns the section len change objects.

Source

pub fn stops(&self) -> &BTreeMap<ObjTime, StopObj>

Returns the scroll stop objects.

Source

pub fn bga_changes(&self) -> &BTreeMap<ObjTime, BgaObj>

Returns the bga change objects.

Source

pub fn next_obj_by_key(&self, key: Key, time: ObjTime) -> Option<&Obj>

Finds next object on the key Key from the time ObjTime.

Source

pub fn push_note(&mut self, note: Obj)

Adds the new note object to the notes.

Source

pub fn remove_latest_note(&mut self, id: ObjId) -> Option<Obj>

Removes the latest note from the notes.

Source

pub fn remove_note(&mut self, id: ObjId) -> Vec<Obj>

Removes the note from the notes.

Source

pub fn push_bpm_change(&mut self, bpm_change: BpmChangeObj)

Adds a new BPM change object to the notes.

Source

pub fn push_scrolling_factor_change(&mut self, bpm_change: ScrollingFactorObj)

Adds a new scrolling factor change object to the notes.

Source

pub fn push_spacing_factor_change(&mut self, bpm_change: SpacingFactorObj)

Adds a new spacing factor change object to the notes.

Source

pub fn push_section_len_change( &mut self, section_len_change: SectionLenChangeObj, )

Adds a new section length change object to the notes.

Source

pub fn push_stop(&mut self, stop: StopObj)

Adds a new stop object to the notes.

Source

pub fn push_bga_change(&mut self, bga: BgaObj)

Adds a new bga change object to the notes.

Source

pub fn push_extended_message(&mut self, message: ExtendedMessageObj)

Adds the new extended message object to the notes.

Source

pub fn last_visible_time(&self) -> Option<ObjTime>

Gets the time of last visible object.

Source

pub fn last_bgm_time(&self) -> Option<ObjTime>

Gets the time of last BGM object.

You can’t use this to find the length of music. Because this doesn’t consider that the length of sound. And visible notes may ring after all BGMs.

Source

pub fn last_obj_time(&self) -> Option<ObjTime>

Gets the time of last any object including visible, BGM, BPM change, section length change and so on.

You can’t use this to find the length of music. Because this doesn’t consider that the length of sound.

Source

pub fn resolution_for_pulses(&self) -> u32

Calculates a required resolution to convert the notes time into pulses, which split one quarter note evenly.

Trait Implementations§

Source§

impl Debug for Notes

Source§

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

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

impl Default for Notes

Source§

fn default() -> Notes

Returns the “default value” for a type. Read more
Source§

impl<'de> Deserialize<'de> for Notes

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 Serialize for Notes

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

Auto Trait Implementations§

§

impl Freeze for Notes

§

impl RefUnwindSafe for Notes

§

impl Send for Notes

§

impl Sync for Notes

§

impl Unpin for Notes

§

impl UnwindSafe for Notes

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> 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> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts 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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts 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 more
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.
Source§

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