TTKMusicPlayer  4.3.0.0
TTKMusicPlayer imitates Kugou UI, the music player uses of qmmp core library based on Qt for windows and linux
musicblurspecturmmodule.cpp
Go to the documentation of this file.
2 #include "musicqmmputils.h"
3 
4 #include <qmmp/visual.h>
5 
7  : QObject(parent),
8  m_topAreaLayout(nullptr),
9  m_topAreaWidget(nullptr),
10  m_visualWidget(nullptr)
11 {
12 
13 }
14 
16 {
18 }
19 
21 {
23  {
24  return;
25  }
26 
27  if(m_visualWidget)
28  {
30  return;
31  }
32 
33  TTK::TTKQmmp::setVisualEnabled("outerblurwave", true, TTKStaticCast(QWidget*, parent()));
34 
35  const QList<Visual*> *vs = Visual::visuals();
36  if(!vs->isEmpty() && vs->last())
37  {
38  m_visualWidget = vs->last();
39  m_visualWidget->setFixedHeight(65);
40  m_visualWidget->setMinimumWidth(CONCISE_WIDTH_MIN);
41 
42  QVBoxLayout *layout = new QVBoxLayout(m_visualWidget);
43  layout->setSpacing(0);
44  layout->setContentsMargins(0, 0, 0, 0);
45  m_visualWidget->setLayout(layout);
46 
47  m_topAreaLayout->removeWidget(m_topAreaWidget);
48  layout->addWidget(m_topAreaWidget);
49  m_topAreaLayout->addWidget(m_visualWidget);
50  }
51 }
52 
54 {
56  {
57  return;
58  }
59 
60  if(m_visualWidget)
61  {
63  return;
64  }
65 }
66 
68 {
69  v ? show() : close();
70 
72 }
73 
75 {
77  {
78  return;
79  }
80 
81  m_visualWidget ? m_visualWidget->setVisible(v) : m_topAreaWidget->setVisible(v);
82 }
83 
84 void MusicBlurSpecturmModule::initialize(QVBoxLayout *layout, QWidget *widget)
85 {
86  m_topAreaLayout = layout;
87  m_topAreaWidget = widget;
88 }
89 
91 {
92  if(m_visualWidget)
93  {
94  m_visualWidget = nullptr;
95  TTK::TTKQmmp::setVisualEnabled("outerblurwave", false, TTKStaticCast(QWidget*, parent()));
96  }
97 }
#define TTKStaticCast(x, y)
Definition: ttkglobal.h:231
#define CONCISE_WIDTH_MIN
Definition: musicobject.h:175
The Visual class provides the base interface class of visualizations.
Definition: visual.h:37
TTK_MODULE_EXPORT void updateBlurConfig()
TTK_MODULE_EXPORT void setVisualEnabled(const QString &name, bool enabled, QWidget *parent)
void initialize(QVBoxLayout *layout, QWidget *widget)
MusicBlurSpecturmModule(QObject *parent=nullptr)
static QList< Visual * > * visuals()
#define TTKObjectCast(x, y)
Definition: ttkqtglobal.h:82