Revision 48:5f23d5b29aaf common/Objects.h
| common/Objects.h | ||
|---|---|---|
| 580 | 580 |
static QMutex m_mutex; |
| 581 | 581 |
}; |
| 582 | 582 |
|
| 583 |
// Separate AudioFile and Signal, to correspond with |
|
| 583 |
class AudioFileTag : public QObject |
|
| 584 |
{
|
|
| 585 |
Q_OBJECT |
|
| 586 |
|
|
| 587 |
Q_PROPERTY(QString name READ name WRITE setName NOTIFY nameChanged STORED true) |
|
| 588 |
Q_PROPERTY(QString value READ value WRITE setValue NOTIFY valueChanged STORED true) |
|
| 589 |
|
|
| 590 |
public: |
|
| 591 |
AudioFileTag(QObject *parent = 0) : QObject(parent) { }
|
|
| 592 |
AudioFileTag(QString name, QString value, QObject *parent = 0) : |
|
| 593 |
QObject(parent), m_name(name), m_value(value) { }
|
|
| 594 |
|
|
| 595 |
QString name() const { return m_name; }
|
|
| 596 |
void setName(QString n) { m_name = n; emit nameChanged(m_name); }
|
|
| 597 |
|
|
| 598 |
QString value() const { return m_value; }
|
|
| 599 |
void setValue(QString v) { m_value = v; emit valueChanged(m_value); }
|
|
| 600 |
|
|
| 601 |
signals: |
|
| 602 |
void nameChanged(QString); |
|
| 603 |
void valueChanged(QString); |
|
| 604 |
|
|
| 605 |
private: |
|
| 606 |
QString m_name; |
|
| 607 |
QString m_value; |
|
| 608 |
}; |
|
| 609 |
|
|
| 610 |
// Separate AudioFile and Signal, to correspond with MO |
|
| 584 | 611 |
|
| 585 | 612 |
class AudioFile : public QObject |
| 586 | 613 |
{
|
| ... | ... | |
| 588 | 615 |
|
| 589 | 616 |
Q_PROPERTY(QString hash READ hash WRITE setHash NOTIFY hashChanged STORED true) |
| 590 | 617 |
Q_PROPERTY(Dataquay::Uri uri READ uri WRITE setUri NOTIFY uriChanged STORED true) |
| 618 |
Q_PROPERTY(QSet<ClassicalData::AudioFileTag *> tags READ tags WRITE setTags NOTIFY tagsChanged STORED true) |
|
| 591 | 619 |
|
| 592 | 620 |
public: |
| 593 | 621 |
AudioFile(QObject *parent = 0); |
| 594 | 622 |
AudioFile(FileSource file, QObject *parent = 0); |
| 623 |
~AudioFile(); |
|
| 595 | 624 |
|
| 596 | 625 |
/// The URI is set automatically from the FileSource at construction |
| 597 | 626 |
Dataquay::Uri uri() const { return m_uri; }
|
| ... | ... | |
| 601 | 630 |
QString hash() const { return m_hash; }
|
| 602 | 631 |
void setHash(QString hash) { m_hash = hash; emit hashChanged(hash); }
|
| 603 | 632 |
|
| 633 |
/// I take ownership of all tags |
|
| 634 |
QSet<AudioFileTag *> tags() { return m_tags; }
|
|
| 635 |
void setTags(QSet<AudioFileTag *> t); |
|
| 636 |
void addTag(AudioFileTag *t); |
|
| 637 |
|
|
| 604 | 638 |
signals: |
| 605 | 639 |
void uriChanged(Dataquay::Uri); |
| 606 | 640 |
void hashChanged(QString); |
| 641 |
void tagsChanged(QSet<AudioFileTag *>); |
|
| 607 | 642 |
|
| 608 | 643 |
private: |
| 609 | 644 |
Dataquay::Uri m_uri; |
| 610 | 645 |
QString m_hash; |
| 646 |
QSet<AudioFileTag *> m_tags; |
|
| 611 | 647 |
}; |
| 612 | 648 |
|
| 613 | 649 |
class Signal : public QObject |
| ... | ... | |
| 670 | 706 |
Q_DECLARE_METATYPE(ClassicalData::Work*); |
| 671 | 707 |
Q_DECLARE_METATYPE(ClassicalData::Movement*); |
| 672 | 708 |
Q_DECLARE_METATYPE(ClassicalData::Document*); |
| 709 |
Q_DECLARE_METATYPE(ClassicalData::AudioFileTag*); |
|
| 673 | 710 |
Q_DECLARE_METATYPE(ClassicalData::AudioFile*); |
| 674 | 711 |
Q_DECLARE_METATYPE(ClassicalData::Signal*); |
| 675 | 712 |
Q_DECLARE_METATYPE(QSet<QString>); |
| ... | ... | |
| 677 | 714 |
Q_DECLARE_METATYPE(QSet<ClassicalData::Work*>); |
| 678 | 715 |
Q_DECLARE_METATYPE(QSet<ClassicalData::Movement*>); |
| 679 | 716 |
Q_DECLARE_METATYPE(QSet<ClassicalData::Document*>); |
| 717 |
Q_DECLARE_METATYPE(QSet<ClassicalData::AudioFileTag*>); |
|
| 680 | 718 |
Q_DECLARE_METATYPE(QSet<ClassicalData::AudioFile*>); |
| 681 | 719 |
Q_DECLARE_METATYPE(QSet<ClassicalData::Signal*>); |
| 682 | 720 |
Q_DECLARE_METATYPE(ClassicalData::Composer*); |
Also available in: Unified diff