TTKMusicPlayer  3.7.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  m_visualWidget ? m_visualWidget->setVisible(v) : m_topAreaWidget->setVisible(v);
28 }
29 
31 {
33  {
34  return;
35  }
36 
37  TTK::TTKQmmp::enabledVisualPlugin("outerblurwave", true);
38 
39  const QList<Visual*> *vs = Visual::visuals();
40  if(!vs->isEmpty() && vs->back())
41  {
42  m_visualWidget = vs->back();
43  m_visualWidget->setFixedHeight(65);
44  m_visualWidget->setMinimumWidth(CONCISE_WIDTH_MIN);
45 
46  QVBoxLayout *layout = new QVBoxLayout(m_visualWidget);
47  layout->setSpacing(0);
48  layout->setContentsMargins(0, 0, 0, 0);
49  m_visualWidget->setLayout(layout);
50 
51  m_topAreaLayout->removeWidget(m_topAreaWidget);
52  layout->addWidget(m_topAreaWidget);
53  m_topAreaLayout->addWidget(m_visualWidget);
54  }
55 }
56 
58 {
60  {
61  return;
62  }
63 
64  m_visualWidget->layout()->removeWidget(m_topAreaWidget);
65  m_topAreaLayout->addWidget(m_topAreaWidget);
66 
68 }
69 
71 {
72  up ? show() : close();
73 
75  if(m_visualWidget)
76  {
78  if(widget)
79  {
80  widget->start();
81  }
82  }
83 }
84 
85 void MusicBlurSpecturmModule::initialize(QVBoxLayout *layout, QWidget *widget)
86 {
87  m_topAreaLayout = layout;
88  m_topAreaWidget = widget;
89 }
90 
92 {
93  if(m_visualWidget)
94  {
95  m_visualWidget = nullptr;
96  TTK::TTKQmmp::enabledVisualPlugin("outerblurwave", false);
97  }
98 }
TTK_MODULE_EXPORT void enabledVisualPlugin(const QString &name, bool enabled)
#define CONCISE_WIDTH_MIN
Definition: musicobject.h:156
TTK_MODULE_EXPORT void updateRippleConfig()
The Visual class provides the base interface class of visualizations.
Definition: visual.h:37
virtual void start()
void initialize(QVBoxLayout *layout, QWidget *widget)
MusicBlurSpecturmModule(QObject *parent=nullptr)
static QList< Visual * > * visuals()
#define TTKObjectCast(x, y)
Definition: ttkqtglobal.h:60