jpcima / adljack

OPL3/OPN2 synthesizer using ADLMIDI and OPNMIDI, for Jack and cross-platform audio
Boost Software License 1.0
41 stars 3 forks source link

devendor rtaudio/rtmidi if they are available on the system #17

Closed dvzrv closed 4 years ago

dvzrv commented 4 years ago

When building 1.2.0 as a package for Arch Linux I devendored rtaudio and rtmidi successfully with this patch.

I'm not entirely sure, this is very pretty, but at least it allows to use system rtaudio/rtmidi, when it is available during build time.

jpcima commented 4 years ago

Hi, it will not be a problem to devendor it, code-wise. However I prefer a boolean choice where default is to use the version included.

Upstream is slow and not yet updated on some bugfixes I have sent them, so I use code off a personal fork based at Wohlstand/Rt* repositories.

IIRC, the only remaining matter is one of JACK midi stream broken in case of high traffic of MIDI messages.

jpcima commented 4 years ago

At the commit 96f70fc, I introduced build options USE_SYSTEM_RTMIDI and USE_SYSTEM_RTAUDIO.

Also, I have modularized and reformulated RtAudio and RtMidi as interface libraries, such that it will require less modification.

Is it fine?

dvzrv commented 4 years ago

Thanks, this works for me! I also like the explicit option better, but needed something to package adljack without the vendored rtaudio/rtmidi.

btw: is there any pull request/ issue/ ticket, this could be linked to (rtaudio/rtmidi upstream)? I'm encountering this problem quite frequently... ;-)

jpcima commented 4 years ago

Do you mean the blocker problem why I don't link librtmidi in programs? it's this one: https://github.com/thestk/rtmidi/pull/203 feel free to give it a ping if you want