26 Commits

Author SHA1 Message Date
Xaymar 86838d1e67 Add further documentation to vst_parameter_properties_t 2025-08-05 15:39:29 +02:00
Xaymar 1c13d4b88a Forgot to append the _t 2025-08-05 08:27:09 +02:00
Xaymar 31fde8b4c8 Fix C++ and C compilation errors
Now both languages should compile fully again. The whole string list is a bit hacky but it works.
2025-08-05 08:22:09 +02:00
Xaymar ddcca1549b Fix recently introduced C compatibility issues 2025-08-05 08:10:14 +02:00
Xaymar b7c86d3766 Better understanding of vst_effect_supports.bypass 2025-08-05 07:56:40 +02:00
Xaymar 33b3f9c9b6 More container related things. 2025-08-05 07:41:52 +02:00
Xaymar 7e5da0b551 Stream handling and some better documentation 2025-08-05 07:26:55 +02:00
Xaymar c8a0a3b129 Lots of progress on container plug-ins 2025-08-05 07:05:55 +02:00
Xaymar 1371dd8233 Lots of new host stuff discovered automatically. 2025-08-05 06:04:18 +02:00
Xaymar 9ec0cc6d39 Some op codes only happened on MacOS 2025-08-05 05:30:19 +02:00
Xaymar 9d44f308dc Stuff related to VST_EFFECT_OPCODE_SUPPORTS 2025-08-05 05:27:08 +02:00
Xaymar 519bb9d4a2 Add some more discovered things about effects 2025-08-05 05:21:04 +02:00
Xaymar 48d5070d63 Strictly follow proper naming conventions for types
Anything that creates a "type" must be suffixed by _t.
2025-08-05 04:40:03 +02:00
Xaymar 0e09d69e63 Fix incorrect description for vst_effect.num_params 2025-08-05 04:35:50 +02:00
Xaymar f79cab72c5 Explain why it's called unformatted chunk data 2025-08-05 04:35:02 +02:00
Xaymar 21a22b8dcb Significant progress on parameters 2025-08-05 04:31:40 +02:00
Xaymar 1e6b6e51ed Siginificant discoveries related to speaker information. 2025-08-05 04:23:59 +02:00
Xaymar 57b38a074d Fix some coding and split C++ code, improve speakers and parameters 2025-08-05 04:07:37 +02:00
Xaymar 89664f5ab7 Formatting and update copyright name as of a few weeks ago 2025-08-05 03:43:28 +02:00
Xaymar 7340510ac4 More effect flags, better chunk data description 2025-08-05 03:16:21 +02:00
Xaymar 432e312022 Some formatting and fixes
- Swap out a lot of macros for enums which somehow generated better code?
- The program name callbacks only have 24 bytes, not 64 bytes. Woops.
- Set/Get chunk data now has the correct descriptions.
- Fixed description for VST_EFFECT_OPCODE_TRANSLATE_ERROR.
- Fixed return codes for VST_EFFECT_OPCODE_SUPPORTS.
2025-08-05 03:00:28 +02:00
Xaymar 5b74f31ec4 Some formatting 2025-08-05 02:29:11 +02:00
Xaymar 40a5fb8ff4 More effect parameters discovered through mass testing
Automatically testing thousands of plugins has its benefits.
2025-08-05 02:14:45 +02:00
Xaymar c5d209d605 Some older Windows versions crash when using cdecl calls 2025-08-05 01:46:40 +02:00
Xaymar f676cd8883 Alignment for 32-bit plugins is incorrect but it's not 4 bytes 2025-08-05 01:44:50 +02:00
Xaymar 6c17021d2f New guesses at what the categories are. 2025-08-05 01:25:52 +02:00
2 changed files with 1674 additions and 847 deletions
+1635 -847
View File
File diff suppressed because it is too large Load Diff
+39
View File
@@ -0,0 +1,39 @@
/* An attempt at an untained clean room reimplementation of the widely popular VST 2.x SDK.
* Copyright (c) 2020 Xaymar Dirks <info@xaymar.com> (previously known as Michael Fabian Dirks)
*
* Redistribution and use in source and binary forms, with or without modification, are permitted provided that the
* following conditions are met:
*
* 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following
* disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the
* following disclaimer in the documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
* INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
// Please refer to README.md and LICENSE for further information.
// Protect against double inclusion in practically every compiler available.
#pragma once
#ifndef VST2SDK_VST_HPP
#define VST2SDK_VST_HPP
#include "vst.h"
// Variable size variant of vst_speaker_arrangement.
template<size_t T>
struct vst_speaker_arrangement_dynamic_t {
VST_ARRANGEMENT_TYPE type; // See VST_SPEAKER_ARRANGEMENT_TYPE
int32_t channels; // Number of channels in speakers.
vst_speaker_properties_t speakers[T]; // Array of speaker properties, actual size defined by channels.
};
#endif