DPF

DISTRHO Plugin Framework
Log | Files | Refs | Submodules | README | LICENSE

host.h (1441B)


      1 /*
      2  * travesty, pure C VST3-compatible interface
      3  * Copyright (C) 2021-2022 Filipe Coelho <falktx@falktx.com>
      4  *
      5  * Permission to use, copy, modify, and/or distribute this software for any purpose with
      6  * or without fee is hereby granted, provided that the above copyright notice and this
      7  * permission notice appear in all copies.
      8  *
      9  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD
     10  * TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN
     11  * NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
     12  * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER
     13  * IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
     14  * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
     15  */
     16 
     17 #pragma once
     18 
     19 #include "message.h"
     20 
     21 #include "align_push.h"
     22 
     23 /**
     24  * host application
     25  */
     26 
     27 struct v3_host_application {
     28 #ifndef __cplusplus
     29 	struct v3_funknown;
     30 #endif
     31 	v3_result (V3_API* get_name)(void* self, v3_str_128 name); // wtf?
     32 	v3_result (V3_API* create_instance)(void* self, v3_tuid cid, v3_tuid iid, void** obj);
     33 };
     34 
     35 static constexpr const v3_tuid v3_host_application_iid =
     36 	V3_ID(0x58E595CC, 0xDB2D4969, 0x8B6AAF8C, 0x36A664E5);
     37 
     38 #ifdef __cplusplus
     39 
     40 /**
     41  * C++ variants
     42  */
     43 
     44 struct v3_host_application_cpp : v3_funknown {
     45     v3_host_application app;
     46 };
     47 
     48 #endif
     49 
     50 #include "align_pop.h"