Etterna 0.74.4
Loading...
Searching...
No Matches
Public Member Functions | List of all members
WarpSegment Struct Reference

Identifies when a song needs to warp to a new beat. More...

#include <TimingSegments.h>

Inheritance diagram for WarpSegment:
Inheritance graph
[legend]
Collaboration diagram for WarpSegment:
Collaboration graph
[legend]

Public Member Functions

auto GetType () const -> TimingSegmentType override
 
auto GetEffectType () const -> SegmentEffectType override
 
auto Copy () const -> TimingSegment *override
 
auto IsNotable () const -> bool override
 
void DebugPrint () const override
 
 WarpSegment (const WarpSegment &other)
 
 WarpSegment (int iStartRow, int iLengthRows)
 
 WarpSegment (int iStartRow, float fBeats)
 
auto GetLengthRows () const -> int
 
auto GetLengthBeats () const -> float
 
auto GetLength () const -> float
 
void SetLength (int iRows)
 
void SetLength (float fBeats)
 
void Scale (int start, int length, int newLength) override
 Scales itself.
 
auto ToString (int dec) const -> std::string override
 
auto GetValues () const -> std::vector< float > override
 
auto operator== (const WarpSegment &other) const -> bool
 
auto operator== (const TimingSegment &other) const -> bool override
 
- Public Member Functions inherited from TimingSegment
 TimingSegment (int iRow=ROW_INVALID)
 
 TimingSegment (float fBeat)
 
 TimingSegment (const TimingSegment &other)
 
auto GetRow () const -> int
 
void SetRow (int iRow)
 
auto GetBeat () const -> float
 
void SetBeat (float fBeat)
 
auto operator< (const TimingSegment &other) const -> bool
 
virtual auto operator!= (const TimingSegment &other) const -> bool
 

Additional Inherited Members

- Static Public Attributes inherited from TimingSegment
static const double EPSILON = 1e-6
 

Detailed Description

Identifies when a song needs to warp to a new beat.

A warp segment is used to replicate the effects of Negative BPMs without abusing negative BPMs. Negative BPMs should be converted to warp segments. WarpAt=WarpToRelative is the format, where both are in beats. (Technically they're both rows though.)

Member Function Documentation

◆ Copy()

auto WarpSegment::Copy ( ) const -> TimingSegment*
inlineoverridevirtual

Implements TimingSegment.

◆ DebugPrint()

void WarpSegment::DebugPrint ( ) const
overridevirtual

Reimplemented from TimingSegment.

◆ GetEffectType()

auto WarpSegment::GetEffectType ( ) const -> SegmentEffectType
inlineoverridevirtual

Reimplemented from TimingSegment.

◆ GetType()

auto WarpSegment::GetType ( ) const -> TimingSegmentType
inlineoverridevirtual

Reimplemented from TimingSegment.

◆ GetValues()

auto WarpSegment::GetValues ( ) const -> std::vector<float>
inlineoverridevirtual

Reimplemented from TimingSegment.

◆ IsNotable()

auto WarpSegment::IsNotable ( ) const -> bool
inlineoverridevirtual

Implements TimingSegment.

◆ operator==()

auto WarpSegment::operator== ( const TimingSegment other) const -> bool
inlineoverridevirtual

Reimplemented from TimingSegment.

◆ Scale()

void WarpSegment::Scale ( int  start,
int  length,
int  newLength 
)
overridevirtual

Scales itself.

Parameters
startStarting row
lengthLength in rows
newLengthThe new length in rows

Reimplemented from TimingSegment.

◆ ToString()

std::string WarpSegment::ToString ( int  dec) const -> std::string
overridevirtual

Reimplemented from TimingSegment.


The documentation for this struct was generated from the following files: