tracktion-engine 3.0-10-g034fdde4aa5
Tracktion Engine — High level data model for audio applications

« « « Anklang Documentation
Loading...
Searching...
No Matches
tracktion_TimeSigSetting.h
Go to the documentation of this file.
1 /*
2 ,--. ,--. ,--. ,--.
3 ,-' '-.,--.--.,--,--.,---.| |,-.,-' '-.`--' ,---. ,--,--, Copyright 2024
4 '-. .-'| .--' ,-. | .--'| /'-. .-',--.| .-. || \ Tracktion Software
5 | | | | \ '-' \ `--.| \ \ | | | |' '-' '| || | Corporation
6 `---' `--' `--`--'`---'`--'`--' `---' `--' `---' `--''--' www.tracktion.com
7
8 Tracktion Engine uses a GPL/commercial licence - see LICENCE.md for details.
9*/
10
11namespace tracktion { inline namespace engine
12{
13
14//==============================================================================
19{
20public:
22 ~TimeSigSetting() override;
23
26
27 //==============================================================================
28 ClipPosition getPosition() const override;
29 BeatPosition getStartBeat() const { return startBeatNumber; }
30
31 //==============================================================================
32 // time sig in the form "4/4"
33 juce::String getStringTimeSig() const;
34 void setStringTimeSig (const juce::String&);
35
36 void removeFromEdit();
37
38 //==============================================================================
39 Track* getTrack() const override;
40
41 //==============================================================================
42 juce::String getName() const override;
44
45 //==============================================================================
46 juce::ValueTree state;
47 TempoSequence& ownerSequence;
48
49 juce::CachedValue<BeatPosition> startBeatNumber;
50 juce::CachedValue<int> numerator, denominator;
52
53 TimePosition startTime; // (updated by TempoSequence)
54 TimePosition endTime;
55
56private:
57 void valueTreeChanged() override { changed(); }
58
60};
61
62}} // namespace tracktion { inline namespace engine
virtual void changed()
This should be called to send a change notification to any SelectableListeners that are registered wi...
Holds a list of TempoSetting objects, to form a sequence of tempo changes.
Track * getTrack() const override
Must return the track this item lives on.
juce::String getSelectableDescription() override
Subclasses must return a description of what they are.
ClipPosition getPosition() const override
Must return the position of this item.
Base class for EditItems that live in a Track, e.g.
Base class for tracks which contain clips and plugins and can be added to Edit[s].
#define JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(className)
Represents a position in beats.
Represents a position in real-life time.
Represents the position of a clip on a timeline.