Photosine 0.5
Loading...
Searching...
No Matches

#include <TimelineComponent.h>

Inheritance diagram for Timeline::TimelineComponent:

Public Member Functions

 TimelineComponent ()
 ~TimelineComponent () override
juce::Component virtual members
void paint (juce::Graphics &) override
void resized () override

Private Member Functions

void centerOnTimecode (Time::Timecode timeToCenter)
void updateTimelinePositions ()
void refreshTracks ()
juce::MouseListener virtual members
void mouseDown (const juce::MouseEvent &event) override
void mouseDrag (const juce::MouseEvent &event) override
void mouseMagnify (const juce::MouseEvent &event, float scaleFactor) override
void mouseWheelMove (const juce::MouseEvent &event, const juce::MouseWheelDetails &wheel) override
juce::Scrollbar::Listener virtual members
void scrollBarMoved (juce::ScrollBar *scrollBarThatHasMoved, double newRangeStart) override
juce::ValueTree::Listener virtual members
void valueTreeChildAdded (juce::ValueTree &parentTree, juce::ValueTree &childWhichHasBeenAdded) override
void valueTreeChildRemoved (juce::ValueTree &parentTree, juce::ValueTree &childWhichHasBeenRemoved, int indexFromWhichChildWasRemoved) override
void valueTreeChildOrderChanged (juce::ValueTree &parentTreeWhoseChildrenHaveMoved, int oldIndex, int newIndex) override
void valueTreePropertyChanged (juce::ValueTree &treeWhosePropertyHasChanged, const juce::Identifier &property) override

Private Attributes

juce::ValueTree projectValueTree
bool scrollbarMoving = false
Main child components
std::unique_ptr< juce::ScrollBar > horizontalScrollbar
std::unique_ptr< juce::Viewport > timelineVideoViewport
std::unique_ptr< VideoTracksViewvideoTracksView
std::unique_ptr< juce::Viewport > timelineAudioViewport
std::unique_ptr< AudioTracksViewaudioTracksView
std::unique_ptr< juce::Viewport > timelineDataViewport
std::unique_ptr< DataTracksViewdataTracksView
std::unique_ptr< TimelineRulertimelineRuler
std::unique_ptr< PlayheadComponentplayhead
std::unique_ptr< TimelineHeaderToolbartimelineHeaderToolbar
Positioning stuff
std::unique_ptr< ResizeLineComponenttrackHeaderBorder
float timelineBorderMinLeft = 250
float timelineBorderMinRight = 400
std::unique_ptr< ResizeLineComponentaudioVideoBorder
float audioVideoBorderMinTop = 100
float audioVideoBorderMinBottom = 100
int trackHeaderWidth = 300
int rulerHeight = 30
int timelineViewHeight = 500
int scrollbarHeight = 10

Detailed Description

Main user interface component for the entire timeline. This contains TimelineRuler, PlayheadComponent, TrackComponent, TimelineView, etc. Interacts primarily with value tree.

See Also: VideoTrackComponent, AudioTrackComponent, DataTrackComponent, VideoTracksView, AudioTracksView, DataTracksView, VideoClipComponent, AudioClipComponent, DataClipComponent

Constructor & Destructor Documentation

◆ TimelineComponent()

Timeline::TimelineComponent::TimelineComponent ( )

◆ ~TimelineComponent()

Timeline::TimelineComponent::~TimelineComponent ( )
override

Member Function Documentation

◆ centerOnTimecode()

void Timeline::TimelineComponent::centerOnTimecode ( Time::Timecode timeToCenter)
private

Attempts to center the timeline view on a specified Timecode.

◆ mouseDown()

void Timeline::TimelineComponent::mouseDown ( const juce::MouseEvent & event)
overrideprivate

◆ mouseDrag()

void Timeline::TimelineComponent::mouseDrag ( const juce::MouseEvent & event)
overrideprivate

◆ mouseMagnify()

void Timeline::TimelineComponent::mouseMagnify ( const juce::MouseEvent & event,
float scaleFactor )
overrideprivate

◆ mouseWheelMove()

void Timeline::TimelineComponent::mouseWheelMove ( const juce::MouseEvent & event,
const juce::MouseWheelDetails & wheel )
overrideprivate

◆ paint()

void Timeline::TimelineComponent::paint ( juce::Graphics & g)
override

◆ refreshTracks()

void Timeline::TimelineComponent::refreshTracks ( )
private

Clear tracks and re-add to reflect current state.

◆ resized()

void Timeline::TimelineComponent::resized ( )
override

◆ scrollBarMoved()

void Timeline::TimelineComponent::scrollBarMoved ( juce::ScrollBar * scrollBarThatHasMoved,
double newRangeStart )
overrideprivate

◆ updateTimelinePositions()

void Timeline::TimelineComponent::updateTimelinePositions ( )
private

Refreshes position of child components to reflect position relative to Timecode.

◆ valueTreeChildAdded()

void Timeline::TimelineComponent::valueTreeChildAdded ( juce::ValueTree & parentTree,
juce::ValueTree & childWhichHasBeenAdded )
overrideprivate

◆ valueTreeChildOrderChanged()

void Timeline::TimelineComponent::valueTreeChildOrderChanged ( juce::ValueTree & parentTreeWhoseChildrenHaveMoved,
int oldIndex,
int newIndex )
overrideprivate

◆ valueTreeChildRemoved()

void Timeline::TimelineComponent::valueTreeChildRemoved ( juce::ValueTree & parentTree,
juce::ValueTree & childWhichHasBeenRemoved,
int indexFromWhichChildWasRemoved )
overrideprivate

◆ valueTreePropertyChanged()

void Timeline::TimelineComponent::valueTreePropertyChanged ( juce::ValueTree & treeWhosePropertyHasChanged,
const juce::Identifier & property )
overrideprivate

Member Data Documentation

◆ audioTracksView

std::unique_ptr<AudioTracksView> Timeline::TimelineComponent::audioTracksView
private

◆ audioVideoBorder

std::unique_ptr<ResizeLineComponent> Timeline::TimelineComponent::audioVideoBorder
private

◆ audioVideoBorderMinBottom

float Timeline::TimelineComponent::audioVideoBorderMinBottom = 100
private

◆ audioVideoBorderMinTop

float Timeline::TimelineComponent::audioVideoBorderMinTop = 100
private

◆ dataTracksView

std::unique_ptr<DataTracksView> Timeline::TimelineComponent::dataTracksView
private

◆ horizontalScrollbar

std::unique_ptr<juce::ScrollBar> Timeline::TimelineComponent::horizontalScrollbar
private

◆ playhead

std::unique_ptr<PlayheadComponent> Timeline::TimelineComponent::playhead
private

◆ projectValueTree

juce::ValueTree Timeline::TimelineComponent::projectValueTree
private

Local object holding the project value tree so it's in scope for the Listener subclass.

◆ rulerHeight

int Timeline::TimelineComponent::rulerHeight = 30
private

◆ scrollbarHeight

int Timeline::TimelineComponent::scrollbarHeight = 10
private

◆ scrollbarMoving

bool Timeline::TimelineComponent::scrollbarMoving = false
private

Flag used to prevent too-early updates while scroll bar is moving.

◆ timelineAudioViewport

std::unique_ptr<juce::Viewport> Timeline::TimelineComponent::timelineAudioViewport
private

◆ timelineBorderMinLeft

float Timeline::TimelineComponent::timelineBorderMinLeft = 250
private

◆ timelineBorderMinRight

float Timeline::TimelineComponent::timelineBorderMinRight = 400
private

◆ timelineDataViewport

std::unique_ptr<juce::Viewport> Timeline::TimelineComponent::timelineDataViewport
private

◆ timelineHeaderToolbar

std::unique_ptr<TimelineHeaderToolbar> Timeline::TimelineComponent::timelineHeaderToolbar
private

◆ timelineRuler

std::unique_ptr<TimelineRuler> Timeline::TimelineComponent::timelineRuler
private

◆ timelineVideoViewport

std::unique_ptr<juce::Viewport> Timeline::TimelineComponent::timelineVideoViewport
private

◆ timelineViewHeight

int Timeline::TimelineComponent::timelineViewHeight = 500
private

◆ trackHeaderBorder

std::unique_ptr<ResizeLineComponent> Timeline::TimelineComponent::trackHeaderBorder
private

◆ trackHeaderWidth

int Timeline::TimelineComponent::trackHeaderWidth = 300
private

◆ videoTracksView

std::unique_ptr<VideoTracksView> Timeline::TimelineComponent::videoTracksView
private

The documentation for this class was generated from the following files: