File yabridge.changes of Package yabridge-git

-------------------------------------------------------------------
Tue Feb 24 04:33:47 UTC 2026 - Geekos Italia geekosdaw@gmail.com

- Update to version 5.1.1:
  * Fix cursor offset after moving the plugin window
  * Fix some whitespace
  * Fix some whitespace
  * Work around wrong offset in plugin windows
  * Fix pkgconfig deprecation warning in cross file
  * Allow triggering CI builds by hand
  * Ignore relative ConfigureNotify events after absolute ones
  * Handle absolute ConfigureNotify events for parent window
  * Resize the Wine window as well as the wrapper window
  * VST3: Create the window with the plugin-returned initial size
  * VST3: Add HiDPI scaling hack
  * Use WM_WINDOW_ROLE instead of WM_STATE to detect the host window
  * Remove function to get X11 screen size
  * Resize the Wine window using SetWindowPos
  * Remove the editor_coordinate_hack option
  * Remove the editor_xembed option
  * Drop the SWP_NOCOPYBITS on resize hack
  * Reformat with clang-format
  * Don't include xcb_icccm.h
  * Add a changelog entry for the GUI fixes
  * Remove now unnecessary fix_local_coordinates workaround.
  * Fix window wrapping by implementing a minimal ICCCM window manager.
  * Update asio wrap to 1.34.2
  * Remove system-asio build option
  * Revert removal of build.cpp_std default
  * Drop the 32-bit libyabridge support for EnergyXT
  * Update README.md
  * Change Wine downgrade example to use Wine 9.21
  * Switch to the V4 GitHub actions
  * Update tested versions
  * Update tested Wine version
  * Update changelog for path-auto changes
  * Mention the GUI issues with Wine 9.22
  * Fix typo
  * Try to load posix spawn addclosefrom_np at runtime
  * Bump to version 5.1.1
  * Use default-features instead of default_features
  * Drop the 32-bit builds
  * Build yabridgectl on Ubuntu 20.04
  * Fix DPI scaling in Wine 9.17+
  * Update the tested versions
  * Update tested Wine version
  * Remove note about VST3 resizing issues in Renoise
  * Also mention Wine 9.6 not working
  * Fix segfault destroying libdbus connection
  * Update tested versions
  * Mention Wine 9.5 being borked
  * Fix missing action on path-auto
  * Update the copyright headers
  * Remove mentions of Ubuntu 18.04
  * Bump to version 5.1.0
  * Reword the changelog
  * Update tested versions
  * Update README.md with information on Native Access 2+
  * Mention Ardour in the changelog
  * Fix yabridge_version() in chainloaders
  * Implement yabridge_version for all plugin bridges
  * Add the chainloader side of yabridge_version
  * Update tested Ardour version
  * Fix yabridgectl sync flags in new CLI parser
  * Update tested versions
  * Update yabridgectl for clap 4.x
  * Add missing changelog entry
  * Fix regression in socket path generation
  * Update tested versions
  * Update the RLIMIT_RTTIME related instructions
  * Run effVendorSpecific on the main thread

-------------------------------------------------------------------
Sun Nov 12 21:27:17 UTC 2023 - kv@kott.no-ip.biz

- Update to version 5.0.5.git20.2d40054:
  * Mention that Vulkan drivers are required for DXVK
  * Update the CLAP dependency to version 1.1.9
  * Fix formatting
  * Update ghc::filesystem to version 1.5.14
  * Clarify revision version bumps
  * Update bitsery to 5.2.3
  * Update function2 to 4.2.3
  * Update Asio to 1.28.2
  * Update toml++ version to 3.4.0
  * Make yabridge.toml parsing failures non-fatal
  * Move toml++ initialization to its own header
  * Update tested versions
  * [yabridgectl] Update textwrap
  * [yabridge] Warn on non-executable yabridge files
  * [yabridgectl] Verify existence of .exe.so files
  * Update search path check warning
  * Update tested versions
  * Added alternative solution for Xorg's "max clients" issue.
  * Update location of yabridge copr

-------------------------------------------------------------------
Thu May 25 22:54:15 UTC 2023 - kv@kott.no-ip.biz

- Update to version 5.0.5.git1.a6cca8bc:
  * Always include <cstdint> to fix bitsery+GCC 13
  * Bump to version 5.0.5
  * Update tested versions
  * Revert SWP_NOCOPYBITS removal from 9fd6603ce3f
  * Reword changelog
  * Also cache CLAP parameter infos
  * Simplify VST3 parameter caching
  * Batch VST3 parameter info querying #236
  * Spool fix_local_coordinates() call until release
  * Clarify X11 error message printing
  * Remove old todo
  * Allow more main thread mutual recursion in CLAP
  * Fix race condition in CLAP request callback impl
  * Catch negative indices in IParamValueQueue impl
  * Update tested versions
  * Update tested versions
  * Fix missing line break in initialization message

-------------------------------------------------------------------
Sun Mar 26 09:09:24 UTC 2023 - kv@kott.no-ip.biz

- Update to version 5.0.4.git2.0501aefd:
  * Allow missing Compatibility sections in moduleinfo

-------------------------------------------------------------------
Mon Feb 27 09:45:15 UTC 2023 - kv@kott.no-ip.biz

- Update to version 5.0.4.git1.a35cd8da:
  * Preemptively unset WAYLAND_DISPLAY
  * Bump version to 5.0.4
  * Reword changelog
  * Build yabridgectl on the bionic Docker image
  * Fix missing detached flag in Process::Handle moves
  * Prevent building tomlplusplus libs in subproject
  * Remove old empty file
  * Update VST 3.7.7 SDK patch for debug builds
  * Use the full hash in the tomlplusplus wrap
  * Update tomlplusplus to version 3.3.0
  * Avoid linking against tomlplusplus shared libs
  * Update the PREEMPT config bit for PREEMPT_DYNAMIC
  * Update tested versions
  * Update to CLAP 1.1.7
  * Fix Meson version comparison for Wine 8.0 final
  * Update tested versions.
  * Update tested versions
  * Fix typo in changelog

-------------------------------------------------------------------
Wed Jan 11 23:03:33 UTC 2023 - kv@kott.no-ip.biz

- Update to version 5.0.3.git2.1e66654c:
  * Update copyright headers for 2023

-------------------------------------------------------------------
Sat Dec 24 21:15:24 UTC 2022 - kv@kott.no-ip.biz

- Update to version 5.0.3.git1.6fdfae37:
  * Fix changelog sections
  * Bump to version 5.0.3
  * Remove mentions of broken Wine 7.21, 7.22, 8.0-rc1
  * Add unity build options back in build instructions
  * Allow dashes in Wine release candidate versions
  * Silence spurious std::to_array() warning
  * Update VST3 SDK 3.7.7 patch for unity builds
  * Revert "Also disable unity builds for Ubuntu 18.04"
  * Revert "Disable unity builds in GitHub Actions builds"
  * Revert static initialization change from fea6eded4
  * Prevent building against Wine 7.22...8.0-rc1
  * Fix spurious tab in VST3 SDK 3.7.7 patch
  * Update the VST3 dependency to version 3.7.7
  * Change VST3 SDK patching to apply handwritten diff
  * Update CLAP dependency to version 1.1.4
  * Document Wine 8.0-rc1 being super broken
  * Add missing checkmark for REAPER CLAP support

-------------------------------------------------------------------
Tue Dec 06 22:48:55 UTC 2022 - kv@kott.no-ip.biz

- Update to version 5.0.2.git2.bb643a13:
  * Update tested versions
  * Move DXVK from troubleshooting to known issues
  * Revert "Drop the -ubuntu-18.04.tar.xz builds"
  * Also disable unity builds for Ubuntu 18.04
  * Tag version 5.0.2
  * Release version 5.0.2
  * Change wording in changelog
  * Drop the -ubuntu-18.04.tar.xz builds
  * Update Wine version notices in readme
  * Abort build when using unity builds with 7.21/7.22
  * Add some more clarification to redraw change
  * Disable unity builds in GitHub Actions builds
  * Fix typo in changelog
  * Replace unmaintained Rust action
  * Update actions to fix deprecations
  * Also link to downgrading section in usage

-------------------------------------------------------------------
Sun Nov 20 23:36:23 UTC 2022 - kv@kott.no-ip.biz

- Update to version 5.0.1.git9.9fd6603c:
  * Get rid of SWP_NOCOPYBITS
  * Target 7.20 in Ubuntu Wine downgrade example
  * Mention DXVK as a fix for recent JUCE plugins
  * Mention downgrading to 7.20 in troubleshooting
  * Mention Wine 7.21 still being broken
  * Define yabridge Window class name in header
  * Remove redundant semicolon
  * Add missing sstream include in notifcations.cpp
  * Use explicit nullptr instead of aggregate init
  * Bump to version 5.0.1
  * Work around static initialization bug in WIne 7.21
  * Link the bug report for the Wine 7.21 bug
  * Mention that Wine 7.21 is completely borked
  * [yabridgectl] Track created moduleinfo.json files
  * Mention the new CLAP libraries in the changelog
  * Update tested Wine version
  * Release version 5.0.0
  * Remove some assertions from D-Bus notifications
  * Undefine LIBDBUS_FUNCTIONS at the end of .cpp file
  * Reword changelog
  * Update the readme
  * Update changelog
  * Update architecture document
  * Update tested Ardour version
  * Make CLAP activate and load mutually recursive
  * Allow mutual recursion on all CLAP callbacks
  * Bring back CLAP plugin-side mutual recursion
  * Update tested DAW list
  * Remove old todos
  * [yabridgectl] Check for the versioned libdbus
  * Swap dbus library name and fallback name
  * Also specifically try loading libdbus-1.so.3
  * Remove todo about using replaces_id
  * [yabridgectl] Check for libdbus-1.so
  * Drop notify-send and use libdbus-1 directly
  * Move XMML and URL escape functions to common/utils
  * Fix dlsym check
  * Add missing include
  * Fix GitHub Actions build with recent git versions
  * Connect to the session message bus using libdbus-1
  * Add a start for a CLAP entry in the changelog
  * Remove already implemented item from roadmap
  * Add CLAP thread pool support to roadmap
  * Implement the CLAP timer-support extension
  * Make the CLAP logger's log_request_base public
  * Rename asio-fix.h to use-linux-asio.h
  * Update tested Wine version
  * Update tested versions
  * [yabridgectl] Upgrade goblin dependency
  * Bump tracked CLAP version
  * Fully implement CLAP note name extension
  * Implement host side of the note-name extension
  * Add logging for the note name extension
  * Add structs for the CLAP note name extension
  * Clarify list of supported CLAP extensions
  * Mention that posix-fd-support is not necessary
  * Implement CLAP audio-ports-config extension
  * Log the IDs for audio-ports{,-config} responses
  * Add logging for audio-ports-config
  * Add structs and utils for audio-ports-config
  * Fix function name mismatching definition in header
  * Update to upstream CLAP 1.1.2
  * Fix typo in readme
  * Fix capitalization in LoopCloud config example
  * Allow set_size() before set_parent()
  * Mention that audio processing is fully implemented
  * Implement the CLAP render extension
  * Add logging for the render extension
  * Add serialization structs for the render extension
  * Implement the voice-info CLAP extension
  * Add logging for the voice info extension
  * Add serialization structs for the voice info extension
  * Remove unnecessary bitsery object lambdas
  * Fix docstrings for CLAP message response structs
  * Fix typo
  * Print a message when ignoring resize requests
  * Rename get_win32_handle() to win32_handle()
  * Rename maybe_resize_editor() to resize_editor()
  * Work around resizing bug in Surge XT/CJE
  * Reword the CLAP note in the usage section
  * Mention that CLAP support is not yet in 4.0.2
  * Fix CLAP window API logging
  * Fix CLAP logging overload order
  * Implement the CLAP log extension
  * Expose CLAP logger verbosity
  * Add logging for the...logging extension
  * Add a comment about excess thread creation
  * Add a serialization message for logging
  * Enable mutual recursion for all CLAP callbacks
  * Allow mutual recursion for all CLAP main thread callbacks
  * Implement the thread check extension
  * Enable mutually recursive GUI callbacks in CLAP
  * Rename CLAP mutual recursive send function
  * Remove commented out process setup field
  * Remove audio thread mutual recursion for CLAP
  * Update tested software versions
  * Update tested Wine version
  * Add a TODO about mutual recursion
  * Don't use the thread local buffer for callbacks
  * Don't log callbacks on the Wine side
  * Fully implement CLAP audio processing
  * Implement the Wine side of clap_plugin::process()
  * Add logging for the process function messages
  * Finally add the clap_plugin::process() messages
  * Add serialization wrapper for process data
  * Change wording
  * Default initialize more things in YaProcessData
  * Make YaProcessData safe against moves
  * Add serialization for CLAP audio buffers
  * Define direct serialization for most CLAP events
  * Add a CLAP TODO for offline rendering
  * Add missing header comment to clap/events.h
  * Change grep -P to grep -E
  * Mark events as being fully implemented
  * Remove unused lambda capture
  * Fully implement the params flush function
  * Add even list fields to the flush message
  * Implement the clap_{input,output}_events_t vtables
  * Fix private member naming convention in streams
  * Add a CLAP EventList serialization wrapper
  * Add a way to retrieve clap_event_header_t*s
  * Store the entire clap_event_*_t structs
  * Add a bitsery extension for serializing void*
  * Disallow CLAP support with 32-bit yabridge
  * Add a function to parse a CLAP event
  * Add serialization structs for CLAP events
  * Add editor_disable_host_scaling support for CLAP
  * Rename vst3_no_scaling to editor_disable_host_scaling
  * Properly resize the CLAP editor window
  * Fully implement the CLAP GUI extension
  * Fix x11_window field type in set_parent struct
  * Add missing default cases
  * Implement the plugin side of the GUI functions
  * Remove debug prints when opening VST2 editors
  * Fully implement the host side GUI extension
  * Implement the host side of the GUI functions
  * Remove unnecessary void value return
  * Add logging for the CLAP GUI extension
  * Add serialization structs for the GUI extension
  * Mention that event registry is not needed
  * Fully implement the state extension
  * Add logging for the CLAP stream extension
  * Add a size function to the stream wrapper
  * Add serialization structs for the state extension
  * Add a serialization wrapper for streams
  * Mark CLAP vtable methods as protected
  * Remove unnecessary includes
  * Remove old comment
  * Fix typo
  * Implement the CLAP latency extension
  * Document CLAP and VST3 logger method sections
  * Reorder params::flush in logger
  * Fully implement the CLAP tail extension
  * Move supported extensions lists out of logger
  * Fix thread local audio thread buffers
  * Increase default serialization buffer size
  * Move the flush request to the audio thread
  * Add audio thread callbacks
  * Add CLAP audio thread callback sockets
  * Add logging for the CLAP tail extension
  * Rename CLAP audio thread sockets
  * Add a very minimal architecture entry for CLAP
  * Add serialization structs for CLAP tail extension
  * Add a TODO for optimizing VST2 bridging
  * Fully implement the CLAP params extension
  * Add a regular strlcpy implementation
  * Rename the host extensions_ field
  * Add missing host side note-ports extension query
  * Add logging for the params extension
  * Remove excess line breaks in yabridgectl status
  * [yabridgectl] Support $CLAP_PATH
  * Add serialization structs for parameters
  * Allocate shared memory audio buffers for CLAP
  * Change audio SHM buffer offsets to be in bytes
  * Skip main thread requirement in array lookups
  * Always honor CLAP main thread requirement
  * Implement CLAP note ports extension
  * Add logging for CLAP note ports extension structs
  * Add serialization structs for note ports extension
  * Add logging for CLAP extension queries
  * Remove unnecessary conditional from VST3 query log
  * Mark audio ports extension as done
  * Fix prefixes in VST3/CLAP log requests
  * Properly format is_input boolean in logs
  * Fully implement the audio ports extension
  * Add a way to reconstruct audio port info
  * Add a strlcpy-like function for buffers
  * Use an enum for the audio port type
  * Deduplicate CLAP extension support queries
  * Store plugin and host extension struct pointers
  * Add logging for audio ports messages
  * Add serialization structs for audio ports
  * Rename PrimitiveWrapper to PrimitiveResponse
  * Move CLAP version serialization to version.h
  * Add stubs for host side audio ports extension
  * Add stubs for plugin side audio ports extension
  * Update CLAP API support document
  * Remove CLAP from the roadmap
  * Detect and log support for audio-ports
  * Silence spurious GCC warning in std::variant
  * Work around another spurious GCC warning
  * Log instance ID in CLAP callback request logging
  * Update the readme for CLAP support
  * Add a TODO for a CLAP HiDPI override setting
  * Support the hide_daw option for CLAP.
  * Add logging for CLAP callback requests
  * Implement CLAP callback requests
  * Add restart and process request callbacks
  * Add a way to run functions on host main thread
  * Mark the include directories as is_system
  * Add an MPMC queue
  * Rename ClapHost::send_message()
  * Add message types for restart and process requests
  * Implement start_processing, stop_processing, reset
  * Add CLAP plugin activation and deactivation
  * Add logging for plugin (de)activation
  * Add clap_plugin msgs for everything except process
  * Add PrimitiveWrapper logging for CLAP
  * Add dedicated PrimitiveWrapper logging for bools
  * Move PrimitiveWrapper to serialization common
  * Implement CLAP plugin initialization
  * Add constructors for reading extension support
  * Add message structs for initializing plugins
  * Rename vst to plugin in log message prefix
  * Add CLAP plugin destroying
  * Fix use after move causing null pointer deref
  * Store host pointer in the plugin proxy
  * Allow creating plugins instances
  * Add functions for registering CLAP plugin proxies
  * Add stubs for a CLAP plugin proxy
  * Start CLAP audio thread socket
  * Fix clap_plugin_factory logging meesage
  * Ensure CLAP_ABI is set
  * Implement Wine side for creating plugin instances
  * Add messages for creating plugin instances
  * Add stubs for a CLAP host proxy implementation
  * Add a serialization struct for clap_host data
  * Work around spurious GCC warning w/ string concat
  * Capitalize CLAP plugin descriptor class name
  * Move CLAP version clamping to a function
  * Fix bridged CLAP plugin names
  * Add explicit move when creating factory
  * Load the CLAP plugin factory
  * Add a basic CLAP plugin factory implementation
  * Implement the Wine side of listing plugins
  * Globally ignore attribute warnings on Wine side
  * Add a TODO for speeding up VST3 compilation
  * Fix alignment in version out of sync warning
  * Silence new ignored attributes warning
  * Bail when initializing CLAP entry point fails
  * Switch to a CLAP fork to fix Winelib usage
  * Bail when loading incompatible CLAP plugins
  * Initialize the CLAP entry point
  * Free converted file paths in Xdnd proxy
  * Mark the CLAP includes as system includes
  * Allow serializing CLAP plugin factory list message
  * Add serialization for enumerating CLAP factories
  * Add serialization for CLAP plugin descriptors
  * Add a document outlining CLAP support status
  * Send configuration to the CLAP plugin host
  * Enable CLAP support for plugin groups
  * [yabridgectl] Add support for CLAP plugins
  * Add boilerplate for a CLAP bridge
  * Add WantsConfiguration logging for CLAP
  * Fix typos
  * Change CLAP socket names for more clarity
  * Fix bridge function names in CLAP chainloader
  * Fix CLAP library name in generated config.h
  * Add CLAP module detection
  * Interact with CLAP bridge in libyabridge-clap.so
  * Silence warning about unnecessary CLAP_EXPORT
  * Add boilerplate for a CLAP plugin bridge
  * Add boilerplate for CLAP sockets
  * Add minimal CLAP logger
  * Add minimal boilerplate for CLAP serialization
  * Rename factory function in CLAP chainloader
  * Update out of date VST3 socket docs
  * Add a CLAP plugin type
  * Rename VST3 log_init_exception for consistency
  * Mention the CLAP feature in the init message
  * Prefix top level VST3 message types
  * Move get_request_variant template function
  * Move WantsConfiguration to common
  * Change terminology from 'VST' to 'plugin'
  * Move Vst3MessageHandler to common and make generic
  * Add a CLAP chainloader
  * Add CLAP whenever mentioning yabridge libs
  * Only set VST3 chainloader sources when enabled
  * Add minimal boilerplate for a CLAP plugin
  * Add a CLAP dependency wrap
  * Remove unused mutex from VST3 chainloader
  * Update tested Wine version
  * Update tested DAW versions
  * Mention clean Wine prefixes in troubleshooting
  * Mention cpufreq.default_governor
  * Update Fedora COPR URL
  * Update tested Wine version
  * Explicitly mention the wine-tkg default profile
  * Bump VST3 dependency version
  * Update tested Bitwig version
  * Update the Ubuntu Wine downgrading snippet
  * Update the Native Instruments instructions
  * Update tested Bitwig version
  * [yabridgectl] Let rustfmt handle string wrapping
  * Update tested Wine version
  * Update tested versions
  * [yabridgectl] Fix typo in winedump warning

-------------------------------------------------------------------
Mon Jun 27 23:30:16 UTC 2022 - kv@kott.no-ip.biz

- Update to version 4.0.2.git0.f30e6200:
  * Bump to version 4.0.2
  * Reword changelog
  * [yabridgectl] Abort for dangerous ~/.vst/yabridge symlinks
  * [yabridgectl] Add another hint to parsing errors
  * [yabridgectl] Make scanning errors non-fatal
  * Silence spurious maybe uninitialized warning
  * Handle effGetProgramNameIndexed as mutually recursive
  * Make the VST3 bundle detection more specific
  * [yabridgectl] Gracefully catch bundle subdir error
  * Bump to version 4.0.1
  * Reword changelog
  * Inhibit event loop after IPluginBase::terminate()
  * [yabridgectl] Fix subdirectory detect for bundles
  * Explicitly mention ghc_filesystem module name
  * Add a way to force system asio to be used
  * Bump to version 4.0.0
  * Remove todos from changelog
  * [yabridgectl] Update dependencies
  * Update the readme for yabridge 4.0
  * Update note on Bitwig+Flatpak
  * Reword the changelog
  * Remove old TODOs
  * Remove unused include
  * Update notifications for yabridge 4.0
  * Update tested versions
  * Add support for VST2 effBeginLoad{Bank,Program}
  * Increase VST2 buffer and MIDI serialization limits
  * Increase MIDI event count limits for VST2
  * [yabridgectl] Check notify-send install status
  * Revert "[yabridgectl] Don't resolve rvas when parsing"
  * [yabridgectl] Don't resolve rvas when parsing
  * [yabridgectl] Rename utils module to util
  * [yabridgectl] Parse without winedump when possible
  * [yabridgectl] Convert VST 3.7.5 moduleinfo files

-------------------------------------------------------------------
Thu Jun  9 06:37:43 UTC 2022 - Konstantin Voinov <kv@kott.no-ip.biz>

- update cargo deps

-------------------------------------------------------------------
Thu May 19 22:50:09 UTC 2022 - kv@kott.no-ip.biz

- Update to version 3.8.1.git107.cb0c673f:
  * [yabridgectl] Add a rewriter for VST3 moduleinfo
  * [yabridgectl] Update dependencies
  * Add a todo on the VST 3.7.5 moduleinfo format
  * Update VST3 SDK version to 3.7.5
  * Update tested versions
  * Mention window manager control winecfg checkbox
  * Only set up VST3 SHM audio buffers in setActive()
  * Add explicit virtual default destructors
  * Only resize VST3 shared memory buffers when needed
  * Allow resizing shared memory buffers in setActive
  * Store process setup data instead of offline flag
  * Fix markup in the Bitwig 4.3 workaround note
  * Fix building with -Dvst3=false #180
  * Update README.md
  * Add a note on Bitwig Studio 3.3
  * Update wine-tkg instructions in readme
  * Remove very insightful comment
  * Remove the wine-tkg reference for Ubuntu

-------------------------------------------------------------------
Fri Apr 22 02:48:01 UTC 2022 - kv@kott.no-ip.biz

- Update to version 3.8.1.git89.89378e88:
  * Handle dlsym() failures in chainloaders better
  * Mention the yabridge 4.0 VST2 install location
  * Reword the package part of the usage section
  * [yabridgectl] Change copied to synced in status
  * [yabridgectl] Don't skip over broken symlinks
  * [yabridgectl] List sync target dirs in status
  * [yabridgectl] Set up in ~/.vst/yabridge by default
  * [yabridgectl] Move subdirectory detection
  * [yabridgectl] Add option for VST2 install location
  * Actually add the new merged host.cpp file
  * Merge yabridge-group.exe and yabridge-host.exe
  * Define plugin and chainloader deps in own dir
  * Disable LTO on the plugin libraries again
  * Remove the with- prefix from the build options
  * Update roadmap
  * [yabridgectl] Remove symlink installation method
  * Include the chainloader libraries in the artifacts
  * Update error messages for chainloading changes
  * Strip chainloaders in CI builds
  * Mention chainloading in meson introduction
  * Remove chainloading from the roadmap
  * Mention chainloader libraries in packaging notes
  * [yabridgectl] Show VST2 library architecture
  * [yabridgectl] Update to use chainloader libraries
  * Add one last Hail Mary search to the chainloader
  * Print library path in the initialization message
  * Find the correct library file from the chainloader
  * Also add a way to use logging library without Asio
  * Add the plugin library names to config.h.in
  * Move get_augmented_search_path to process library
  * Add (for now, hardcoded) chainloader libraries
  * Export chainloader functions in the plugin libs
  * Remove spurious underscores from socket files
  * Add missing extern "C" to GetPluginFactory
  * Allow including process.h without Asio support
  * Enable LTO for the non-Winelib targets
  * Move desktop notifications to its own header
  * Pass plugin path around instead of redetecting
  * Change the description in the GPL header
  * Remove all references to Boost
  * Replace Boost.Dll with our own function
  * Also consider empty dirs for find_dominating_file
  * Use our own export macro
  * Add size field in AudioShm move constructors
  * Add a note on case sensitive extension matching
  * Swap Boost.Container's small_vector out for LLVM's
  * Replace Boost.Interprocess for audio-shm
  * Silence -Wunused-result warnings
  * Add now missing include
  * Remove obselete boost-fix header
  * Remove the now obsolete with-static-boost option
  * No longer links against Boost.Filesystem
  * Get rid of the last uses of Boost.Process
  * Remove now obselete compiler flags
  * Replace Boost.Process for the Wine plugin host
  * Fix Process file redirection
  * Handle waiting on a dead process
  * Add a function for searching through PATH
  * Make the process building functions chainable
  * Add a function for splitting search paths
  * Add a detach function to the process handles
  * Add Process functions for detached spawning
  * Terminate handles when they get dropped
  * Fix find_dominating_file() for ghc::filesystem
  * Use custom process library for notifications
  * Redirect STDERR to /dev/null in process spawn
  * Read the Wine version without Boost.Process
  * Move pid_running() to process.h
  * Add a Boost.Process-like environment builder
  * Replace Boost.Asio with standalone Asio library
  * Mention ghc::filesystem in readme
  * Replace most uses of Boost.{Filesystem,Process}
  * Add a Meson wrap for ghc::filesystem
  * Fix Meson deprecation warning
  * Revert "[yabridgectl] Handle non-lowercase file extensions"
  * Mention the exact Xorg client limit
  * Mention VST3 plugins for X11 client limits
  * Filter out effProcessEvents on verbosity level 1
  * [yabridgectl] Handle non-lowercase file extensions
  * Update tested versions
  * Add the note about replacing Boost to the roadmap
  * Add a proper roadmap
  * Update tested software versions
  * Fix small typo in cross-file documentation
  * Link to the yabridge COPR main page
  * Mention quirk with Qtractor VST3 editor size
  * Update tested Bitwig and Wine versions
  * Mention parameter queue change in the changelog
  * Don't requery the VST3 param change queues length
  * Bump to version 3.8.1
  * Reword the changelog
  * Update tested REAPER version
  * Update tested versions
  * Explicitly handle no and pointer root input focus
  * Update tested versions
  * Link to a nightly build page without login
  * Delay VST2 editor window sizing
  * Remove pre-PipeWire 0.3.44 instructions
  * Update tested versions
  * Prevent realtime scheduling for ad-hoc acceptors
  * Fix building under Wine 7.2
  * Update tested versions
  * Delay editor_force_xdnd until the reparent #160
  * [yabridgectl] Don't mention installation methods
  * Explicitly mention D16 Group plugins not working
  * Fix a typo in a comment in the plugin lookup
  * Bump tested REAPER version
  * Process offline audio from the GUI thread
  * Update tested Bitwig version
  * Update tested Wine version
  * Add the packaging status to the readme
  * Update tested Wine version
  * Change RTTIME warnings and doc for next PW release
  * Bump version to 3.8.0
  * Reword changelog
  * Mention Waves V13
  * Mention _fsync_futex_waitv for wine-tkg
  * Update tested Wine version
  * Fix missing option name in last commit
  * Update tomlplusplus dependency to 3.0.1
  * Add check flag to Meson run_command()
  * Update tested versions
  * Update tested versions
  * [yabridgectl] Fix formatting
  * [yabridgectl] Update to Rust 2021
  * [yabridgectl] Update dependencies
  * [yabridgectl] Fix error message for unknown arch
  * [yabridgectl] Disallow adding individual files
  * [yabridgectl] Update clap to the final 3.0 release

-------------------------------------------------------------------
Sun Jan 09 06:18:10 UTC 2022 - kv@kott.no-ip.biz

- Update to version 3.7.0.git@TAG_OFFSET.4767b758:
  * Delay showing editor the window
  * Fix changelog formatting
  * [yabridgectl] Rewrite the blacklist check
  * [yabridgectl] Canonicalize when checking blacklist
  * [yabridgectl] Don't mention the method on sync
  * Fix the winedbg support after 0b9a16c
  * Change references to yabridge 3.7.1 to 3.8.0
  * Proxy host context menu items for VST3 plugins
  * Fix IContextMenuTarget::ExecuteMenuItem logging
  * Move the VST3 context menu target implementation
  * Avoid unnecessary string uses
  * Remove all remaining mentions of using symlinks
  * Print a deprecation warning on sync for symlinks
  * Link to an optimized preconfigured PipeWire config
  * Change the naming scheme for class field members
  * Update copyright headers
  * Add a todo about backing rwlocks with a spinlock
  * Update tested software versions
  * Replace the notice about iZotope plugins
  * Also use rwlocks on the VST3 plugin side
  * Use multiple reader single writer locks for VST3
  * Disconnect the correct connection point proxy
  * Fix wording in readme
  * yabridge has been packaged on Arch btw
  * Update the targetted VST3 SDK to version 3.7.4
  * Update the tested versions
  * Mention the recent dependency handling changes
  * Don't check capitalized bitsery dep on Meson <0.60
  * Also look for bitsery with a capital letter B
  * Allow resolving dependencies through cmake
  * Add missing whitespace in readme
  * Redundantly limit number of drag-and-drop formats
  * Remove mentions of Wine 6.15/6.16 issues
  * Update tested Wine version
  * Fix fish set example in readme
  * Fix Wine version detection in build config
  * Support Wine 6.23's fixed winedbg arg handling
  * Refer to the issue templates for logging examples
  * Update tested versions
  * Update the tested Bitwig version
  * Increase Win32 message limit for JUCE plugins
  * Move Win32 message limit constant
  * Strip the binaries in the CI
  * Bump version to 3.7.0
  * Update the tested Wine version
  * Reword changelog
  * Update tested DAW versions
  * Add some more details to the fsync instructions
  * Update tomlplusplus to slightly after 2.5.0
  * Relax dependency version bounds somewhat
  * Use Meson 0.55 provides instead of fallback
  * Use the correct location for patch_directory
  * Update tomlplusplus wrap to 2.5.0
  * Specify a minimum Meson version
  * Update bitsery wrap to 5.2.2 and patch_directory
  * Update function2 wrap to 4.2.0 and patch_directory
  * Inhibit event loop during VST3 offline processing
  * Remove incorrect line feeds from log output
  * Update the tested Wine version
  * Mention the Bitwig Studio 4.1 betas
  * Remove mention about image not containing Boost
  * Update tested DAW versions
  * Add todos for using Meson 0.55 patch_directory
  * Prevent wineg++ from including the SAL headers
  * Update the tested Bitwig and Wine versions
  * Stop the watchdog context with the main context
  * Update tested Qtractor and REAPER versions
  * Don't filter out empty environment variables
  * Prevent some allocations in environment lookups
  * Rename YABRIDGE_TEMP_PATH to YABRIDGE_TEMP_DIR
  * Allow the group host to terminate cleanly
  * Clean up group host socket endpoint files
  * Add an environment variable for custom temp dirs
  * Bump to version 3.6.0
  * Reword the changelog once more
  * Remove note about editor_double_embed from readme
  * Reword the changelog
  * Clarify some things about Wine->X11 drag-and-drop
  * Change downgrade command to target version 6.14
  * Remove the general downgrading suggestion
  * Update tested Carla version
  * Update tested REAPER version
  * [yabridgectl] Mention MSRV bump
  * Print something when hot patching someone's locale
  * [yabridgectl] Accept relative paths in remove ops
  * [yabridgectl] Update to clap 3.0.0-beta.4
  * Update tested Wine version
  * Bump the tested Bitwig version
  * Clarify the JUCE tooltip issue in the readme
  * Update the tested Wine version
  * Mention misaligned text caused by substitute fonts
  * Revert back to the detached Konsole window winedbg
  * Quote winedbg arguments instead of using start dir
  * Update the tested Bitwig version
  * Mention toggling hidden files in GUI file managers
  * Mention RLIMIT_RTTIME for better Ctrl+F-ability
  * Add missing includes for Boost 1.77
  * Comment about performance in bus cache lookups
  * Store context menu items in unordered maps
  * Remove unnecessary iostream import
  * Work around Boost.Process invalid locale bug/crash
  * Always print version information in plugin hosts
  * Update the tested Bitwig version
  * Use the small buffer optimization for VST3 SysEx
  * Fix wording in new warning messages
  * Show desktop notification for low RLIMIT_RTTIME
  * Show desktop notification for the memlock warning
  * Set VST2 SR and block sizes from main thread
  * Update the Wine downgrade snippet for apt distros
  * Fix typo in issue templates
  * Bump the tested Bitwig, REAPER, Ardour and Wine versions
  * Mention that Wine Staging 6.17 works again
  * Also mention allfonts
  * Fix typo in arch package name
  * Reword the issue templates
  * Add issue template fields for the Wine version
  * Disable blank issues
  * Replace the feature request template with a form
  * Replace the setup help template with a form
  * Tweak the new bug report template slightly
  * Don't fill long lines in issue template
  * Redo the bug report issue template using forms
  * Also mention that Wine 6.16 is broken
  * Rename issues section to Known issues and fixes
  * Add a changelog entry for the XDND warmup phase
  * Add a warmup phase to the XDND implementation
  * Fix property reply errors being coerced to 0
  * Fix drag-and-drop skipping the first tick
  * Plaster the Wine 6.15 note all over the readme
  * Fix typo in readme
  * Hide symbols in VST3 static libraries
  * Don't include angular brackets for concrete types
  * Fix VST2 logging message for effEditGetRect()
  * Fix CI link in the development build section
  * Gate the new resizing behavior behind new option
  * Only reset coordinates when resizing
  * Add a todo regarding removing editor_double_embed
  * Remove editor_double_embed
  * Make the resize function not-noexcept
  * Reposition to (0, 0) while fixing coordinates
  * Remove unnecessary early return
  * Update README.md
  * Also consider weird setups when downgrading Wine
  * Mention that Wine 6.15 will break things
  * Fix path to yabridgectl in readme
  * Fix table of contents in readme
  * Remove VST3 SDK patch for shlobj.h casing
  * Target VST3 SDK version 3.7.3
  * Note that bitbridging is disabled in some packages
  * Add it
  * Update the tested Carla version
  * [yabridgectl] Suggest not reading the readme
  * Drop the Manual setup section
  * :boom: Rewrite the usage section
  * Update the tested Bitwig version
  * Bump to version 3.5.2
  * Fix dates in changelog
  * Reword changelog
  * Unify exception handling style
  * Implement VST2 SysEx events
  * Use constexpr for VeSTige
  * Include types for VST2 SysEx messages
  * Include the +editor debug flag in issue template
  * Fix regression for VST3 editor initial sizing
  * fix word omission
  * Add instructions for realtime priviliges
  * Bump to version 3.5.1
  * Fix wrong date in old changelog entry
  * Reword changelog
  * Update tested Wine version
  * Update the tested REAPER version
  * Directly focus wine_window while holding Shift
  * Also grab keyboard focus on parent window focus
  * Add a function for getting the active modifiers
  * Handle X11 events within the Win32 event loop
  * Mention yabridge's drag-and-drop support in usage
  * Fix broken anchor in readme
  * Reword workaround revert changelog entry
  * Also mention Ardour being affected
  * Revert "Inhibit the event loop during VST3 editor init"
  * Remove typo from readme
  * Filter LeaveNotify based on window under pointer
  * Allow manual position for is_cursor_in_wine_window
  * Don't respond to hit tests from the Win32 window
  * Filter Win32 windows for XDND by class name
  * Add instructions for installing development builds
  * Move check for cursor within Wine window to editor
  * Move the win32 window class name to a constant
  * Add active window to enter/leave/focus tracing
  * Trace input focus grabbing
  * Add instructions for PipeWire 0.32.0
  * Bump to version 3.5.0
  * Reword changelog
  * Reword memlock warning message
  * Use exception logger for the memory locking error
  * Add a special exception logger
  * Change wording in changelog
  * Remove old TODO about +editor debug level
  * Support the older XDND versions 3 and 4
  * Fix typo in XDND code
  * Reword changelog
  * Keep the old time stamp and sequence number
  * Forward synthetic keyboard events to Wine window
  * Unify enter/focus event tracing
  * Fix reparent error logging
  * Mention Wine->X11 drag-and-drop in architecture.md
  * Mention new embedding structure in architecture.md
  * Also listen for ConfigureNotify on the wrapper
  * Listen to the correct window for focus and enter
  * Check the window in focus/enter events
  * Translate coordinates from the wrapper window
  * Don't check result on IPlugView::onSize()
  * Don't fetch the root window early
  * Fetch the Wine and root window IDs early
  * Revert "Change editor window destruction order"
  * Unmap wine_window before reparenting back to root
  * Change editor window destruction order
  * Mention Ardour VST3 editor resizing
  * Remove XEmbed testing todo
  * Remove unnecessary unreparent check
  * Mention the Carla VST3 regression
  * Mention the embedding rewrite in the changelog
  * Also resize the wrapper window for VST3 plugins
  * Reorder Vst3Bridge methods
  * Resize the new wrapper window for VST2 plugins
  * :boom: Use another layer of editor embedding
  * Change ProxyWindow into a more generic X11Window
  * Rename DeferredWindow to DeferredWin32Window
  * Don't reparent when the parent gets reparented
  * Only show reparent message with editor tracing
  * Reuse the reparenting tracing in XEmbed
  * Don't trace the start of every X11 event
  * Fix typo in log message
  * Add missing copyright headers
  * Inhibit the event loop during VST3 editor init

-------------------------------------------------------------------
Tue Jul 20 04:51:33 UTC 2021 - Geekos Italia geekosdaw@gmail.com

- Update to version 3.4.0+git31.640c1883:
  * Fix duplicate timestamps in Wine log messages
  * Move X11 event tracing behind +editor debug flag
  * Add a +editor flag to YABRIDGE_DEBUG_LEVEL
  * Oops. (fix inverted conditional from last commit)
  * Fix regression in pid_running from d99f571
  * [yabridgectl] Print yabridge host paths in status
  * Add a todo about the editor debug level
  * Attempt to fix rare multiple displays issue
  * Steal the window back when the WM reparents it

-------------------------------------------------------------------
Fri Jul 16 00:10:24 UTC 2021 - Konstantin Voinov <kv@kott.no-ip.biz>

- add 00-Add-a-separate-audio-thread-mutual-recursion-stack.patch

-------------------------------------------------------------------
Thu Jul 15 23:59:08 UTC 2021 - Konstantin Voinov <kv@kott.no-ip.biz>

- Update to version 3.4.0

* Added

* Added support for drag-and-drop from Windows plugins running 
  under yabridge to native applications, such as your DAW. This 
  makes it much more convenient to use plugins like Scaler 2 
  that generate audio or MIDI files. Because of the way this is 
  implemented this feature will work with any Wine version.
* When a plugin fails to load or when the Wine plugin host 
  process fails to start, yabridge will now show you the error 
  in a desktop notification instead of only printing it to the 
  logger. This will make it much faster to quickly diagnose 
  issues if you weren't already running your DAW from a 
  terminal. These notifications require libnotify and its 
  notify-send application to be installed.
* Similarly, yabridge will show you a warning and a desktop 
  notification with a reminder to rerun yabridgctl sync when it 
  detects that there's been a version mismatch between the 
  plugin and the used Wine plugin host application.
* Added support for building 32-bit versions of the yabridge 
  libraries, allowing you to use both 32-bit and 64-bit Windows 
  VST2 and VST3 plugins under 32-bit Linux plugin hosts. This 
  should not be needed in any normal situation since Desktop 
  Linux has been 64-bit only for a while now, but it could be 
  useful in some very specific situations. Building on an 
  actual 32-bit system will also work, in which case the 64-bit 
  Wine plugin host applications simply won't be built.
* Added the deprecated pre-VST2.4 main entry point for VST2 
  plugins. This allows the above mentioned 32-bit version of 
  yabridge to be used in EnergyXT, allowing you to use both 
  32-bit and 64-bit Windows VST2 plugins there.
* Added an environment variable to disable the watchdog timer. 
  This is only needed when running the Wine process under a 
  separate namespace. If you don't know that you need this, 
  then you probably don't need this!

* Changed

* The audio processing implementation for both VST2 and VST3 
  plugins has been completely rewritten to use both shared 
  memory and message passing to cut down the number of 
  expensive memory copies to a minimum. This reduces the DSP 
  load overhead of audio processing even further.
* Respect $XDG_DATA_HOME as a fallback when looking for 
  yabridge's plugin host binaries instead of hardcoding this to 
  ~/.local/share/yabridge. This matches the existing behaviour 
  in yabridgectl.
* Optimized the management of VST3 plugin instances to reduce 
  the overhead when using many instances of a single VST3 plugin.
* Slightly optimized the function call dispatch for VST2 plugins.
* Prevented some more potential unnecessary memory operations 
  during yabridge's communication. The underlying serialization 
  library was recreating some objects even when this wasn't 
  needed, which could result in unnecessary memory allocations 
  under certain circumstances. This is related to the similar 
  issue that was fixed in yabridge 3.3.0. A fix for this issue 
  has also been upstreamed to the library.

* Fixed

* Fixed mouse cursors disappearing when interacting with some 
  plugin GUIs. This often happened with JUCE based plugins, 
  such as Sonic Academy's Kick 2 and Anaglyph. While this is 
  technically a workaround for a bad interaction between JUCE 
  and Wine, it should make these plugins much more pleasant to 
  use.
* Fixed Waves VST3 plugins not being able to initialize 
  correctly. These plugins would at runtime change their query 
  interface to support more VST3 interfaces, including the 
  mandatory edit controller interface. Yabridge now requeries 
  the supported interfaces at a later stage to work around this.
* Fixed VST2 plugins in Ardour not receiving all transport 
  information, breaking host sync and LFOs in certain plugins. 
  This was a regression from yabridge 3.2.0.
* Fixed input focus handling being broken REAPER after reopning 
  a closed FX window. Now moving the mouse cursor outside of 
  the plugin's GUI will always release input focus, even after 
  closing the window.
* Fixed Insert Piz Here's midiLooper crashing in REAPER when 
  the plugin tries to use REAPER's host function API. This 
  currently isn't supported by yabridge. We now explicitly 
  ignore these requests.
* Worked around a rare thread safety issue in MeldaProduction 
  VST3 plugins where the plugin would deadlock when the host 
  asks for the editor's size while plugin is also being 
  initialized form the audio thread at the same time.
* Fixed JUCE VST3 plugins like Tokyo Dawn Records' SlickEQ M 
  causing the host to freeze when they send a parameter change 
  from the audio thread using the wrong VST3 API while the 
  plugin is also trying to resize the window from the GUI 
  thread at the same time. This would happen in SlickEQ M when 
  reopning the Smart Ops panel after having used it once. To 
  fix this, yabridge's Wine-side VST3 mutual recursion 
  mechanism now only operates when invoked from the GUI thread.
* Fixed yabridge's logging seeking the STDERR stream to 
  position 0 every time it writes a log message. This would be 
  noticeable when piping the host's STDERR stream to a file and 
  YABRIDGE_DEBUG_LEVEL wasn't set.
* When printing the Wine version during initialization, the 
  Wine process used for this is now run under the same 
  environment that the Wine plugin host process will be run 
  under. This means that if you use a custom WINELOADER script 
  to use different Wine versions depending on the prefix, the 
  wine version: line in the initialization message will now 
  always match the version of Wine the plugin is going to be 
  run under.
* Fixed the plugin-side watchdog timer that allows a yabridge 
  plugin to terminate when the Wine plugin host application 
  fails to start treating zombie processes as still running, 
  active processes. This could cause plugins to hang during 
  scanning if the Wine process crashed in a very specific and 
  likely impossible way.
* If a VST3 plugin returns a null pointer from 
  IEditController::createView(), then this will now be 
  propagated correctly on the plugin side.
* Fixed VST2 speaker arrangement configurations returned by the 
  plugin not being serialized correctly. Very few plugins and 
  hosts seem to actually use these, so it should not have 
  caused any issues.

* yabridgectl

* Added support for setting up merged VST3 bundles when using a 
  32-bit version of libyabridge-vst3.so.
* Fixed the post-installation setup checks when the default 
  Wine prefix over at ~/.wine was created with WINEARCH=win32 
  set. This would otherwise result in an 
  00cc:err:process:exec_process error when running yabridgectl 
  sync because yabridgectl would try to run the 64-bit 
  yabridge-host.exe in that prefix. Yabridgectl now detects the 
  architecture of the default prefix first and then runs the 
  proper Wine plugin host application for that prefix.
* Copies of libyabridge-vst2.so and libyabridge-vst3.so are now 
  reflinked when supported by the file system. This speeds up 
  the file coyping process while also reducing the amount of 
  disk space used for yabridge when using Btrfs or XFS.
* If pruning causes a directory to be empty, then the empty 
  directory will now also be removed. This avoids having your 
  plugin directories littered with empty directories.
* Fixed incorrect new and total plugin counts. These counts are 
  now always correct, even when using multiple versions of the 
  same VST3 plugin or when multiple plugin directories overlap 
  because of the use of symlinks.
* Aside from pruning only unmanaged VST3 bundles in 
  ~/.vst3/yabridge, yabridge will now also prompt you to prune 
  leftover files from within a managed VST3 bundle. This makes 
  it easy to switch from the 64-bit version of a plugin to the 
  32-bit version, or from a 64-bit version of yabridge to the 
  32-bit version. I don't know why you would want to do either 
  of those things, but now you can!
* Yabridgectl now prints a more descriptive error message 
  instead of panicing if running $WINELOADER --version during 
  yabridgectl's post-setup verification checks does not result 
  in any output. This is only relevant when using a custom 
  WINELOADER script that modifies Wine's output. 

-------------------------------------------------------------------
Thu Jun 10 00:48:50 UTC 2021 - Konstantin Voinov <kv@kott.no-ip.biz>

- Update to version 3.3.1

  * Added thread names to all worker threads created by yabridge.
    This makes it easier to debug and profile yabridge.

  * Fixed the IPlugView::canResize() cache added in yabridge 3.2.0
    sometimes not being initialized properly, preventing host-driven
    resizes in certain situations. This was mostly noticeable in Ardour.
  * Fixed mouse clicks in VST2 editors in Tracktion Waveform being
    offset vertically by a small amount because of the way Waveform
    embeds VST2 editors.
  * Fixed Shattered Glass Audio plugins crashing when opening the
    plugin editor because those plugins don't initialize Microsoft
    COM before trying to use it. We now always initialize the
    Microsoft COM library unconditionally, instead of doing it only
    when a plugin fails to initialize without it.
  * Fixed incorrect version strings being reported by yabridge when
    building from a tarball that has been extracted inside of an
    unrelated git repository. This could happen when building the
    yabridge AUR package with certain AUR helpers.
  * Fixed the log message for the cached IPlugView::canResize() VST3
    function calls implemented in yabridge 3.2.0.
 
-------------------------------------------------------------------
Fri Jun  4 01:30:06 UTC 2021 - Konstantin Voinov <kv@kott.no-ip.biz>

-  Update to version 3.3.0 

  * Added

  * Added a compatibility option to redirect the Wine plugin 
    host's STDOUT and STDERR output streams directly to a file. 
    Enabling this allows ujam plugins and other plugins made with 
    the Gorilla Engine, such as the LoopCloud plugins, to 
    function correctly. Those plugins crash with a seemingly 
    unrelated error message when their output is redirected to a 
    pipe.
  * Added a small warning during initialization when 
    RLIMIT_RTTIME is set to some small value. This happens when 
    using PipeWire with rtkit, and it can cause crashes when 
    loading plugins.

  * Changed
  
  * Added a timed cache for the IPlugView::canResize() VST3 
    function so the result will be remembered during an active 
    resize. This makes resizing VST3 plugin editor windows more 
    responsive.
  * Added another cache for when the host asks a VST3 plugin 
    whether it supports processing 32-bit or 64-bit floating 
    point audio. Some hosts, like Bitwig Studio, call this 
    function at the start of every processing cycle even though 
    the value won't ever change. Caching this can significantly 
    reduce the overhead of bridging VST3 plugins under those hosts.
  * Redesigned the VST3 audio socket handling to be able to reuse 
    the process data objects on both sides. This greatly reduces 
    the overhead of our VST3 bridging by getting rid of all 
    potential memory allocations during audio processing.
  * VST2 audio processing also received the same optimizations. 
    In a few places yabridge would still reallocate heap data 
    during every audio processing cycle. We now make sure to 
    always reuse all buffers and heap data used in the audio 
    processing process.
  * Considerably optimized parts of yabridge's communication 
    infrastructure by preventing unnecessary memory operations. 
    As it turned out, the underlying binary serialization library 
    used by yabridge would always reinitialize the type-safe 
    unions yabridge uses to differentiate between single and 
    double precision floating point audio buffers in both VST2 
    and VST3 plugins, undoing all of our efforts at reusing 
    objects and preventing memory allocations in the process. A 
    fix for this issue has also been upstreamed to the library.
  * VST3 output audio buffers are now no longer zeroed out at the 
    start of every audio processing cycle. We've been doing this 
    for VST3 plugins since the introduction of VST3 bridging in 
    yabridge 3.0.0, but we never did this for VST2 plugins. Since 
    not doing this has never caused any issues with VST2 plugins, 
    it should also be safe to also skip this for VST3 plugins. 
    This further reduces the overhead of VST3 audio processing.
  * Optimized VST3 audio processing for instruments by 
    preallocating small vectors for event and parameter change 
    queues.
  * VST2 MIDI event handling also received the same small vector 
    optimization to get rid of any last potential allocations 
    during audio processing.
  * This small vector optimization has also been applied across 
    yabridge's entire communication and event handling 
    architecture, meaning that most plugin function calls and 
    callbacks should no longer produce any allocations for both 
    VST2 and VST3 plugins.
  * Changed the way mutual recursion in VST3 plugins on the 
    plugin side works to counter any potential GUI related timing 
    issues with VST3 plugins when using multiple instances of a 
    plugin.
  * Changed the way realtime scheduling is used on the Wine side 
    to be less aggressive, potentially reducing CPU usage when 
    plugins are idle.
  * The deserialization part of yabridge's communication is now 
    slightly faster by skipping some unnecessary checks.
  * Log messages about VST3 query interfaces are now only printed 
    when YABRIDGE_DEBUG_LEVEL is set to 2 or higher, up from 1.
  
  * Fixed
  
  * Fixed a longstanding thread safety issue when hosting a lot 
    of VST2 plugins in a plugin group. This could cause plugins 
    to crash or freeze when initializing a new instance of a VST2 
    plugin in a plugin group while another VST2 plugin in that 
    same group is currently processing audio.
  * Fixed yabridge's Wine processes inheriting file descriptors 
    in some situations. This could cause Ardour and Mixbus to 
    hang when reopening the DAW after a crash. The watchdog timer 
    added in yabridge 3.2.0 addressed this issue partially, but 
    it should now be completely fixed. This may also prevent rare 
    issues where the JACK server would hang after the host crashes.
  * Fixed DMG VST3 plugins freezing in REAPER when the plugin 
    resizes itself while the host passes channel context 
    information to the plugin.
  * Also fixed DMG VST3 plugins freezing in REAPER when restoring 
    multiple instances of the plugin at once while the FX window 
    is open and the GUI is visible.
  * Fixed the PG-8X VST2 plugin freezing in REAPER when loading 
    the plugin.
  * Fixed Voxengo VST2 plugins freezing in Renoise when loading a 
    project or when otherwise restoring plugin state.
  * Fixed logging traces in the VST2 audio processing functions 
    and the VST3 query interfaces causing allocations even when 
    YABRIDGE_DEBUG_LEVEL is not set to 2.
  * Fixed building on Wine 6.8 after some internal changes to 
    Wine's windows.h implementation.
  
  * yabridgectl
  
  * Improved the warning yabridgectl shows when it cannot run 
    yabridge-host.exe as part of the post-installation setup 
    checks.
  * Fixed the reported number of new or updated plugins when 
    yabridgectl manages both a 32-bit and a 64-bit version of the 
    same VST3 plugin.
  * Fixed text wrapping being broken after a dependency update 
    earlier this year.

-------------------------------------------------------------------
Tue May 18 23:39:19 UTC 2021 - Konstantin Voinov <kv@kott.no-ip.biz>

- add wine-devel to deps

-------------------------------------------------------------------
Wed May 12 12:48:35 UTC 2021 - Konstantin Voinov <kv@kott.no-ip.biz>

- add 02-Fix-build-on-Wine-6-8.patch

-------------------------------------------------------------------
Thu May  6 22:56:19 UTC 2021 - Konstantin Voinov <kv@kott.no-ip.biz>

- Update to version 3.2.0

  * Added

   - During VST2 audio processing, yabridge will now prefetch the 
     current transport information and process level before 
     sending the audio buffers over to the Windows VST2 plugin. 
     This lets us cache this information on the Wine side during 
     the audio processing call, which significantly reduces the 
     overhead of bridging VST2 plugins by avoiding one or more 
     otherwise unavoidable back and forth function calls between 
     yabridge's native plugin and the Wine plugin host. While 
     beneficial to every VST2 plugin, this considerably reduces 
     the overhead of bridging MeldaProduction VST2 plugins, and 
     it has an even greater impact on plugins like SWAM Cello 
     that request this information repeatedly over the course of 
     a single audio processing cycle. Previously yabridge had a 
     cache_time_info compatibility option to mitigate the 
     performance hit for those plugins, but this new caching 
     behaviour supercedes that option.
	 
   - We now always force the CPU's flush-to-zero flag to be set 
     when processing audio. Most plugins will already do this by 
     themselves, but plugins like Kush Audio REDDI and Expressive 
     E Noisy that don't will otherwise suffer from extreme DSP 
     usage increases when processing almost silent audio.
	 
   - Added a new compatibility option to hide the name of the DAW 
     you're using. This can be useful with plugins that have 
     undesirable or broken DAW-specific behaviour. See the known 
     issues section of the readme for more information on when 
     this may be useful.
	 
   - Yabridge now uses a watchdog timer to prevent rare instances 
     where Wine processes would be left running after the native 
     host has crashed or when it got forcefully terminated. By 
     design yabridge would always try to gracefully shut down its 
     Wine processes when native host has crashed and the sockets 
     become unavailable, but this did not always happen if the 
     crash occurred before the bridged plugin has finished 
     initializing because of the way Unix Domain Sockets work. In 
     that specific situation the yabridge-host.exe process would 
     be left running indefinitely, and depending on your DAW that 
     might have also prevented you from actually restarting your 
     DAW without running wineserver -k first. To prevent any more 
     dangling processes, yabridge's Wine plugin hosts now have a 
     watchdog timer that periodically checks whether the original 
     process that spawned the bridges is still running. If it 
     detects that the process is no longer alive, yabridge will 
     close the sockets and shut down the bridged plugin to 
     prevent any more dangling processes from sticking around.

  * Changed

    - Most common VST2 functions that don't have any arguments are 
      now handled explicilty. Yabridge could always automatically 
      support most VST2 functions by simply inspecting the 
      function arguments and handling those accordingly. This 
      works practically everywhere, but Plugsound Free by UVI 
      would sometimes pass unreadable function arguments to 
      functions that weren't supposed to have any arguments, 
      causing yabridge to crash. Explicitly handling those 
      functions should prevent similar situations from happening 
      in the future.
	  
    - Yabridge will now try to bypass VST3 connection proxies if 
      possible. Instead of connecting two VST3 plugin objects 
      directly, Ardour and Mixbus place a connection proxy between 
      the two plugin objects so that they can only interact 
      indirectly through the DAW. In the past yabridge has always 
      honored this by proxying the host's connection proxy, but 
      this causes difficult situations with plugins that actively 
      communicate over these proxies from the GUI thread, like the 
      FabFilter plugins. Whenever possible, yabridge will now try 
      to bypass the connection proxies and connect the two objects 
      directly instead, only falling back to proxying the proxies 
      when that's not possible.
	  
    - Compile times have been slightly lowered by compiling most 
      of the Wine plugin host into static libraries first.
	  
    - When building the package from source, the targetted Wine 
      version now gets printed at configure-time. This can make it 
      a bit easier to diagnose Wine-related compilation issues.

  * Removed

    - The cache_time_info compatibility option has been removed 
      since it's now obsolete.
	  
    - Removed a message that would show up when loading a VST3 
      plugin in Ardour, warning about potential crashes due to 
      Ardour not supporting multiple input and output busses. 
      These crashes have been resolved since yabridge 3.1.0.

  * Fixed

    - Fixed rare X11 errors that could occur when closing a 
      plugin's editor. In certain circumstances, closing a plugin 
      editor would trigger an X11 error and crash the Wine plugin 
      host, and with that likely the entire DAW. This happened 
      because Wine would try to destroy the window after it had 
      already been destroyed. This could happen in Renoise and to 
      a lesser degree in REAPER with plugins that take a while to 
      close their editors, such as the iZotope Rx plugins. We now 
      explicitly reparent the window to back the root window first 
      before deferring the window closing. This should fix the 
      issue, while still keeping editor closing nice and snappy.
	  
    - Plugin group host processes now shut down by themselves if 
      they don't get a request to host any plugins within five 
      seconds. This can happen when the DAW gets killed right 
      after starting the group host process but before the native 
      yabridge plugin requests the group host process to host a 
      plugin for them. Before this change, this would result in a 
      yabridge-group.exe process staying around indefinitely.
	  
    - Prevented latency introducing VST3 from freezing Ardour and 
      Mixbus when loading the plugin. This stops Neural DSP 
      Darkglass from freezing when used under those DAWs.
	  
    - Fixed FabFilter VST3 plugins freezing in Ardour and Mixbus 
      when trying to duplicate existing instances of the plugin 
      after the editor GUI has been opened.
	  
    - Fixed VST3 plugins freezing in Ardour and Mixbus when the 
      plugin tries to automate a parameter while loading a preset.
    
	- Fixed Voxengo VST3 plugins freezing in Ardour and Mixbus 
      when loading a project or when duplicating the plugin 
      instances.
	  
    - Fixed potential X11 errors resulting in assertion failures 
      and crashes in Ardour and Mixbus when those hosts hide 
      (unmap) a plugin's editor window.
	  
    - Fixed saving and loading plugin state for VST3 iZotope Rx 
      plugins in Bitwig Studio.
	  
    - Fixed a regression from yabridge 3.1.0 where REAPER would 
      freeze when opening a VST3 plugin context menu.
	  
    - Fixed a potential freezing issue in REAPER that could happen 
      when a VST3 plugin resizes itself while sending parameter 
      changes to the host when REAPER's 'disable saving full 
      plug-in state' option has not been disabled.
	  
    - Fixed another potential freeze when loading a VST3 plugin 
      preset while the editor is open when the plugin tries to 
      resize itself based on that new preset.
	  
    - Fixed a potential assertion failure when loading VST3 
      presets. This would depend on the compiler settings and the 
      version of libstdc++ used to built yabridge with.
    
    - Fixed PSPaudioware InifniStrip failing to initialize. The 
      plugin expects the host to always be using Microsoft COM, 
      and it doesn't try to initialize it by itself. InfiniStrip 
      loads as expected now.
    
    - Fixed Native Instruments' FM7 crashing when processing MIDI. 
      In order to fix this, MIDI events are now deallocated later 
      then when they normally would have to be.
    
    - Fixed extreme DSP usage increases in Kush Audio REDDI and 
      Expressive E Noisy due to denormals.
    
    - Fixed the VST3 version of W. A. Production ImPerfect 
      crashing during audio setup.
    
    - Fixed UVI Plugsound Free crashing during initialization.
    
    - Fixed the Wine version detection when using a custom 
      WINELOADER.
    
    - Fixed incorrect logging output for cached VST3 function calls.
    
    - Because of the new VST2 transport information prefetching, 
      the excessive DSP usage in SWAM Cello has now been fixed 
      without requiring any manual compatibility options. 

-------------------------------------------------------------------
Thu May  6 14:11:59 UTC 2021 - Konstantin Voinov <kv@kott.no-ip.biz>

- Update to version 3.1.0

  * Enable 32bit version
  * Remove Work-around-a-regression-in-Wine-6-5.patch

- Upstream changes:
  
  * Added

    - Added support for using 32-bit Windows VST3 plugins in 64-bit Linux VST3
      hosts. This had previously been disabled because of a hard to track down
      corruption issue.
    - Added an
      [option](https://github.com/robbert-vdh/yabridge#compatibility-options) to
      prefer the 32-bit version of a VST3 plugin over the 64-bit version if both are
      installed. This likely won't be necessary, but because of the way VST3 bundles
      work there's no clean way to separate these. So when both are installed, the
      64-bit version gets used by default.

  * Fixed

    - Worked around a regression in Wine 6.5 that would prevent yabridge from
      shutting down ([wine bug
      #50869](https://bugs.winehq.org/show_bug.cgi?id=50869)). With Wine 6.5
      terminating a Wine process no longer terminates its threads, which would cause
      yabridge's plugin and host components to wait for each other to shut down.
    - Fixed preset/state loading in both the VST2 and VST3 versions of _Algonaut
      Atlas 2.0_ by loading and saving plugin state from the main GUI thread.
    - Added a workaround for a bug present in every current _Bluecat Audio_ VST3
      plugin. Those plugins would otherwise crash yabridge because they didn't
      directly expose a core VST3 interface through their query interface.
    - Fixed a multithreading related memory error in the VST3 audio processor socket
      management system.

   * yabridgectl

     - Added an indexing blacklist, accessible through `yabridgectl blacklist`. You
       most likely won't ever have to use this, but this lets you skip over files and
       directories in yabridgectl's indexing process.
     - Minor spelling fixes.

-------------------------------------------------------------------
Mon Apr 12 01:34:07 UTC 2021 - Konstantin Voinov <kv@kott.no-ip.biz>

- Work-around-a-regression-in-Wine-6-5.patch

-------------------------------------------------------------------
Wed Mar 10 03:53:04 UTC 2021 - Konstantin Voinov <kv@kott.no-ip.biz>

- Update to version 3.0.2

  * Fix bus information queries being performed for the wrong bus
    index. This fixes VST3 sidechaining in _Renoise_, and prevents
    a number of VST3 plugins with a sidechain input from causing
    _Ardour_ and _Mixbus_ to freeze or crash.

-------------------------------------------------------------------
Mon Mar  1 04:13:41 UTC 2021 - Konstantin Voinov <kv@kott.no-ip.biz>

- Update to version 3.0.1
	
  * Changed

	Wine 6.2 introduced a regression that would cause compile errors because some 
	parts of Wine's headers were no longer valid C++. Since we do not need the 
	affecting functionality, yabridge now includes a small workaround to make sure 
	that the affected code never gets compiled. This has been fixed for Wine 6.3.

  * Fixed

	Added support for a new ReaSurround related VST2.4 extension that REAPER recently 
	started using. This would otherwise cause certain plugins to crash under REAPER.
	Fixed a regression from yabridge 3.0.0 where log output would no longer include 
	timestamps.

   * yabridgectl

	Changed the wording and colors in yabridgectl status for plugins that have not 
	yet been setup to look less dramatic and hopefully cause less confusion.
	Aside from the installation status, yabridgectl status now also shows a plugin's 
	type and architecture. This is color coded to make it easier to visually parse 
	the output.
	Plugin paths printed during yabridgectl status and yabridgectl sync --verbose are 
	now always shown relative to the plugin directory instead of the same path prefix 
	being repeated for every plugin.

- Version 3.0.0
  
  * Added

	Yabridge 3.0 introduces the first ever true Wine VST3 bridge, allowing you to use 
	Windows VST3 plugins in Linux VST3 hosts with full VST 3.7.1 compatibility. 
	Simply tell yabridgectl to look for plugins in $HOME/.wine/drive_c/Program 
	Files/Common Files/VST3, run yabridgectl sync, and your VST3 compatible DAW will 
	pick up the new plugins in ~/.vst3/yabridge automatically. Even though this 
	feature has been tested extensively with a variety of VST3 plugins and hosts, 
	there's still a substantial part of the VST 3.7.1 specification that isn't used 
	by any of the hosts or plugins we could get our hands on, so please let me know 
	if you run into any weird behaviour! There's a list in the readme with all of the 
	tested hosts and their current VST3 compatibility status.
	Added an option to use Wine's XEmbed implementation instead of yabridge's normal 
	window embedding method. This can help reduce flickering when dragging the window 
	around with certain window managers. Some plugins will have redrawing issues when 
	using XEmbed or the editor might not show up at all, so your mileage may very 
	much vary.
	Added a compatibilty option to forcefully enable drag-and-drop support under 
	REAPER. REAPER's FX window reports that it supports drag-and-drop itself, which 
	makes it impossible to drag files onto a plugin editor embedded there. This 
	option strips the drag-and-drop support from the FX window, thus allowing you to 
	drag files onto plugin editors again.
	Added a frame rate option to change the rate at which events are being handled. 
	This usually also controls the refresh rate of a plugin's editor GUI. The default 
	60 updates per second may be too high if your computer's cannot keep up, or if 
	you're using a host that never closes the editor such as Ardour.
	Added a compatibility option to disable HiDPI scaling for VST3 plugins. At the 
	moment Wine does not have proper fractional HiDPI support, so some plugins may 
	not scale their interfaces correctly when the host tells those plugins to scale 
	their GUIs. In some cases setting the font DPI in winecfg's graphics tab to 192 
	will also cause the GUIs to scale correctly at 200%.
	Added the with-vst3 compile time option to control whether yabridge should be 
	built with VST3 support. This is enabled by default.

  * Changed

	libyabridge.so is now called libyabridge-vst2.so. If you're using yabridgectl 
	then nothing changes here. To avoid any potential confusion in the future, please 
	remove the old libyabridge.so file before upgrading.

	The release archives uploaded on GitHub are now repackaged to include yabridgectl 
	for your convenience.

	Window closing is now deferred. This means that when closing the editor window, 
	the host no longer has to wait for Wine to fully close the window. Most hosts 
	already do something similar themselves, so this may not always make a difference 
	in responsiveness.

	Slightly increased responsiveness when resizing plugin GUIs by preventing 
	unnecessary blitting. This also reduces flickering with plugins that don't do 
	double buffering.

	VST2 editor idle events are now handled slightly differently. This should result 
	in even more responsive GUIs for VST2 plugins.

	Win32 and X11 events in the Wine plugin host are now handled with lower 
	scheduling priority than other tasks. This might help get rid of potential DSP 
	latency spikes when having the editor open while the plugin is doing expensive 
	GUI operations.

	Opening and closing plugin editors is now also no longer done with realtime 
	priority. This should get rid of any latency spikes during those operations, as 
	this could otherwise steal resources away from the threads that are processing 
	audio.

	The way realtime priorities assigned has been overhauled:
	Realtime scheduling on the plugin side is now a more granular. Instead of 
	setting everything to use SCHED_FIFO, only the spawned threads will be 
	configured to use realtime scheduling. This prevents changing the scheduling 
	policy of your host's GUI thread if your host instantiates plugins from its 
	GUI thread like REAPER does.
	Relaying messages printed by the plugin and Wine is now done without realtime 
	priority, as this could in theory cause issues with plugins that produce a 
	steady stream of fixmes or other output.
	The realtime scheduling priorities of all audio threads in the Wine plugin 
	host are now periodically synchronized with those of the host's audio threads.

	When using yabridge.toml config files, the matched section or glob pattern is now 
	also printed next to the path to the file to make it a bit easier to see where 
	settings are being set from.

	The architecture document has been updated for the VST3 support and it has been 
	rewritten to talk more about the more interesting bits of yabridge's 
	implementation.

	Part of the build process has been changed to account for this Wine bug. Building 
	with Wine 5.7 and 5.8 required a change for yabridge-host.exe to continue 
	working, but that change now also breaks builds using Wine 6.0 and up. The build 
	process now detects which version of Wine is used to build with, and it will then 
	apply the change conditionally based on that to be able to support building with 
	both older and newer versions of Wine. This does mean that when you switch to an 
	older Wine version, you might need to run meson setup build --reconfigure before 
	rebuilding to make sure that these changes take effect.

	yabridge-host.exe will no longer remove the socket directories if they're outside 
	of a temporary directory. This could otherwise cause a very unpleasant surprise 
	if someone were to pass random arguments to it when for instance trying to write 
	a wrapper around yabridge-host.exe.

	When YABRIDGE_DEBUG_LEVEL is set to 2 or higher and a plugin asks the host for 
	the current position in the song, yabridge will now also print the current tempo 
	to help debugging host bugs.

  * Fixed

	VST2 plugin editor resizing in REAPER would not cause the FX window to be resized 
	like it would in every other host. This has now been fixed.
	The function for suspending and resuming audio, effMainsChanged(), is now always 
	executed from the GUI thread. This fixes EZdrummer not producing any sound 
	because the plugin makes the incorrect assumption that effMainsChanged() is 
	always called from the GUI thread.
	Event handling is now temporarily disabled while plugins are in a partially 
	initialized state. The VST2 versions of T-RackS 5 would have a chance to hang 
	indefinitely if the event loop was being run before those plugins were fully 
	initialized because of a race condition within those plugins. This issue was only 
	noticeable when using plugin groups.
	Fixed a potential issue where an interaction between Bitwig Studio and yabridge's 
	input focus grabbing method could cause delayed mouse events when clicking on a 
	plugin's GUI in Bitwig. This issue has not been reported for yabridge 2.2.1 and 
	below, but it could in theory also affect older versions of yabridge.

  * yabridgectl

	Updated for the changes in yabridge 3.0. Yabridgectl now allows you to set up 
	yabridge for VST3 plugins. Since libyabridge.so got renamed to 
	libyabridge-vst2.so in this version, it's advised to carefully remove the old 
	libyabridge.so and yabridgectl files before upgrading to avoid confusing 
	situations.
	Added the yabridgectl set --path-auto option to revert back to automatically 
	locating yabridge's files after manually setting a path with yabridgectl set 
	--path=<...>.
	Added the yabridgectl set --no-verify={true,false} option to permanently disable 
	post-installation setup checks. You can still directly pass the --no-verify 
	argument to yabridgectl sync to disable these checks for only a single invocation.
 

-------------------------------------------------------------------
Mon Dec 14 00:13:05 UTC 2020 - Konstantin Voinov <kv@kott.no-ip.biz>

- Update to version 2.2.1
  * Fixed:
    - Fixed some plugins, notably the _Spitfire Audio_ plugins, 
      from causing a deadlock when using plugin groups in _REAPER_.
      Even though this did not seem  to cause any issues in other
      hosts, the race condition that caused this issue  could also
      occur elsewhere.

- Version 2.2.1

  * Added
    - Added an option to cache the time and tempo info returned by 
      the host for the current processing cycle. This would normally
      not be needed since plugins should ask the host for this
      information only once per audio callback, but a bug in 
      _SWAM Cello_ causes this to happen repeatedly for every sample,
      resutling in very bad performance. See the [compatibility options](https://github.com/robbert-vdh/yabridge#compatibility-options)
      section of the readme for more information on how to enable this.

  * Changed
    - When `YABRIDGE_DEBUG_LEVEL` is set to 2 or higher and a
      plugin asks the host for the current position in the song,
      yabridge will now print that position in  quarter notes and
      samples as part of the debug output.
    - `YABRIDGE_DEBUG_LEVEL` 2 will now also cause all audio 
      processing callbacks to be logged. This makes recognizing
      misbheaving plugins a bit easier.
    - Symbols in all `libyabridge.so` and all Winelib `.so` files
      are now hidden by  default.

  * Fixed
    - Fixed an issue where in certain situations Wine processes 
      were left running after the host got forcefully terminated
      before it got a chance to tell the plugin to shut down.
      This could happen when using Kontakt in Bitwig, as Bitwig
      sets a limit on the amount of time a plugin is allowed to
      spend closing when you close Bitwig, and Kontakt can take
      a while to shut down.
    - Fixed a potential crash or freeze when removing a lot of
      plugins from a plugin group at exactly the same time.

-------------------------------------------------------------------
Thu Nov 26 01:10:09 UTC 2020 - Konstantin Voinov <kv@kott.no-ip.biz>

- Update to version 2.1.0 
openSUSE Build Service is sponsored by