|
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798 |
- //------------------------------------------------------------------------
- // Project : VST SDK
- // Version : 3.6.7
- //
- // Category : Interfaces
- // Filename : pluginterfaces/vst/ivsthostapplication.h
- // Created by : Steinberg, 04/2006
- // Description : VST Host Interface
- //
- //-----------------------------------------------------------------------------
- // This file is part of a Steinberg SDK. It is subject to the license terms
- // in the LICENSE file found in the top-level directory of this distribution
- // and at www.steinberg.net/sdklicenses.
- // No part of the SDK, including this file, may be copied, modified, propagated,
- // or distributed except according to the terms contained in the LICENSE file.
- //-----------------------------------------------------------------------------
-
- #pragma once
-
- #include "pluginterfaces/vst/ivstmessage.h"
-
- //------------------------------------------------------------------------
- namespace Steinberg {
- namespace Vst {
- //------------------------------------------------------------------------
- /** Basic Host Callback Interface.
- \ingroup vstIHost vst300
- - [host imp]
- - [passed as 'context' in to IPluginBase::initialize () ]
-
- Basic VST host application interface. */
- //------------------------------------------------------------------------
- class IHostApplication: public FUnknown
- {
- public:
- //------------------------------------------------------------------------
- /** Gets host application name. */
- virtual tresult PLUGIN_API getName (String128 name) = 0;
-
- /** Creates host object (e.g. Vst::IMessage). */
- virtual tresult PLUGIN_API createInstance (TUID cid, TUID _iid, void** obj) = 0;
-
- //------------------------------------------------------------------------
- static const FUID iid;
- };
-
- DECLARE_CLASS_IID (IHostApplication, 0x58E595CC, 0xDB2D4969, 0x8B6AAF8C, 0x36A664E5)
-
- //------------------------------------------------------------------------
- inline IMessage* allocateMessage (IHostApplication* host)
- {
- TUID iid;
- IMessage::iid.toTUID (iid);
- IMessage* m = 0;
- if (host->createInstance (iid, iid, (void**)&m) == kResultOk)
- return m;
- return 0;
- }
-
- //------------------------------------------------------------------------
- /** VST 3 to VST 2 Wrapper Interface.
- \ingroup vstIHost vst310
- - [host imp]
- - [passed as 'context' to IPluginBase::initialize () ]
-
- Informs the Plug-in that a VST 3 to VST 2 wrapper is used between the Plug-in and the real host.
- Implemented by the VST 2 Wrapper. */
- //------------------------------------------------------------------------
- class IVst3ToVst2Wrapper: public FUnknown
- {
- public:
- //------------------------------------------------------------------------
- static const FUID iid;
- };
-
- DECLARE_CLASS_IID (IVst3ToVst2Wrapper, 0x29633AEC, 0x1D1C47E2, 0xBB85B97B, 0xD36EAC61)
-
- //------------------------------------------------------------------------
- /** VST 3 to AU Wrapper Interface.
- \ingroup vstIHost vst310
- - [host imp]
- - [passed as 'context' to IPluginBase::initialize () ]
-
- Informs the Plug-in that a VST 3 to AU wrapper is used between the Plug-in and the real host.
- Implemented by the AU Wrapper. */
- //------------------------------------------------------------------------
- class IVst3ToAUWrapper: public FUnknown
- {
- public:
- //------------------------------------------------------------------------
- static const FUID iid;
- };
-
- DECLARE_CLASS_IID (IVst3ToAUWrapper, 0xA3B8C6C5, 0xC0954688, 0xB0916F0B, 0xB697AA44)
-
- //------------------------------------------------------------------------
- } // namespace Vst
- } // namespace Steinberg
|