Robbert van der Helm
b13d7d554d
Prevent rare race conditions with get/setParameter
...
I've never seen it happen, but in theory they could be called
simultaneously.
2020-04-19 16:14:22 +02:00
Robbert van der Helm
9f3ed85208
Replace std::monostate with std::nullptr_t
...
This represents the underlying meaning better since we're mostly dealing
with the `data` void pointer argument.
2020-04-19 16:05:37 +02:00
Robbert van der Helm
717ffb719d
Remove resolved todo
2020-04-19 16:05:37 +02:00
Robbert van der Helm
6025efb0fc
Fix grammar in comments
2020-04-19 15:46:32 +02:00
Robbert van der Helm
0cce91d460
Reuse output buffers
2020-04-19 15:38:31 +02:00
Robbert van der Helm
f235bdf9a1
Fix GUI related data races within Serum
2020-04-19 15:16:51 +02:00
Robbert van der Helm
96541d4830
Don't filter any events
...
These events would cause crashes when the rest of the functionality
wasn't implemented yet, but it's not needed anymore.
2020-04-18 22:12:19 +02:00
Robbert van der Helm
106d1e3907
Use lock guards for mutexes
2020-04-17 15:37:03 +02:00
Robbert van der Helm
f56b8b74b1
Fix regexp for nested comments
2020-04-17 14:28:18 +02:00
Robbert van der Helm
3d605b8940
Change entry point search order
...
Shouldn't matter at all, but `main` is such a generic and ambiguous name
it should probably be the last option.
2020-04-16 15:42:27 +02:00
Robbert van der Helm
949d41b6aa
Fix typo in opcode ignore message
2020-04-16 14:56:08 +02:00
Robbert van der Helm
bdb6535947
Simplify GUI updating
2020-04-16 13:28:35 +02:00
Robbert van der Helm
319e9b2b12
Get rid of the main() fallback entry point
2020-04-16 13:23:36 +02:00
Robbert van der Helm
dae7384de3
Modify installation oneliner to ignore non-VSTs
2020-04-16 01:41:21 +02:00
Robbert van der Helm
36350c34de
Fix casing of the legacy VST entry point name
2020-04-16 01:25:38 +02:00
Robbert van der Helm
1a90b8f7a3
Add a list of plugin specific workarounds
2020-04-14 19:30:03 +02:00
Robbert van der Helm
4d7ce8f3fb
Allow overriding the wine prefix manually
2020-04-14 19:16:46 +02:00
Robbert van der Helm
03de09d77f
Clean up the editor implementation
2020-04-14 16:51:24 +02:00
Robbert van der Helm
03608870cc
Remove now unused Editor reference
2020-04-14 16:10:42 +02:00
Robbert van der Helm
eed4677ed3
Fix VstTimeinfo responses and allow null responses
...
The host is allowed to return a null pointer if it doesn't support the
query.
2020-04-14 15:59:23 +02:00
Robbert van der Helm
a2ba001e2f
Add todo regarding audioMasterGetTime
2020-04-13 14:55:02 +02:00
Robbert van der Helm
bad9916f75
Fix resizing issues with Valhalla DSP plugins
2020-04-13 14:16:32 +02:00
Robbert van der Helm
266674a217
Get rid of all SetWindowPos() calls
...
This actually resizes the client area, but the experience feels way
better if we just leave it at its maximum size.
2020-04-13 13:54:34 +02:00
Robbert van der Helm
7ee1b0223c
Merge branch 'feature/xembed-workaround'
2020-04-12 19:43:05 +02:00
Robbert van der Helm
d4dcc85205
Update readme to reflect current UGI situation
2020-04-12 19:42:30 +02:00
Robbert van der Helm
c0eafc85fd
Re-introduce window resizing while draggin
2020-04-12 19:42:12 +02:00
Robbert van der Helm
3850e39777
Resize the window together with ConfigureNotify
...
This way we need less hacks and things can't get out of sync.
2020-04-12 19:15:28 +02:00
Robbert van der Helm
e1cc342bd0
Work around local<->global coordinate issues
...
For reparented Wine windows. This is a similar approach as LinVST uses.
2020-04-12 18:24:33 +02:00
Robbert van der Helm
c2e62b30ca
Strip out everything related to XEmbed
...
We'll just go with the same workaroud LinVST uses isntead. It's not as
pretty but it does work a lot better.
2020-04-11 14:06:47 +02:00
Robbert van der Helm
5994506d53
Readd the note on Serum's redrawing issues
2020-04-09 18:31:26 +02:00
Robbert van der Helm
e8fc990f0b
Add a less hacky workaround for the XEmbed issues
2020-04-09 18:21:16 +02:00
Robbert van der Helm
1644d74d8d
Don't draw a background
...
Gets redrawn during resizes while XEmbed is enabled.
2020-04-09 17:46:12 +02:00
Robbert van der Helm
b5b3b69f67
Fix typos
2020-04-09 00:40:50 +02:00
Robbert van der Helm
aefb3e5b90
Fix typo in entrypoint check
2020-04-09 00:40:00 +02:00
Robbert van der Helm
fa045fb770
Delay the XEmbed messages
...
This works, but we now have the same issues with flickering and resizing
found in some other implementations such as Airwave.
2020-03-30 00:47:46 +02:00
Robbert van der Helm
b3254b1c5a
Add a note on editor closing speed
2020-03-29 22:21:53 +02:00
Robbert van der Helm
effe584373
Actually only initialize the first value
2020-03-28 23:09:05 +01:00
Robbert van der Helm
220f6f4c43
Remove already resolved todo
2020-03-28 23:01:52 +01:00
Robbert van der Helm
8ab5fff914
Fix audioMasterSpecific related segfaults
...
Not initializing our buffer is fine if something is going to write to
it, but in this case the default way to handle
`audioMasterSpecific` (and any other opcode without specific behaviour)
would be to treat it as a writable string. Since the host wasn't
actually writing to it we would just send some old data from the stack
back which obviously would cause some plugins to crash.
2020-03-28 22:56:48 +01:00
Robbert van der Helm
1fd60bb3ec
Mention more specific unimplemented features
2020-03-28 22:56:14 +01:00
Robbert van der Helm
8ec0ed4c3c
Allow GUIs to optionally update on a timer
...
Otherwise plugins can't update their editors when the GUI is being blocked.
2020-03-28 18:03:20 +01:00
Robbert van der Helm
d52989acc5
Allow midi events to be handled during interaction
2020-03-28 17:00:12 +01:00
Robbert van der Helm
629fa72e0c
Allow for an arbitrary number of midi events
...
By building the object on the heap in a buffer. I preferred the old
solution but this is more flexible.
2020-03-28 14:07:11 +01:00
Robbert van der Helm
2ea480a09d
Mention why dropdowns block the GUI and a solution
2020-03-27 18:35:48 +01:00
Robbert van der Helm
d5e125e6b3
Describe the way events are handled in more detail
2020-03-27 17:01:49 +01:00
Robbert van der Helm
b23637232b
Add a list of issues that still need fixing
2020-03-26 23:25:13 +01:00
Robbert van der Helm
cc52c87f34
Properly handle effGet{Input,Output}Properties
...
Apparently the plugin needs the actual contents of the struct for this
to work.
2020-03-26 16:24:49 +01:00
Robbert van der Helm
0d7a5f10cd
Change style of break statements with a block
2020-03-26 15:59:39 +01:00
Robbert van der Helm
a85e936059
Reverse engineer IO related opcodes
2020-03-26 15:58:15 +01:00
Robbert van der Helm
a3d8c6cb0a
Get rid of some old experiments
...
Forgot to remove these in the last commit.
2020-03-25 23:11:24 +01:00