LMMS
Loading...
Searching...
No Matches
lmms::gui::TimeLineWidget Class Reference

#include <TimeLineWidget.h>

Inheritance diagram for lmms::gui::TimeLineWidget:

Public Types

enum class  AutoScrollState { Stepped , Continuous , Disabled }

Public Slots

void setSnapSize (const float snapSize)
void toggleAutoScroll (int _n)

Signals

void regionSelectedFromPixels (int, int)
void selectionFinished ()

Public Member Functions

 TimeLineWidget (int xoff, int yoff, float ppb, Timeline &timeline, const TimePos &begin, QWidget *parent)
 ~TimeLineWidget () override
QColor constgetBarLineColor () const
void setBarLineColor (QColor const &barLineColor)
QColor constgetBarNumberColor () const
void setBarNumberColor (QColor const &barNumberColor)
QColor constgetInactiveLoopColor () const
void setInactiveLoopColor (QColor const &inactiveLoopColor)
QBrush constgetInactiveLoopBrush () const
void setInactiveLoopBrush (QBrush const &inactiveLoopBrush)
QColor constgetInactiveLoopInnerColor () const
void setInactiveLoopInnerColor (QColor const &inactiveLoopInnerColor)
QColor constgetActiveLoopColor () const
void setActiveLoopColor (QColor const &activeLoopColor)
QBrush constgetActiveLoopBrush () const
void setActiveLoopBrush (QBrush const &activeLoopBrush)
QColor constgetActiveLoopInnerColor () const
void setActiveLoopInnerColor (QColor const &activeLoopInnerColor)
int constgetLoopRectangleVerticalPadding () const
void setLoopRectangleVerticalPadding (int const &loopRectangleVerticalPadding)
auto mouseHotspotSelLeft () const -> QSize
void setMouseHotspotSelLeft (const QSize &s)
auto mouseHotspotSelRight () const -> QSize
void setMouseHotspotSelRight (const QSize &s)
AutoScrollState autoScroll () const
void setAutoScroll (AutoScrollState state)
void setPixelsPerBar (float ppb)
void setXOffset (const int x)
void addToolButtons (QToolBar *_tool_bar)
int markerX (const TimePos &_t) const
Timelinetimeline ()
bool isRecording () const
void setRecording (bool recording)
bool isPlayheadVisible () const
void setPlayheadVisible (bool visible)

Static Public Member Functions

static AutoScrollState defaultAutoScrollState ()

Static Public Attributes

static constexpr const char * AutoScrollDisabledString = "disabled"
static constexpr const char * AutoScrollSteppedString = "stepped"
static constexpr const char * AutoScrollContinuousString = "continuous"

Protected Member Functions

void paintEvent (QPaintEvent *_pe) override
void mousePressEvent (QMouseEvent *_me) override
void mouseMoveEvent (QMouseEvent *_me) override
void mouseReleaseEvent (QMouseEvent *_me) override
void contextMenuEvent (QContextMenuEvent *event) override

Properties

QColor barLineColor
QColor barNumberColor
QColor inactiveLoopColor
QBrush inactiveLoopBrush
QColor inactiveLoopInnerColor
QColor inactiveLoopHandleColor
QColor activeLoopColor
QBrush activeLoopBrush
QColor activeLoopInnerColor
QColor activeLoopHandleColor
int loopRectangleVerticalPadding
int loopHandleWidth
QSize mouseHotspotSelLeft
QSize mouseHotspotSelRight

Private Types

enum class  Action {
  NoAction , MovePositionMarker , MoveLoopBegin , MoveLoopEnd ,
  MoveLoop , SelectSongClip
}

Private Member Functions

auto getClickedTime (int xPosition) const -> TimePos
auto getLoopAction (QMouseEvent *event) const -> Action
auto actionCursor (Action action) const -> QCursor

Private Attributes

QPixmap m_posMarkerPixmap = embed::getIconPixmap("playpos_marker")
QPixmap m_recordingPosMarkerPixmap = embed::getIconPixmap("recording_playpos_marker")
QColor m_inactiveLoopColor = QColor{52, 63, 53, 64}
QBrush m_inactiveLoopBrush = QColor{255, 255, 255, 32}
QColor m_inactiveLoopInnerColor = QColor{255, 255, 255, 32}
QColor m_inactiveLoopHandleColor = QColor{255, 255, 255, 32}
QColor m_activeLoopColor = QColor{52, 63, 53, 255}
QBrush m_activeLoopBrush = QColor{55, 141, 89}
QColor m_activeLoopInnerColor = QColor{74, 155, 100, 255}
QColor m_activeLoopHandleColor = QColor{74, 155, 100, 255}
int m_loopRectangleVerticalPadding = 1
int m_loopHandleWidth = 5
QColor m_barLineColor = QColor{192, 192, 192}
QColor m_barNumberColor = m_barLineColor.darker(120)
QCursor m_cursorSelectLeft = QCursor{embed::getIconPixmap("cursor_select_left"), 0, 16}
QCursor m_cursorSelectRight = QCursor{embed::getIconPixmap("cursor_select_right"), 32, 16}
int m_xOffset
float m_ppb
float m_snapSize = 1.f
Timelinem_timeline
const TimePosm_begin
AutoScrollState m_autoScroll = defaultAutoScrollState()
std::array< TimePos, 2 > m_oldLoopPos
TimePos m_dragStartPos
bool m_isRecording = false
bool m_isPlayheadVisible = true
TextFloatm_hint = nullptr
int m_initalXSelect
Action m_action = Action::NoAction

Member Enumeration Documentation

◆ Action

enum class lmms::gui::TimeLineWidget::Action
strongprivate
Enumerator
NoAction 
MovePositionMarker 
MoveLoopBegin 
MoveLoopEnd 
MoveLoop 
SelectSongClip 

◆ AutoScrollState

Enumerator
Stepped 
Continuous 
Disabled 

Constructor & Destructor Documentation

◆ TimeLineWidget()

lmms::gui::TimeLineWidget::TimeLineWidget ( int xoff,
int yoff,
float ppb,
Timeline & timeline,
const TimePos & begin,
QWidget * parent )

◆ ~TimeLineWidget()

lmms::gui::TimeLineWidget::~TimeLineWidget ( )
override

Member Function Documentation

◆ actionCursor()

auto lmms::gui::TimeLineWidget::actionCursor ( Action action) const -> QCursor
private

◆ addToolButtons()

void lmms::gui::TimeLineWidget::addToolButtons ( QToolBar * _tool_bar)

◆ autoScroll()

AutoScrollState lmms::gui::TimeLineWidget::autoScroll ( ) const
inline

◆ contextMenuEvent()

void lmms::gui::TimeLineWidget::contextMenuEvent ( QContextMenuEvent * event)
overrideprotected

◆ defaultAutoScrollState()

TimeLineWidget::AutoScrollState lmms::gui::TimeLineWidget::defaultAutoScrollState ( )
static

◆ getActiveLoopBrush()

QBrush const & lmms::gui::TimeLineWidget::getActiveLoopBrush ( ) const
inline

◆ getActiveLoopColor()

QColor const & lmms::gui::TimeLineWidget::getActiveLoopColor ( ) const
inline

◆ getActiveLoopInnerColor()

QColor const & lmms::gui::TimeLineWidget::getActiveLoopInnerColor ( ) const
inline

◆ getBarLineColor()

QColor const & lmms::gui::TimeLineWidget::getBarLineColor ( ) const
inline

◆ getBarNumberColor()

QColor const & lmms::gui::TimeLineWidget::getBarNumberColor ( ) const
inline

◆ getClickedTime()

auto lmms::gui::TimeLineWidget::getClickedTime ( int xPosition) const -> TimePos
private

◆ getInactiveLoopBrush()

QBrush const & lmms::gui::TimeLineWidget::getInactiveLoopBrush ( ) const
inline

◆ getInactiveLoopColor()

QColor const & lmms::gui::TimeLineWidget::getInactiveLoopColor ( ) const
inline

◆ getInactiveLoopInnerColor()

QColor const & lmms::gui::TimeLineWidget::getInactiveLoopInnerColor ( ) const
inline

◆ getLoopAction()

auto lmms::gui::TimeLineWidget::getLoopAction ( QMouseEvent * event) const -> Action
private

◆ getLoopRectangleVerticalPadding()

int const & lmms::gui::TimeLineWidget::getLoopRectangleVerticalPadding ( ) const
inline

◆ isPlayheadVisible()

bool lmms::gui::TimeLineWidget::isPlayheadVisible ( ) const
inline

◆ isRecording()

bool lmms::gui::TimeLineWidget::isRecording ( ) const
inline

◆ markerX()

int lmms::gui::TimeLineWidget::markerX ( const TimePos & _t) const
inline

◆ mouseHotspotSelLeft()

auto lmms::gui::TimeLineWidget::mouseHotspotSelLeft ( ) const -> QSize
inline

◆ mouseHotspotSelRight()

auto lmms::gui::TimeLineWidget::mouseHotspotSelRight ( ) const -> QSize
inline

◆ mouseMoveEvent()

void lmms::gui::TimeLineWidget::mouseMoveEvent ( QMouseEvent * _me)
overrideprotected

◆ mousePressEvent()

void lmms::gui::TimeLineWidget::mousePressEvent ( QMouseEvent * _me)
overrideprotected

◆ mouseReleaseEvent()

void lmms::gui::TimeLineWidget::mouseReleaseEvent ( QMouseEvent * _me)
overrideprotected

◆ paintEvent()

void lmms::gui::TimeLineWidget::paintEvent ( QPaintEvent * _pe)
overrideprotected

◆ regionSelectedFromPixels

void lmms::gui::TimeLineWidget::regionSelectedFromPixels ( int ,
int  )
signal

◆ selectionFinished

void lmms::gui::TimeLineWidget::selectionFinished ( )
signal

◆ setActiveLoopBrush()

void lmms::gui::TimeLineWidget::setActiveLoopBrush ( QBrush const & activeLoopBrush)
inline

◆ setActiveLoopColor()

void lmms::gui::TimeLineWidget::setActiveLoopColor ( QColor const & activeLoopColor)
inline

◆ setActiveLoopInnerColor()

void lmms::gui::TimeLineWidget::setActiveLoopInnerColor ( QColor const & activeLoopInnerColor)
inline

◆ setAutoScroll()

void lmms::gui::TimeLineWidget::setAutoScroll ( AutoScrollState state)
inline

◆ setBarLineColor()

void lmms::gui::TimeLineWidget::setBarLineColor ( QColor const & barLineColor)
inline

◆ setBarNumberColor()

void lmms::gui::TimeLineWidget::setBarNumberColor ( QColor const & barNumberColor)
inline

◆ setInactiveLoopBrush()

void lmms::gui::TimeLineWidget::setInactiveLoopBrush ( QBrush const & inactiveLoopBrush)
inline

◆ setInactiveLoopColor()

void lmms::gui::TimeLineWidget::setInactiveLoopColor ( QColor const & inactiveLoopColor)
inline

◆ setInactiveLoopInnerColor()

void lmms::gui::TimeLineWidget::setInactiveLoopInnerColor ( QColor const & inactiveLoopInnerColor)
inline

◆ setLoopRectangleVerticalPadding()

void lmms::gui::TimeLineWidget::setLoopRectangleVerticalPadding ( int const & loopRectangleVerticalPadding)
inline

◆ setMouseHotspotSelLeft()

void lmms::gui::TimeLineWidget::setMouseHotspotSelLeft ( const QSize & s)
inline

◆ setMouseHotspotSelRight()

void lmms::gui::TimeLineWidget::setMouseHotspotSelRight ( const QSize & s)
inline

◆ setPixelsPerBar()

void lmms::gui::TimeLineWidget::setPixelsPerBar ( float ppb)
inline

◆ setPlayheadVisible()

void lmms::gui::TimeLineWidget::setPlayheadVisible ( bool visible)
inline

◆ setRecording()

void lmms::gui::TimeLineWidget::setRecording ( bool recording)
inline

◆ setSnapSize

void lmms::gui::TimeLineWidget::setSnapSize ( const float snapSize)
inlineslot

◆ setXOffset()

void lmms::gui::TimeLineWidget::setXOffset ( const int x)

◆ timeline()

Timeline * lmms::gui::TimeLineWidget::timeline ( )
inline

◆ toggleAutoScroll

void lmms::gui::TimeLineWidget::toggleAutoScroll ( int _n)
slot

Member Data Documentation

◆ AutoScrollContinuousString

const char* lmms::gui::TimeLineWidget::AutoScrollContinuousString = "continuous"
staticconstexpr

◆ AutoScrollDisabledString

const char* lmms::gui::TimeLineWidget::AutoScrollDisabledString = "disabled"
staticconstexpr

◆ AutoScrollSteppedString

const char* lmms::gui::TimeLineWidget::AutoScrollSteppedString = "stepped"
staticconstexpr

◆ m_action

Action lmms::gui::TimeLineWidget::m_action = Action::NoAction
private

◆ m_activeLoopBrush

QBrush lmms::gui::TimeLineWidget::m_activeLoopBrush = QColor{55, 141, 89}
private

◆ m_activeLoopColor

QColor lmms::gui::TimeLineWidget::m_activeLoopColor = QColor{52, 63, 53, 255}
private

◆ m_activeLoopHandleColor

QColor lmms::gui::TimeLineWidget::m_activeLoopHandleColor = QColor{74, 155, 100, 255}
private

◆ m_activeLoopInnerColor

QColor lmms::gui::TimeLineWidget::m_activeLoopInnerColor = QColor{74, 155, 100, 255}
private

◆ m_autoScroll

AutoScrollState lmms::gui::TimeLineWidget::m_autoScroll = defaultAutoScrollState()
private

◆ m_barLineColor

QColor lmms::gui::TimeLineWidget::m_barLineColor = QColor{192, 192, 192}
private

◆ m_barNumberColor

QColor lmms::gui::TimeLineWidget::m_barNumberColor = m_barLineColor.darker(120)
private

◆ m_begin

const TimePos& lmms::gui::TimeLineWidget::m_begin
private

◆ m_cursorSelectLeft

QCursor lmms::gui::TimeLineWidget::m_cursorSelectLeft = QCursor{embed::getIconPixmap("cursor_select_left"), 0, 16}
private

◆ m_cursorSelectRight

QCursor lmms::gui::TimeLineWidget::m_cursorSelectRight = QCursor{embed::getIconPixmap("cursor_select_right"), 32, 16}
private

◆ m_dragStartPos

TimePos lmms::gui::TimeLineWidget::m_dragStartPos
private

◆ m_hint

TextFloat* lmms::gui::TimeLineWidget::m_hint = nullptr
private

◆ m_inactiveLoopBrush

QBrush lmms::gui::TimeLineWidget::m_inactiveLoopBrush = QColor{255, 255, 255, 32}
private

◆ m_inactiveLoopColor

QColor lmms::gui::TimeLineWidget::m_inactiveLoopColor = QColor{52, 63, 53, 64}
private

◆ m_inactiveLoopHandleColor

QColor lmms::gui::TimeLineWidget::m_inactiveLoopHandleColor = QColor{255, 255, 255, 32}
private

◆ m_inactiveLoopInnerColor

QColor lmms::gui::TimeLineWidget::m_inactiveLoopInnerColor = QColor{255, 255, 255, 32}
private

◆ m_initalXSelect

int lmms::gui::TimeLineWidget::m_initalXSelect
private

◆ m_isPlayheadVisible

bool lmms::gui::TimeLineWidget::m_isPlayheadVisible = true
private

◆ m_isRecording

bool lmms::gui::TimeLineWidget::m_isRecording = false
private

◆ m_loopHandleWidth

int lmms::gui::TimeLineWidget::m_loopHandleWidth = 5
private

◆ m_loopRectangleVerticalPadding

int lmms::gui::TimeLineWidget::m_loopRectangleVerticalPadding = 1
private

◆ m_oldLoopPos

std::array<TimePos, 2> lmms::gui::TimeLineWidget::m_oldLoopPos
private

◆ m_posMarkerPixmap

QPixmap lmms::gui::TimeLineWidget::m_posMarkerPixmap = embed::getIconPixmap("playpos_marker")
private

◆ m_ppb

float lmms::gui::TimeLineWidget::m_ppb
private

◆ m_recordingPosMarkerPixmap

QPixmap lmms::gui::TimeLineWidget::m_recordingPosMarkerPixmap = embed::getIconPixmap("recording_playpos_marker")
private

◆ m_snapSize

float lmms::gui::TimeLineWidget::m_snapSize = 1.f
private

◆ m_timeline

Timeline* lmms::gui::TimeLineWidget::m_timeline
private

◆ m_xOffset

int lmms::gui::TimeLineWidget::m_xOffset
private

Property Documentation

◆ activeLoopBrush

QBrush lmms::gui::TimeLineWidget::activeLoopBrush
readwrite

◆ activeLoopColor

QColor lmms::gui::TimeLineWidget::activeLoopColor
readwrite

◆ activeLoopHandleColor

QColor lmms::gui::TimeLineWidget::activeLoopHandleColor

◆ activeLoopInnerColor

QColor lmms::gui::TimeLineWidget::activeLoopInnerColor
readwrite

◆ barLineColor

QColor lmms::gui::TimeLineWidget::barLineColor
readwrite

◆ barNumberColor

QColor lmms::gui::TimeLineWidget::barNumberColor
readwrite

◆ inactiveLoopBrush

QBrush lmms::gui::TimeLineWidget::inactiveLoopBrush
readwrite

◆ inactiveLoopColor

QColor lmms::gui::TimeLineWidget::inactiveLoopColor
readwrite

◆ inactiveLoopHandleColor

QColor lmms::gui::TimeLineWidget::inactiveLoopHandleColor

◆ inactiveLoopInnerColor

QColor lmms::gui::TimeLineWidget::inactiveLoopInnerColor
readwrite

◆ loopHandleWidth

int lmms::gui::TimeLineWidget::loopHandleWidth

◆ loopRectangleVerticalPadding

int lmms::gui::TimeLineWidget::loopRectangleVerticalPadding
readwrite

◆ mouseHotspotSelLeft

QSize lmms::gui::TimeLineWidget::mouseHotspotSelLeft
readwrite

◆ mouseHotspotSelRight

QSize lmms::gui::TimeLineWidget::mouseHotspotSelRight
readwrite

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