| 585 | } |
| 586 | |
| 587 | std::shared_ptr<Track> TrackList::Remove(Track &track) |
| 588 | { |
| 589 | auto *t = &track; |
| 590 | auto iter = getEnd(); |
| 591 | auto node = t->GetNode(); |
| 592 | t->SetOwner({}, {}); |
| 593 | |
| 594 | std::shared_ptr<Track> holder; |
| 595 | if (!isNull(node)) { |
| 596 | holder = *node; |
| 597 | |
| 598 | iter = getNext(node); |
| 599 | erase(node); |
| 600 | if (!isNull(iter)) |
| 601 | RecalcPositions(iter); |
| 602 | |
| 603 | DeletionEvent(t->shared_from_this(), false); |
| 604 | } |
| 605 | return holder; |
| 606 | } |
| 607 | |
| 608 | void TrackList::Clear(bool sendEvent) |
| 609 | { |
no test coverage detected