11namespace tracktion {
inline namespace engine
157 bool maintainParent =
false;
160 void initialiseMissingProps();
161 void duplicateIfShared();
168 void setBpm (
double newBpm,
double currentBpm);
175 template<
typename Type>
180 state.setProperty (i, v, um);
183 template<
typename Type>
187 return state.getProperty (i);
The Engine is the central class for all tracktion sessions.
Holds tempo/beat information about an audio file.
bool isOneShot() const
Returns true if this can be is a one-shot e.g.
SampleCount getOutMarker() const
Returns the sample number used as the end point in the file.
void clearLoopPoints()
Removes all the loop points.
void setInMarker(SampleCount)
Sets the sample number to be used as the start point in the file.
void setNumerator(int newNumerator)
Sets the numerator of the object.
void setDenominator(int newDenominator)
Sets the denominator of the object.
void setBpm(double newBpm, const AudioFileInfo &)
Sets the tempo of the object.
void addLoopPoint(SampleCount, LoopPointType)
Adds a loop point at the given position.
int getDenominator() const
Returns the denominator of the object.
int getNumTags() const
Returns the number of tags.
LoopInfo & operator=(const LoopInfo &)
Creates a copy of another LoopInfo.
void addTag(const juce::String &tag)
Adds a tag.
bool isLoopable() const
Returns true if this can be looped.
LoopPoint getLoopPoint(int index) const
Returns the loop points at the given index.
int getRootNote() const
Returns the root note of the object.
void changeLoopPoint(int index, SampleCount, LoopPointType)
Sets the loop point at the given index to a new position and type.
int getNumLoopPoints() const
Returns the number of loop points in the object.
LoopPointType
Enum to represet the type of loop point.
@ automatic
An automatoc loop point.
@ manual
A manual loop point.
SampleCount getInMarker() const
Returns the sample number used as the start point in the file.
void addTags(const juce::StringArray &tags)
Adds multiple tags.
double getNumBeats() const
Returns the number of beats.
double getBpm(const AudioFileInfo &) const
Returns the tempo of the object.
void clearTags()
Removes all the tags.
void setOutMarker(SampleCount)
Sets the sample number to be used as the end point in the file.
void deleteLoopPoint(int index)
Removes the loop point at the given index.
int getNumerator() const
Returns the numerator of the object.
Engine & engine
The engine this belongs to.
juce::String getTag(int index) const
Returns the tag at a given index.
void setRootNote(int note)
Sets the root note of the object.
void setNumBeats(double newNumBeats)
Sets the number of beats.
double getBeatsPerSecond(const AudioFileInfo &) const
Returns the tempo of the object.
#define JUCE_LEAK_DETECTOR(OwnerClass)
LoopPointType type
The type of the loop point.
SampleCount pos
The sample position of the loop point.
bool isAutomatic() const
Returns true if this is an automatic loop point.