Robbert van der Helm
ca91cf041d
List the progress of interface implementations
2020-12-13 12:47:18 +01:00
Robbert van der Helm
d9989fe856
Update the VST3 architecture document
2020-12-13 12:32:49 +01:00
Robbert van der Helm
cd92b7a976
Log failed calls to IComponent::queryInterface()
2020-12-12 22:25:25 +01:00
Robbert van der Helm
0ad56874e2
Abstract away logging unknown interfaces
2020-12-12 22:22:27 +01:00
Robbert van der Helm
39984ad442
Use the new approach for creating plugin factory
...
Directly serializing and deserializing into objects was and more
boilerplate heavy (since we now need two implementations even though we
only use one), and also much less flexible because we can't wrap
payloads in structs or provide optional values that way.
2020-12-12 21:53:38 +01:00
Robbert van der Helm
1b30000147
Keep track of active YaComponentPluginImpls
...
So we can do host callbacks later.
2020-12-12 21:24:11 +01:00
Robbert van der Helm
efc840a51a
Log unknown interfaces in IComponent::initialize()
2020-12-12 16:53:44 +01:00
Robbert van der Helm
f637e6ad18
Rename Create/Destroy to Construct/Destruct
...
This is less likely to clash with names used by interfaces and it's a
bit clearer what's going on (since they are basically proxies for
constructors and destructors).
2020-12-12 16:18:47 +01:00
Robbert van der Helm
1088483f15
Mention destructors in VST3 implementation docs
2020-12-12 16:18:47 +01:00
Robbert van der Helm
68084bc555
Implement IComponent::terminate()
2020-12-12 16:18:47 +01:00
Robbert van der Helm
d80ba10f06
Interleave structs with their related functions
...
Might make it a bit more organized when this is fully implemented.
2020-12-12 16:04:35 +01:00
Robbert van der Helm
f5a90eb892
Fix typo in YaComponent destructor message
2020-12-12 14:59:59 +01:00
Robbert van der Helm
0214221c3a
Rename handle_plugin_dispatch to *_run
...
Since run() is now the general `HostBridge()` function to listen for
incoming events.
2020-12-12 13:34:30 +01:00
Robbert van der Helm
4f8fe21fa9
Merge branch 'master' into feature/vst3
2020-12-12 13:33:36 +01:00
Robbert van der Helm
42c484bfc0
Bump to version 2.2.1
2.2.1
2020-12-12 12:48:09 +01:00
Robbert van der Helm
712736e74a
Prevent a deadlock in plugin group handling
...
This was a nasty race condition that only seemed to pop up with Spitfire
plugins in REAPER, but it could also happen elsewhere. The
`active_plugins_mutex` was getting locked from the message loop, but the
plugin would block until `effOpen()` had been called. But because the
mutex was locked by the message loop we would never get to handling
`effOpen()`. Passing the pointer directly both removes this unnecessary
locking and fixes the issue.
2020-12-12 12:44:01 +01:00
Robbert van der Helm
f526ae3e39
Add a string representation for universal tresult
2020-12-11 23:57:24 +01:00
Robbert van der Helm
e24cecc6d7
Use the univeral tresult in IComponent creation
2020-12-11 23:54:30 +01:00
Robbert van der Helm
91a47a466c
Create a universal wrapper around tvalue
2020-12-11 23:34:23 +01:00
Robbert van der Helm
699ddfd2ea
Implement YaComponentPluginImpl destructor
...
When the object gets dropped through the reference counting system, the
object should also be dropped in the Wine plugin host.
2020-12-11 22:59:32 +01:00
Robbert van der Helm
cdb9dae2df
Rename YaComponent::Arguments to CreateArgs
2020-12-11 22:43:12 +01:00
Robbert van der Helm
d1d85711f0
Split up the VST3 class implementations
2020-12-11 22:37:20 +01:00
Robbert van der Helm
33cb5f1efe
Change wording of Discord link in issue tracker
2020-12-11 22:03:53 +01:00
Robbert van der Helm
001af8c6b4
Add a link to the Discord on the issues page
2020-12-11 21:57:07 +01:00
Robbert van der Helm
afd777b583
Mention the Discord in the common issues section
2020-12-11 18:16:17 +01:00
Robbert van der Helm
b815fb0c34
Add a Discord badge to the readme
2020-12-11 18:14:37 +01:00
Robbert van der Helm
5b2d76e33d
Mention the Discord in the issue templates
2020-12-11 18:02:14 +01:00
Robbert van der Helm
9439a62d94
Fix formatting
2020-12-11 16:56:46 +01:00
Robbert van der Helm
9554bbc12d
Merge branch 'master' into feature/vst3
2020-12-11 16:25:53 +01:00
Robbert van der Helm
d0b9f1a602
Bump to version 2.2.0
2.2.0
2020-12-11 14:00:16 +01:00
Robbert van der Helm
c4f178aa13
Reword changelog
2020-12-11 13:59:27 +01:00
Robbert van der Helm
ced3608e91
Update the tested REAPER version
2020-12-11 13:21:29 +01:00
Robbert van der Helm
3e13eb9e46
Merge branch 'master' into feature/vst3
2020-12-11 13:02:49 +01:00
Robbert van der Helm
29f1754527
Link to the issue instead of listing issue number
2020-12-11 13:01:45 +01:00
Robbert van der Helm
c306048988
Fix hanging processes for good #69
2020-12-11 12:40:50 +01:00
Robbert van der Helm
41b79720ca
Merge branch 'master' into feature/vst3
2020-12-11 00:50:43 +01:00
Robbert van der Helm
aae98d518c
Fix the with-winedbg option
2020-12-11 00:35:29 +01:00
Robbert van der Helm
2615da51da
Fix the socket waiting fix #69
...
e07467697a changed the waiting behaviour,
but this meant that there was a very slight window where all secondary
requests would fail when both sides have called connect(), but the other
side has not already called `receive_{events,multi,messages}` to start
listening on the socket.
2020-12-11 00:33:28 +01:00
Robbert van der Helm
ac0d83e555
Fix concurrency issue in plugin group shutdown
2020-12-10 21:41:04 +01:00
Robbert van der Helm
c05040d98b
Link with -mconsole instead of -mwindows
...
Not sure why it even worked with -mwindows, but this is the correct
linking option for the `main()` entry point.
2020-12-10 18:01:11 +01:00
Robbert van der Helm
e3a52bca14
Revert "Get rid of all traces of pthreads in Wine"
...
This reverts commit e9af76d21e .
Without this the event loop will just not run, not sure why. This needs
some more investigation.
2020-12-10 17:38:09 +01:00
Robbert van der Helm
e9af76d21e
Get rid of all traces of pthreads in Wine
...
Since this can only cause issues.
2020-12-10 15:44:37 +01:00
Robbert van der Helm
5c98b74bc2
Remove now unused variable
2020-12-10 15:07:16 +01:00
Robbert van der Helm
5f7c105b6d
Use boost::asio::transfer_exactly
...
Instead of doing assertions.
2020-12-10 15:03:26 +01:00
Robbert van der Helm
e07467697a
Only wait for sockets during initialization #69
2020-12-10 12:03:51 +01:00
Robbert van der Helm
4a056dcd31
Get rid of the VST3 logging boilerplate
2020-12-09 22:11:39 +01:00
Robbert van der Helm
225056bcff
Allow instantiating IComponents
2020-12-08 23:08:07 +01:00
Robbert van der Helm
75ed978a1b
Fix pointer dereference after move
2020-12-08 23:08:07 +01:00
Robbert van der Helm
9b025052d2
Add stubs for an IComponent implementation
2020-12-08 23:02:26 +01:00
Robbert van der Helm
92ea15bcb4
Allow interface implementations to send messages
2020-12-08 23:01:50 +01:00