1 /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */ 2 3 /* 4 Rosegarden 5 A sequencer and musical notation editor. 6 Copyright 2000-2021 the Rosegarden development team. 7 8 This program is free software; you can redistribute it and/or 9 modify it under the terms of the GNU General Public License as 10 published by the Free Software Foundation; either version 2 of the 11 License, or (at your option) any later version. See the file 12 COPYING included with this distribution for more information. 13 */ 14 15 #ifndef RG_MAPPEDCOMMON_H 16 #define RG_MAPPEDCOMMON_H 17 18 // Some Mapped types that gui and sound libraries use to communicate 19 // plugin and Studio information. Putting them here so we can change 20 // MappedStudio regularly without having to rebuild the gui. 21 // 22 #include <vector> 23 24 #include <QString> 25 #include <QDataStream> 26 27 namespace Rosegarden 28 { 29 30 typedef int MappedObjectId; 31 typedef QString MappedObjectProperty; 32 typedef float MappedObjectValue; 33 34 // typedef QVector<MappedObjectProperty> MappedObjectPropertyList; 35 // replaced with a std::vector<> for Qt2 compatibility 36 37 typedef std::vector<MappedObjectId> MappedObjectIdList; 38 typedef std::vector<MappedObjectProperty> MappedObjectPropertyList; 39 typedef std::vector<MappedObjectValue> MappedObjectValueList; 40 41 // The direction in which a port operates. 42 // 43 typedef enum 44 { 45 ReadOnly, // input port 46 WriteOnly, // output port 47 Duplex 48 } PortDirection; 49 50 QDataStream& operator>>(QDataStream& s, MappedObjectIdList&); 51 QDataStream& operator<<(QDataStream&, const MappedObjectIdList&); 52 53 QDataStream& operator>>(QDataStream& s, MappedObjectPropertyList&); 54 QDataStream& operator<<(QDataStream&, const MappedObjectPropertyList&); 55 56 QDataStream& operator>>(QDataStream& s, MappedObjectValueList&); 57 QDataStream& operator<<(QDataStream&, const MappedObjectValueList&); 58 59 } 60 61 #endif // RG_MAPPEDCOMMON_H 62