Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature/owl #34

Open
wants to merge 19 commits into
base: main
Choose a base branch
from
Open

Feature/owl #34

wants to merge 19 commits into from

Conversation

dromer
Copy link
Contributor

@dromer dromer commented Dec 25, 2024

WIP but seems to work alright on Linux x86_64 :)

Closes #13

@dromer dromer marked this pull request as draft December 25, 2024 18:30
@dromer
Copy link
Contributor Author

dromer commented Dec 25, 2024

Hmm, we need to build the OWL libraries differently.
I ran into this on my machine as well, but not sure how it gets resolved:

 In file included from LibSource/ColourScreenPatch.cpp:6:
./Source/PatchProcessor.h:5:10: fatal error: Patch.h: No such file or directory
    5 | #include "Patch.h"
      |          ^~~~~~~~~
compilation terminated.

Normally you have to run make libs, but this tries to build WASM as well which we don't want (requires emcc).
So I'm just running make -f compile.mk libs here.

We may need to patch out the web build for this.

[edit: done just that: web libs build is patched out from the Makefile]

@dromer
Copy link
Contributor Author

dromer commented Dec 25, 2024

Hmm, xcodebuild on macOS fails with:

 ../../JuceLibraryCode/modules/juce_core/native/juce_osx_ObjCHelpers.h:225:95: error: use of undeclared identifier 'objc_msgSend_fpret'
static inline MsgSendFPRetFn getMsgSendFPRetFn() noexcept   { return (MsgSendFPRetFn) (void*) objc_msgSend_fpret; }
                                                                                              ^
1 error generated.

Any help with building FirmwareSender on macOS is appreciated.

Windows will be a whole other challenge ...

@dromer
Copy link
Contributor Author

dromer commented Dec 26, 2024

Found a juce7 fork of FirmwareSender and got CI to build a release for us: https://github.com/Wasted-Audio/FirmwareSender_plugdata/releases/tag/plugdata

Bit surprised that the Linux build is so much bigger, but maybe the macOS and Windows builds use a lot of system libs?
Will of course need testing to confirm everything works.

@dromer
Copy link
Contributor Author

dromer commented Dec 27, 2024

Linux works, but macOS gets stuck on connecting to the MIDI port with FirmwareSender:

CoreMIDI error: 1214 - ffffffce
MIDI device not avaialble: OWL-*
make: *** [Makefile:147: store] Error 255

Also: when manually downloading the toolchain all of the macOS binaries need to get their quarantine bit removed (should that be resolved on release?).

@dromer
Copy link
Contributor Author

dromer commented Dec 29, 2024

May need to try debug build for macOS as according to this bug report that might work: pingdynasty/FirmwareSender#4

[edit: confirmed that Debug build does work on macOS! - now we just need to test Windows]

@dromer
Copy link
Contributor Author

dromer commented Dec 30, 2024

Tested on Windows 11 and after some more tweaks it works!

@dromer dromer marked this pull request as ready for review December 30, 2024 19:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add OWL support
1 participant