hydrogen 1.2.3
NotePropertiesRuler Class Reference

NotePropertiesEditor is (currently) a single class instantiated in different "modes" to select which property it edits. More...

#include <NotePropertiesRuler.h>

Inheritance diagram for NotePropertiesRuler:
PatternEditor WidgetWithScalableFont< 7, 9, 11 > EventListener Object< PatternEditor > SelectionWidget< H2Core::Note * > Base

Public Slots

virtual void copy () override
 
virtual void cut () override
 
virtual void deleteSelection () override
 
void onPreferencesChanged (H2Core::Preferences::Changes changes)
 
virtual void paste () override
 
void scrolled (int)
 
virtual void selectAll () override
 
virtual void updateEditor (bool bPatternOnly=false) override
 
- Public Slots inherited from PatternEditor
virtual void copy ()
 Copy selection to clipboard in XML.
 
virtual void cut ()
 
virtual void deleteSelection ()=0
 
void onPreferencesChanged (H2Core::Preferences::Changes changes)
 
virtual void paste ()=0
 
void scrolled (int nValue)
 
virtual void selectAll ()=0
 
virtual void selectInstrumentNotes (int nInstrument)
 
virtual void selectNone ()
 
void setCurrentInstrument (int nInstrument)
 
virtual void updateEditor (bool bPatternOnly=false)=0
 

Public Member Functions

 NotePropertiesRuler (const NotePropertiesRuler &)=delete
 
 NotePropertiesRuler (QWidget *parent, PatternEditorPanel *pPatternEditorPanel, Mode mode)
 
 ~NotePropertiesRuler ()
 
NotePropertiesRuleroperator= (const NotePropertiesRuler &rhs)=delete
 
Property drag (or click) gestures

The user can drag (or just click) on a note's bar or dot to change that property.

Properties are updated live during the drag gesture, with 'undo' information being written at the end.

void propertyDragStart (QMouseEvent *ev)
 
void propertyDragUpdate (QMouseEvent *ev)
 Update notes for a property adjust drag, in response to the mouse moving.
 
void propertyDragEnd ()
 
PatternEditor interfaces
virtual std::vector< SelectionIndexelementsIntersecting (QRect r) override
 Find list of elements which intersect a rectangular area.
 
virtual void mouseClickEvent (QMouseEvent *ev) override
 
virtual void mousePressEvent (QMouseEvent *ev) override
 Raw Qt mouse events are passed to the Selection.
 
virtual void mouseDragStartEvent (QMouseEvent *ev) override
 
virtual void mouseDragUpdateEvent (QMouseEvent *ev) override
 
virtual void mouseDragEndEvent (QMouseEvent *ev) override
 
virtual void selectionMoveUpdateEvent (QMouseEvent *ev) override
 
virtual void selectionMoveEndEvent (QInputEvent *ev) override
 
virtual void selectionMoveCancelEvent () override
 Move of selection is cancelled. Revert notes to preserved state.
 
virtual QRect getKeyboardCursorRect () override
 The screen area occupied by the keyboard cursor.
 
- Public Member Functions inherited from PatternEditor
 PatternEditor (QWidget *pParent, PatternEditorPanel *panel)
 
 ~PatternEditor ()
 
virtual bool checkDeselectElements (std::vector< SelectionIndex > &elements) override
 Deselecting notes.
 
void clearSelection ()
 Clear the pattern editor selection.
 
void deselectAndOverwriteNotes (std::vector< H2Core::Note * > &selected, std::vector< H2Core::Note * > &overwritten)
 Deselect some notes, and "overwrite" some others.
 
void editNoteLengthAction (int nColumn, int nRealColumn, int nRow, int nLength, int nSelectedPatternNumber, int nSelectedInstrumentnumber, Editor editor)
 
void editNotePropertiesAction (int nColumn, int nRealColumn, int nRow, int nSelectedPatternNumber, int nSelectedInstrumentNumber, Mode mode, Editor editor, float fVelocity, float fPan, float fLeadLag, float fProbability)
 
virtual void endMouseGesture () override
 
unsigned getGridHeight () const
 
float getGridWidth () const
 
uint getResolution () const
 
bool isUsingTriplets () const
 
int lineToPitch (int nLine)
 
void mergeSelectionGroups (PatternEditor *pPatternEditor)
 Merge together the selection groups of two PatternEditor objects to share a common selection.
 
virtual void mouseReleaseEvent (QMouseEvent *ev) override
 
bool notesMatchExactly (H2Core::Note *pNoteA, H2Core::Note *pNoteB) const
 Do two notes match exactly, from the pattern editor's point of view? They match if all user-editable properties are the same.
 
int pitchToLine (int nPitch)
 
void setResolution (uint res, bool bUseTriplets)
 Set the editor grid resolution, dividing a whole note into res subdivisions.
 
virtual void stackedModeActivationEvent (int nValue) override
 
virtual void startMouseLasso (QMouseEvent *ev) override
 Change the mouse cursor during mouse gestures.
 
virtual void startMouseMove (QMouseEvent *ev) override
 
void undoDeselectAndOverwriteNotes (std::vector< H2Core::Note * > &selected, std::vector< H2Core::Note * > &overwritten)
 
virtual void updateModifiers (QInputEvent *ev)
 Update the status of modifier keys in response to input events.
 
void updatePosition (float fTick)
 Caches the AudioEngine::m_nPatternTickPosition in the member variable m_nTick and triggers an update().
 
virtual void updateWidget () override
 Update a widget in response to a change in selection.
 
virtual void validateSelection () override
 Ensure that the Selection contains only valid elements.
 
void zoomIn ()
 Zoom in / out on the time axis.
 
void zoomOut ()
 
- 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 ()
 
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 playingPatternsChangedEvent ()
 
virtual void playlistLoadSongEvent (int nIndex)
 
virtual void progressEvent (int nValue)
 
virtual void quitEvent (int nValue)
 
virtual void relocationEvent ()
 
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 ()
 
- Public Member Functions inherited from Object< PatternEditor >
 Object ()
 
 Object (const Object< PatternEditor > &other)
 
- Public Member Functions inherited from Base
 Base ()
 
 Base (const Base &other)
 
virtual const char * class_name () const
 
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 SelectionWidget< H2Core::Note * >
virtual bool canDragElements ()
 Can elements be dragged as well as being selected? This may change to suit widget's current state.
 
virtual bool checkDeselectElements (std::vector< SelectionIndex > &elements)
 Inform the client that we're deselecting elements.
 
virtual QScrollArea * findScrollArea ()
 Find the QScrollArea, if any, which contains the widget.
 

Private Member Functions

void addUndoAction ()
 
void adjustNotePropertyDelta (H2Core::Note *pNote, float fDelta, bool bMessage=false)
 Adjust a note's property by applying a delta to the current value, and clipping to the appropriate range.
 
void clearOldNotes ()
 
void createBackground () override
 Updates m_pBackgroundPixmap to show the latest content.
 
void createCenteredBackground (QPixmap *pixmap)
 
void createNormalizedBackground (QPixmap *pixmap)
 
void createNoteKeyBackground (QPixmap *pixmap)
 
void drawDefaultBackground (QPainter &painter, int nHeight=0, int nIncrement=0)
 
void drawFocus (QPainter &painter)
 
void enterEvent (QEvent *ev) override
 
void keyPressEvent (QKeyEvent *ev) override
 
void leaveEvent (QEvent *ev) override
 
virtual void mouseMoveEvent (QMouseEvent *ev) override
 
void paintEvent (QPaintEvent *ev) override
 
void prepareUndoAction (int x)
 Preserve current note properties at position x (or in selection, if any) for use in later UndoAction.
 
virtual void selectedInstrumentChangedEvent () override
 
virtual void selectedPatternChangedEvent () override
 
virtual void songModeActivationEvent () override
 
void wheelEvent (QWheelEvent *ev) override
 Scroll wheel gestures will adjust the property of notes under the mouse cursor (or selected notes, if any).
 

Private Attributes

bool m_bEntered
 
bool m_bNeedsUpdate
 
bool m_bValueHasBeenSet
 
double m_fLastSetValue
 
int m_nDragPreviousColumn
 
int m_nSelectedPatternNumber
 
std::map< H2Core::Note *, H2Core::Note * > m_oldNotes
 Map of notes currently in the pattern -> old notes with their properties.
 

Additional Inherited Members

- Public Types inherited from PatternEditor
enum class  Editor { DrumPattern = 0 , PianoRoll = 1 , NotePropertiesRuler = 2 , None = 3 }
 
enum class  Mode {
  Velocity = 0 , Pan = 1 , LeadLag = 2 , NoteKey = 3 ,
  Probability = 4 , None = 5
}
 
- Public Types inherited from SelectionWidget< H2Core::Note * >
typedef H2Core::NoteSelectionIndex
 
- Static Public Member Functions inherited from PatternEditor
static QColor computeNoteColor (float velocity)
 Calculate colour to use for note representation based on note velocity.
 
static bool isUsingAdditionalPatterns (const H2Core::Pattern *pPattern)
 Determines whether to pattern editor should show further patterns (determined by getPattersToShow()) or just the currently selected one.
 
static QString modeToQString (Mode mode)
 
static void triggerStatusMessage (H2Core::Note *pNote, Mode mode)
 
- 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 PatternEditor
static constexpr int nMargin = 20
 
- 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 PatternEditor
void drawGridLines (QPainter &p, Qt::PenStyle style=Qt::SolidLine) const
 Draw lines for note grid.
 
void drawNoteSymbol (QPainter &p, QPoint pos, H2Core::Note *pNote, bool bIsForeground=true) const
 Draw a note.
 
virtual void focusInEvent (QFocusEvent *ev) override
 
virtual void focusOutEvent (QFocusEvent *ev) override
 
int getColumn (int x, bool bUseFineGrained=false) const
 
std::vector< H2Core::Pattern * > getPatternsToShow (void)
 Get notes to show in pattern editor.
 
int granularity () const
 Granularity of grid positioning (in ticks)
 
void invalidateBackground ()
 
QPoint movingGridOffset () const
 
QColor selectedNoteColor () const
 Colour to use for outlining selected notes.
 
void storeNoteProperties (const H2Core::Note *pNote)
 Stores the properties of pNote in member variables.
 
void updatePatternInfo ()
 Update current pattern information.
 
void updateWidth ()
 Adjusts m_nActiveWidth and m_nEditorWidth to the current state of the editor.
 
- Protected Member Functions inherited from Object< PatternEditor >
 ~Object ()
 
- Protected Member Functions inherited from Base
 ~Base ()
 
- Protected Member Functions inherited from WidgetWithScalableFont< 7, 9, 11 >
constexpr int getPointSize (H2Core::FontTheme::FontSize fontSize) const
 
- Static Protected Member Functions inherited from Base
static void registerClass (const char *name, const atomic_obj_cpt_t *counters)
 
- Protected Attributes inherited from PatternEditor
bool m_bBackgroundInvalid
 
bool m_bCopyNotMove
 
bool m_bEntered
 Indicates whether the mouse pointer entered the widget.
 
bool m_bFineGrained
 
bool m_bSelectNewNotes
 
bool m_bUseTriplets
 
Editor m_editor
 
float m_fGridWidth
 
float m_fLeadLag = 0
 
float m_fOldLeadLag = 0
 
float m_fOldPan = 0
 
float m_fOldProbability = 0
 
float m_fOldVelocity = 0
 
float m_fPan = 0
 
float m_fProbability = 0
 
float m_fVelocity = 0
 
Mode m_mode
 
int m_nActiveWidth
 
int m_nColumn = 0
 
uint m_nEditorHeight
 
uint m_nEditorWidth
 
unsigned m_nGridHeight
 
unsigned m_nOctaves = 7
 
int m_nOldLength = 0
 
int m_nOldPoint
 
int m_nPressedLine = 0
 
int m_nRealColumn = 0
 
uint m_nResolution
 
int m_nRow = 0
 
int m_nSelectedInstrumentNumber = 0
 Cached properties used when adjusting a note property via right-press mouse movement.
 
int m_nSelectedPatternNumber = 0
 
int m_nTick
 
H2Core::AudioEnginem_pAudioEngine
 
QPixmap * m_pBackgroundPixmap
 
H2Core::Notem_pDraggedNote
 
H2Core::Patternm_pPattern
 
PatternEditorPanelm_pPatternEditorPanel
 
QMenu * m_pPopupMenu
 
Selection< SelectionIndexm_selection
 The Selection object.
 
- 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
 

Detailed Description

NotePropertiesEditor is (currently) a single class instantiated in different "modes" to select which property it edits.

There are individual instances for each property which are hidden and shown depending on what the user selects.

Definition at line 51 of file NotePropertiesRuler.h.

Constructor & Destructor Documentation

◆ NotePropertiesRuler() [1/2]

NotePropertiesRuler ( QWidget * parent,
PatternEditorPanel * pPatternEditorPanel,
PatternEditor::Mode mode )

Definition at line 42 of file NotePropertiesRuler.cpp.

◆ ~NotePropertiesRuler()

Definition at line 87 of file NotePropertiesRuler.cpp.

◆ NotePropertiesRuler() [2/2]

Member Function Documentation

◆ addUndoAction()

void addUndoAction ( )
private

Definition at line 838 of file NotePropertiesRuler.cpp.

◆ adjustNotePropertyDelta()

void adjustNotePropertyDelta ( H2Core::Note * pNote,
float fDelta,
bool bMessage = false )
private

Adjust a note's property by applying a delta to the current value, and clipping to the appropriate range.

Optionally, show a message with the value for some properties.

Definition at line 550 of file NotePropertiesRuler.cpp.

◆ clearOldNotes()

void clearOldNotes ( )
private

Definition at line 301 of file NotePropertiesRuler.cpp.

◆ copy

virtual void copy ( )
inlineoverridevirtualslot

Definition at line 92 of file NotePropertiesRuler.h.

◆ createBackground()

void createBackground ( )
overrideprivatevirtual

Updates m_pBackgroundPixmap to show the latest content.

Reimplemented from PatternEditor.

Definition at line 1412 of file NotePropertiesRuler.cpp.

◆ createCenteredBackground()

void createCenteredBackground ( QPixmap * pixmap)
private

Definition at line 1148 of file NotePropertiesRuler.cpp.

◆ createNormalizedBackground()

void createNormalizedBackground ( QPixmap * pixmap)
private

Definition at line 1063 of file NotePropertiesRuler.cpp.

◆ createNoteKeyBackground()

void createNoteKeyBackground ( QPixmap * pixmap)
private

Definition at line 1271 of file NotePropertiesRuler.cpp.

◆ cut

virtual void cut ( )
inlineoverridevirtualslot

Definition at line 94 of file NotePropertiesRuler.h.

◆ deleteSelection

virtual void deleteSelection ( )
inlineoverridevirtualslot

Definition at line 91 of file NotePropertiesRuler.h.

◆ drawDefaultBackground()

void drawDefaultBackground ( QPainter & painter,
int nHeight = 0,
int nIncrement = 0 )
private

Definition at line 1019 of file NotePropertiesRuler.cpp.

◆ drawFocus()

void drawFocus ( QPainter & painter)
private

Definition at line 930 of file NotePropertiesRuler.cpp.

◆ elementsIntersecting()

std::vector< NotePropertiesRuler::SelectionIndex > elementsIntersecting ( QRect r)
overridevirtual

Find list of elements which intersect a rectangular area.

This may be a selection lasso rectangle, or a single point such as a mouse click. This should concern itself only with the geometry.

Implements SelectionWidget< H2Core::Note * >.

Definition at line 1454 of file NotePropertiesRuler.cpp.

◆ enterEvent()

void enterEvent ( QEvent * ev)
overrideprivatevirtual

Reimplemented from PatternEditor.

Definition at line 1007 of file NotePropertiesRuler.cpp.

◆ getKeyboardCursorRect()

QRect getKeyboardCursorRect ( )
overridevirtual

The screen area occupied by the keyboard cursor.

Implements SelectionWidget< H2Core::Note * >.

Definition at line 1501 of file NotePropertiesRuler.cpp.

◆ keyPressEvent()

void keyPressEvent ( QKeyEvent * ev)
overrideprivate

Definition at line 617 of file NotePropertiesRuler.cpp.

◆ leaveEvent()

void leaveEvent ( QEvent * ev)
overrideprivatevirtual

Reimplemented from PatternEditor.

Definition at line 1013 of file NotePropertiesRuler.cpp.

◆ mouseClickEvent()

void mouseClickEvent ( QMouseEvent * ev)
overridevirtual

Implements SelectionWidget< H2Core::Note * >.

Definition at line 174 of file NotePropertiesRuler.cpp.

◆ mouseDragEndEvent()

void mouseDragEndEvent ( QMouseEvent * ev)
overridevirtual

Reimplemented from PatternEditor.

Definition at line 237 of file NotePropertiesRuler.cpp.

◆ mouseDragStartEvent()

void mouseDragStartEvent ( QMouseEvent * ev)
overridevirtual

Reimplemented from PatternEditor.

Definition at line 223 of file NotePropertiesRuler.cpp.

◆ mouseDragUpdateEvent()

void mouseDragUpdateEvent ( QMouseEvent * ev)
overridevirtual

Reimplemented from PatternEditor.

Definition at line 233 of file NotePropertiesRuler.cpp.

◆ mouseMoveEvent()

void mouseMoveEvent ( QMouseEvent * ev)
overrideprivatevirtual

Reimplemented from PatternEditor.

Definition at line 343 of file NotePropertiesRuler.cpp.

◆ mousePressEvent()

void mousePressEvent ( QMouseEvent * ev)
overridevirtual

Raw Qt mouse events are passed to the Selection.

Reimplemented from PatternEditor.

Definition at line 186 of file NotePropertiesRuler.cpp.

◆ onPreferencesChanged

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

Definition at line 1513 of file NotePropertiesRuler.cpp.

◆ operator=()

NotePropertiesRuler & operator= ( const NotePropertiesRuler & rhs)
delete

◆ paintEvent()

void paintEvent ( QPaintEvent * ev)
overrideprivate

Definition at line 881 of file NotePropertiesRuler.cpp.

◆ paste

virtual void paste ( )
inlineoverridevirtualslot

Definition at line 93 of file NotePropertiesRuler.h.

◆ prepareUndoAction()

void prepareUndoAction ( int x)
private

Preserve current note properties at position x (or in selection, if any) for use in later UndoAction.

Definition at line 378 of file NotePropertiesRuler.cpp.

◆ propertyDragEnd()

void propertyDragEnd ( )

Definition at line 540 of file NotePropertiesRuler.cpp.

◆ propertyDragStart()

void propertyDragStart ( QMouseEvent * ev)

Definition at line 368 of file NotePropertiesRuler.cpp.

◆ propertyDragUpdate()

void propertyDragUpdate ( QMouseEvent * ev)

Update notes for a property adjust drag, in response to the mouse moving.

This modifies the values of the notes as the mouse moves, but does not complete an undo action until the notes final value has been set. This occurs either when the mouse is released, or when the pointer moves off of the note's column.

Definition at line 417 of file NotePropertiesRuler.cpp.

◆ scrolled

void scrolled ( int nValue)
slot

Definition at line 1002 of file NotePropertiesRuler.cpp.

◆ selectAll

void selectAll ( )
overridevirtualslot

Definition at line 1508 of file NotePropertiesRuler.cpp.

◆ selectedInstrumentChangedEvent()

void selectedInstrumentChangedEvent ( )
overrideprivatevirtual

Reimplemented from EventListener.

Definition at line 1445 of file NotePropertiesRuler.cpp.

◆ selectedPatternChangedEvent()

void selectedPatternChangedEvent ( )
overrideprivatevirtual

Reimplemented from EventListener.

Definition at line 1440 of file NotePropertiesRuler.cpp.

◆ selectionMoveCancelEvent()

void selectionMoveCancelEvent ( )
overridevirtual

Move of selection is cancelled. Revert notes to preserved state.

Reimplemented from SelectionWidget< H2Core::Note * >.

Definition at line 309 of file NotePropertiesRuler.cpp.

◆ selectionMoveEndEvent()

void selectionMoveEndEvent ( QInputEvent * ev)
overridevirtual

Implements SelectionWidget< H2Core::Note * >.

Definition at line 294 of file NotePropertiesRuler.cpp.

◆ selectionMoveUpdateEvent()

void selectionMoveUpdateEvent ( QMouseEvent * ev)
overridevirtual

Reimplemented from SelectionWidget< H2Core::Note * >.

Definition at line 242 of file NotePropertiesRuler.cpp.

◆ songModeActivationEvent()

void songModeActivationEvent ( )
overrideprivatevirtual

Reimplemented from PatternEditor.

Definition at line 1450 of file NotePropertiesRuler.cpp.

◆ updateEditor

void updateEditor ( bool bPatternOnly = false)
overridevirtualslot

Definition at line 1392 of file NotePropertiesRuler.cpp.

◆ wheelEvent()

void wheelEvent ( QWheelEvent * ev)
overrideprivate

Scroll wheel gestures will adjust the property of notes under the mouse cursor (or selected notes, if any).

Unlike drag gestures, each individual wheel movement will result in an undo/redo action since the events are discrete.

Definition at line 95 of file NotePropertiesRuler.cpp.

Field Documentation

◆ m_bEntered

bool m_bEntered
private

Definition at line 139 of file NotePropertiesRuler.h.

◆ m_bNeedsUpdate

bool m_bNeedsUpdate
private

Definition at line 100 of file NotePropertiesRuler.h.

◆ m_bValueHasBeenSet

bool m_bValueHasBeenSet
private

Definition at line 106 of file NotePropertiesRuler.h.

◆ m_fLastSetValue

double m_fLastSetValue
private

Definition at line 105 of file NotePropertiesRuler.h.

◆ m_nDragPreviousColumn

int m_nDragPreviousColumn
private

Definition at line 138 of file NotePropertiesRuler.h.

◆ m_nSelectedPatternNumber

int m_nSelectedPatternNumber
private

Definition at line 129 of file NotePropertiesRuler.h.

◆ m_oldNotes

std::map< H2Core::Note *, H2Core::Note *> m_oldNotes
private

Map of notes currently in the pattern -> old notes with their properties.

Populated at the beginning of a properties editing gesture.

Definition at line 133 of file NotePropertiesRuler.h.