rewrite nearly complete

This commit is contained in:
itsmattkc
2019-04-03 01:38:01 +11:00
parent 8989333e99
commit 2d4714547b
102 changed files with 3213 additions and 2892 deletions
+32 -4
View File
@@ -50,12 +50,8 @@ void Track::Save(QXmlStreamWriter &stream)
for (int j=0;j<clips_.size();j++) {
Clip* c = clips_.at(j).get();
stream.writeStartElement("clip");
stream.writeAttribute("id", QString::number(c->load_id));
c->Save(stream);
stream.writeEndElement(); // clip
}
stream.writeEndElement(); // track
@@ -78,6 +74,10 @@ void Track::set_height(int h)
void Track::AddClip(ClipPtr clip)
{
if (clips_.contains(clip)) {
return;
}
clips_.append(clip);
if (clip->track() != nullptr) {
clip->track()->RemoveClip(clip.get());
@@ -85,6 +85,16 @@ void Track::AddClip(ClipPtr clip)
clip->set_track(this);
}
int Track::ClipCount()
{
return clips_.size();
}
ClipPtr Track::GetClip(int i)
{
return clips_.at(i);
}
void Track::RemoveClip(int i)
{
clips_.removeAt(i);
@@ -145,6 +155,19 @@ ClipPtr Track::GetClipObjectFromRawPtr(Clip *c)
Q_ASSERT(false);
}
Clip *Track::GetClipFromPoint(long point)
{
for (int i=0;i<clips_.size();i++) {
Clip* c = clips_.at(i).get();
if (c->timeline_in() <= point && c->timeline_out() > point) {
return c;
}
}
return nullptr;
}
int Track::Index()
{
return parent_->IndexOfTrack(this);
@@ -209,6 +232,11 @@ bool Track::IsTransitionSelected(Transition *t)
return false;
}
void Track::SelectArea(long in, long out)
{
selections_.append(Selection(in, out, this));
}
void Track::SelectClip(Clip* c)
{
selections_.append(Selection(c->timeline_in(), c->timeline_out(), this));