I’m having trouble understanding the start, end and length of a clip.
const te::EditTimeRange editTimeRange (0, edit->tempoSequence.barsBeatsToTime ({ 1, 0.0 }));
auto clip = track->insertNewClip (te::TrackItem::Type::step, "StepClip", editTimeRange, nullptr);
auto stepClip = static_cast<te::StepClip*>(clip);
DBG("stepClip->getStartBeat: " + juce::String(stepClip->getStartBeat()));
DBG("stepClip->getContentStartBeat: " + juce::String(stepClip->getContentStartBeat()));
DBG("stepClip->getLengthInBeats: " + juce::String(stepClip->getLengthInBeats()));
DBG("stepClip->getEndBeat: " + juce::String(stepClip->getEndBeat()));
DBG("stepClip->getLoopLength: " + juce::String(stepClip->getLoopLength()));
DBG("stepClip->getBeatsPerBar: " + juce::String(stepClip->getBeatsPerBar()));
DBG("stepClip->getPosition().getStart: " + juce::String(stepClip->getPosition().getStart()));
DBG("stepClip->getPosition().getEnd: " + juce::String(stepClip->getPosition().getEnd()));
DBG("stepClip->getPosition().getLength: " + juce::String(stepClip->getPosition().getLength()));
DBG("stepClip->getPattern(0).getNumNotes: " + juce::String(stepClip->getPattern(0).getNumNotes()));
DBG("stepClip->getEditTimeRange().getStart: " + juce::String(stepClip->getEditTimeRange().getStart()));
DBG("stepClip->getEditTimeRange().getLength: " + juce::String(stepClip->getEditTimeRange().getLength()));
DBG("stepClip->getEditTimeRange().getEnd: " + juce::String(stepClip->getEditTimeRange().getEnd()));
This is the result:
stepClip->getStartBeat: 0
stepClip->getContentStartBeat: 0
stepClip->getLengthInBeats: 4
stepClip->getEndBeat: 4
stepClip->getLoopLength: 0
stepClip->getBeatsPerBar: 4
stepClip->getPosition().getStart: 0
stepClip->getPosition().getEnd: 2
stepClip->getPosition().getLength: 2
stepClip->getPattern(0).getNumNotes: 16
stepClip->getEditTimeRange().getStart: 0
stepClip->getEditTimeRange().getLength: 2
stepClip->getEditTimeRange().getEnd: 2
How can I find out the length of a clip? Why are clip end and length the same?
Tracktion display it correctly: