noise-suppression-for-voice icon indicating copy to clipboard operation
noise-suppression-for-voice copied to clipboard

#error "Unsupported platform"

Open yurivict opened this issue 3 years ago • 9 comments

Build breaks on FreeBSD:

In file included from /disk-samsung/freebsd-ports/audio/noise-suppression-for-voice-lv2/work/noise-suppression-for-voice-1.02/external/JUCE/modules/juce_audio_plugin_client/juce_audio_plugin_client_LV2.cpp:26:
In file included from /disk-samsung/freebsd-ports/audio/noise-suppression-for-voice-lv2/work/noise-suppression-for-voice-1.02/external/JUCE/modules/juce_audio_plugin_client/LV2/juce_LV2_Client.cpp:48:
In file included from /disk-samsung/freebsd-ports/audio/noise-suppression-for-voice-lv2/work/noise-suppression-for-voice-1.02/external/JUCE/modules/juce_audio_processors/format_types/juce_LV2Common.h:30:
/disk-samsung/freebsd-ports/audio/noise-suppression-for-voice-lv2/work/noise-suppression-for-voice-1.02/external/JUCE/modules/juce_audio_processors/format_types/LV2_SDK/juce_lv2_config.h:76:4: error: "Unsupported platform"
  #error "Unsupported platform"
   ^

The latest JUCE-7.0.1 does support FreeBSD. And we have a package for JUCE. Could you please add an option to use the externally installed JUCE?

yurivict avatar Jul 26 '22 06:07 yurivict

Could you test with the above commit?

The latest JUCE-7.0.1 does support FreeBSD.

I'm using JUCE-7.0.1 =) The trouble is that lv2 config doesn't handle FreeBSD case, fortunately we don't need that define it tries to define, so I just stompted it.

Could you please add an option to use the externally installed JUCE?

No, I have a few patches to JUCE, including the support for FST headers which replace Steinberg's VST2 SDK (which is impossible to use due to the license), I cannot get rid of this one.

werman avatar Jul 26 '22 19:07 werman

Could you please add an option to use the externally installed JUCE?

Actually, maybe I could since I don't foresee making functional changes to JUCE, so I expect my code to be compatible with non-patched JUCE.

I'll think about it.

werman avatar Jul 26 '22 19:07 werman

Does FreeBSD have any custom JUCE patches? Because as we can see JUCE doesn't want to build LV2 plugins for FreeBSD.

What if you turn off LV2 with -DBUILD_LV2_PLUGIN=OFF?

werman avatar Jul 26 '22 22:07 werman

Few leftover patches are in this PR: https://github.com/juce-framework/JUCE/pull/1091

yurivict avatar Jul 26 '22 22:07 yurivict

-DBUILD_LV2_PLUGIN=OFF didn't help.

yurivict avatar Jul 26 '22 22:07 yurivict

No, I have a few patches to JUCE, including the support for FST headers which replace

i know this isn't really documented, but you could make the FST headers available in pluginterfaces/vst2.x/(e.g. using a symlink). this way you wouldn't need to patch JUCE (for this specific issue).

iirc, committing symlinks to git will become simpe copies when cloned under windows (but ymmv).

umlaeute avatar Aug 19 '22 20:08 umlaeute

Would this be enough: https://github.com/werman/noise-suppression-for-voice/commit/0cf166a733c5fca166c752d867b340d2c27cbb29 ?

werman avatar Oct 16 '22 12:10 werman

No.

The juce-7.0.2 package installs headers, executables and cmake files.

You should first try to find the external JUCE:

find_package(JUCE)

If this fails you should use the bundled version.

yurivict avatar Oct 16 '22 16:10 yurivict

@yurivict Right, added USE_SYSTEM_JUCE which will force find_package(JUCE) usage. Though bundled version is used by default since it has patches which I'd like to have by default.

werman avatar Oct 16 '22 16:10 werman