hydrogen 1.2.6
CpuLoadWidget Class Reference

Shows the current CPU load using a meter similar to the one used in Fader. More...

#include <CpuLoadWidget.h>

Inheritance diagram for CpuLoadWidget:
EventListener Object< CpuLoadWidget > Base

Public Member Functions

 CpuLoadWidget (QWidget *pParent)
 
 ~CpuLoadWidget ()
 
- 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 playingPatternsChangedEvent ()
 
virtual void playlistLoadSongEvent (int nIndex)
 
virtual void progressEvent (int nValue)
 
virtual void quitEvent (int nValue)
 
virtual void relocationEvent ()
 
virtual void selectedInstrumentChangedEvent ()
 
virtual void selectedPatternChangedEvent ()
 
virtual void songModeActivationEvent ()
 
virtual void songModifiedEvent ()
 
virtual void songSizeChangedEvent ()
 
virtual void soundLibraryChangedEvent ()
 
virtual void stackedModeActivationEvent (int nValue)
 
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)
 
- Public Member Functions inherited from Object< CpuLoadWidget >
 Object ()
 
 Object (const Object< CpuLoadWidget > &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.
 

Private Slots

void updateCpuLoadWidget ()
 

Private Member Functions

virtual void paintEvent (QPaintEvent *ev) override
 
virtual void XRunEvent () override
 

Private Attributes

float m_fValue
 
uint m_nXRunValue
 
std::vector< float > m_recentValues
 
QSize m_size
 

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 Object< CpuLoadWidget >
 ~Object ()
 
- Protected Member Functions inherited from Base
 ~Base ()
 
- Static Protected Member Functions inherited from Base
static void registerClass (const char *name, const atomic_obj_cpt_t *counters)
 
- 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
 

Detailed Description

Shows the current CPU load using a meter similar to the one used in Fader.

All aspects of the widgets are directly drawn.

In order to not annoy and to give a better view on the overall CPU load, the widget measures the load at five consecutive points in time and displays the average.

In case an XRun event is reported by the JACK server, the outlines of he widget will be painted in red for 1.5 seconds.

Definition at line 49 of file CpuLoadWidget.h.

Constructor & Destructor Documentation

◆ CpuLoadWidget()

CpuLoadWidget ( QWidget * pParent)
explicit

Definition at line 30 of file CpuLoadWidget.cpp.

◆ ~CpuLoadWidget()

Definition at line 57 of file CpuLoadWidget.cpp.

Member Function Documentation

◆ paintEvent()

void paintEvent ( QPaintEvent * ev)
overrideprivatevirtual

Definition at line 60 of file CpuLoadWidget.cpp.

◆ updateCpuLoadWidget

void updateCpuLoadWidget ( )
privateslot

Definition at line 118 of file CpuLoadWidget.cpp.

◆ XRunEvent()

void XRunEvent ( )
overrideprivatevirtual

Reimplemented from EventListener.

Definition at line 147 of file CpuLoadWidget.cpp.

Field Documentation

◆ m_fValue

float m_fValue
private

Definition at line 63 of file CpuLoadWidget.h.

◆ m_nXRunValue

uint m_nXRunValue
private

Definition at line 64 of file CpuLoadWidget.h.

◆ m_recentValues

std::vector<float> m_recentValues
private

Definition at line 62 of file CpuLoadWidget.h.

◆ m_size

QSize m_size
private

Definition at line 65 of file CpuLoadWidget.h.