transform
attribute__all__= ['merge', 'split']func_iter_infos(note) -> Iterator[Any]Yield every NoteInfo reachable from a note builder (begin, joints, air).
paramnoteAnyReturns
collections.abc.Iterator[typing.Any]func_detach(note) -> NoneparamnoteAnyReturns
Nonefunc_clone(note) -> TparamnoteTReturns
margrete_rpc.chart.notes.transform._clone[T]func_clone_air(air) -> Air | AirSlide | AirHoldparamairAir | AirSlide | AirHoldReturns
margrete_rpc.chart.notes.air.Air | margrete_rpc.chart.notes.air.AirSlide | margrete_rpc.chart.notes.air.AirHoldfunc_flip(note, field) -> NoteparamnoteNoteparamfieldintReturns
margrete_rpc.chart.notes.shared.Notefunc_apply_clamp(x, w, left, right) -> tuple[int, int]paramxintparamwintparamleftintparamrightintReturns
tuple[int, int]func_clamp(note, left, right) -> NoteparamnoteNoteparamleftintparamrightintReturns
margrete_rpc.chart.notes.shared.Notefunc_snapper(step, mode) -> Callable[[int], int]paramstepintparammodeAlignModeReturns
collections.abc.Callable[[int], int]func_align(note, interval, mode) -> NoteparamnoteNoteparamintervalint | DivisionLikeparammodeAlignModeReturns
margrete_rpc.chart.notes.shared.Notefunc_scale(note, factor, pivot) -> NoteparamnoteNoteparamfactorfloatparampivotint | PositionLikeReturns
margrete_rpc.chart.notes.shared.Notefunc_convert(note, target, overrides) -> TparamnoteNoteparamtargettype[T]paramoverridesdict[str, Any]Returns
margrete_rpc.chart.notes.transform._convert[T]func_convert_ground(note, target, overrides) -> Noteparamnote_GroundNoteparamtargettype[Note]paramoverridesdict[str, Any]Returns
margrete_rpc.chart.notes.shared.Notefunc_read_long(note) -> tuple[_Point, list[_Point]]paramnoteLongLikeReturns
tuple[margrete_rpc.chart.notes.transform._Point, list[margrete_rpc.chart.notes.transform._Point]]func_add_kind(note, kind, t, x, w, h) -> NoneparamnoteLongLikeparamkindJointKindLike | Noneparamtintparamxintparamwintparamhint | NoneReturns
Nonefunc_convert_long(note, target, overrides) -> LongLikeparamnoteLongLikeparamtargettype[Note]paramoverridesdict[str, Any]Returns
margrete_rpc.chart.notes.transform.LongLikefunc_build_slide(begin, joints) -> Slideparambegin_Pointparamjointslist[_Point]Returns
margrete_rpc.chart.notes.long.Slidefunc_build_air_long(note, target, begin, joints, overrides) -> AirSlide | AirHold | AirCrushparamnoteLongLikeparamtargettype[Note]parambegin_Pointparamjointslist[_Point]paramoverridesdict[str, Any]Returns
margrete_rpc.chart.notes.air.AirSlide | margrete_rpc.chart.notes.air.AirHold | margrete_rpc.chart.notes.long.AirCrushfunc_joint_h(point) -> int | Noneparampoint_PointReturns
int | Nonefunc_resolve_join(join, prev, nxt, note_type) -> JointKindparamjoinJointKindLike | Callable[[T, T], JointKindLike]paramprevTparamnxtTparamnote_typetypeReturns
margrete_rpc.chart.notes.types.JointKindfuncmerge(notes, *, join=JointKind.STEP) -> TCombine consecutive slides / air-slides / air-crushes into a single note.
The notes are chained end-to-begin in order; each boundary becomes a joint.
paramnotesSequence[T]The notes to merge, all of the same long type, in timeline order.
paramjoinJointKindLike | Callable[[T, T], JointKindLike]= JointKind.STEPKind of joint to insert at each boundary (:class:JointKind), or a callable
(prev, next) -> JointKindLike choosing it per boundary.
Returns
margrete_rpc.chart.notes.transform.merge[T]A single merged note of the same type as the inputs.
func_interpolate(a, b, ts) -> _Pointparama_Pointparamb_PointparamtsintReturns
margrete_rpc.chart.notes.transform._Pointfunc_locate_split(note, begin, joints, at) -> tuple[_Point, list[_Point], list[_Point]]paramnoteSlideLikeparambegin_Pointparamjointslist[_Point]paramatJoint | int | PositionLikeReturns
tuple[margrete_rpc.chart.notes.transform._Point, list[margrete_rpc.chart.notes.transform._Point], list[margrete_rpc.chart.notes.transform._Point]]funcsplit(note, at) -> tuple[T, T]Divide a slide / air-slide / air-crush into two notes at a joint or time.
paramnoteTThe long note to split.
paramatJoint | int | PositionLikeWhere to split: one of the note's :class:Joint objects, an absolute tick, or
a :data:Position.
Returns
tupleA (left, right) pair of notes meeting at the split point.
func_new_long_like(note, point) -> SlideLikeparamnoteSlideLikeparampoint_PointReturns
margrete_rpc.chart.notes.transform.SlideLike