hydrogen 1.2.6
PatternEditorRuler Class Reference

#include <PatternEditorRuler.h>

Inheritance diagram for PatternEditorRuler:
WidgetWithScalableFont< 8, 10, 12 > Object< PatternEditorRuler > EventListener Base

Public Slots

void onPreferencesChanged (H2Core::Preferences::Changes changes)
 
void updateEditor (bool bRedrawAll=false)
 

Public Member Functions

 PatternEditorRuler (const PatternEditorRuler &)=delete
 
 PatternEditorRuler (QWidget *parent)
 
 ~PatternEditorRuler ()
 
void createBackground ()
 
float getGridWidth () const
 
void hideEvent (QHideEvent *ev) override
 
void invalidateBackground ()
 
void leaveEvent (QEvent *ev) override
 
void mouseMoveEvent (QMouseEvent *ev) override
 
void mousePressEvent (QMouseEvent *ev) override
 
PatternEditorRuleroperator= (const PatternEditorRuler &rhs)=delete
 
void paintEvent (QPaintEvent *ev) override
 
void showEvent (QShowEvent *ev) override
 
void updatePosition (bool bForce=false)
 Queries the audio engine to update the current position of the playhead.
 
void updateStart (bool start)
 
void zoomIn ()
 
void zoomOut ()
 
- Public Member Functions inherited from Object< PatternEditorRuler >
 Object ()
 
 Object (const Object< PatternEditorRuler > &other)
 
- Public Member Functions inherited from Base
 Base ()
 
 Base (const Base &other)
 
virtual const char * class_name () const
 
void logBacktrace () const
 Print the current stack at point into the debug log.
 
void Print (bool bShort=true) const
 Prints content of toQString() via DEBUGLOG.
 
virtual QString toQString (const QString &sPrefix="", bool bShort=true) const
 Formatted string version for debugging purposes.
 
- Public Member Functions inherited from EventListener
virtual ~EventListener ()
 
virtual void actionModeChangeEvent (int nValue)
 
virtual void bbtChangedEvent ()
 
virtual void driverChangedEvent ()
 
virtual void drumkitLoadedEvent ()
 
virtual void errorEvent (int nErrorCode)
 
virtual void gridCellToggledEvent ()
 
virtual void instrumentParametersChangedEvent (int nInstrumentNumber)
 
virtual void jacksessionEvent (int nValue)
 
virtual void jackTimebaseStateChangedEvent (int nValue)
 
virtual void jackTransportActivationEvent ()
 
virtual void loopModeActivationEvent ()
 
virtual void metronomeEvent (int nValue)
 
virtual void midiActivityEvent ()
 
virtual void midiMapChangedEvent ()
 
virtual void nextPatternsChangedEvent ()
 
virtual void nextShotEvent ()
 
virtual void noteOnEvent (int nInstrument)
 
virtual void patternEditorLockedEvent ()
 
virtual void patternModifiedEvent ()
 
virtual void playbackTrackChangedEvent ()
 
virtual void playlistLoadSongEvent (int nIndex)
 
virtual void progressEvent (int nValue)
 
virtual void quitEvent (int nValue)
 
virtual void selectedInstrumentChangedEvent ()
 
virtual void songModifiedEvent ()
 
virtual void songSizeChangedEvent ()
 
virtual void soundLibraryChangedEvent ()
 
virtual void stackedModeActivationEvent (int nValue)
 
virtual void tempoChangedEvent (int nValue)
 
virtual void timelineActivationEvent ()
 
virtual void timelineUpdateEvent (int nValue)
 
virtual void undoRedoActionEvent (int nValue)
 
virtual void updatePreferencesEvent (int nValue)
 
virtual void updateSongEvent (int nValue)
 
virtual void XRunEvent ()
 

Data Fields

bool m_bBackgroundInvalid
 

Private Member Functions

virtual void playingPatternsChangedEvent () override
 
virtual void relocationEvent () override
 
virtual void selectedPatternChangedEvent () override
 
virtual void songModeActivationEvent () override
 
virtual void stateChangedEvent (H2Core::AudioEngine::State) override
 
bool updateActiveRange ()
 Updates m_nWidthActive.
 

Private Attributes

float m_fGridWidth
 
int m_nHoveredColumn
 
uint m_nRulerHeight
 
uint m_nRulerWidth
 
int m_nTick
 
int m_nWidthActive
 Length of the song in pixels.
 
QPixmap * m_pBackgroundPixmap
 
H2Core::Patternm_pPattern
 
QTimer * m_pTimer
 

Additional Inherited Members

- Static Public Member Functions inherited from Base
static const char * _class_name ()
 return the class name
 
static QString base_clock (const QString &sMsg)
 Measures the current time and stores it in __last_clock.
 
static QString base_clock_in (const QString &sMsg)
 
static int bootstrap (Logger *logger, bool count=false)
 must be called before any Object instantiation !
 
static bool count_active ()
 
static int getAliveObjectCount ()
 
static object_map_t getObjectMap ()
 
static Loggerlogger ()
 return the logger instance
 
static int objects_count ()
 
static void printObjectMapDiff (object_map_t map)
 Creates the difference between a snapshot of the object map and its current state and prints it to std::cout.
 
static void set_count (bool flag)
 enable/disable class instances counting
 
static void write_objects_map_to (std::ostream &out, object_map_t *map=nullptr)
 output the full objects map to a given ostream
 
static void write_objects_map_to_cerr ()
 output objects map to stderr
 
- Static Public Attributes inherited from Base
static QString sPrintIndention = " "
 String used to format the debugging string output of some core classes.
 
- Protected Member Functions inherited from WidgetWithScalableFont< 8, 10, 12 >
constexpr int getPointSize (H2Core::FontTheme::FontSize fontSize) const
 
- Protected Member Functions inherited from Object< PatternEditorRuler >
 ~Object ()
 
 Object ()
 
 Object (const Object< PatternEditorRuler > &other)
 
- Protected Member Functions inherited from Base
 ~Base ()
 
 Base ()
 
 Base (const Base &other)
 
virtual const char * class_name () const
 
void logBacktrace () const
 Print the current stack at point into the debug log.
 
void Print (bool bShort=true) const
 Prints content of toQString() via DEBUGLOG.
 
virtual QString toQString (const QString &sPrefix="", bool bShort=true) const
 Formatted string version for debugging purposes.
 
- Protected Member Functions inherited from EventListener
virtual ~EventListener ()
 
virtual void actionModeChangeEvent (int nValue)
 
virtual void bbtChangedEvent ()
 
virtual void driverChangedEvent ()
 
virtual void drumkitLoadedEvent ()
 
virtual void errorEvent (int nErrorCode)
 
virtual void gridCellToggledEvent ()
 
virtual void instrumentParametersChangedEvent (int nInstrumentNumber)
 
virtual void jacksessionEvent (int nValue)
 
virtual void jackTimebaseStateChangedEvent (int nValue)
 
virtual void jackTransportActivationEvent ()
 
virtual void loopModeActivationEvent ()
 
virtual void metronomeEvent (int nValue)
 
virtual void midiActivityEvent ()
 
virtual void midiMapChangedEvent ()
 
virtual void nextPatternsChangedEvent ()
 
virtual void nextShotEvent ()
 
virtual void noteOnEvent (int nInstrument)
 
virtual void patternEditorLockedEvent ()
 
virtual void patternModifiedEvent ()
 
virtual void playbackTrackChangedEvent ()
 
virtual void playlistLoadSongEvent (int nIndex)
 
virtual void progressEvent (int nValue)
 
virtual void quitEvent (int nValue)
 
virtual void selectedInstrumentChangedEvent ()
 
virtual void songModifiedEvent ()
 
virtual void songSizeChangedEvent ()
 
virtual void soundLibraryChangedEvent ()
 
virtual void stackedModeActivationEvent (int nValue)
 
virtual void tempoChangedEvent (int nValue)
 
virtual void timelineActivationEvent ()
 
virtual void timelineUpdateEvent (int nValue)
 
virtual void undoRedoActionEvent (int nValue)
 
virtual void updatePreferencesEvent (int nValue)
 
virtual void updateSongEvent (int nValue)
 
virtual void XRunEvent ()
 
- Static Protected Member Functions inherited from Base
static void registerClass (const char *name, const atomic_obj_cpt_t *counters)
 
static const char * _class_name ()
 return the class name
 
static QString base_clock (const QString &sMsg)
 Measures the current time and stores it in __last_clock.
 
static QString base_clock_in (const QString &sMsg)
 
static int bootstrap (Logger *logger, bool count=false)
 must be called before any Object instantiation !
 
static bool count_active ()
 
static int getAliveObjectCount ()
 
static object_map_t getObjectMap ()
 
static Loggerlogger ()
 return the logger instance
 
static int objects_count ()
 
static void printObjectMapDiff (object_map_t map)
 Creates the difference between a snapshot of the object map and its current state and prints it to std::cout.
 
static void set_count (bool flag)
 enable/disable class instances counting
 
static void write_objects_map_to (std::ostream &out, object_map_t *map=nullptr)
 output the full objects map to a given ostream
 
static void write_objects_map_to_cerr ()
 output objects map to stderr
 
- Static Protected Attributes inherited from Base
static bool __count = false
 should we count class instances
 
static timeval __last_clock = { 0, 0 }
 
static Logger__logger = nullptr
 
static bool bLogColors = true
 
static QString sPrintIndention = " "
 String used to format the debugging string output of some core classes.
 

Detailed Description

Definition at line 42 of file PatternEditorRuler.h.

Constructor & Destructor Documentation

◆ PatternEditorRuler() [1/2]

PatternEditorRuler ( QWidget * parent)
explicit

Definition at line 44 of file PatternEditorRuler.cpp.

◆ ~PatternEditorRuler()

Definition at line 89 of file PatternEditorRuler.cpp.

◆ PatternEditorRuler() [2/2]

Member Function Documentation

◆ createBackground()

void createBackground ( )

Definition at line 329 of file PatternEditorRuler.cpp.

◆ getGridWidth()

float getGridWidth ( ) const
inline

Definition at line 78 of file PatternEditorRuler.h.

◆ hideEvent()

void hideEvent ( QHideEvent * ev)
override

Definition at line 190 of file PatternEditorRuler.cpp.

◆ invalidateBackground()

void invalidateBackground ( )

Definition at line 324 of file PatternEditorRuler.cpp.

◆ leaveEvent()

void leaveEvent ( QEvent * ev)
override

Definition at line 183 of file PatternEditorRuler.cpp.

◆ mouseMoveEvent()

void mouseMoveEvent ( QMouseEvent * ev)
override

Definition at line 244 of file PatternEditorRuler.cpp.

◆ mousePressEvent()

void mousePressEvent ( QMouseEvent * ev)
override

Definition at line 196 of file PatternEditorRuler.cpp.

◆ onPreferencesChanged

void onPreferencesChanged ( H2Core::Preferences::Changes changes)
slot

Definition at line 601 of file PatternEditorRuler.cpp.

◆ operator=()

PatternEditorRuler & operator= ( const PatternEditorRuler & rhs)
delete

◆ paintEvent()

void paintEvent ( QPaintEvent * ev)
override

Definition at line 415 of file PatternEditorRuler.cpp.

◆ playingPatternsChangedEvent()

void playingPatternsChangedEvent ( )
overrideprivatevirtual

Reimplemented from EventListener.

Definition at line 592 of file PatternEditorRuler.cpp.

◆ relocationEvent()

void relocationEvent ( )
overrideprivatevirtual

Reimplemented from EventListener.

Definition at line 160 of file PatternEditorRuler.cpp.

◆ selectedPatternChangedEvent()

void selectedPatternChangedEvent ( )
overrideprivatevirtual

Reimplemented from EventListener.

Definition at line 587 of file PatternEditorRuler.cpp.

◆ showEvent()

void showEvent ( QShowEvent * ev)
override

Definition at line 175 of file PatternEditorRuler.cpp.

◆ songModeActivationEvent()

void songModeActivationEvent ( )
overrideprivatevirtual

Reimplemented from EventListener.

Definition at line 577 of file PatternEditorRuler.cpp.

◆ stateChangedEvent()

void stateChangedEvent ( H2Core::AudioEngine::State )
overrideprivatevirtual

Reimplemented from EventListener.

Definition at line 582 of file PatternEditorRuler.cpp.

◆ updateActiveRange()

bool updateActiveRange ( )
private

Updates m_nWidthActive.

Definition at line 519 of file PatternEditorRuler.cpp.

◆ updateEditor

void updateEditor ( bool bRedrawAll = false)
slot

Definition at line 293 of file PatternEditorRuler.cpp.

◆ updatePosition()

void updatePosition ( bool bForce = false)

Queries the audio engine to update the current position of the playhead.

Parameters
bForceThe transport position is cached and updates in the transport position are only propagated to the other member of the PatternEditor once it changes. However, this will leave the pattern editor in a dirty state during startup since the ruler has to wait for all other associated objects being constructed. Using the bForce option an update is performed regardlessly.

Definition at line 96 of file PatternEditorRuler.cpp.

◆ updateStart()

void updateStart ( bool start)

Definition at line 164 of file PatternEditorRuler.cpp.

◆ zoomIn()

void zoomIn ( )

Definition at line 541 of file PatternEditorRuler.cpp.

◆ zoomOut()

void zoomOut ( )

Definition at line 558 of file PatternEditorRuler.cpp.

Field Documentation

◆ m_bBackgroundInvalid

bool m_bBackgroundInvalid

Definition at line 84 of file PatternEditorRuler.h.

◆ m_fGridWidth

float m_fGridWidth
private

Definition at line 93 of file PatternEditorRuler.h.

◆ m_nHoveredColumn

int m_nHoveredColumn
private

Definition at line 101 of file PatternEditorRuler.h.

◆ m_nRulerHeight

uint m_nRulerHeight
private

Definition at line 92 of file PatternEditorRuler.h.

◆ m_nRulerWidth

uint m_nRulerWidth
private

Definition at line 91 of file PatternEditorRuler.h.

◆ m_nTick

int m_nTick
private

Definition at line 98 of file PatternEditorRuler.h.

◆ m_nWidthActive

int m_nWidthActive
private

Length of the song in pixels.

As soon as the x coordinate of an event is smaller than this value, it lies within the active range of the song.

Definition at line 107 of file PatternEditorRuler.h.

◆ m_pBackgroundPixmap

QPixmap* m_pBackgroundPixmap
private

Definition at line 95 of file PatternEditorRuler.h.

◆ m_pPattern

H2Core::Pattern* m_pPattern
private

Definition at line 99 of file PatternEditorRuler.h.

◆ m_pTimer

QTimer* m_pTimer
private

Definition at line 97 of file PatternEditorRuler.h.