annotate data/osc/OSCMessage.h @ 1830:5f8fbbde08ff audio-source-refactor

Use shared_ptr for plugin instances throughout
author Chris Cannam
date Fri, 20 Mar 2020 16:30:33 +0000
parents 813dadf7c086
children
rev   line source
Chris@320 1 /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */
Chris@320 2
Chris@320 3 /*
Chris@320 4 Sonic Visualiser
Chris@320 5 An audio file viewer and annotation editor.
Chris@320 6 Centre for Digital Music, Queen Mary, University of London.
Chris@320 7
Chris@320 8 This program is free software; you can redistribute it and/or
Chris@320 9 modify it under the terms of the GNU General Public License as
Chris@320 10 published by the Free Software Foundation; either version 2 of the
Chris@320 11 License, or (at your option) any later version. See the file
Chris@320 12 COPYING included with this distribution for more information.
Chris@320 13 */
Chris@320 14
Chris@320 15 /*
Chris@320 16 This is a modified version of a source file from the
Chris@320 17 Rosegarden MIDI and audio sequencer and notation editor.
Chris@320 18 This file copyright 2000-2006 Chris Cannam.
Chris@320 19 */
Chris@320 20
Chris@1581 21 #ifndef SV_OSC_MESSAGE_H
Chris@1581 22 #define SV_OSC_MESSAGE_H
Chris@320 23
Chris@320 24 #include <QString>
Chris@320 25 #include <QVariant>
Chris@320 26
Chris@320 27 #include <vector>
Chris@320 28 #include <map>
Chris@320 29
Chris@686 30 #include "base/Debug.h"
Chris@686 31
Chris@320 32 class OSCMessage
Chris@320 33 {
Chris@320 34 public:
Chris@972 35 OSCMessage() : m_target(0), m_targetData(0) { }
Chris@320 36 ~OSCMessage();
Chris@320 37
Chris@320 38 void setTarget(const int &target) { m_target = target; }
Chris@320 39 int getTarget() const { return m_target; }
Chris@320 40
Chris@320 41 void setTargetData(const int &targetData) { m_targetData = targetData; }
Chris@320 42 int getTargetData() const { return m_targetData; }
Chris@320 43
Chris@320 44 void setMethod(QString method) { m_method = method; }
Chris@320 45 QString getMethod() const { return m_method; }
Chris@320 46
Chris@320 47 void clearArgs();
Chris@320 48 void addArg(QVariant arg);
Chris@320 49
Chris@929 50 int getArgCount() const;
Chris@929 51 const QVariant &getArg(int i) const;
Chris@320 52
Chris@1665 53 // For debugging purposes, not for interchange
Chris@1665 54 QString toString() const {
Chris@1665 55 QString s = QString("[%1][%2] %3")
Chris@1665 56 .arg(m_target)
Chris@1665 57 .arg(m_targetData)
Chris@1665 58 .arg(m_method);
Chris@1665 59 for (auto a: m_args) {
Chris@1665 60 s.push_back(" \"" + a.toString() + "\"");
Chris@1665 61 }
Chris@1665 62 return s;
Chris@1665 63 }
Chris@1665 64
Chris@320 65 private:
Chris@320 66 int m_target;
Chris@320 67 int m_targetData;
Chris@320 68 QString m_method;
Chris@320 69 std::vector<QVariant> m_args;
Chris@320 70 };
Chris@320 71
Chris@320 72 #endif