TTKMusicPlayer  3.7.0.0
TTKMusicPlayer imitates Kugou UI, the music player uses of qmmp core library based on Qt for windows and linux
Public Slots | Signals | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Static Private Member Functions | Static Private Attributes | List of all members
Visual Class Referenceabstract

The Visual class provides the base interface class of visualizations. More...

#include <visual.h>

+ Inheritance diagram for Visual:

Public Slots

virtual void start ()
 
virtual void stop ()
 
void updateVisual ()
 
void changeFullScreen (bool state)
 

Signals

void closedByUser ()
 
void fullscreenByUser (QWidget *widget, bool state)
 

Public Member Functions

 Visual (QWidget *parent, Qt::WindowFlags f=Qt::WindowFlags())
 
virtual ~Visual ()
 

Static Public Member Functions

static QList< VisualFactory * > factories ()
 
static QString file (const VisualFactory *factory)
 
static void setEnabled (VisualFactory *factory, bool enable=true)
 
static bool isEnabled (const VisualFactory *factory)
 
static void add (Visual *visual)
 
static void remove (Visual *)
 
static void initialize (QWidget *parent, QObject *receiver=nullptr, const char *member=nullptr)
 
static QList< Visual * > * visuals ()
 
static void addAudio (float *pcm, int samples, int channels, qint64 ts, qint64 delay)
 
static void clearBuffer ()
 

Protected Member Functions

virtual void showEvent (QShowEvent *event) override
 
virtual void hideEvent (QHideEvent *event) override
 
virtual void closeEvent (QCloseEvent *event) overridefinal
 
bool takeData (float *left, float *right=nullptr)
 
virtual void process (float *left, float *right)=0
 
virtual void process (bool state)
 
void clear ()
 

Protected Attributes

QTimer * m_timer = nullptr
 
bool m_running = false
 
int m_rows = 0
 
int m_cols = 0
 
intm_intern_vis_data = nullptr
 
QAction * m_screenAction = nullptr
 

Static Private Member Functions

static void checkFactories ()
 
static void createVisualization (VisualFactory *factory, QWidget *parent)
 

Static Private Attributes

static QList< VisualFactory * > * m_factories
 
static QHash< const VisualFactory *, QString > * m_files
 
static QList< Visual * > m_visuals
 
static QHash< VisualFactory *, Visual * > m_vis_map
 
static QWidget * m_parentClass
 
static QObject * m_receiver
 
static const char * m_member
 
static VisualBuffer m_buffer
 

Detailed Description

The Visual class provides the base interface class of visualizations.

Author
Ilya Kotov forko.nosp@m.tov0.nosp@m.2@ya..nosp@m.ru

Definition at line 37 of file visual.h.

Constructor & Destructor Documentation

Visual::Visual ( QWidget *  parent,
Qt::WindowFlags  f = Qt::WindowFlags() 
)
explicit

Object contsructor.

Parameters
parentParent object.
fWidget flags.
virtual Visual::~Visual ( )
virtual

Destructor.

Member Function Documentation

static void Visual::add ( Visual visual)
static

Adds external visualization visual.

static void Visual::addAudio ( float *  pcm,
int  samples,
int  channels,
qint64  ts,
qint64  delay 
)
static

Adds data for visualization.

Parameters
pcmAudio data.
samplesNumber of samples.
channelsNumber of channels.
tsElapsed time (in milliseconds).
delayAudio output delay.
void Visual::changeFullScreen ( bool  state)
slot

Menu fullscreen changed.

static void Visual::checkFactories ( )
staticprivate
void Visual::clear ( )
protected

Clear current visual data.

static void Visual::clearBuffer ( )
static

Clears visualization buffer.

void Visual::closedByUser ( )
signal

Emitted when visual widget is closed by user.

virtual void Visual::closeEvent ( QCloseEvent *  event)
finaloverrideprotectedvirtual

QWidget's close event. Reimplementation should call base function.

Parameters
eventQCloseEvent insatance.
static void Visual::createVisualization ( VisualFactory factory,
QWidget *  parent 
)
staticprivate
static QList<VisualFactory*> Visual::factories ( )
static

Returns a list of visual factories.

Referenced by TTK::TTKQmmp::enabledVisualPlugin(), and MusicPluginWidget::loadPluginsInfo().

static QString Visual::file ( const VisualFactory factory)
static

Returns plugin file path.

Parameters
factoryVisual plugin factory.

Referenced by MusicPluginWidget::loadPluginsInfo().

void Visual::fullscreenByUser ( QWidget *  widget,
bool  state 
)
signal

Emitted when visual widget is show fullscreen by user.

virtual void Visual::hideEvent ( QHideEvent *  event)
overrideprotectedvirtual

QWidget's close event. Reimplementation should call base function.

Parameters
eventQCloseEvent insatance.

Reimplemented in Florid.

static void Visual::initialize ( QWidget *  parent,
QObject *  receiver = nullptr,
const char *  member = nullptr 
)
static

Prepares visual plugins for usage.

Parameters
parentParent widget.
receiverReceiver object.
memberA slot to receive changes of active visualizations list.

Referenced by MusicTopAreaWidget::MusicTopAreaWidget().

static bool Visual::isEnabled ( const VisualFactory factory)
static

Returns true if visual plugin is enabled, otherwise returns false

Parameters
factoryEffect plugin factory.

Referenced by MusicPluginItem::MusicPluginItem().

virtual void Visual::process ( float *  left,
float *  right 
)
protectedpure virtual

Process current visual data.

virtual void Visual::process ( bool  state)
protectedvirtual

Process current visual data by state.

Reimplemented in Florid.

static void Visual::remove ( Visual )
static

Removes external visualization visual.

static void Visual::setEnabled ( VisualFactory factory,
bool  enable = true 
)
static

Sets whether the visual plugin is enabled.

Parameters
factoryVisual plugin factory.
enablePlugin enable state (true - enable, false - disable)

Referenced by TTK::TTKQmmp::enabledVisualPlugin().

virtual void Visual::showEvent ( QShowEvent *  event)
overrideprotectedvirtual

QWidget's close event. Reimplementation should call base function.

Parameters
eventQCloseEvent insatance.

Reimplemented in Florid.

virtual void Visual::start ( )
virtualslot

Starts visualization.

Referenced by MusicBlurSpecturmModule::update().

virtual void Visual::stop ( )
virtualslot

Stops visualization.

bool Visual::takeData ( float *  left,
float *  right = nullptr 
)
protected

Takes visualization data. Caller should allocate QMMP_VISUAL_NODE_SIZE bytes for each channel. If buffer for right channel is not specified, this function will average data from left and right channels.

Parameters
leftLeft channel buffer.
rightRight channel buffer.
void Visual::updateVisual ( )
slot

Update current visual data.

static QList<Visual *>* Visual::visuals ( )
static

Member Data Documentation

VisualBuffer Visual::m_buffer
staticprivate

Definition at line 188 of file visual.h.

int Visual::m_cols = 0
protected

Definition at line 173 of file visual.h.

QList<VisualFactory*>* Visual::m_factories
staticprivate

Definition at line 181 of file visual.h.

QHash<const VisualFactory*, QString>* Visual::m_files
staticprivate

Definition at line 182 of file visual.h.

int* Visual::m_intern_vis_data = nullptr
protected

Definition at line 174 of file visual.h.

const char* Visual::m_member
staticprivate

Definition at line 187 of file visual.h.

QWidget* Visual::m_parentClass
staticprivate

Definition at line 185 of file visual.h.

QObject* Visual::m_receiver
staticprivate

Definition at line 186 of file visual.h.

int Visual::m_rows = 0
protected

Definition at line 173 of file visual.h.

bool Visual::m_running = false
protected

Definition at line 172 of file visual.h.

QAction* Visual::m_screenAction = nullptr
protected

Definition at line 175 of file visual.h.

QTimer* Visual::m_timer = nullptr
protected

Definition at line 171 of file visual.h.

QHash<VisualFactory*, Visual*> Visual::m_vis_map
staticprivate

Definition at line 184 of file visual.h.

QList<Visual*> Visual::m_visuals
staticprivate

Definition at line 183 of file visual.h.


The documentation for this class was generated from the following file: