Robbert van der Helm
67c3e151d8
Choose a host application by parsing PE headers
...
Now yabridge can load both 64 and 32 bit plugins without having to
specify which are which.
2020-04-30 18:45:33 +02:00
Robbert van der Helm
c051123796
Improve the look of the enabled features list
2020-04-30 16:44:26 +02:00
Robbert van der Helm
dcc1a34a41
Use a better check for the 32-bit host
2020-04-30 15:09:13 +02:00
Robbert van der Helm
5958f8058a
Print out a list of enabled compile time features
2020-04-30 13:40:55 +02:00
Robbert van der Helm
79e8a37c39
Simplify the 32-bit mode detection
2020-04-30 12:59:11 +02:00
Robbert van der Helm
6ca7eae16a
Mention 32-bit support in the readme
2020-04-30 12:48:03 +02:00
Robbert van der Helm
2e9adbe310
Always write message sizes in 64-bit integers
...
This will make sure the sizes match on both the 32 and 64 bit host
applications. This way only the 32-bit application will have to convert
between 32 and 64 bit integers.
2020-04-30 12:32:27 +02:00
Robbert van der Helm
e33f418206
Add a notice when the host is in 23-bit mode
2020-04-29 19:12:29 +02:00
Robbert van der Helm
027d9a96d5
Always use 64-bit pointer types for serialization
...
This way the 32-bit host can cast them down to 32-bit integers when
needed, and the serialization pipeline can stay fixed. We're not passing
any pointers directly to the other application anyway so this should be
safe!
2020-04-29 17:17:33 +02:00
Robbert van der Helm
c9060e984d
Add another flag for enabling a bit bridge build
2020-04-29 16:55:47 +02:00
Robbert van der Helm
7ce42e4306
Add support for effGetMidiKeyName
...
Not a lot of plugins use it, but it's really nice to have when they do.
2020-04-28 12:54:36 +02:00
Robbert van der Helm
fb8fe035d8
Clean up chunk buffer retrieval for effGetChunk
2020-04-28 12:48:31 +02:00
Robbert van der Helm
ed9428da83
Fix chunk size formatting in log messages
2020-04-28 12:28:41 +02:00
Robbert van der Helm
e414c1a341
Fix screen resolution detection
2020-04-28 12:22:56 +02:00
Robbert van der Helm
641351d525
Also filter out the event with opcode 52
...
Not sure what this is, but it's called by Bitwig every time a buffer is
being processed.
2020-04-28 12:04:09 +02:00
Robbert van der Helm
8adb944445
Use maximum display resolution for the window size
...
Instead of it being hardcoded to 1440p.
2020-04-28 11:47:39 +02:00
Robbert van der Helm
e515547d5a
Add a todo on another event to filter
2020-04-27 18:56:14 +02:00
Robbert van der Helm
4b84f663ab
Always run the event loop, fixing processing issue
...
Also remove any special `effEditIdle` handling.
Apparently plugins rely on the message loop for their internal tasks,
even for things that have nothing to do with GUIs, such as deferring
initialization.
2020-04-27 18:53:06 +02:00
Robbert van der Helm
e69d08c503
Add assertion for bytes written while sending
...
To avoid problems like 13dcb2f74a in the
future.
2020-04-27 18:00:01 +02:00
Robbert van der Helm
7f0a8c8efd
Extend the midi event lock
...
This should not make any difference, but if this event ever gets called
at the same time as the processing then this at least won't cause any
issues with plugins that are not thread safe themselves.
2020-04-27 16:53:44 +02:00
Robbert van der Helm
f0d16c4afb
Add note on potentially misbehaving type detection
2020-04-27 16:42:04 +02:00
Robbert van der Helm
13dcb2f74a
Fix handling of large chunk data
2020-04-27 16:41:55 +02:00
Robbert van der Helm
527db1f49f
Use different types for strings and binary data
2020-04-27 00:51:36 +02:00
Robbert van der Helm
bdd83de7a9
Strip the 'yabridge-' prefix from log messages
2020-04-27 00:50:28 +02:00
Robbert van der Helm
af6ae2c2ad
Fix capitalization of the word MIDI
2020-04-26 18:19:10 +02:00
Robbert van der Helm
85afd4107e
Extend the lifetime of MIDI events, fixing Kontakt
2020-04-26 18:17:30 +02:00
Robbert van der Helm
aeac8e87fa
Implement effGetParameterProperties
2020-04-26 16:53:34 +02:00
Robbert van der Helm
aee890fbf6
Remove the now unused ability to skip opcodes
...
If this is needed again in the future (it shouldn't be), then it should
be re-implemented using a separate function.
2020-04-26 16:30:11 +02:00
Robbert van der Helm
0ce9c1e3a4
Add another less verbose debug level
2020-04-26 15:42:01 +02:00
Robbert van der Helm
b17c413de4
Add the generated version header to the file list
...
Otherwise it may not be generated yet on first build.
2020-04-26 14:29:08 +02:00
Robbert van der Helm
5ce20be9d9
Allow storing and loading of larger chunks
2020-04-25 17:35:02 +02:00
Robbert van der Helm
8bb1bdeadb
Change the default return value for effClose
2020-04-25 17:02:41 +02:00
Robbert van der Helm
631e82f2ad
Print the version and any VCS info at startup
2020-04-25 16:14:22 +02:00
Robbert van der Helm
4a1133146a
Generate a header containing git version info
...
It contains the last annotated tag, and possibly also the number of
commits since then and the hash of the last commit.
2020-04-25 16:14:14 +02:00
Robbert van der Helm
0efdd1a790
Add missing license headers
2020-04-24 15:41:18 +02:00
Robbert van der Helm
d0c8d8a2e7
Clean up Win32 thread API usage using RAII
2020-04-24 15:40:44 +02:00
Robbert van der Helm
9dfa83df20
Change todo regarding drag-and-drop
2020-04-23 23:16:31 +02:00
Robbert van der Helm
060712ee4d
Remote the WS_EX_ACCEPTFILES
...
It doesn't matter, but we shouldn't be the window accepting drag and
drop operations.
2020-04-23 23:13:55 +02:00
Robbert van der Helm
259d23ec57
Add support for legacy plugins with only process()
...
By emulating the behavior of `processReplacing()`. Not that there should
still be any plugins around that don't support processReplacing.
2020-04-22 16:57:18 +02:00
Robbert van der Helm
2e36c64796
Return a 0 for skipped events
...
Not that any events get skipped at the moment.
2020-04-21 18:13:22 +02:00
Robbert van der Helm
27ca18869b
Change variable names for consistency
2020-04-21 17:02:28 +02:00
Robbert van der Helm
d2bf5c35a4
Fix hanging when closing the editor
2020-04-21 16:56:36 +02:00
Robbert van der Helm
421ed21901
Get rid of now no longer needed synchronisation
...
This was mostly a workaround to get Serum to not crash when audio was
being processed during a specific point of its `WM_PAINT` message
handler. This is no longer needed when using `CreateThread` instead of
`std::thread`.
2020-04-20 23:36:17 +02:00
Robbert van der Helm
86974ebe2d
Fix typo
2020-04-20 23:25:01 +02:00
Robbert van der Helm
357dec315a
Swap out std::thread for CreateThread
...
Not entirely sure why, but this gets rid of the impossible to debug data
races when Serum's GUI is being repainted while another thread is
calling `processReplacing`. This is possibly because std::thread does
not respect Windows calling conventions and CreateThread does.
2020-04-20 23:24:39 +02:00
Robbert van der Helm
1a6a094c2b
Fix reopening closed editor windows
2020-04-19 20:36:39 +02:00
Robbert van der Helm
f29a859713
Don't put socket endpoints in a directory
...
This would only leave an empty directory behind.
2020-04-19 17:05:50 +02:00
Robbert van der Helm
ed3b319f4f
Clean up socket endpoint files
2020-04-19 17:00:17 +02:00
Robbert van der Helm
b44d98b4c7
Mention more Wine debugging strategies
2020-04-19 16:38:09 +02:00
Robbert van der Helm
1f56617abe
Remove more old todos
2020-04-19 16:17:18 +02:00