Robbert van der Helm
2823a74783
Implement all IUnitInfo functions
...
With this IUnitInfo has been fully implemented.
2020-12-27 18:07:32 +01:00
Robbert van der Helm
163c936286
Add logging for the new IUnitInfo structs
2020-12-27 17:55:22 +01:00
Robbert van der Helm
1229518fb5
Add request and response structs for IUnitInfo
2020-12-27 17:20:53 +01:00
Robbert van der Helm
70c5792593
Implement IUnitInfo::getSelectedUnit
2020-12-27 16:48:47 +01:00
Robbert van der Helm
07d57771c1
Fix IPluginFactory implementation level detection
...
These were not getting initialized, and could thus evaluate to true if
you're unlucky.
2020-12-27 13:03:49 +01:00
Robbert van der Helm
095716d248
Fix retrieving old-style class infos
...
Most plugins implement IPluginFactory3 so this slipped through. Melodyne
5 apparently does not.
2020-12-27 13:00:20 +01:00
Robbert van der Helm
14c47c1c09
Change plugin factory logging format
2020-12-27 13:00:20 +01:00
Robbert van der Helm
d34b399ba0
Implement IUnitInfo::getProgramPitchName
2020-12-26 23:20:13 +01:00
Robbert van der Helm
e414c58a7a
Implement IUnitInfo::hasProgramPitchNames
2020-12-26 23:04:02 +01:00
Robbert van der Helm
f96e6b5a1e
Implement IUnitInfo::getProgramInfo
2020-12-26 23:00:15 +01:00
Robbert van der Helm
204765ec0c
Implement IUnitInfo::getProgramName
2020-12-26 22:38:15 +01:00
Robbert van der Helm
60f6b30b84
Implement IUnitInfo::getProgramListInfo
2020-12-26 22:17:21 +01:00
Robbert van der Helm
92a7cb755a
Implement IUnitInfo::getProgramListCount
2020-12-26 22:10:46 +01:00
Robbert van der Helm
999cf45d6a
Fix the return type for IUnitInfo::getUnitCount
2020-12-26 22:07:12 +01:00
Robbert van der Helm
5e832a2689
Implement IUnitInfo::getUnitInfo
2020-12-26 22:03:26 +01:00
Robbert van der Helm
f3e706a39a
Implement IUnitInfo::getUnitCount
2020-12-26 21:33:19 +01:00
Robbert van der Helm
aed369c4be
Add stubs for IUnitInfo
...
This is a big boy.
2020-12-26 21:18:11 +01:00
Robbert van der Helm
f940d3371b
Allow casting YaComponentInfo to IUnitHandler
...
Quite an important detail.
2020-12-26 21:13:23 +01:00
Robbert van der Helm
47177ed889
Implement IUnitHandler::notifyProgramListChange
...
With this IUnitHandler has been fully implemented.
2020-12-26 14:30:28 +01:00
Robbert van der Helm
bf40e10780
Implement IUnitHandler::notifyUnitSelection
2020-12-26 14:26:29 +01:00
Robbert van der Helm
934aea3860
Add IUnitHandler stubs to component handler proxy
2020-12-26 14:17:10 +01:00
Robbert van der Helm
5e26d30752
Add a wrapper for IUnitHandler
2020-12-26 14:12:40 +01:00
Robbert van der Helm
86aaf2fa3a
Implement IEditController2::openAboutBox
...
With this IEditController2 has been fully implemented.
2020-12-26 00:10:39 +01:00
Robbert van der Helm
3c5700163e
Implement IEditController2::openHelp
2020-12-26 00:06:32 +01:00
Robbert van der Helm
91a96249fc
Implement IEditController2::setKnobMode
2020-12-26 00:03:29 +01:00
Robbert van der Helm
6b4df4d274
Explicitly include <mutex>
...
This is an indirect dependency in Boost 1.72/1.73, but not in older
versions.
2020-12-25 21:55:00 +01:00
Robbert van der Helm
49eeee99fa
Add an XEmbed compatibility option
2020-12-25 19:49:47 +01:00
Robbert van der Helm
7da5ec113c
Reuse buffers in VST3 audio processing
2020-12-25 16:22:53 +01:00
Robbert van der Helm
cc2e12c8e4
Allow creating logger instances on the Wine side
...
So we can log filterable messages from the Wine side. Will be used to
warn about failed query interface calls.
2020-12-25 15:15:28 +01:00
Robbert van der Helm
70cb6dad89
Allow indirect IConnectionPoint connections
...
This is needed to support Ardour. These extra hops and serialization
steps will probably hurt performance, but outside of some huge hacks (to
connect the components directly anyways) there's not much else we can
do.
2020-12-25 14:21:18 +01:00
Robbert van der Helm
fbad4a65ab
Add an IConnectionPoint proxy implementation
...
We still have to pass this proxy to the plugin. That's next.
2020-12-25 13:46:03 +01:00
Robbert van der Helm
0fce9c9eed
Add an IConnectionPoint proxy proxy
...
This is a bit dumb, but this way we can support indirectly connected
objects.
2020-12-25 13:28:03 +01:00
Robbert van der Helm
65694d261c
Implement IConnectionPoint::notify
2020-12-25 13:13:56 +01:00
Robbert van der Helm
3566aa86a2
Fix IAttributeList serialization
2020-12-25 12:58:52 +01:00
Robbert van der Helm
84b859c499
Implement IMessage
2020-12-25 01:01:13 +01:00
Robbert van der Helm
b6304c83b5
Implement IAttributeList
2020-12-25 00:54:08 +01:00
Robbert van der Helm
b0fc8f2c5f
Remove are_objects_directly_connected check
...
It's not necessary, since all of these objects are simple data objects
that will be passed as arguments to other functions. When we have to
pass through one of those functions we can just serialize the objects at
that point.
2020-12-24 14:45:58 +01:00
Robbert van der Helm
1186e7d775
Store whether two objects are connected directly
...
In the host context. So when the plugin wants to create an `IMessage`
object to send a message to the other object, we don't have to go
through the host.
2020-12-24 13:22:54 +01:00
Robbert van der Helm
eae77d4dbf
Fix num samples in processing log message
2020-12-23 12:00:31 +01:00
Robbert van der Helm
216f65d2a1
Unify log format further
2020-12-23 11:53:09 +01:00
Robbert van der Helm
9bb90388c1
Implement IPlugView::checkSizeConstraint()
...
With this the whole of `IPlugView` and thus also `IEditController` is
implemented.
2020-12-22 15:42:41 +01:00
Robbert van der Helm
5ef7e73725
Implement IPlugView::canResize()
2020-12-22 15:37:06 +01:00
Robbert van der Helm
656f6d3f6c
Implement IPlugFrame::resizeView()
...
The base IPlugFrame only contains this single function.
2020-12-22 15:09:33 +01:00
Robbert van der Helm
da6ddccf07
Implement IPlugView::setFrame()
2020-12-22 14:16:00 +01:00
Robbert van der Helm
9288cdcb59
Remove support for null pointers in setHostContext
...
Like the other functions, null pointers are never valid here so we
shouldn't bother passing them as it only increases complexity.
2020-12-22 14:04:42 +01:00
Robbert van der Helm
3b96ffa349
Remove null pointer supported in initialize()
2020-12-22 13:59:47 +01:00
Robbert van der Helm
51876a024c
Remove null pointer support in setComponentHandler
...
This should be an implementation fault.
2020-12-22 13:59:15 +01:00
Robbert van der Helm
91c4b414b0
Add a Vst3PlugFrameProxy implementation with stubs
2020-12-22 13:37:58 +01:00
Robbert van der Helm
f5c75da451
Add Vst3PlugFrameProxy
...
For proxying the `IPlugFrame*` passed to `IPlugView::setFrame()`.
2020-12-22 13:26:54 +01:00
Robbert van der Helm
90de46428c
Add an implementation wrapper for IPlugFrame
2020-12-22 13:20:49 +01:00