MythTV  master
musicdata.h
Go to the documentation of this file.
1 #ifndef MUSICDATA_H_
2 #define MUSICDATA_H_
3 
4 // C++
5 #include <utility>
6 
7 // qt
8 #include <QRunnable>
9 
10 // myth
12 
13 // mythmusic
14 #include "playlistcontainer.h"
15 
16 class PlaylistContainer;
17 class AllMusic;
18 class AllStream;
19 
21 class SendStringListThread : public QRunnable
22 {
23  public:
24  explicit SendStringListThread(QStringList strList)
25  : m_strList(std::move(strList)) {}
26 
27  void run() override; // QRunnable
28 
29  private:
30  QStringList m_strList;
31 };
32 
33 //----------------------------------------------------------------------------
34 
35 class MusicData : public QObject
36 {
37  Q_OBJECT
38 
39  public:
40 
41  MusicData() = default;
42  ~MusicData() override;
43 
44  static void scanMusic(void);
45  void loadMusic(void) const;
46 
47  public slots:
48  void reloadMusic(void) const;
49 
50  public:
52  AllMusic *m_all_music {nullptr};
54  bool m_initialized {false};
55 };
56 
57 // This global variable contains the MusicData instance for the application
59 
60 #endif
playlistcontainer.h
AllMusic
Definition: musicmetadata.h:417
SendStringListThread::SendStringListThread
SendStringListThread(QStringList strList)
Definition: musicdata.h:24
MusicData::~MusicData
~MusicData() override
Definition: musicdata.cpp:30
gMusicData
MPLUGIN_PUBLIC MusicData * gMusicData
Definition: musicdata.cpp:23
MusicData::m_initialized
bool m_initialized
Definition: musicdata.h:54
mythpluginexport.h
MusicData::reloadMusic
void reloadMusic(void) const
reload music after a scan, rip or import
Definition: musicdata.cpp:61
MusicData::m_all_streams
AllStream * m_all_streams
Definition: musicdata.h:53
AllStream
Definition: musicmetadata.h:475
SendStringListThread
send a message to the master BE without blocking the UI thread
Definition: musicdata.h:21
MusicData
Definition: musicdata.h:35
MusicData::m_all_playlists
PlaylistContainer * m_all_playlists
Definition: musicdata.h:51
SendStringListThread::m_strList
QStringList m_strList
Definition: musicdata.h:30
MusicData::loadMusic
void loadMusic(void) const
Definition: musicdata.cpp:102
MPLUGIN_PUBLIC
#define MPLUGIN_PUBLIC
Definition: mythpluginexport.h:9
MusicData::m_all_music
AllMusic * m_all_music
Definition: musicdata.h:52
MusicData::MusicData
MusicData()=default
MusicData::scanMusic
static void scanMusic(void)
Definition: musicdata.cpp:51
PlaylistContainer
Definition: playlistcontainer.h:33
SendStringListThread::run
void run() override
Definition: musicdata.cpp:25