Commit Graph

1743 Commits

Author SHA1 Message Date
Robbert van der Helm a12e0dcc27 Enable SSE2 instructions
We need this to enable FTZ in 3aac8e3483.
SSSE2 is a default on x86_64, but we need to explicitly enable it when
compiling the 32-bit bitbridge.
2021-04-27 23:50:28 +02:00
Robbert van der Helm 2be41da9b6 Add compatibility option to force flushing to zero
This prevents Kush Audio REDDI from taking down the DAW when the host
passes it denormalized audio to process. I've discovered that the issue
with this plugin had to do with denormals in the issue linked below, but
I didn't realize that we can just enable the FTZ flag for plugins that
don't already do so.

https://github.com/osxmidi/LinVst/issues/174
2021-04-27 23:33:50 +02:00
Robbert van der Helm 3aac8e3483 Add a RAII wrapper for enabling flush-to-zero 2021-04-27 23:00:41 +02:00
Robbert van der Helm 73d9f5f9b8 Remove unnecessary include 2021-04-27 20:46:08 +02:00
Robbert van der Helm ab56115c87 Add Bitwig+Chromaphone 3 as a hide_daw candidate
Under Bitwig, the plugin will crash when trying to enter text unless you
hide the DAW the plugin is being hosted under.
2021-04-27 18:57:09 +02:00
Robbert van der Helm ee50044062 Also allow hiding the host for VST3 plugins 2021-04-27 18:50:47 +02:00
Robbert van der Helm 3a73fb9689 Allow hiding the DAW name for VST2 plugins
This can be useful when plugins have (broken) host-specific behaviour
that you want to avoid. I'll later add a list of host/plugin
combinations where this may be useful to the readme.
2021-04-27 18:41:36 +02:00
Robbert van der Helm 38abdbee50 Rearrange the configuration options 2021-04-27 17:54:46 +02:00
Robbert van der Helm b52362e698 Fix time info cache being applied to other opcodes
I don't know how I've never noticed this, but we should of course only
be handling `audioMasterGetTime()` this way. This also explains why
enabling this permanently in the past broke some plugins.
2021-04-27 17:32:32 +02:00
Robbert van der Helm 5a68b8b39d Flush the reparent from 0c7dbe8
This should add a root reparent to prevent that X11 error, but it should
still prevent flickering by doing it just before closing the window.
2021-04-27 03:43:45 +02:00
Robbert van der Helm 0d1d368e4f Fix spelling in the changelog 2021-04-26 23:41:26 +02:00
Robbert van der Helm dfc9ad5d64 Add changelog entry for the version detection fix
For the WINELOADER version detection fix from #95.
2021-04-26 19:29:15 +02:00
Robbert van der Helm 93df3fa1da Fix mismatching types in 2aadf52 #95
`wine_path` was a string, and `boost::process::search_path()` returns an
`boost::filesystem::path`. We should just be using paths here anyways.
2021-04-26 19:25:28 +02:00
Kira Bruneau 2aadf5256b Fix printing wine version with custom WINELOADER
- Don't call bp::search_path when using WINELOADER. It will return an
  empty string for an absolute path.

- To match the behaviour of the exe wrapper scripts, only print the
  wine version from WINELOADER if the path is executable.
2021-04-26 19:20:10 +02:00
Robbert van der Helm 0c7dbe8a4a Reparent to the root window before deferring close
We did this before implementing the deferred close in yabridge 3.0.0. It
didn't seem necessary anymore so we got rid of it, but without this
closing an iZotope Rx plugin's editor in Renoise was guaranteed to
trigger an X11 error and crash Renoise. Doing this reparent doesn't seem
to cause any slowdown but it does at least fix the specific combination
of iZotope Rx and Renoise.
2021-04-26 18:47:58 +02:00
Robbert van der Helm 0d53f03b28 Get rid of an incorrect comment
This probably ended up here during a refactor.
2021-04-26 18:32:50 +02:00
Robbert van der Helm f6cf1a7dd2 Use explicit narrowing for SetWindowLongPtr() 2021-04-26 18:32:50 +02:00
Robbert van der Helm 661ea5f573 Update the tested REAPER version 2021-04-26 15:27:45 +02:00
Robbert van der Helm 10b4c0929d Mention corefonts in the runtime dependencies 2021-04-26 15:07:40 +02:00
Robbert van der Helm 75892794f8 Add a suggestion for disabling Serum's tooltips
These won't disappear once they're shown. I though that I'd already
listed this somewhere, but apparently not.
2021-04-26 13:48:08 +02:00
Robbert van der Helm a42ee0400f Print warning explicit COM init was necessary
So far only PSPaudioware InfiniStrip needed this. but it may be a good
idea to make this visible since it's probably an issue with the
plugin (even if most Windows hosts will have COM initialized).
2021-04-26 00:42:17 +02:00
Robbert van der Helm 68c846324c Also explicitly list simple dispatcher opcodes 2021-04-25 23:07:24 +02:00
Robbert van der Helm 3e71fc19b8 Explicitly handle VST2 callbacks with nullptrs
This is probably not needed, but we'll do it just in case another plugin
does something similar.
2021-04-25 22:44:15 +02:00
Robbert van der Helm 86bd19cd80 Fix loading plugins expecting COM to be available
The `LoadLibrary()` call for PSPaudioware InfiniStrip would fail because
the plugin would always expect COM to be initialized. Now if loading a
VST2 or VST3 module fails, we'll initialize COM and try again before
throwing an error. This may fix #94.
2021-04-25 21:54:34 +02:00
Robbert van der Helm d55f07e962 Fix a small typo 2021-04-25 21:46:55 +02:00
Robbert van der Helm 671c6a4c18 Specifically not read data for audioMasterWantMidi
Plugsound Free by UVI will pass random garbage to the data parameter for
this function call for whatever reason, and we'll run into a memory
error if we try to read it. Mentioned in #93.
2021-04-24 20:28:58 +02:00
Robbert van der Helm 0d1cb0bd77 Move special effVendorSpecific handling for REAPER
It's a bit less hacky if we do the effVendorSpecific check where we're
supposed to be checking for those things.
2021-04-24 20:23:23 +02:00
Robbert van der Helm dae0fcab9f Add the audio server/driver to the issue template
To make it easier to see if PipeWire's the thing causing issues.
2021-04-24 19:51:59 +02:00
Robbert van der Helm afefb725b5 Postpone clearing old MIDI events until next event
This fixes Native Instrument's FM7 crashing on MIDI input. The plugin
expects the last received MIDI event to always be alive during audio
processing, even if there have not been any new events in this
processing cycle.
2021-04-23 01:08:21 +02:00
Robbert van der Helm 3f427cfa5a Move known issues section up in the readme
Very few people will read the entire readme, so it would make sense to
place the more important sections earlier in the readme.
2021-04-22 14:56:13 +02:00
Robbert van der Helm e8c1eb74b3 Mention Sforzando's drawing issues in known issues 2021-04-21 01:32:24 +02:00
Robbert van der Helm 2b1c2c77f8 Reword the Spitfire known issues entry 2021-04-21 01:27:03 +02:00
Robbert van der Helm b35801ffbe Change the emphasis for important readme sections
This looks a bit less in your face than a giant yellow star.
2021-04-20 11:33:42 +02:00
Robbert van der Helm b82d2c0464 Mark the most important sections of the readme
This thing has become quite lengthy so if you're only going to read part
of it, then read this!
2021-04-20 11:30:13 +02:00
Robbert van der Helm f97bacc626 Mention that PipeWire (or rtkit) may cause crashes 2021-04-19 17:14:54 +02:00
Robbert van der Helm b04c0b2c65 Update links to the VST3 documentation
Those were broken after Steinberg restructured the docs with the VST
3.7.2 SDK release.
2021-04-18 14:24:03 +02:00
Robbert van der Helm dd552dc8d7 Print the Wine version at Meson configure time 2021-04-18 14:06:33 +02:00
Robbert van der Helm 80f649323a Add missing const qualification
I just noticed this while looking at the diff of this commit.
2021-04-16 14:12:48 +02:00
Robbert van der Helm ba6b87c790 Bump to version 3.1.0 3.1.0 2021-04-15 12:38:11 +02:00
Robbert van der Helm 25afd43fe7 Update the readme for yabridge 3.1.0 2021-04-15 12:36:22 +02:00
Robbert van der Helm 2c391c97a5 [yabridgectl] Briefly mention blacklist in readme
A normal workflow doesn't require using the blacklist, so it's best to
not put too much emphasis on it.
2021-04-15 12:18:45 +02:00
Robbert van der Helm aa00779752 Fix wording in changelog 2021-04-15 12:14:54 +02:00
Robbert van der Helm 4eb0490fde Update the tested REAPER version 2021-04-14 21:50:29 +02:00
Robbert van der Helm e0094979bf Also run {get,set}State() for VST3 on GUI thread
This fixes the same issue with the VST3 version of Algonaut Atlas as the
last commit did for the VST2 version.
2021-04-14 21:38:15 +02:00
Robbert van der Helm d97e699db1 Run effSetChunk and effGetChunk from main thread 2021-04-14 21:38:15 +02:00
Robbert van der Helm 6ba2fbe98d [yabridgectl] Mention blacklist in the changelog 2021-04-14 19:30:49 +02:00
Robbert van der Helm 6765abb6e5 [yabridgectl] Add a way to clear entire blacklist 2021-04-14 19:25:07 +02:00
Robbert van der Helm 7ff4bb1585 [yabridgectl] Add commands for managing blacklist
Relevant for #88.
2021-04-14 19:23:04 +02:00
Robbert van der Helm 4c1f7574c9 [yabridgectl] Mark yabridgectl set as advanced
You shouldn't need this in normal usage.
2021-04-14 18:40:22 +02:00
Robbert van der Helm ef23522cd6 [yabridgectl] Change the display order
I forgot they're sorted lexicographically by default, instead of being
in declaration order.
2021-04-14 18:39:24 +02:00