NotePropertiesEditor is (currently) a single class instantiated in different "modes" to select which property it edits.
More...
|
| | NotePropertiesRuler (const NotePropertiesRuler &)=delete |
| |
| | NotePropertiesRuler (QWidget *parent, PatternEditorPanel *pPatternEditorPanel, Mode mode) |
| |
| | ~NotePropertiesRuler () |
| |
| NotePropertiesRuler & | operator= (const NotePropertiesRuler &rhs)=delete |
| |
|
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 () |
| |
|
| virtual std::vector< SelectionIndex > | elementsIntersecting (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.
|
| |
| | 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 () |
| |
| 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 () |
| |
| | Object () |
| |
| | Object (const Object< PatternEditor > &other) |
| |
| | 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.
|
| |
| 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.
|
| |
|
| 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
} |
| |
| typedef H2Core::Note * | SelectionIndex |
| |
| 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 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 Logger * | logger () |
| | 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 constexpr int | nMargin = 20 |
| |
| static QString | sPrintIndention = " " |
| | String used to format the debugging string output of some core classes.
|
| |
| 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.
|
| |
| | ~Object () |
| |
| | ~Base () |
| |
| constexpr int | getPointSize (H2Core::FontTheme::FontSize fontSize) const |
| |
| static void | registerClass (const char *name, const atomic_obj_cpt_t *counters) |
| |
| 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::AudioEngine * | m_pAudioEngine |
| |
| QPixmap * | m_pBackgroundPixmap |
| |
| H2Core::Note * | m_pDraggedNote |
| |
| H2Core::Pattern * | m_pPattern |
| |
| PatternEditorPanel * | m_pPatternEditorPanel |
| |
| QMenu * | m_pPopupMenu |
| |
| Selection< SelectionIndex > | m_selection |
| | The Selection object.
|
| |
| static bool | __count = false |
| | should we count class instances
|
| |
| static timeval | __last_clock = { 0, 0 } |
| |
| static Logger * | __logger = nullptr |
| |
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.