comparison vamp-support/PluginStaticData.h @ 220:02de5df3a884

Add static output descriptor, pass through type URI Note that the server doesn't actually populate any type URIs yet, so this is only half-tested.
author Chris Cannam <cannam@all-day-breakfast.com>
date Thu, 08 Jun 2017 16:17:03 +0100
parents cd438188e3f9
children 09753ad777db
comparison
equal deleted inserted replaced
219:db929669e7d3 220:02de5df3a884
2 2
3 /* 3 /*
4 Piper C++ 4 Piper C++
5 5
6 Centre for Digital Music, Queen Mary, University of London. 6 Centre for Digital Music, Queen Mary, University of London.
7 Copyright 2006-2016 Chris Cannam and QMUL. 7 Copyright 2006-2017 Chris Cannam and QMUL.
8 8
9 Permission is hereby granted, free of charge, to any person 9 Permission is hereby granted, free of charge, to any person
10 obtaining a copy of this software and associated documentation 10 obtaining a copy of this software and associated documentation
11 files (the "Software"), to deal in the Software without 11 files (the "Software"), to deal in the Software without
12 restriction, including without limitation the rights to use, copy, 12 restriction, including without limitation the rights to use, copy,
35 #ifndef PIPER_PLUGIN_STATIC_DATA_H 35 #ifndef PIPER_PLUGIN_STATIC_DATA_H
36 #define PIPER_PLUGIN_STATIC_DATA_H 36 #define PIPER_PLUGIN_STATIC_DATA_H
37 37
38 #include <vamp-hostsdk/Plugin.h> 38 #include <vamp-hostsdk/Plugin.h>
39 39
40 #include "StaticOutputDescriptor.h"
41
40 namespace piper_vamp { 42 namespace piper_vamp {
41 43
42 /** 44 /**
43 * \class PluginStaticData 45 * \class PluginStaticData
44 * 46 *
60 std::string identifier; 62 std::string identifier;
61 std::string name; 63 std::string name;
62 std::string description; 64 std::string description;
63 }; 65 };
64 typedef std::vector<Basic> BasicList; 66 typedef std::vector<Basic> BasicList;
65 67
66 PluginStaticData() : // invalid static data by default 68 PluginStaticData() : // invalid static data by default
67 pluginVersion(0), minChannelCount(0), maxChannelCount(0), 69 pluginVersion(0), minChannelCount(0), maxChannelCount(0),
68 inputDomain(Vamp::Plugin::TimeDomain) { } 70 inputDomain(Vamp::Plugin::TimeDomain) { }
69 71
70 std::string pluginKey; 72 std::string pluginKey;
71 Basic basic; 73 Basic basic;
72 std::string maker; 74 std::string maker;
73 std::string copyright; 75 std::string copyright;
74 int pluginVersion; 76 int pluginVersion;
75 std::vector<std::string> category; 77 std::vector<std::string> category; // not found in the plugin, may
78 // come from accompanying
79 // metadata
76 size_t minChannelCount; 80 size_t minChannelCount;
77 size_t maxChannelCount; 81 size_t maxChannelCount;
78 Vamp::PluginBase::ParameterList parameters; 82 Vamp::PluginBase::ParameterList parameters;
79 Vamp::PluginBase::ProgramList programs; 83 Vamp::PluginBase::ProgramList programs;
80 Vamp::Plugin::InputDomain inputDomain; 84 Vamp::Plugin::InputDomain inputDomain;
81 BasicList basicOutputInfo; 85 BasicList basicOutputInfo;
86 StaticOutputInfo staticOutputInfo; // not found in the plugin, may
87 // come from accompanying
88 // (RDF?) metadata
82 89
83 static PluginStaticData 90 static PluginStaticData
84 fromPlugin(std::string pluginKey, 91 fromPlugin(std::string pluginKey,
85 std::vector<std::string> category, 92 std::vector<std::string> category,
86 Vamp::Plugin *p) { 93 Vamp::Plugin *p) {