1 //------------------------------------------------------------------------
2 // Project     : VST SDK
3 //
4 // Category    : Examples
5 // Filename    : public.sdk/samples/vst/prefetchablesupport/source/plugcontroller.h
6 // Created by  : Steinberg, 04/2015
7 // Description : prefetchablesupport Editor Example for VST 3
8 //
9 //-----------------------------------------------------------------------------
10 // LICENSE
11 // (c) 2018, Steinberg Media Technologies GmbH, All Rights Reserved
12 //-----------------------------------------------------------------------------
13 // Redistribution and use in source and binary forms, with or without modification,
14 // are permitted provided that the following conditions are met:
15 //
16 //   * Redistributions of source code must retain the above copyright notice,
17 //     this list of conditions and the following disclaimer.
18 //   * Redistributions in binary form must reproduce the above copyright notice,
19 //     this list of conditions and the following disclaimer in the documentation
20 //     and/or other materials provided with the distribution.
21 //   * Neither the name of the Steinberg Media Technologies nor the names of its
22 //     contributors may be used to endorse or promote products derived from this
23 //     software without specific prior written permission.
24 //
25 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
26 // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
27 // WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
28 // IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
29 // INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
30 // BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
31 // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
32 // LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
33 // OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
34 // OF THE POSSIBILITY OF SUCH DAMAGE.
35 //-----------------------------------------------------------------------------
36 
37 #pragma once
38 
39 #include "public.sdk/source/vst/vsteditcontroller.h"
40 
41 namespace Steinberg {
42 namespace Vst {
43 
44 //------------------------------------------------------------------------
45 // PlugController
46 //------------------------------------------------------------------------
47 class PlugController: public EditControllerEx1
48 {
49 public:
50 //------------------------------------------------------------------------
51 // create function required for Plug-in factory,
52 // it will be called to create new instances of this controller
53 //------------------------------------------------------------------------
createInstance(void * context)54 	static FUnknown* createInstance (void* context)
55 	{
56 		return (IEditController*)new PlugController;
57 	}
58 
59 	//---from IPluginBase--------
60 	tresult PLUGIN_API initialize (FUnknown* context) SMTG_OVERRIDE;
61 
62 	//---from EditController-----
63 	tresult PLUGIN_API setComponentState (IBStream* state) SMTG_OVERRIDE;
64 
65 	tresult PLUGIN_API setParamNormalized (ParamID tag, ParamValue value) SMTG_OVERRIDE;
66 
67 	DELEGATE_REFCOUNT (EditControllerEx1)
68 
69 //------------------------------------------------------------------------
70 
71 private:
72 
73 };
74 
75 }} // namespaces
76