Skip to content

Commit

Permalink
Pull request #104: Prepare history for next release
Browse files Browse the repository at this point in the history
Merge in VSTSDK/vst3_dev_portal from prepare-history-for-next-release to main

* commit 'b16b95503bd7383119f454e407b0f3bf7714085b':
  [update] copyright
  [update] license file
  [update] history
  [update] copyright
  [update] history
  [update] string review
  [update] history
  [update] history
  [update] history
  [update] date of release
  [update] change 3.8 to 3.7.10
  [update] history + typo fixes
  [update] doc
  [update] style
  [fix] typo
  [update] add new examples
  [update] add new file for new version
  [update] add new file for new version
  • Loading branch information
ygrabit committed Jan 18, 2024
2 parents a2d8382 + b16b955 commit cd45267
Show file tree
Hide file tree
Showing 26 changed files with 123 additions and 60 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ cmake_minimum_required(VERSION 3.14.0)
set(CMAKE_OSX_DEPLOYMENT_TARGET 10.13 CACHE STRING "")

if(NOT vst3sdk_SOURCE_DIR)
message(FATAL_ERROR "Path to VST3 SDK is empty! Please specify the vst3sdk_SOURCE_DIR cmake cache entry")
message(FATAL_ERROR "Path to VST 3 SDK is empty! Please specify the vst3sdk_SOURCE_DIR cmake cache entry")
endif()

project(advanced-techniques-tutorial
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
//------------------------------------------------------------------------
// Copyright(c) 2023 Steinberg Media Technologies.
// Copyright(c) 2024 Steinberg Media Technologies.
//------------------------------------------------------------------------

#pragma once
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
//------------------------------------------------------------------------
// Copyright(c) 2023 Steinberg Media Technologies.
// Copyright(c) 2024 Steinberg Media Technologies.
//------------------------------------------------------------------------

#include "pids.h"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
//------------------------------------------------------------------------
// Copyright(c) 2023 Steinberg Media Technologies.
// Copyright(c) 2024 Steinberg Media Technologies.
//------------------------------------------------------------------------

#include "cids.h"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
//------------------------------------------------------------------------
// Copyright(c) 2023 Steinberg Media Technologies.
// Copyright(c) 2024 Steinberg Media Technologies.
//------------------------------------------------------------------------

#pragma once
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
//------------------------------------------------------------------------
// Copyright(c) 2023 Steinberg Media Technologies.
// Copyright(c) 2024 Steinberg Media Technologies.
//------------------------------------------------------------------------

#include "cids.h"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
//------------------------------------------------------------------------
// Copyright(c) 2023 Steinberg Media Technologies.
// Copyright(c) 2024 Steinberg Media Technologies.
//------------------------------------------------------------------------

#pragma once
Expand All @@ -16,5 +16,5 @@
#define stringFileDescription "advanced-techniques-tutorial VST 3"
#endif
#define stringCompanyName "Steinberg Media Technologies\0"
#define stringLegalCopyright "Copyright(c) 2023 Steinberg Media Technologies."
#define stringLegalCopyright "Copyright(c) 2024 Steinberg Media Technologies."
#define stringLegalTrademarks "VST is a trademark of Steinberg Media Technologies GmbH"
2 changes: 1 addition & 1 deletion src/.vst3_tutorials/dataexchange-tutorial/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ cmake_minimum_required(VERSION 3.14.0)
set(CMAKE_OSX_DEPLOYMENT_TARGET 10.13 CACHE STRING "")

if(NOT vst3sdk_SOURCE_DIR)
message(FATAL_ERROR "Path to VST3 SDK is empty! Please specify the vst3sdk_SOURCE_DIR cmake cache entry")
message(FATAL_ERROR "Path to VST 3 SDK is empty! Please specify the vst3sdk_SOURCE_DIR cmake cache entry")
endif()

project(dataexchange_tutorial
Expand Down
2 changes: 1 addition & 1 deletion src/.vst3_tutorials/dataexchange-tutorial/source/cids.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
//------------------------------------------------------------------------
// Copyright(c) 2023 Steinberg Media Technologies.
// Copyright(c) 2024 Steinberg Media Technologies.
//------------------------------------------------------------------------

#pragma once
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
//------------------------------------------------------------------------
// Copyright(c) 2023 Steinberg Media Technologies.
// Copyright(c) 2024 Steinberg Media Technologies.
//------------------------------------------------------------------------

#include "cids.h"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
//------------------------------------------------------------------------
// Copyright(c) 2023 Steinberg Media Technologies.
// Copyright(c) 2024 Steinberg Media Technologies.
//------------------------------------------------------------------------

#pragma once
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
//------------------------------------------------------------------------
// Copyright(c) 2023 Steinberg Media Technologies.
// Copyright(c) 2024 Steinberg Media Technologies.
//------------------------------------------------------------------------

#pragma once
Expand Down
2 changes: 1 addition & 1 deletion src/.vst3_tutorials/dataexchange-tutorial/source/entry.cpp
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
//------------------------------------------------------------------------
// Copyright(c) 2023 Steinberg Media Technologies.
// Copyright(c) 2024 Steinberg Media Technologies.
//------------------------------------------------------------------------

#include "processor.h"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
//------------------------------------------------------------------------
// Copyright(c) 2023 Steinberg Media Technologies.
// Copyright(c) 2024 Steinberg Media Technologies.
//------------------------------------------------------------------------

#include "cids.h"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
//------------------------------------------------------------------------
// Copyright(c) 2023 Steinberg Media Technologies.
// Copyright(c) 2024 Steinberg Media Technologies.
//------------------------------------------------------------------------

#pragma once
Expand Down
4 changes: 2 additions & 2 deletions src/.vst3_tutorials/dataexchange-tutorial/source/version.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
//------------------------------------------------------------------------
// Copyright(c) 2023 Steinberg Media Technologies.
// Copyright(c) 2024 Steinberg Media Technologies.
//------------------------------------------------------------------------

#pragma once
Expand All @@ -16,5 +16,5 @@
#define stringFileDescription "dataexchange-tutorial VST3"
#endif
#define stringCompanyName "Steinberg Media Technologies\0"
#define stringLegalCopyright "Copyright(c) 2023 Steinberg Media Technologies."
#define stringLegalCopyright "Copyright(c) 2024 Steinberg Media Technologies."
#define stringLegalTrademarks "VST is a trademark of Steinberg Media Technologies GmbH"
1 change: 1 addition & 0 deletions src/SUMMARY.md
Original file line number Diff line number Diff line change
Expand Up @@ -118,6 +118,7 @@
# Additional Resources

- [Change History](pages/Versions/Index.md)
- [Version 3.7.10 (2024/01/18)](pages/Versions/Version+3.7.10.md)
- [Version 3.7.9 (2023/10/09)](pages/Versions/Version+3.7.9.md)
- [Version 3.7.8 (2023/05/15)](pages/Versions/Version+3.7.8.md)
- [Version 3.7.7 (2022/12/12)](pages/Versions/Version+3.7.7.md)
Expand Down
3 changes: 2 additions & 1 deletion src/pages/Miscellaneous/Index.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,12 +39,13 @@ External Glossary: [AES - PAR - Pro Audio Reference:](https://www.aes.org/par/)
| **DAW** | Digital Audio Workstation | <https://en.wikipedia.org/wiki/Digital_audio_workstation> |
| **DLL** | Dynamic-Link Library | <https://en.wikipedia.org/wiki/Dynamic-link_library> |
| **DSP** | Digital Signal Processing | <https://en.wikipedia.org/wiki/Digital_signal_processing> |
| **e.g.** | exempli gratia | for example |
| **e.g.** | exempli gratia | for example |
| **FAQ** | Frequently Asked Questions | VST 3 [Frequently Asked Questions](../FAQ/Index.md) |
| **FFT** | Fast Fourier Transformation | <https://en.wikipedia.org/wiki/Fast_Fourier_transform> |
| **GPL** | General Public License | <https://www.gnu.org/licenses/gpl-3.0.en.html> |
| **ICASSP** | International Conference on Acoustics, Speech and Signal Processing | <https://en.wikipedia.org/wiki/International_Conference_on_Acoustics,_Speech,_and_Signal_Processing> |
| **ISMIR** | International Society for Music Information Retrieval | <https://ismir.net> |
| **JSON5** | JavaScript Object Notation | <https://www.json.org> |
| **LFE** | Low Frequency Effects | <https://en.wikipedia.org/wiki/Low-frequency_effects> |
| **MIDI** | Musical Instrument Digital Interface | <https://www.midi.org> |
| **MPE** | MIDI Polyphonic Expression | <https://www.midi.org> |
Expand Down
3 changes: 1 addition & 2 deletions src/pages/Technical+Documentation/Data+Exchange/Index.md
Original file line number Diff line number Diff line change
Expand Up @@ -75,8 +75,7 @@ The host guarantees that all blocks are sent before the plug-in is deactivated.
The audio processor must close an open queue. This need to be done after deactivating the processor and prior to disconnecting it from the edit controller (see [IConnectionPoint](https://steinbergmedia.github.io/vst3_doc/vstinterfaces/classSteinberg_1_1Vst_1_1IConnectionPoint.html)).

#### What to do when the queue is full and no block can be locked?
The plug-in needs to be prepared for this situation, as constraints in the overall system may cause the queue to fill up excessively. If you need to transfer the information to the controller, you can declare a hidden parameter, which you can set to a special value and send this parameter change in your audio
process method.
The plug-in needs to be prepared for this situation, as constraints in the overall system may cause the queue to fill up excessively. If you need to transfer the information to the controller, you can declare a hidden parameter, which you can set to a special value and send this parameter change in your audio process method.

### IDataExchangeReceiver

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ cmake.exe -G "Visual Studio 17 2022" -A x64 ../vst3sdk-DSMTG_CREATE_PLUGIN_LINK=
>**Note**\
>You can find the string definition for different Visual Studio Generators in the cmake online documentation (<https://cmake.org/documentation/>)
- You have to adapt your Windows right access to allow creation of symbolic links for VST3 plug-ins: [Check HERE!](../../Getting+Started/Preparation+on+Windows.md)
- You have to adapt your Windows right access to allow creation of symbolic links for VST 3 plug-ins: [Check HERE!](../../Getting+Started/Preparation+on+Windows.md)
- Build the plug-in (you can use Visual Studio too):

``` text
Expand Down
1 change: 1 addition & 0 deletions src/pages/Versions/Index.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@

All released versions of the **VST 3 SDK** with changes and dates:

- [Version 3.7.10 (2024/01/18)](Version+3.7.10.md)
- [Version 3.7.9 (2023/10/09)](Version+3.7.9.md)
- [Version 3.7.8 (2023/05/15)](Version+3.7.8.md)
- [Version 3.7.7 (2022/12/12)](Version+3.7.7.md)
Expand Down
41 changes: 41 additions & 0 deletions src/pages/Versions/Version+3.7.10.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
>/ [VST Home](../) / [Change History](./Index.md)
>
># Version 3.7.10 (2024/01/18)
## Version 3.7.10 (2024/01/18)

- Interface changes:
- Minimum requirement is now **C++17**.
- New subCategories for PlugType:
- **kFxBass** / **kFxChannelStrip** / **kFxDrums** / **kFxGuitar** / **kFxMicrophone**

- [VSTGUI](../What+is+the+VST+3+SDK/VSTGUI.md) update [4.13.3](https://github.com/steinbergmedia/vstgui/releases/tag/vstgui4_13_3)

- Documentation
- Clarify range of [param ID](../Technical+Documentation/Parameters+Automation/Index.md#parameters).
- Add note for [Module Info and Plug-in Compatibility](../Technical+Documentation/Change+History/3.7.5/ModuleInfo.md#iplugincompatibility).

- cmake
- Fix *smtg_target_make_plugin_package* can create invalid VST 3 plug-ins ([Forum](https://forums.steinberg.net/t/weird-cmake-error/862347)).
- Fix regression for non-bundle Windows plug-ins (non-bundle VST 3 on Windows will be declared deprecated in a future update of VST 3 SDK).

- Tools:
- 2 new scripts for macOS (**vst3sdk/tools/setup_macos_packages_for_vst3sdk.sh**) and Windows (**vst3sdk/tools/setup_win_for_vst3sdk.bat**) which check if all necessary tools are correctly installed for developing VST 3 plug-ins.

- [Examples](../What+is+the+VST+3+SDK/Plug-in+Examples.md):
- New VST 3 plug-ins example:
- New [Utf16Name](../What+is+the+VST+3+SDK/Plug-in+Examples.md#utf16name) showing use of UTF16 characters in plug-in and company name.
- Fix EditorHost issue when moving windows between different DPI screens ([Forum](https://forums.steinberg.net/t/vst3-sdk-editorhost-displays-only-25-of-juce-gui-on-4k-monitor/873310/2) / [Juce Fourm](https://forum.juce.com/t/steinberg-editorhost-on-4k-monitor-is-not-good/58366/7)).

- [Validator](../What+is+the+VST+3+SDK/Index.md#validator-command-line):
- Add test checking that IPluginBase is provided by the controller and the processor.
- Add support on Windows for UTF8 path.

- [VST3PluginTestHost](../What+is+the+VST+3+SDK/Plug-in+Test+Host.md) v3.7:
- Fix global buffer overflow (AddressSanitizer) issue.
- On Windows "*Steinberg built-in Driver*" is used by default if present.

- [VST3 Project Generator](../What+is+the+VST+3+SDK/Project+Generator.md) v2024.01:
- Fix: ProjetGenerator should not allow new project inside the SDK folder.
- Adapt template project: remove audio input for Instrument and add a default processing implementation as example.

94 changes: 57 additions & 37 deletions src/pages/What+is+the+VST+3+SDK/Plug-in+Examples.md
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ Classes:
- AGainWithSideChain (used for side-chain version)
- AGainController

AGain Sample Accurate
## AGain Sample Accurate

Simple plug-in showing how to achieve sample-accurate processing.

Expand All @@ -87,9 +87,20 @@ Very simple plug-in:

Check the folder *"public.sdk/samples/vst/channelcontext"* of the SDK!

## DataExchange

This plug-in:

- shows how to exchange data (waveform) between processor (in the realtime thread) and controller using the VST Data Exchange API: [Vst::IDataExchangeHandler](../Technical+Documentation/Data+Exchange/Index.md)
- shows how easy it is to use [**VSTGUI**](VSTGUI.md)

![what_if_38](../../resources/what_is_38.jpg)

Check the folder *"public.sdk/samples/vst/dataexchange"* of the SDK!

## HostChecker

- Instrument, Panner and Fx plug-in checking the **VST 3** support of a host.
- Instrument, Panner and Fx plug-in checking the **VST 3** support of a host
- It uses [**VSTGUI**](VSTGUI.md)
- an **AAX** version is available

Expand All @@ -115,43 +126,43 @@ Classes:
## mda plug-ins

- Effects (stereo to stereo plug-ins):
- Ambience: Reverb
- Bandisto: Multi-band Distortion
- BeatBox: Drum Replacer
- Combo: Amp and Speaker Simulator
- DeEsser: High frequency Dynamics Processor
- Degrade: Sample quality reduction
- Delay: Simple stereo delay with feedback tone control
- Detune: Simple up/down pitch shifting thickener
- Dither: Range of dither types including noise shaping
- DubDelay: Delay with feedback saturation and time/pitch modulation
- Dynamics: Compressor / Limiter / Gate
- Image: Stereo image adjustment and M-S matrix
- Leslie: Rotary speaker simulator
- Limiter: Opto-electronic style limiter
- Loudness: Equal loudness contours for bass EQ and mix correction
- MultiBand: Multi-band compressor with M-S processing modes
- Overdrive: Soft distortion
- RePsycho!: Drum loop pitch changer
- RezFilter: Resonant filter with LFO and envelope follower
- RingMod: Simple Ring Modulator
- Round Panner: 3D panner
- Shepard: Continuously rising/falling tone generator
- SpecMeter: Stereo 13 Bands spectral Meter
- Splitter: Frequency / level crossover for setting up dynamic processing
- Stereo Simulator: Haas delay and comb filtering
- Sub-Bass Synthesizer: Several low frequency enhancement methods
- TalkBox: High resolution vocoder
- TestTone: Signal generator with pink and white noise, impulses and sweeps
- Thru-Zero Flanger: Classic tape-flanging simulation
- Tracker: Pitch tracking oscillator, or pitch tracking EQ
- **Ambience**: Reverb.
- **Bandisto**: Multi-band Distortion.
- **BeatBox**: Drum Replacer.
- **Combo**: Amp and Speaker Simulator.
- **DeEsser**: High frequency Dynamics Processor.
- **Degrade**: Sample quality reduction.
- **Delay**: Simple stereo delay with feedback tone control.
- **Detune**: Simple up/down pitch shifting thickener.
- **Dither**: Range of dither types including noise shaping.
- **DubDelay**: Delay with feedback saturation and time/pitch modulation.
- **Dynamics**: Compressor / Limiter / Gate.
- **Image**: Stereo image adjustment and M-S matrix.
- **Leslie**: Rotary speaker simulator.
- **Limiter**: Opto-electronic style limiter.
- **Loudness**: Equal loudness contours for bass EQ and mix correction.
- **MultiBand**: Multi-band compressor with M-S processing modes.
- **Overdrive**: Soft distortion.
- **RePsycho!**: Drum loop pitch changer.
- **RezFilter**: Resonant filter with LFO and envelope follower.
- **RingMod**: Simple Ring Modulator.
- **Round Panner**: 3D panner.
- **Shepard**: Continuously rising/falling tone generator.
- **SpecMeter**: Stereo 13 Bands spectral Meter.
- **Splitter**: Frequency / level crossover for setting up dynamic processing.
- **Stereo Simulator**: Haas delay and comb filtering.
- **Sub-Bass Synthesizer**: Several low frequency enhancement methods.
- **TalkBox**: High resolution vocoder.
- **TestTone**: Signal generator with pink and white noise, impulses and sweeps.
- **Thru-Zero Flanger**: Classic tape-flanging simulation.
- **Tracker**: Pitch tracking oscillator, or pitch tracking EQ
- Instruments (1 Event input, 1 stereo Audio output):
- DX10: Sounds similar to the later Yamaha DX synths including the heavy bass but with a warmer, cleaner tone.
- EPiano: Simple EPiano
- JX10: The plug-in is designed for high quality (lower aliasing than most soft synths) and low processor usage
- Piano: Not designed to be the best sounding piano in the world, but boasts extremely low CPU and memory usage.
- **DX10**: Sounds similar to the later Yamaha DX synths including the heavy bass but with a warmer, cleaner tone.
- **EPiano**: Simple EPiano.
- **JX10**: The plug-in is designed for high quality (lower aliasing than most soft synths) and low processor usage.
- **Piano**: Not designed to be the best sounding piano in the world, but boasts extremely low CPU and memory usage.

Based on the OpenSource mda plug-ins (<http://mda.smartelectronix.com/>), this set of plug-ins demonstrates how wrap DS- code in a **VST 3** plug-in.
Based on the OpenSource *mda plug-ins* (<http://mda.smartelectronix.com/>), this set of plug-ins demonstrates how wrap DS- code in a **VST 3** plug-in.

Check the folder *"public.sdk/samples/vst/mda-vst3"* of the SDK!

Expand Down Expand Up @@ -242,6 +253,15 @@ Very simple plug-in:
## Sync Delay

Very simple delay plug-in:

- showing how to support [IProcessContextRequirements](../Technical+Documentation/Change+History/3.7.0/IProgress.md)

Check the folder *"public.sdk/samples/vst/syncdelay"* of the SDK!

## UTF16Name

Very simple plug-in:

- with UTF16 characters in plug-in and company name

Check the folder *"public.sdk/samples/vst/utf16name"* of the SDK!
Binary file modified src/resources/VST3_License_Agreement.pdf
Binary file not shown.
Binary file added src/resources/what_is_38.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion theme/index.hbs
Original file line number Diff line number Diff line change
Expand Up @@ -232,7 +232,7 @@

<div id="footer" class="footer">
<!-- Here comes the footer when available -->
© 2023 <a href="https://www.steinberg.net" target="_blank">Steinberg Media Technologies GmbH</a>.&nbsp; All rights reserved.&nbsp;&nbsp;&nbsp;&nbsp;
© 2024 <a href="https://www.steinberg.net" target="_blank">Steinberg Media Technologies GmbH</a>.&nbsp; All rights reserved.&nbsp;&nbsp;&nbsp;&nbsp;
<a href="https://o.steinberg.net/en/extras/about.html" target="_blank">About</a> |
<a href="https://o.steinberg.net/en/extras/privacy_policy.html" target="_blank">Privacy Policy</a> |
<a href="https://o.steinberg.net/en/extras/terms_conditions.html" target="_blank">Legal Terms</a>
Expand Down

0 comments on commit cd45267

Please sign in to comment.