MythTV master
v2musicMetadataInfo.h
Go to the documentation of this file.
1
2// Program Name: musicMetadataInfo.h
3// Created : July 20, 2017
4//
5// Copyright (c) 2017 Paul Harrison <pharrison@mythtv.org>
6//
7// Licensed under the GPL v2 or later, see COPYING for details
8//
10
11#ifndef V2MUSICMETADATAINFO_H_
12#define V2MUSICMETADATAINFO_H_
13
14#include <QString>
15#include <QDateTime>
16
18
19
21
22class V2MusicMetadataInfo : public QObject
23{
24 Q_OBJECT
25 Q_CLASSINFO( "Version" , "1.00" );
26
27 SERVICE_PROPERTY2( int , Id )
28 SERVICE_PROPERTY2( QString , Artist )
29 SERVICE_PROPERTY2( QString , CompilationArtist )
30 SERVICE_PROPERTY2( QString , Album )
31 SERVICE_PROPERTY2( QString , Title )
32 SERVICE_PROPERTY2( int , TrackNo )
33 SERVICE_PROPERTY2( QString , Genre )
34 SERVICE_PROPERTY2( int , Year )
35 SERVICE_PROPERTY2( int , PlayCount )
36 SERVICE_PROPERTY2( int , Length )
37 SERVICE_PROPERTY2( int , Rating )
38 SERVICE_PROPERTY2( QString , FileName )
39 SERVICE_PROPERTY2( QString , HostName )
40 SERVICE_PROPERTY2( QDateTime , LastPlayed )
41 SERVICE_PROPERTY2( bool , Compilation )
42
43 public:
44
45 Q_INVOKABLE V2MusicMetadataInfo(QObject *parent = nullptr)
46 : QObject( parent )
47 {
48 }
49
50 void Copy( const V2MusicMetadataInfo *src )
51 {
52 m_Id = src->m_Id;
53 m_Artist = src->m_Artist;
54 m_CompilationArtist = src->m_CompilationArtist;
55 m_Album = src->m_Album;
56 m_Title = src->m_Title;
57 m_TrackNo = src->m_TrackNo;
58 m_Genre = src->m_Genre;
59 m_Year = src->m_Year;
60 m_PlayCount = src->m_PlayCount;
61 m_Length = src->m_Length;
62 m_Rating = src->m_Rating;
63 m_FileName = src->m_FileName;
64 m_HostName = src->m_HostName;
65 m_LastPlayed = src->m_LastPlayed;
66 m_Compilation = src->m_Compilation;
67 }
68};
69
71
72#endif
Q_INVOKABLE V2MusicMetadataInfo(QObject *parent=nullptr)
void Copy(const V2MusicMetadataInfo *src)
Q_CLASSINFO("Version", "1.00")
Q_DECLARE_METATYPE(std::chrono::seconds)
#define SERVICE_PROPERTY2(Type, Name)