ivstparameterchanges.h

Go to the documentation of this file.
00001 //------------------------------------------------------------------------
00002 // Project     : VST SDK
00003 // Version     : 3.0
00004 //
00005 // Category    : Interfaces
00006 // Filename    : ivstparameterchanges.h
00007 // Created by  : Steinberg, 09/2005
00008 // Modified    : $Date: 2008/01/09 12:51:44 $
00009 // Description : VST Parameter Change Interfaces
00010 //
00011 //-----------------------------------------------------------------------------
00012 // LICENSE
00013 // © 2008, Steinberg Media Technologies GmbH, All Rights Reserved
00014 //-----------------------------------------------------------------------------
00015 // This Software Development Kit may not be distributed in parts or its entirety  
00016 // without prior written agreement by Steinberg Media Technologies GmbH. 
00017 // This SDK must not be used to re-engineer or manipulate any technology used  
00018 // in any Steinberg or Third-party application or software module, 
00019 // unless permitted by law.
00020 // Neither the name of the Steinberg Media Technologies nor the names of its
00021 // contributors may be used to endorse or promote products derived from this 
00022 // software without specific prior written permission.
00023 // 
00024 // THIS SDK IS PROVIDED BY STEINBERG MEDIA TECHNOLOGIES GMBH "AS IS" AND
00025 // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 
00026 // WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
00027 // IN NO EVENT SHALL STEINBERG MEDIA TECHNOLOGIES GMBH BE LIABLE FOR ANY DIRECT, 
00028 // INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 
00029 // BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 
00030 // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 
00031 // LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE 
00032 // OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
00033 // OF THE POSSIBILITY OF SUCH DAMAGE.
00034 //----------------------------------------------------------------------------------
00035 
00036 #ifndef __ivstparameterchanges__
00037 #define __ivstparameterchanges__
00038 
00039 #include "pluginterfaces/base/funknown.h"
00040 #include "vsttypes.h"
00041 
00042 //------------------------------------------------------------------------
00043 #include "pluginterfaces/base/falignpush.h"
00044 //------------------------------------------------------------------------
00045 
00046 //----------------------------------------------------------------------
00047 namespace Steinberg {
00048 namespace Vst {
00049 
00050 //----------------------------------------------------------------------
00051 // IParamValueQueue Interface
00052 //----------------------------------------------------------------------
00053 class IParamValueQueue: public FUnknown
00054 {
00055 public:
00056 //------------------------------------------------------------------------
00058         virtual ParamID PLUGIN_API getParameterId () = 0;
00059 
00061         virtual int32 PLUGIN_API getPointCount () = 0;
00062         
00064         virtual tresult PLUGIN_API getPoint (int32 index, int32& sampleOffset /*out*/, ParamValue& value /*out*/) = 0;
00065         
00067         virtual tresult PLUGIN_API addPoint (int32 sampleOffset, ParamValue value, int32& index /*out*/) = 0;
00068 
00069 //------------------------------------------------------------------------
00070         static const FUID iid;
00071 };
00072 
00073 DECLARE_CLASS_IID (IParamValueQueue, 0x01263A18, 0xED074F6F, 0x98C9D356, 0x4686F9BA)
00074 
00075 
00076 //----------------------------------------------------------------------
00077 // IParameterChanges Interface
00078 //----------------------------------------------------------------------
00079 class IParameterChanges: public FUnknown
00080 {
00081 public:
00082 //------------------------------------------------------------------------
00084         virtual int32 PLUGIN_API getParameterCount () = 0;
00085 
00087         virtual IParamValueQueue* PLUGIN_API getParameterData (int32 index) = 0;
00088 
00091         virtual IParamValueQueue* PLUGIN_API addParameterData (const Vst::ParamID& id, int32& index /*out*/) = 0; 
00092 
00093 //------------------------------------------------------------------------
00094         static const FUID iid;
00095 };
00096 
00097 DECLARE_CLASS_IID (IParameterChanges, 0xA4779663, 0x0BB64A56, 0xB44384A8, 0x466FEB9D)
00098 
00099 //------------------------------------------------------------------------
00100 } // namespace Vst
00101 } // namespace Steinberg
00102 
00103 //------------------------------------------------------------------------
00104 #include "pluginterfaces/base/falignpop.h"
00105 //------------------------------------------------------------------------
00106 
00107 #endif // __ivstparameterchanges__
Empty

Copyright ©2008 Steinberg Media Technologies. All Rights Reserved.