Version 1.3 / 1.4 FAQ

This is the main version of SynthEdit. Please back up your older SynthEdit projects before using this version.

Requirements

New Features (64-bit version)

  • Export 64-bit VST3 and Mac Audio Unit plugins.
  • Latency compensation.
  • Improved oversampling.
  • Improved DPI awareness (looks better on Ultra-HD and Retina displays).
  • More modules.

Notes:

1 - Since SynthEdit 1.2 modules (SEMs) are stored in two locations:

64-bit SynthEdit:

  • C:\Program Files\SynthEdit 1.4\modules - Modules shipped with SynthEdit only.
  • C:\Program Files\Common Files\SynthEdit\Modules - 3rd-party add-on modules from other vendors. Please copy your 3rd-party modules here.

32-bit SynthEdit:

  • C:\Program Files (x86)\SynthEdit 1.4\modules - Modules shipped with SynthEdit only.
  • C:\Program Files (x86)\Common Files\SynthEdit\Modules - 3rd-party add-on modules from other vendors. Please copy your 3rd-party modules here.

Don't copy SynthEdit's own SEMs to the common folder (the ones already in C:\Program Files (x86)\SynthEdit 1.2\modules). If you are using SynthEdit 1.1 alongside Version 1.2, leave your existing module folder as-is. Version 1.2 will not access these.

2 - If you experience crashes at start-up this may be caused by a problematic module. Temporarily move your modules folder elsewhere. Then try starting SynthEdit again.

Know Issues:

  • Playing the 'Keyboard' module doesn't work from PC keyboard.

  • To avoid overloading your graphics card, SynthEdit will open only 5 windows at a time.

Known Issues (64-bit)

  • The 64-bit version requires 64-bit modules. Most of your older modules are probably 32-bit.  The 64-bit version will load projects created in the 32-bit version, but some modules will be inactive if you don't have a 64-version of them.
  • With the VST preset format (*.fxp) presets saved from 32-bit plugins are generally not interchangeable with 64-bit plugins. The exception is that the Preset Browser module can load fxp presets from 32-bit plugins. .fxp presets saved from 64-bit SynthEdit will be compatible with 64-bit plugins but not with 32-bit plugins (and vice-versa).
  • xmlpreset format presets are compatible across all plugin formats.
  • 64-bit SynthEdit plugins use a new drawing API. 64-bit GUIs (Control panels) do not support all controls, some types of controls will not show, some controls will look different in a VST3 plugin. 64-bit plugins support only images less than 16384 x 16384 pixels in size ( 8192 x 8192 on Windows 7). Fonts may render slightly differently, text is sometimes wider or narrower or smoothed differently.
  • 64-bit SynthEdit will export both VST2 and VST Version 3 Plugins (VST3 is the newest type of VST plugin). 32-bit SynthEdit will export only VST Version 2 plugins.
  • 64-bit Plugins have reduced support for MIDI. Only Note, Controller and SYSEX messages can be received by a plugin, plugins do not currently send any MIDI. Plugins receive MIDI only on channel 1. We will look at increasing the number of supported channels in a future version of SynthEdit.
  • The "Embedded files" feature works differently in SE 1.2 (and later), these files are merely copied alongside the exported plugin's other files. The reason for this is Microsoft Windows increased security which prevents files being extracted from a VST at runtime. This feature has been renamed "Copy Additional Files" to better explain what it does.
  • Mac export: Some modules are not available for Mac yet.
  • Some modules from the older version of SynthEdit are not compatible with VST3: e.g. Float-Scaler (please replace with Float-Scaler2).
  • Oversampling a synthesizer will not work unless the oversampled container contains a Patch-Automator module.
  • 64-bit SynthEdit does not support loading VST Plugins into SynthEdit (32-bit does).

Registering you copy

When you purchase SynthEdit from the SynthEdit website you should receive a serial number via email. To apply this serial:

  1. Open SynthEdit
  2. Choose menu: Edit/Preferences/Registration
  3. Copy and Paste you registration name and serial number into the form. This must be exactly the same spelling and capitalization as you received them.

If you purchased SynthEdit via the Microsoft store you will not need to enter any serial number. You can enter your name on the form. This is used when you export plugins.

Where does SynthEdit export plugins?

SynthEdit's "export plugin" feature by default saves plugins to the following locations:

64-bit VST3: C:\Program Files\Common Files\VST3
64-bit VST2: C:\Program Files\VSTPlugins

32-bit VST2: C:\Program Files (x86)\VSTPlugins

Audio Unit: Documents\SynthEdit Projects\Mac Export

You can customize the VST2 plugin location from the Preferences menu.

Presets

The VST3 plugin format has a new approach to presets. Presets are now stored individually on disk. i.e. They are not stored privately inside each plugin.  This new approach does not mesh well with how SynthEdit has managed presets in the past. For example, the "Ignore Program Change" feature does not work at all in 64-bit plugins.

When distributing your VST3 plugin, you also need to distribute the presets. These can be found in your 'VST3 Presets' folder in 'Documents' e.g. C:\Users\jef\Documents\VST3 Presets\Jeff McClintock\Poly Synth2\Strings.vstpreset

Also, with VST3 it's normally the "host" (DAW) that has the responsibility of choosing and loading presets. A plugin itself is not required to show any list of presets, nor required to provide any kind of preset browser. It is for compatibility with VST3 DAWs that SynthEdit exports your plugins presets as individual files (*.vstpreset). You usually ship these with your plugin to the end-user.

Despite VST3 plugins not needing to manage presets themselves, we have had many requests for a preset-browser that works in VST plugins.  To help with these issues, SynthEdit 1.4 has a new module, "Preset Browser", that can browse VST presets on disk. This module also allows you to categorize presets into groups of similar presets. It can also load and save presets in several formats.

Using the Patch Browser

The simplest way to use the patch browser is to connect a Popup Menu module, this will not only list the available presets, but also group them into categories (if you are using that feature).

Patch BrowserAlternately you can create a patch browser using List Box modules. The Menu-to-Listboxes module can be used to separate the categories and presets into two lists.

Patch Browser B

Setting categories

Each preset can be tagged with a category. To set the categories on presets, hook up a Text Entry sub-control to the Preset Browser as below. In the Text-Entry3, type in a category.

Patch Browser C

Loading and Saving presets

To give the end-user control over the loading and saving of presets from disk, hook up a Popup Menu module like so...

Patch Browser D

Sharing presets between different plugin formats

To convert presets between the various different preset formats like *.vstpreset and *.aupreset, SynthEdit offers two generic formats, the 'XML Preset" (*.xmlpreset) and the "XML Bank" (*.xmlbank) which can be used to move presets between SynthEdit, Audio Unit plugins, and VST plugins. This format is also a plain-text format, so it provides the opportunity for power-users to tweak the presets manually if you wish.

Note: When exporting banks, SynthEdit will avoid exporting blank presets by exporting only up to the last named preset. Presets with blank names after that will not be exported. To blank out preset's names in bulk, use the "Copy Preset" feature to copy a blank preset.

Note: When importing banks to VST3 plugins, the presets will be written to disk as individual files (one per preset). The has the side-effect that when the plugin scans the presets, the presets will end up displayed in alphabetical order (not the order they were saved in). Despite this, you can use preset categories to group related presets.

Presets in VST2 Plugins

  The VST2 plugin standard requires plugins to hold presets internally and provide the list of presets to the DAW.  To aid this, when saving 64-bit VST2 plugins SynthEdit stores all presets from your project as "Factory Presets" inside the plugin.
   In VST2 plugins the  "Patch Browser" module behaves differently: It presents a list of the internal (factory) presets, but in addition adds any external preset files (in the *.vstpreset format). This allows the user to choose from both factory-presets and user-saved presets. If the same preset name exists in the factory list and on disk, only the disk-based preset is shown. This prevents double-ups from appearing on the list.

Upgrading older projects

Newer versions of SynthEdit will generally open projects made with an older version. However, if you encounter problems loading files from Versions earlier than 1.1 please try loading and saving it into SynthEdit Version 1.1 first. SynthEdit 1.1 is better at upgrading very old project files. Once the project is upgraded to 1.1, it should upgrade further OK.

Registration System for your Plugins

The "Registration Check" module allows you to provide a basic system to register users of your plugins. The idea is you issue each user with a serial number. The serial is linked to the user's name (or email).

Use two "User Setting - Text" modules, one to save the user's name, and a second to store their serial. This data will be stored on disk and recalled any time the user loads the plugin. Each User-Setting-Text module needs a "key" which identifies what the setting is called. On the first User-Setting module, set "Key" to "Registration Name" or similar, and set the second module's Key to "Serial" or similar. (Ref to the diagram below).

Registration Setting will be saved to the following folder:

C:\Users\UserName\AppData\Local\ProductName\Preferences.xml (Windows)

~Library/Preferences/ProductName/Preferences.xml (MacOS)

In the below example a LED is used to indicate a valid serial number. In practice, you might choose to use this signal to restrict the features of your instrument, or to add periodic noise bursts etc.

To generate serials, use the " Registration Serial Generator" module (don't share this module with your end-users). Ensure you enter the same "random seed" into the Registration Serial Generator that you used in the Registration Checker. The seed should be different for each of your plugins (else the same serials will activate all of them). Currently, it's necessary to generate each serial manually.

Ensure you enter a unique product-name into the User-Setting-Text module otherwise the system will mix up serials from different products. The "Default" setting is not important, it can be left blank.
Registration Modules

New Graphics Code

Older versions of SynthEdit were tied tightly to the Windows Platform. With the introduction of Mac support, SynthEdit needed a new graphics layer that worked on both Windows and Mac OSX. SynthEdit 1.2 introduced this new API called "GMPI-GUI". The new API is "virtualized", that is module developers need to write graphics code only once, and this code is portable to any operating system.

This new API takes advantage of improvements in graphics technology by building on top of Microsoft DirectX. Graphics are now smooth (anti-aliased), fast (hardware accelerated) and resolution-independent (looks good on "retina" and "ultra-HD" displays). To ease the learning curve, and to reduce the overheads of virtualization GMPI-GUI's API is very similar to Microsoft Direct-2D. On Mac OSX, GMPI-GUI translates Direct-2D commands into the Mac graphics API (Core Graphics).

Currently, GMPI-GUI is enabled only in 64-bit plugins. Working in SynthEdit you will still see the old graphics rendering. This provides excellent compatibility with your existing projects but can be confusing when your 64-bit plugin ends up drawing slightly different than it did in SynthEdit.

SynthEdit 1.4 consolidates all drawing onto GMPI-GUI which will improve the performance of scrolling and animation in SynthEdit. It will also enable new features like zooming in and out on your project.

SE Version 1.3 Does not understand "ultra-HD" monitors (aka "retina" displays). These are displays with more pixels than standard HD (high density). Also known as High DPI monitors. The result is the GUI within SynthEdit 1.3 will look half the size that it does in a DAW like Cubase.
  SynthEdit 1.4 rectifies this issue. The Graphics in SynthEdit 1.4 will look exactly the same when exported as a VST plugin.

More about Direct-2D

https://msdn.microsoft.com/en-us/library/windows/desktop/dd370987.aspx

https://www.youtube.com/watch?v=HGokM9AikzM

Unable to write VST plugin folder

By default, Windows does not allow saving files to your VST Plugins folder. This prevents SynthEdit exporting VST plugins. You can fix this by changing the folder's Permissions:
- Use Windows Explorer to browse to your VST Plugins folders. These are usually:

  • C:\Program Files\Common Files\VST3
  • C:\Program Files\VSTPlugins

- If the folder does not exist, create it.
- Right-click the folder - 'Properties'
- Choose 'Security' tab.
- Click 'EDIT' (You may need to click a UAC security prompt).
- Select username "Users".
- Tick options Allow 'Write' and 'Modify'.
- To finish Select 'OK' to close the two dialog boxes.

"Poly to Mono" module

This module converts a polyphonic signal to mono by splitting off only the most recent note played. The output will be similar to a monophonic instrument. This is useful when trying to modulate a monophonic object (e.g. an LFO) from a polyphonic signal (e.g. note-pitch), which is usually not possible in a meaningful way.

"Voice Combiner" module

This module mixes-down a polyphonic signal into a monophonic signal that includes all voices that are playing.

Registering SynthEdit bought in the Windows Store

If you bought SynthEdit in the Windows App Store, you won't need the usual 'unlock' serial number, but you will need to enter your name and email in the Registration screen (menu 'Edit/Preferences/Registration". This information is used to identify any plugin you make.

Plugins Reset In Certain Conditions

Plugins made with SynthEdit sometimes need to reset. This causes a short pause in the audio, it kills any sounding notes, and resets MIDI controllers to zero. The reasons a plugin might need to reset are:

  • Changes to the plugins oversampling settings
  • Changes to the plugins latency settings
  • Adding or removing patch-cables
  • The polyphony has increased
  • A preset change has indirectly caused one of the above to change
  • Changes to the DAW sample-rate

These are events that cause modules to be added or removed from the signal chain, which in turn forces SynthEdit to recalculate the entire signal chain and is not something that can be done in real-time.

Future Development

Future versions of SynthEdit (e.g. Version 1.5) will drop support for 32-bit Operating Systems. This is in line with industry trends.

There are currently no plans for VST support on MacOs (only Audio Unit plugins). This is due to SynthEdit being a small company, we don't have the resources to support every plugin format on every operating system.

Fixing Text Alignment issues

Older builds of SynthEdit suffered from inconsistent text drawing on Mac. Mac plugins would draw fonts slightly higher or lower on the screen than the same Windows plugin. This problem is now fixed. However, the fix needs to move your fonts slightly, so the fix is opt-in (i.e. SynthEdit will not adjust your fonts unless you ask for it).

To get the fix in your instrument’s skins, modify your ‘global.txt’ file (it’s in your skin folder. Right-click the Panel view, choose 'Skin/View Skin Files...'). Add the line “legacy-vertical-offset 0” to each category in your skin folder as below. Remove any lines beginning with 'vst3-vertical-offset' - this is an older fix that was not very useable. This will enable the fixes and disable the old behaviour. (see the skin called “default2” for an example of this). You will need to restart SynthEdit to see the changes. You will then need to check the alignment of all you controls and fix any that have moved.

global txt font fix

In my example, I also changed all fonts to be ones that are available on both Mac and PC, like Arial, Courier New, and Times New Roman. However, if SynthEdit can’t find the font you specify, the fix will now substitute fonts of exactly the same height, so at least the text will still sit with the correct vertical alignment and not be too high or low like before.

The only remaining difference with font rendering is that the Mac renders fonts a little heavier in weight, but that behavior affects all apps on Mac, not only SynthEdit.
Mac vs PC Font weight