reamberPy Help

Building Blocks of ReamberPy

All objects build on top of a Base class.

We illustrate the example with OsuHit, you can replace GAME_NAME with any game name.

For example in the case of Hit:

Hit
+offset: float
+column: int
OsuHit
+hitsound_set: int
+readString()
GAME_NAMEHit

We also have HitList which is a list of Hits.

HitList
+offset: List[float]
+column: List[int]
OsuHitList
+hitsound_set: List[int]
+readString()
GAME_NAMEHitList

Thus, you can expect that QuaHitList(...).offset & OsuHitList(...).offset to behave the same.

Properties

Usually, if it exists, then it'll be implemented.

For example:

OsuHold will implement:

  • offset, the LN Head

  • tail_offset, the LN Tail

  • length, the LN length

  • column, the column of the note.

Accessed via .___ syntax.

Pandas-like Operations

A great feature of ReamberPy objects is that they can be broadcasted to much like pandas.

For example

  • OsuHoldList(...).offset += 1000 will add 1 second to all objects

  • OsuBpmList(...).bpm += 100 will add 100 to all BPMs

In fact, the underlying data representation is pandas' DataFrame!. Thus you can expect all the same operations to work.

Last modified: 23 March 2024