Navigation
API > API/Plugins > API/Plugins/HarmonixMetasound
| Name | FMidiClock |
| Type | class |
| Header File | /Engine/Plugins/Runtime/Harmonix/Source/HarmonixMetasound/Public/HarmonixMetasound/DataTypes/MidiClock.h |
| Include Path | #include "HarmonixMetasound/DataTypes/MidiClock.h" |
Syntax
class FMidiClock : public TSharedFromThis< FMidiClock, ESPMode::NotThreadSafe >
Inheritance Hierarchy
- FSharedFromThisBase → TSharedFromThis → FMidiClock
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
FMidiClock
(
const Metasound::FOperatorSettings& InSettings |
HarmonixMetasound/DataTypes/MidiClock.h | ||
FMidiClock
(
const FMidiClock& Other |
HarmonixMetasound/DataTypes/MidiClock.h |
Destructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual ~FMidiClock() |
HarmonixMetasound/DataTypes/MidiClock.h |
Constants
| Name | Type | Remarks | Include Path |
|---|---|---|---|
| kMidiGranularity | int32 | HarmonixMetasound/DataTypes/MidiClock.h |
Variables
Protected
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| BlockSize | int32 | HarmonixMetasound/DataTypes/MidiClock.h | ||
| CurrentBlockFrameIndex | int32 | HarmonixMetasound/DataTypes/MidiClock.h | ||
| CurrentLocalSpeed | float | HarmonixMetasound/DataTypes/MidiClock.h | ||
| CurrentTempoInfoPointIndex | int32 | HarmonixMetasound/DataTypes/MidiClock.h | ||
| CurrentTimeSignaturePointIndex | int32 | HarmonixMetasound/DataTypes/MidiClock.h | ||
| ExternalClockDriver | FConstSharedMidiClockPtr | HarmonixMetasound/DataTypes/MidiClock.h | ||
| FirstTickInLoop | int32 | HarmonixMetasound/DataTypes/MidiClock.h | ||
| FirstTickProcessedThisBlock | int32 | HarmonixMetasound/DataTypes/MidiClock.h | ||
| FramesUntilNextProcess | int32 | HarmonixMetasound/DataTypes/MidiClock.h | ||
| LastProcessedMidiTick | int32 | HarmonixMetasound/DataTypes/MidiClock.h | ||
| LoopLengthTicks | int32 | HarmonixMetasound/DataTypes/MidiClock.h | ||
| MidiClockEventsInBlock | FMidiClockEvents | HarmonixMetasound/DataTypes/MidiClock.h | ||
| MidiDataChangedInBlock | bool | HarmonixMetasound/DataTypes/MidiClock.h | ||
| NeedsSeekToDrivingClock | bool | HarmonixMetasound/DataTypes/MidiClock.h | ||
| NextMidiTickToProcess | int32 | HarmonixMetasound/DataTypes/MidiClock.h | ||
| NextTempoChangeTick | int32 | HarmonixMetasound/DataTypes/MidiClock.h | ||
| NextTempoMapTickToProcess | int32 | HarmonixMetasound/DataTypes/MidiClock.h | ||
| NextTempoOrTimeSigChangeTick | int32 | HarmonixMetasound/DataTypes/MidiClock.h | ||
| NextTimeSigChangeTick | int32 | HarmonixMetasound/DataTypes/MidiClock.h | ||
| NumSpeedChangeInBlock | int32 | HarmonixMetasound/DataTypes/MidiClock.h | ||
| NumTempoChangeInBlock | int32 | HarmonixMetasound/DataTypes/MidiClock.h | ||
| NumTimeSignatureChangeInBlock | int32 | HarmonixMetasound/DataTypes/MidiClock.h | ||
| NumTransportChangeInBlock | int32 | HarmonixMetasound/DataTypes/MidiClock.h | ||
| SampleCount | Metasound::FSampleCount | HarmonixMetasound/DataTypes/MidiClock.h | ||
| SampleRate | float | HarmonixMetasound/DataTypes/MidiClock.h | ||
| SongMapEvaluator | TSharedPtr< FSongMapsWithAlternateTempoSource > | HarmonixMetasound/DataTypes/MidiClock.h | ||
| SpeedAtBlockEnd | float | HarmonixMetasound/DataTypes/MidiClock.h | ||
| SpeedAtBlockStart | float | HarmonixMetasound/DataTypes/MidiClock.h | ||
| TempoAtBlockEnd | float | HarmonixMetasound/DataTypes/MidiClock.h | ||
| TempoAtBlockStart | float | HarmonixMetasound/DataTypes/MidiClock.h | ||
| TickResidualWhenDriven | float | HarmonixMetasound/DataTypes/MidiClock.h | ||
| TimeSignatureAtBlockEnd | FTimeSignature | HarmonixMetasound/DataTypes/MidiClock.h | ||
| TimeSignatureAtBlockStart | FTimeSignature | HarmonixMetasound/DataTypes/MidiClock.h | ||
| TransportAtBlockEnd | EMusicPlayerTransportState | HarmonixMetasound/DataTypes/MidiClock.h | ||
| TransportAtBlockStart | EMusicPlayerTransportState | HarmonixMetasound/DataTypes/MidiClock.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
void AddTransientLoop
(
int32 BlockFrameIndex, |
This will add a loop event to the clock event stream WITHOUT having to set this clock to looping. | HarmonixMetasound/DataTypes/MidiClock.h | |
void Advance
(
const FMidiClock& DrivingClock, |
Process and advance the clock based on the driving clock given sample frames will handle the driving clock events based on the frame range | HarmonixMetasound/DataTypes/MidiClock.h | |
void Advance
(
int32 StartFrame, |
Process and advance the clock normally based on the given sample frames | HarmonixMetasound/DataTypes/MidiClock.h | |
bool AdvanceToMs
(
int32 BlockFrameIndex, |
HarmonixMetasound/DataTypes/MidiClock.h | ||
bool AdvanceToTick
(
int32 BlockFrameIndex, |
HarmonixMetasound/DataTypes/MidiClock.h | ||
void AttachToSongMapEvaluator
(
TSharedPtr< ISongMapEvaluator > SongMaps, |
HarmonixMetasound/DataTypes/MidiClock.h | ||
void ClearPersistentLoop() |
HarmonixMetasound/DataTypes/MidiClock.h | ||
void DetachFromSongMaps() |
HarmonixMetasound/DataTypes/MidiClock.h | ||
float GetCurrentSongPosMs() |
HarmonixMetasound/DataTypes/MidiClock.h | ||
FConstSharedMidiClockPtr GetDrivingClock() |
HarmonixMetasound/DataTypes/MidiClock.h | ||
int32 GetFirstTickInLoop() |
HarmonixMetasound/DataTypes/MidiClock.h | ||
int32 GetLastProcessedMidiTick() |
HarmonixMetasound/DataTypes/MidiClock.h | ||
float GetLoopEndMs() |
HarmonixMetasound/DataTypes/MidiClock.h | ||
float GetLoopLengthMs() |
HarmonixMetasound/DataTypes/MidiClock.h | ||
int32 GetLoopLengthTicks() |
HarmonixMetasound/DataTypes/MidiClock.h | ||
float GetLoopStartMs() |
HarmonixMetasound/DataTypes/MidiClock.h | ||
const FMidiClockEvents & GetMidiClockEventsInBlock() |
HarmonixMetasound/DataTypes/MidiClock.h | ||
FMusicTimestamp GetMusicTimestampAtBlockEnd() |
Get the timestamp after the most recent clock update. | HarmonixMetasound/DataTypes/MidiClock.h | |
FMusicTimestamp GetMusicTimestampAtBlockOffset
(
int32 Offset |
Get the music timestamp at a given frame offset from the last processed audio block. | HarmonixMetasound/DataTypes/MidiClock.h | |
int32 GetNextMidiTickToProcess() |
HarmonixMetasound/DataTypes/MidiClock.h | ||
int32 GetNextTickToProcessAtBlockFrame
(
int32 BlockFrame |
HarmonixMetasound/DataTypes/MidiClock.h | ||
int32 GetNumSpeedChangesInBlock() |
HarmonixMetasound/DataTypes/MidiClock.h | ||
int32 GetNumTempoChangesInBlock() |
HarmonixMetasound/DataTypes/MidiClock.h | ||
int32 GetNumTransportStateChangesInBlock() |
HarmonixMetasound/DataTypes/MidiClock.h | ||
const ISongMapEvaluator & GetSongMapEvaluator() |
HarmonixMetasound/DataTypes/MidiClock.h | ||
bool GetSongMapsChangedInBlock() |
HarmonixMetasound/DataTypes/MidiClock.h | ||
float GetSongPosMsAtBlockOffset
(
int32 Offset |
Get the absolute "music time" in ms for a frame within the last audio block. This is the time in the musical content that the clock has advanced "up to". Note: This time will not be sample accurate as midi processing advances by ticks, and the time is calculated by turning the "current tick" at the offset provided into a time in ms. | HarmonixMetasound/DataTypes/MidiClock.h | |
float GetSpeedAtBlockSampleFrame
(
int32 FrameIndex |
HarmonixMetasound/DataTypes/MidiClock.h | ||
float GetSpeedAtEndOfBlock() |
HarmonixMetasound/DataTypes/MidiClock.h | ||
float GetSpeedAtStartOfBlock() |
HarmonixMetasound/DataTypes/MidiClock.h | ||
float GetTempoAtBlockSampleFrame
(
int32 FrameIndex |
HarmonixMetasound/DataTypes/MidiClock.h | ||
float GetTempoAtEndOfBlock() |
HarmonixMetasound/DataTypes/MidiClock.h | ||
float GetTempoAtStartOfBlock() |
HarmonixMetasound/DataTypes/MidiClock.h | ||
EMusicPlayerTransportState GetTransportStateAtEndOfBlock() |
HarmonixMetasound/DataTypes/MidiClock.h | ||
EMusicPlayerTransportState GetTransportStateAtStartOfBlock() |
HarmonixMetasound/DataTypes/MidiClock.h | ||
bool HasPersistentLoop() |
HarmonixMetasound/DataTypes/MidiClock.h | ||
bool HasSpeedChangesInBlock() |
HarmonixMetasound/DataTypes/MidiClock.h | ||
bool HasTempoChangesInBlock() |
HarmonixMetasound/DataTypes/MidiClock.h | ||
bool HasTransportStateChangesInBlock() |
HarmonixMetasound/DataTypes/MidiClock.h | ||
void PrepareBlock() |
HarmonixMetasound/DataTypes/MidiClock.h | ||
void Reset
(
const Metasound::FOperatorSettings& InSettings |
HarmonixMetasound/DataTypes/MidiClock.h | ||
void SeekTo
(
int32 BlockFrameIndex, |
Directly seek this clock with a musical seek target or a specific tick | HarmonixMetasound/DataTypes/MidiClock.h | |
void SeekTo
(
int32 BlockFrameIndex, |
HarmonixMetasound/DataTypes/MidiClock.h | ||
void SetDrivingClock
(
FConstSharedMidiClockPtr NewExternalClockDriver |
HarmonixMetasound/DataTypes/MidiClock.h | ||
void SetSpeed
(
int32 BlockFrameIndex, |
HarmonixMetasound/DataTypes/MidiClock.h | ||
void SetTempo
(
int32 BlockFrameIndex, |
HarmonixMetasound/DataTypes/MidiClock.h | ||
void SetTimeSignature
(
int32 BlockFrameIndex, |
HarmonixMetasound/DataTypes/MidiClock.h | ||
void SetTransportState
(
int32 BlockFrameIndex, |
HarmonixMetasound/DataTypes/MidiClock.h | ||
void SetupPersistentLoop
(
int32 NewFirstTickInLoop, |
HarmonixMetasound/DataTypes/MidiClock.h | ||
void SongMapsChanged() |
HarmonixMetasound/DataTypes/MidiClock.h | ||
int32 WrapTickIfLooping
(
int32 Tick |
Given an input tick, outputs a looped tick if the input tick is > the StartTick of the Loop Region If the clock is not looping, or loop region length is 0, then the output will be unchanged. | HarmonixMetasound/DataTypes/MidiClock.h |
Operators
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
FMidiClock & operator=
(
const FMidiClock& Other |
HarmonixMetasound/DataTypes/MidiClock.h |