From 8c330ea711b8434160da819af7c1754e39af0876 Mon Sep 17 00:00:00 2001 From: falkTX Date: Sun, 17 Aug 2014 19:11:19 +0100 Subject: [PATCH] Start test-example for NTK UI --- dpf | 2 +- examples/Makefile | 3 + examples/ntk.cpp | 96 ++++++++++++++++++++++++++++ examples/ntk_res/DistrhoPluginInfo.h | 37 +++++++++++ 4 files changed, 137 insertions(+), 1 deletion(-) create mode 100644 examples/ntk.cpp create mode 100644 examples/ntk_res/DistrhoPluginInfo.h diff --git a/dpf b/dpf index 1739340..7364190 160000 --- a/dpf +++ b/dpf @@ -1 +1 @@ -Subproject commit 17393403bf03049a8178cd217f691c149017ec80 +Subproject commit 73641904f7e63ad46f5d936b40631234de84f2ed diff --git a/examples/Makefile b/examples/Makefile index 4749553..fbc91fb 100644 --- a/examples/Makefile +++ b/examples/Makefile @@ -71,6 +71,9 @@ text: text.cpp widgets/ExampleTextWidget.hpp ../dpf/dgl/* cairo: cairo.cpp ../dpf/dgl/* $(CXX) $< $(BUILD_CXX_FLAGS) $(shell pkg-config --cflags --libs cairo) $(LINK_FLAGS) -o $@ +ntk: ntk.cpp ../dpf/dgl/* + $(CXX) $< $(BUILD_CXX_FLAGS) -I../dpf/distrho -Intk_res $(shell pkg-config --cflags --libs ntk_images ntk) $(LINK_FLAGS) -o $@ + qt-embed: qt-embed.cpp ../dpf/dgl/* $(CXX) $< $(BUILD_CXX_FLAGS) $(shell pkg-config --cflags --libs QtCore QtGui) $(LINK_FLAGS) -o $@ diff --git a/examples/ntk.cpp b/examples/ntk.cpp new file mode 100644 index 0000000..5d87b3c --- /dev/null +++ b/examples/ntk.cpp @@ -0,0 +1,96 @@ +/* + * DISTRHO Plugin Framework (DPF) + * Copyright (C) 2012-2014 Filipe Coelho + * + * Permission to use, copy, modify, and/or distribute this software for any purpose with + * or without fee is hereby granted, provided that the above copyright notice and this + * permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD + * TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN + * NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL + * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER + * IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN + * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +// ------------------------------------------------------ +// DGL Stuff + +#include "ntk/NtkApp.hpp" +#include "ntk/NtkWidget.hpp" +#include "ntk/NtkWindow.hpp" + +// ------------------------------------------------------ + +#include "DistrhoUI.hpp" +#include "DistrhoUIMain.cpp" + +START_NAMESPACE_DISTRHO + +// ------------------------------------------------------ +// NTK UI Test + +class NtkUiTest : public UI +{ +public: + NtkUiTest() + : UI() + { + } + + ~NtkUiTest() + { + } + +protected: + uint d_getWidth() const noexcept override + { + return 300; + } + + uint d_getHeight() const noexcept override + { + return 300; + } + + void d_parameterChanged(uint32_t, float) override + { + } + +private: + // +}; + +// ------------------------------------------------------ + +UI* createUI() +{ + return new NtkUiTest(); +} + +// ------------------------------------------------------ + +END_NAMESPACE_DISTRHO + +// ------------------------------------------------------ + +int main() +{ + USE_NAMESPACE_DISTRHO; + USE_NAMESPACE_DGL; + + d_lastUiSampleRate = 44100.0; + UI* const ui(createUI()); + delete ui; + + NtkApp app; + NtkWindow window(app); + + window.show(); + app.exec(); + + return 0; +} + +// ------------------------------------------------------ diff --git a/examples/ntk_res/DistrhoPluginInfo.h b/examples/ntk_res/DistrhoPluginInfo.h new file mode 100644 index 0000000..d5974ce --- /dev/null +++ b/examples/ntk_res/DistrhoPluginInfo.h @@ -0,0 +1,37 @@ +/* + * DISTRHO Plugin Framework (DPF) + * Copyright (C) 2012-2014 Filipe Coelho + * + * Permission to use, copy, modify, and/or distribute this software for any purpose with + * or without fee is hereby granted, provided that the above copyright notice and this + * permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD + * TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN + * NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL + * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER + * IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN + * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +#ifndef DISTRHO_PLUGIN_INFO_H_INCLUDED +#define DISTRHO_PLUGIN_INFO_H_INCLUDED + +#define DISTRHO_PLUGIN_NAME "NtkTest" + +#define DISTRHO_PLUGIN_HAS_UI 1 +#define DISTRHO_PLUGIN_IS_SYNTH 0 + +#define DISTRHO_PLUGIN_NUM_INPUTS 2 +#define DISTRHO_PLUGIN_NUM_OUTPUTS 2 + +#define DISTRHO_PLUGIN_WANT_LATENCY 0 +#define DISTRHO_PLUGIN_WANT_PROGRAMS 0 +#define DISTRHO_PLUGIN_WANT_STATE 0 +#define DISTRHO_PLUGIN_WANT_TIMEPOS 0 + +#define DISTRHO_PLUGIN_URI "urn:distrho:NtkTest" + +#define DISTRHO_UI_USE_NTK 1 + +#endif // DISTRHO_PLUGIN_INFO_H_INCLUDED