annotate data/osc/OSCMessage.h @ 1777:d484490cdf69

Split EditableDenseThreeDimensionalModel into explicitly compressed and uncompressed variants. Simplifies the uncompressed version, and we may want to consider whether we need the compressed one at all.
author Chris Cannam
date Tue, 10 Sep 2019 16:34:47 +0100
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