hydrogen 1.2.6
SongEditorPatternList Class Reference

Song editor pattern list. More...

#include <SongEditor.h>

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

Public Slots

virtual void dragEnterEvent (QDragEnterEvent *event) override
 drag & drop
 
virtual void dropEvent (QDropEvent *event) override
 
void inlineEditingEntered ()
 
void inlineEditingFinished ()
 
void onPreferencesChanged (H2Core::Preferences::Changes changes)
 
void patternPopup_delete ()
 
void patternPopup_duplicate ()
 
void patternPopup_edit ()
 
void patternPopup_export ()
 
void patternPopup_fill ()
 
void patternPopup_load ()
 
void patternPopup_properties ()
 
void patternPopup_save ()
 
void patternPopup_virtualPattern ()
 
virtual void timelineUpdateEvent (int nValue) override
 

Public Member Functions

 SongEditorPatternList (const SongEditorPatternList &)=delete
 
 SongEditorPatternList (QWidget *parent)
 
 ~SongEditorPatternList ()
 
void acceptPatternPropertiesDialogSettings (QString newPatternName, QString newPatternInfo, QString newPatternCategory, int patternNr)
 
void createBackground ()
 
void fillRangeWithPattern (FillRange *r, int nPattern)
 
int getGridHeight ()
 
void invalidateBackground ()
 
void movePatternLine (int, int)
 
virtual void nextPatternsChangedEvent () override
 
SongEditorPatternListoperator= (const SongEditorPatternList &rhs)=delete
 
virtual void patternEditorLockedEvent () override
 
virtual void patternModifiedEvent () override
 
virtual void playingPatternsChangedEvent () override
 
virtual void relocationEvent () override
 
void revertPatternPropertiesDialogSettings (QString oldPatternName, QString oldPatternInfo, QString oldPatternCategory, int patternNr)
 
virtual void selectedPatternChangedEvent () override
 
virtual void songModeActivationEvent () override
 
virtual void stackedModeActivationEvent (int nValue) override
 
void updateEditor ()
 
- Public Member Functions inherited from Object< SongEditorPatternList >
 Object ()
 
 Object (const Object< SongEditorPatternList > &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 nextShotEvent ()
 
virtual void noteOnEvent (int nInstrument)
 
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 stateChangedEvent (H2Core::AudioEngine::State state)
 
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 ()
 

Private Member Functions

void inlineEditPatternName (int row)
 
virtual void leaveEvent (QEvent *ev)
 
virtual void mouseDoubleClickEvent (QMouseEvent *ev) override
 
virtual void mouseMoveEvent (QMouseEvent *event) override
 
virtual void mousePressEvent (QMouseEvent *ev) override
 Single click, select the next pattern.
 
virtual void paintEvent (QPaintEvent *ev) override
 
void setRowSelection (RowSelection rowSelection)
 
void togglePattern (int)
 Start/stop playing a pattern in "pattern mode".
 

Private Attributes

QPoint __drag_start_position
 
bool m_bBackgroundInvalid
 
QPixmap m_labelBackgroundDark
 
QPixmap m_labelBackgroundLight
 
QPixmap m_labelBackgroundSelected
 
uint m_nGridHeight
 
int m_nRowHovered
 Specifies the row the mouse cursor is currently hovered over.
 
uint m_nWidth
 
H2Core::AudioEnginem_pAudioEngine
 
QPixmap * m_pBackgroundPixmap
 
DragScrollerm_pDragScroller
 
QTimer * m_pHighlightLockedTimer
 
H2Core::Hydrogenm_pHydrogen
 
QPixmap m_playingPattern_empty_Pixmap
 
QPixmap m_playingPattern_off_Pixmap
 
QPixmap m_playingPattern_on_Pixmap
 
QLineEdit * m_pLineEdit
 
H2Core::Patternm_pPatternBeingEdited
 
QMenu * m_pPatternPopup
 

Static Private Attributes

static constexpr uint m_nInitialHeight = 10
 

Additional Inherited Members

- Public Types inherited from WidgetWithHighlightedList
enum class  RowSelection { None , Popup , Dialog }
 Specifies whether the row corresponding to m_nRowClicked should be highlighted and determines the lifecycle of the highlighting. More...
 
- 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 Types inherited from WidgetWithHighlightedList
enum class  RowSelection { None , Popup , Dialog }
 Specifies whether the row corresponding to m_nRowClicked should be highlighted and determines the lifecycle of the highlighting. More...
 
- Protected Member Functions inherited from WidgetWithScalableFont< 8, 10, 12 >
constexpr int getPointSize (H2Core::FontTheme::FontSize fontSize) const
 
- Protected Member Functions inherited from WidgetWithHighlightedList
 WidgetWithHighlightedList ()
 
- Protected Member Functions inherited from Object< SongEditorPatternList >
 ~Object ()
 
 Object ()
 
 Object (const Object< SongEditorPatternList > &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 nextShotEvent ()
 
virtual void noteOnEvent (int nInstrument)
 
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 stateChangedEvent (H2Core::AudioEngine::State state)
 
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
 
- Protected Attributes inherited from WidgetWithHighlightedList
int m_nRowClicked
 Helper variable remembering for row was clicked last.
 
RowSelection m_rowSelection
 Determines the highlighting of the row associated with m_nRowClicked.
 
- 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

Song editor pattern list.

Definition at line 265 of file SongEditor.h.

Constructor & Destructor Documentation

◆ SongEditorPatternList() [1/2]

SongEditorPatternList ( QWidget * parent)
explicit

Definition at line 1424 of file SongEditor.cpp.

◆ ~SongEditorPatternList()

Definition at line 1499 of file SongEditor.cpp.

◆ SongEditorPatternList() [2/2]

Member Function Documentation

◆ acceptPatternPropertiesDialogSettings()

void acceptPatternPropertiesDialogSettings ( QString newPatternName,
QString newPatternInfo,
QString newPatternCategory,
int patternNr )

Definition at line 2105 of file SongEditor.cpp.

◆ createBackground()

void createBackground ( )

Definition at line 1754 of file SongEditor.cpp.

◆ dragEnterEvent

void dragEnterEvent ( QDragEnterEvent * event)
overridevirtualslot

drag & drop

Definition at line 2291 of file SongEditor.cpp.

◆ dropEvent

void dropEvent ( QDropEvent * event)
overridevirtualslot

Definition at line 2299 of file SongEditor.cpp.

◆ fillRangeWithPattern()

void fillRangeWithPattern ( FillRange * r,
int nPattern )

Definition at line 2219 of file SongEditor.cpp.

◆ getGridHeight()

int getGridHeight ( )
inline

Definition at line 289 of file SongEditor.h.

◆ inlineEditingEntered

void inlineEditingEntered ( )
slot

Definition at line 1648 of file SongEditor.cpp.

◆ inlineEditingFinished

void inlineEditingFinished ( )
slot

Definition at line 1674 of file SongEditor.cpp.

◆ inlineEditPatternName()

void inlineEditPatternName ( int row)
private

Definition at line 1632 of file SongEditor.cpp.

◆ invalidateBackground()

void invalidateBackground ( )

Definition at line 1749 of file SongEditor.cpp.

◆ leaveEvent()

void leaveEvent ( QEvent * ev)
privatevirtual

Definition at line 2429 of file SongEditor.cpp.

◆ mouseDoubleClickEvent()

void mouseDoubleClickEvent ( QMouseEvent * ev)
overrideprivatevirtual

Definition at line 1624 of file SongEditor.cpp.

◆ mouseMoveEvent()

void mouseMoveEvent ( QMouseEvent * event)
overrideprivatevirtual

Definition at line 2436 of file SongEditor.cpp.

◆ mousePressEvent()

void mousePressEvent ( QMouseEvent * ev)
overrideprivatevirtual

Single click, select the next pattern.

Definition at line 1549 of file SongEditor.cpp.

◆ movePatternLine()

void movePatternLine ( int nSourcePattern,
int nTargetPattern )

Definition at line 2394 of file SongEditor.cpp.

◆ nextPatternsChangedEvent()

void nextPatternsChangedEvent ( )
overridevirtual

Reimplemented from EventListener.

Definition at line 1529 of file SongEditor.cpp.

◆ onPreferencesChanged

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

Definition at line 2486 of file SongEditor.cpp.

◆ operator=()

SongEditorPatternList & operator= ( const SongEditorPatternList & rhs)
delete

◆ paintEvent()

void paintEvent ( QPaintEvent * ev)
overrideprivatevirtual

Definition at line 1681 of file SongEditor.cpp.

◆ patternEditorLockedEvent()

void patternEditorLockedEvent ( )
overridevirtual

Reimplemented from EventListener.

Definition at line 1541 of file SongEditor.cpp.

◆ patternModifiedEvent()

void patternModifiedEvent ( )
overridevirtual

Reimplemented from EventListener.

Definition at line 1519 of file SongEditor.cpp.

◆ patternPopup_delete

void patternPopup_delete ( )
slot

Definition at line 2136 of file SongEditor.cpp.

◆ patternPopup_duplicate

void patternPopup_duplicate ( )
slot

Definition at line 2167 of file SongEditor.cpp.

◆ patternPopup_edit

void patternPopup_edit ( )
slot

Definition at line 2080 of file SongEditor.cpp.

◆ patternPopup_export

void patternPopup_export ( )
slot

Definition at line 2031 of file SongEditor.cpp.

◆ patternPopup_fill

void patternPopup_fill ( )
slot

Definition at line 2198 of file SongEditor.cpp.

◆ patternPopup_load

void patternPopup_load ( )
slot

Definition at line 1973 of file SongEditor.cpp.

◆ patternPopup_properties

void patternPopup_properties ( )
slot

Definition at line 2088 of file SongEditor.cpp.

◆ patternPopup_save

void patternPopup_save ( )
slot

Definition at line 2040 of file SongEditor.cpp.

◆ patternPopup_virtualPattern

void patternPopup_virtualPattern ( )
slot

Definition at line 1902 of file SongEditor.cpp.

◆ playingPatternsChangedEvent()

void playingPatternsChangedEvent ( )
overridevirtual

Reimplemented from EventListener.

Definition at line 1508 of file SongEditor.cpp.

◆ relocationEvent()

void relocationEvent ( )
overridevirtual

Reimplemented from EventListener.

Definition at line 1534 of file SongEditor.cpp.

◆ revertPatternPropertiesDialogSettings()

void revertPatternPropertiesDialogSettings ( QString oldPatternName,
QString oldPatternInfo,
QString oldPatternCategory,
int patternNr )

Definition at line 2121 of file SongEditor.cpp.

◆ selectedPatternChangedEvent()

void selectedPatternChangedEvent ( )
overridevirtual

Reimplemented from EventListener.

Definition at line 1524 of file SongEditor.cpp.

◆ setRowSelection()

void setRowSelection ( RowSelection rowSelection)
private

Definition at line 1513 of file SongEditor.cpp.

◆ songModeActivationEvent()

void songModeActivationEvent ( )
overridevirtual

Reimplemented from EventListener.

Definition at line 1739 of file SongEditor.cpp.

◆ stackedModeActivationEvent()

void stackedModeActivationEvent ( int nValue)
overridevirtual

Reimplemented from EventListener.

Definition at line 1897 of file SongEditor.cpp.

◆ timelineUpdateEvent

void timelineUpdateEvent ( int nValue)
overridevirtualslot

Definition at line 2481 of file SongEditor.cpp.

◆ togglePattern()

void togglePattern ( int row)
private

Start/stop playing a pattern in "pattern mode".

Definition at line 1616 of file SongEditor.cpp.

◆ updateEditor()

void updateEditor ( )

Definition at line 1730 of file SongEditor.cpp.

Field Documentation

◆ __drag_start_position

QPoint __drag_start_position
private

Definition at line 348 of file SongEditor.h.

◆ m_bBackgroundInvalid

bool m_bBackgroundInvalid
private

Definition at line 325 of file SongEditor.h.

◆ m_labelBackgroundDark

QPixmap m_labelBackgroundDark
private

Definition at line 328 of file SongEditor.h.

◆ m_labelBackgroundLight

QPixmap m_labelBackgroundLight
private

Definition at line 327 of file SongEditor.h.

◆ m_labelBackgroundSelected

QPixmap m_labelBackgroundSelected
private

Definition at line 329 of file SongEditor.h.

◆ m_nGridHeight

uint m_nGridHeight
private

Definition at line 320 of file SongEditor.h.

◆ m_nInitialHeight

uint m_nInitialHeight = 10
staticconstexprprivate

Definition at line 322 of file SongEditor.h.

◆ m_nRowHovered

int m_nRowHovered
private

Specifies the row the mouse cursor is currently hovered over.

-1 for no cursor.

Definition at line 358 of file SongEditor.h.

◆ m_nWidth

uint m_nWidth
private

Definition at line 321 of file SongEditor.h.

◆ m_pAudioEngine

H2Core::AudioEngine* m_pAudioEngine
private

Definition at line 319 of file SongEditor.h.

◆ m_pBackgroundPixmap

QPixmap* m_pBackgroundPixmap
private

Definition at line 324 of file SongEditor.h.

◆ m_pDragScroller

DragScroller* m_pDragScroller
private

Definition at line 338 of file SongEditor.h.

◆ m_pHighlightLockedTimer

QTimer* m_pHighlightLockedTimer
private

Definition at line 360 of file SongEditor.h.

◆ m_pHydrogen

H2Core::Hydrogen* m_pHydrogen
private

Definition at line 318 of file SongEditor.h.

◆ m_playingPattern_empty_Pixmap

QPixmap m_playingPattern_empty_Pixmap
private

Definition at line 332 of file SongEditor.h.

◆ m_playingPattern_off_Pixmap

QPixmap m_playingPattern_off_Pixmap
private

Definition at line 331 of file SongEditor.h.

◆ m_playingPattern_on_Pixmap

QPixmap m_playingPattern_on_Pixmap
private

Definition at line 330 of file SongEditor.h.

◆ m_pLineEdit

QLineEdit* m_pLineEdit
private

Definition at line 335 of file SongEditor.h.

◆ m_pPatternBeingEdited

H2Core::Pattern* m_pPatternBeingEdited
private

Definition at line 336 of file SongEditor.h.

◆ m_pPatternPopup

QMenu* m_pPatternPopup
private

Definition at line 334 of file SongEditor.h.