AcademySoftwareFoundation / AcademySoftwareFoundation/OpenTimelineIO
otioview's CompositionWidget assumes all stacks have tracks
- Dominant language
- C++
- Stars
- 2k
- Forks
- 351
- Avg merge
- 1d 12h
- Merged PRs (30d)
- 1
Description
otioview CompositionWidget can run into issues when coming across nested stacks that contain direct clip (Item) children. You'll notice this if you have a:
Timeline -> Stack -> Track -> Stack -> Clip
And you try and "Open" (double click for example) the internal Stack you'll see:
```
File "...OpenTimelineIO/opentimelineview/timeline_widget.py", line 375, in _adjust_scene_size
for t in self.composition
File "...OpenTimelineIO/opentimelineview/timeline_widget.py", line 375, in
for t in self.composition
AttributeError: 'Clip' object has no attribute 'kind'
```
This assumption shows up in both `_adjust_scene_size()` and `_add_tracks()`
Contributor guide
Research direction
Start in opentimelineview/timeline_widget.py, focusing on _adjust_scene_size() and _add_tracks(), and reproduce the nested Timeline → Stack → Track → Stack → Clip case by opening the internal Stack. Done means CompositionWidget handles direct Clip children without the reported AttributeError in either function.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- desktop
- Issue type
- Bug
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Stale
- Clarity
- Clearly specified
- Newbie friendliness
- 45/100